比较生命周期 原型法 面向对象的开发方法特点
一、生命周期 原型法 面向对象的开发方法各自的优缺点 1、结构化系统开发方法(亦称“生命周期法”)
(1)优点:从系统整体出发,强调在整体优化的条件下“自上而下”地分析和设计,保证了系统的整体性和目标的一致性;遵循用户至上原则;严格区分系统开发的阶段性;每一阶段的工作成果是下一阶段的依据,便于系统开发的管理和控制;文档规范化,按工程标准建立标准化的文档资料。
(2)缺点:用户素质或系统分析员和管理者之间的沟通问题;开发周期长,难于适应环境变化;结构化程度较低的系统,在开发初期难以锁定功能要求。 (3)适用范围:主要适用于规模较大、结构化程度较高的系统的开发
2、原型法
(1)优点:符合人们认识事物的规律,系统开发循序渐进,反复修改,确保较好的用户满意度;开发周期短,费用相对少;由于有用户的直接参与,系统更加贴近实际;易学易用,减少用户的培训时间;应变能力强。
(2)缺点:不适合大规模系统的开发;开发过程管理要求高,整个开发过程要经过“修改—评价—再修改”的多次反复;用户过早看到系统原型,误认为系统就是就是这个模样,易使用户失去信心;开发人员易将原型取代系统分析;缺乏规范化的文档资料
(3)适用范围:处理过程明确、简单系统;涉及面窄的小型系统
不适合于:大型、复杂系统,难以模拟;存在大量运算、逻辑性强的处理系统;管理基础工作不完善、处理过程不规范;大量批处理系统
3、面向对象开发方法
(1)优点:a、分析、设计中的对象和软件中的对象的一致性 b、实现软件复用,简化程序设计 c、系统易于维护 d、缩短开发周期 (2)缺点:不易于大系统的开发
二、生命周期法、原型法、面向对象的开发方法概述 1、结构化系统开发方法(亦称“生命周期法”)
任何人工系统都会经历一个由发生、发展到消亡的过程,称为系统的生命周期。在结构化的系统开发方法中,管理信息系统的开发应用,也符合系统生命周期的规律。随着企业和组织工作的需要,外部环境的变化,对信息的需求也相应地增加了,要求设计和建立更新的信息系统。当系统投入使用后,可以在很大程度上满足企业管理者对信息的需求。但是随着时间的延续,企业规模或信息应用范围的扩大或设备老化等原因,信息系统又逐渐不能满足需求了。这时对信息系统会提出更高的要求,周而复始,循环不息。
管理信息系统的生命周期包括系统分析 (System analysis) 、系统设计 (System design) 、系统实施 (System implementation) 三个阶段。
结构化系统开发方法 (Structured system development methodology) 是目前应用最广泛的一种系统开发方法和阶段方法。 其思想是将结构与控制加入到项目中,以便使活动在预定的时间和预算内完成。结构化系统开发方法主要包括以下步骤:
⑴ 问题定义:找出和评估现行系统存在的问题。 ⑵ 可行性分析 (Feasibility study) : ① 制定新系统的目标;
② 对备选各设计方案作初步分析,包括技术可行性和经济可行性分析; ③ 确定系统设计方案,估计预期成本和项目进度。 ⑶ 系统分析:
① 对现行系统进行详细研究,包括业务流程、工作组织、管理控制方法; ② 用逻辑模型描述现行系统; ③ 制定新系统逻辑模型。 ⑷ 系统设计: ① 划分子系统;
② 系统流程设计,包括过程逻辑定义; ③ 数据字典、数据库设计;
④ 成本- 效益分析 (Cost-benefit analysis) 。 ⑸ 详细设计:
① 编码设计、文件设计、输入输出设计等; ② 程序说明书设计;
③ 制定项目实施和测试进度表。 ⑹ 系统实施:
① 硬件评估和选择;
② 编码、编写程序与文档; ③ 人员培训计划;
④ 程序测试与系统监控。 ⑺ 系统维护:
① 对系统进行日常运行和维护以及作系统评价。 2、原型法
原型法 (Prototyping) 是一种用户参与系统设计并修改直到满足用户需求的系统开发方法。它的基本思想是,系统开发人员首先用户提出的问题进行理解、研究、总结,快速建立原型系统并运行。在运行过程中,不断发现新情况、新问题,反复修改,增加新功能,直到用户满意为止。
原型法采用了“自下而上”的开发策略,对系统设计一步一步地提炼和给予用户参与机会,避免了冻结需求问题,因此更容易为用户所接受。但是,如果开发人员与用户合作得不好的话,就会拖延系统开发时间。
原型法的基本思想是在投入大量的人力,物力之前,在限定的时间内,用最经济的方法开发出一个可实际运行的系统模型,用户在运行使用整个原型的基础上,通过对其评价,提出改进意见,对原型进行修改,统一使用,评价过程反复进行,使原型逐步完善,直到完全满足用户的需求为止。
利用原型法进行信息系统的设计过程中,分四步进行:首先快速分析,弄清用户/设计者的基本信息需求;然后构造原型,开发初始原型系统;之后,用户和系统开发人员使用并评价原型;最后系统开发人员修改和完善原型系统。 3、面向对象的系统开发方法
面向对象方法(Object-oriented method) 是一种认识客观世界,从结构组织模拟客观世界的方法,产生于 20 世纪 60 年代。 20 世纪 80 年代以来获得广泛应用。这种方法以类、继承等概念描述客观事及其联系,为管理信息系统的开发提供了新思路。 A. 基本概念
⑴ 对象 (Object) :任何事物在一定前提下都可以看成是对象。在系统中运行的实体。对象的性质和状态叫属性。对象的本质是数据与操作的封装,封装性又称为信息隐藏,它保证每个对象在定义时尽可能不显露其内部的处理,屏蔽局部的不稳定因素,降低易变因素对系统的影响,使对象具有控制自身状态的独立性。例如人、椅子、汽车等等。
⑵ 标识 (Identification) :对象的名称,具有唯一性。
⑶ 数据 (Data) :对象的属性,表明对象的状态( 静态) ,决定了对象可能的行为。
⑷ 操作 (Operator) :对象行为、动态功能或实现功能的具体方法。每一种操作都会改变对象的一个值或多个值。操作分为两类:对象自身承受的操作,操作结果改变了自身的属性;施加于其他对象的操作,操作结果作为消息发送出去。
⑸ 接口 (Interface) :对象受理外部消息所指定操作的名称或外部通讯协议。
⑹ 消息 (Message) :也叫事件。对象不会无缘无故执行操作,它们之间的相互作用需要通过消息传递来实现。靠“事件激发”产生动作。消息传递:同样输入→不同对象→不同结果 ( 终态) ;过程调用:同样输入→同样输出。对象接受消息所执行的操作,叫“事件驱动”程序,也叫过程。 ⑺ 类 (Class): 对象或者相同的数据的集合,包括标识、继承、数据结构、操作和接口,具有层次性。类可以派生出多个子类,父类层数据可以被多次重用,子类也可以扩展自身的属性。 ⑻ 继承 (Inheritance) :指一个类因承袭另一个类的能力和特征的机制。继承的优点是避免了系统内部类或对象封闭而造成的数据与操作冗余现象,并保持接口的一致性 (Consistency) 。在传递消息时,也无须了解接口的详细情况。而继承机制的最主要优点是支持重用,在层次方面优于传统结构化方法中的过程调用。
⑼ 簇 (Cluster) :是一组对象。相对于用单个对象来映射客观世界,用簇来为复杂实体建模,将使系统开发更容易实现
B. 面向对象的基本特征:
面向对象 = 数据抽象 + 数据抽象类型 + 继承性;
面向对象的特征:
⑴ 封装性:改变了传统的数据与操作分离模式,对象作为独立实体,将数据与操作封闭起来,使自身的状态、行为局部化。
⑵ 继承性:是面向对象方法特有的性质,继承支持重用,实现软件资源共享与增强扩充。
⑶ 多态性:发送同一消息给不同类或对象,可以产生不同的操作结果。软件设计更便利。
⑷ 易维护性:封装使信息隐藏在局部,影响也仅限于局部,使程序修改、检查错误更方便。
图 6.1 是对象内部组织与机制以及和其它对象的联系。
图 6.1 对象内部组织机制以及和其它对象的联系
C. 面向对象开发方法主要原则:
⑴ 构造和分解相结合原则;构造指由基本对象组装成复杂活动对象的过程。
⑵ 抽象和具体相结合原则;包括数据抽象和过程抽象。数据抽象把一组数据及其有关操作封装起来,过程抽象则定义对象之间的相互作用。 ⑶ 封装原则;封装指对象的各种外部特性与内部实现分离,以减少程序间的相互依赖,提高程序的可重用性。 ⑷ 继承原则:继承可直接获取父类已有特性而不必重新定义,目的也是为了提高程序的可重用性。
⑸ 构造问题空间:主要包括 区分对象及其属性;
区分整体对象和组成部分;
区分不同对象类的形成 ( 组装结构) 。 4. 面向对象的开发方法与发展趋势
面向对象技术起源于面向对象的程序设计语言,其开发过程一般分为三个阶段:面向对象系统分析 (OOA) 、面向对象系统设计(OOD) 和面向对象系统实现(OOP) ,即编程。虽然这三个阶段与MIS 的生命周期法相似,但解决问题和描述方法却有很大区别。
面向对象的开发方法特点是:
⑴ 分析和设计是反复的,体现了原型法的特点并建立针对簇的规格的说明;
⑵ 运用库中已有对象,反复测试实现簇,并将新簇纳入库中,这一过程体
现了继承和重用;
⑶ 强调分析阶段和设计阶段的合并。 ( 图6.2)
面向对象系统开发的趋势:分析和设计更加紧密难分,由于重用性提高,程序设计比重越来越小,系统测试和维护得到简化和扩充,开发模型越来越注重对象之间交互能力的描述。
图 6.2 面向对象的系统开发方法
3、小结
管理信息系统开发策略主要有“自上而下”的开发策略和“自下而上”的开发策略。其中,“自上而下”策略符合系统观点,全面考虑问题,能很好地协调组织内部的各种关系,需要较长的时间周期、更充足的资金与设备、素质更高的人才,适用于大型管理信息系统的研制。
“自下而上”策略的优点是可以循序渐进,避免研制大系统可能导致的配合不协调。缺点是没有从整体和长远的观点考虑问题,系统开发只是简单地重复了原有系统的功能,仅提高了某些部门的工作效率,而没有考虑重构企业和组织体系和工作流程,对各子系统之间的接口和相互联系也可能考虑不周。主要适宜于小型信息系统的开发与研制。
合理的策略是:对于大型的信息系统,应首先自上而下地进行项目的整体规划,再自下而上地逐步实现各子系统的应用开发。
系统的生命周期是指人工系统所经历的由发生、发展到消亡的过程。管理信息系统的生命周期包括系统分析、系统设计、系统实施三个阶段。
结构化系统开发方法是一种经典的、应用最广泛的系统开发方法,其思想是将结构与控制加入到项目中,以便使活动在预定的时间和预算内完成。