第二章-企业管理信息系统开发概述课件_第1页
第二章-企业管理信息系统开发概述课件_第2页
第二章-企业管理信息系统开发概述课件_第3页
第二章-企业管理信息系统开发概述课件_第4页
第二章-企业管理信息系统开发概述课件_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章企业管理信息系统开发概述E-mail:wangnianxin@163.com主要内容主要内容2.1软件工程与软件能力成熟度2.2系统开发方法2.3系统开发方式2.4企业信息系统的专业人才2.1软件工程与软件能力成熟度模型主要内容管理信息系统软件软件危机软件工程软件能力成熟度模型CMM2.1.1管理信息系统软件一般认为软件是由三部分组成的:程序:指在运行时,能提供所希望的功能和性能的指令集;数据结构:为使程序能够正确运行的数据结构;文档:描述程序研制过程、方法及使用的文件资料。管理信息系统软件和许多系统软件一样具有以下特点:抽象性,即逻辑实体,可记录,但看不到;可复制性,即与开发成本相比,复制成本很低;无折旧,但需长期维护;受硬件制约;未完全摆脱手工工艺;开发费用高。

2.1.1管理信息系统软件从计算机投入商业使用到现在,企业管理信息系统的发展过程可以分为三个阶段:阶段面向事务处理阶段面向系统阶段面向决策阶段开始应用(单项应用)单个管理系统应用企业内部管理、生产集成企业内部和外部管理集成开始时间20世纪50年代20世纪70年代20世纪80年代20世纪90年代特征简单数据处理如数据录入、存储、打印等单机、单项应用应用于管理的各个环节构成管理信息系统将企业内部的生产、管理集成在一起将企业内部的管理与外部的市场、客户管理集成在一起信息技术计算机LAN、PCLAN、WANInternet、Intranet应用模式EDP、EDPSMIS、MRP、DSS等MRPII、GDSS等EDI、ERP、EC、CRM、电子政务系统等2.1.1管理信息系统软件随着管理信息系统的发展,与其相伴的管理信息系统软件的发展也经历了三个时期:程序设计阶段(20世纪60年代中期之前):在该阶段,硬件通用,软件专用;程序规模小,编写者和使用者为同一人(或同一组人)。软件的范围即程序。程序系统阶段(20世纪60年代中期至20世纪70年代中期):此时出现“软件作坊”、产品软件,开发方法“个体化”。软件的范围包括程序及说明书。软件工程阶段(20世纪70年代中期之后):软件的范围为软件产品(项目软件)。软件开发自此成为一门新兴的工程学科——软件工程。2.1.3软件工程软件工程作为一个新兴的工程学科,主要研究软件生产的客观规律,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品质量、提高软件生产率水平的目标。软件工程的准则:用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性2.1.3软件工程软件工程实施过程中的四条基本原则是:选取适宜的开发模型;采用合适的设计方法;提供高质量的工程支持;重视开发过程的管理。2.1.4软件能力成熟度模型CMM1987年,美国卡内基·梅隆大学软件研究所(SEI,SoftwareEngineeringInstitute)受美国国防部的委托,率先在软件行业从软件过程能力的角度提出了软件能力成熟度模型(CMM,CapabilityMaturityModelforSoftware),随后在全世界推广实施。CMM作为一种软件评估标准,主要用于评价软件承包能力并帮助其改善软件质量,及软件开发过程和软件开发能力的评价和改进,它侧重于软件开发过程的管理及工程能力的提高与评估。CMM自1987年开始实施认证,现已成为软件业最权威的评估认证体系。CMM包括5个等级,共计18个过程域,52个目标,300多个关键实践。2.1.4软件能力成熟度模型CMM2.2系统开发方法主要内容结构化生命周期法原型法面向对象的开发方法CASE工具模型驱动开发方法其他开发方法系统开发方法的新趋势自学内容2.2.1结构化生命周期法基本思想序号开发阶段基本任务完成者阶段成果1系统规划初步调查总体规划研究可行性论证制定开发计划用户企业高层领导用户系统分析员系统总体规划报告可行性分析报告2系统分析详细调查分析用户环境、需求、流程、数据结构确定系统目标与功能建立新系统逻辑模型系统分析员系统分析报告数据库概念模型3系统设计总体设计(系统模块设计)、计算机及网络配置设计详细设计(代码设计、数据库设计、输入/输出设计、处理过程描述)系统分析员系统设计员测试计算系统设计报告数据库设计4系统实施设备购置与安装程序编制子程序调试系统联调用户培训系统测试试运行程序员分析员设计员用户源程序清单测试报告用户手册操作手册5系统运行运行管理硬件、软件维护系统评价用户运行手册维护手册系统评价报告2.2.1结构化生命周期法特点2.2.1结构化生命周期法结构化系统开发方法具有如下特点:运用系统的思想和方法信息系统有其生命周期及其严格的阶段性要求预先严格定义系统的需求抽象方法自顶向下,逐步求精模块化方法2.2.1结构化生命周期法优点强调系统的思想和系统的方法,整体思路清楚,能够从全局出发思考问题。由于强调从整体来分析和设计整个系统,在系统分析时,可以诊断出原系统中存在的问题和结构上的缺陷。将系统生命周期分解为几个阶段,每个阶段的目标明确,任务相对独立、简单,便于不同专业的人员分工协作,从而降低软件开发的难度。每个阶段都有明确的要求、严格的标准与规范,以及与开发的软件系统完全一致的高质量的文档资料。每一阶段的工作成果是下一阶段工作的依据,比较容易把握工作进度,有利于系统开发的总体管理和控制。该方法是面向功能和流程的,能够进行流程的优化和流程再造,这一点是其它开发方法难以做到的。2.2.1结构化生命周期法缺点1)在结构化系统开发方法中,用户与系统开发人员之间的对话交流,主要发生在系统分析阶段。以后在设计、编码,直到系统提交的各个阶段中,开发人员极少与用户接触,难以确保系统真正符合用户需求。软件开发是一个知识密集型的活动,需要相互合作完成,但结构化生命周期法没有体现这一点。2)希望在系统分析阶段内,就将所有的问题讨论清楚,完全确定系统的目标和需求,以文档的形式固定下来,并以此作为以后开发工作的根据。但是实际上这种做法潜藏着某种危机,因为参与开发的管理者在没有见到具体的物理系统之前,常常不知道计算机究竟能够完成哪些内容,他们的专业素养很难把握未来系统的需求。从认识论角度看,人的认识是一个多次反复循环的过程,不可能一次完成。但结构化生命周期法中划分的几个阶段,没有反映出这种认识过程的反复性。3)系统的开发周期较长。4)系统的开发成本较高。2.2.2原型法人们认识事物的规律和如下特点:人们认识任何事物都不可能一次完全了解,并把工作做得尽善尽美;人们对于事物的认识和描述,往往是受相关事物的启发而逐渐产生并不断完善的;人们讨论评价已有的具体事物,要比理解描述抽象的设想方案容易得多;人们改进一些事物要比创造一些事物容易得多。2.2.2原型法基本思想:2.2.2原型法优、缺点:优点:1、开发效率高;2、开发工具先进,与用户交流直观;3、符合人们认识事物的规律;4、能及早暴露系统实施后潜在的一些问题;5、能调动用户参与的积极性。缺点:1、不适合大型系统的开发;2、不适合大量运算及逻辑性强的模块;3、对原企业基础管理工作要求较高;否则容易走上机械模拟原手工系统的轨道。4、不适合批处理系统。2.2.3面向对象的开发方法面向对象方法和面向过程方法的比较:面向对象方法认为,客观世界由各种各样的对象组成,每种对象都有各自的内部状态和运动规律,不同对象之间的相互作用和联系构成各种不同的系统。面向过程面向对象研究方法将数据和过程分离的结构化设计方法将数据和对数据的操作作为一个不可分割的对象基本构件(模块)过程对象程序设计范式数据结构+算法对象+消息模块驱动方式数据驱动事件(消息)驱动2.2.3面向对象的开发方法术语(对象、属性、方法、事件和类)对象(Object):现实世界中各种各样的实体,既可以是具体的事物也可抽象的事物,如学生、表单、按钮等。属性(Property):对象的内部状态和运动规律。属性用来表示对象的状态每个对象都有自己各种不同的属性对象的每一种属性,都具有一定的含义,并赋予一定值。对象的属性值既能在设计时也能在运行时进行设置。VFP中设置属性的格式为:表单名.对象名.属性名=属性值<对象引用>.<属性>=<属性值>2.2.3面向对象的开发方法方法:改变属性状态的各种操作,描述了对象的行为方法也称方法程序,是对象能够执行的操作在VFP中,方法的过程代码是预先定义的,对用户是不可见的。VFP中常用的方法:Release、Refresh、Additem、Hide、SetFocus等。方法的调用格式:<对象引用>.<方法>事件:对象识别的一个动作,通常是由一个用户动作产生事件过程是处理特定事件而编写的一段程序事件包括事件过程和事件触发方法事件可以由用户引发,也可以由系统引发事件一般由代码引发VFP中常用的事件:Activate、Click、GetFocus、Timer等2.2.3面向对象的开发方法方法和事件之间的相同点:都是为了完成某一任务。方法和事件之间的不同点:事件集合是固定的,用户不能创建新的事件;方法集合可由用户无线扩展;同一事件可以完成不同的任务;方法是任何时间、任何地点调用都完成同一任务。属性看作一个对象的性质,把方法看作对象的动作,把事件看作对象的响应。2.2.3面向对象的开发方法特征封装性:一个对象由数据和对数据的操作封装而成,封装是将一个对象的属性(数据)和操作(程序代码)集成为一个对象整体,并隐藏了对象行为实现的细节。用户只需根据对象提供的外部特性接口访问对象。接口用于描述对象之间的相互作用、请求和响应,即对消息的说明。继承性:是父类和子类之间共享数据和方法的机制,子类可以继承父类的属性和操作(方法),这就是类的继承机制。如果在一个对象类中加入新对象,则这个新对象可自动地继承本对象类的全部属性和操作(方法)。继承性使面向对象的系统具有较好的可重用性、可扩充性和灵活性,因而有利于软件系统的维护。多态性:对象之间的相互操作、调用和应答都是通过将发送消息(Message)到对象的外部接口来实施的。在收到消息时,对象要予以响应。不同的对象收到同一消息可产生完全不同的结果,这一现象叫做多态。用户可以发送一个通用消息,而实现的细节则由接收对象自行决定。这样,同一消息就可以调用不同的方法。2.2.3面向对象的开发方法面向对象的开发方法可以分为四个阶段:需求分析面向对象分析(Object-OrientedAnalysis,OOA)面向对象设计(Object-OrientedDesign,OOD)面向对象程序设计(Object-OrientedProgramming,OOP)2.2.3面向对象的开发方法OOA目标:找出和规定一组根据系统的各项要求而行动和相互作用的问题领域对象。步骤:1-找出问题领域对象和类,并确定这些对象和类的属性和行为。2-确定这些类(或对象)之间的关系及其结构。如实体之间的一对一、一对多和多对多。3-识别主题。主题是由概括和聚集而组成的部分,按主题把对象和类分组,可减少系统的复杂性。4-动态行为的规定。在动态行为方面要描述消息传送、控制,对象在时间上的行为变动。2.2.3面向对象的开发方法OOD目标:根据OOA的对象和类,进一步整理和求精。如对对象结构、属性、方法等内容,进行增添、分裂、合并等分析,改正错误的内容,删去不必要和重复的内容,以及进行分类整理等。OOP目标:到了实现阶段,采用一种面向对象程序设计语言来编写时,只需根据已规定好的每一对象和类的静态属性、动态属性以及对象和类之间的关系,就能很容易地编写出对象化的程序来。2.3系统开发方式常见的开发方式:方式特点比较自行开发委托开发联合开发购买软件包分析和设计力量的要求非常需要不太需要逐渐培养少量需要编程力量的要求非常需要不需要需要少量需要系统维护的难易容易困难较容易困难开发费用少多较少较少2.3系统开发方式主流的开发方式:商业软件包法第三方信息技术咨询软件即服务全企业软件服务供应商2.4企业信息系统的专业人才专业人才首席信息官项目经理系统架构师系统分析员系统设计员系统编程人员数据库管理员系统测试员系统实施员管理咨询师2.4企业信息系统的专业人才项目组的人员结构开发阶段主要人员系统可行性研究CIO、项目经理、管理咨询师、系统分析员系统分析系统分析员/系统架构师、管理咨询师、最终用户系统设计系统设计员/系统架构师、数据库管理员系统实施程序设计员、系统测试员、系统实施员、数据库管理员、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论