《【教学课件】第2章系统开发方法.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第2章系统开发方法.ppt(93页珍藏版)》请在三一办公上搜索。
1、第二 章管理信息系统开发方法,(Methods of the Management Information System),返回总目录,使学生掌握常用的开发方法能够一种方法或几种方法进行信息系统的开发,教学目的,了解结构化开发方法以及该方法存在的问题掌握原型法的开发步骤;原型法的种类;原型法的特点及适用范围;掌握面向对象法;面向对象法的开发过程;面向对象法的特点及适用范围具备利用上述方法开发信息系统的能力,教学要求,快速原型法,面向对象法,系统开发方法的选择,结构化生命周期法,管理信息系统开发方法,第一节 结构化生命周期法,管理信息系统开发方法,结构化方法的特点与局限性,传统的开发方法,结构化
2、开发方法,结构化生命周期法,系统的生命周期:任何一个系统都有发生、发展和消亡的过程,新系统是在旧系统的基础上产生、发展、老化、淘汰,最后又被更新的系统所取代,传统的开发方法,传统的开发方法,新系统运行,小量修改、维护、评价活动,原系统(现行系统)运行,系统开发的各个阶段,小量修改、维护、评价活动,新系统生命周期,原系统生命周期,系统开发准备,调查研究,系统分析(逻辑设计),系统设计(物理设计),系统实施,维护评价,生命周期法的主要思想:将管理信息系统从系统调查开始,经过系统分析、系统设计、系统实施、系统维护与评价,直至要求建立新的系统看成是一个生命周期的结束,另一个生命周期的开始。,传统的开发
3、方法,结构化开发方法的一般过程,结构化方法的特点与局限性,结构化方法的基本思想,结构化开发方法,结构化系统开发的基本原则,结构化方法的基本思想:用系统的思想,系统工程的方法,按用户至上的原则,结构化、模块化、自顶向下地对信息系统进行分析与设计,结构化开发方法基本思想,信息系统的开发原则,面向用户的观点,严格区分工作阶段,每个阶段规定明确的任务和所应得的成果,按照系统的观点,自顶向下地完成研制工作,工作成果要成文,文献资料的格式要规范化、标准化,充分考虑变化的情况,信息系统的开发步骤,可行性分析,信息系统开发阶段,信息系统规划,信息系统分析,信息系统设计,信息系统实施,系统运行管理与评价,1.任
4、务:,可行性分析又称可行性研究,对现行系统进行初步调查研究从有益性、可能性和必要性三个方面对未来系统的经济效益和社会效益进行初步分析对新系统进行可行性研究,2.目的避免盲目投资,减少不必要的损失,3.成果可行性研究报告,系统总体规划,1.任务:,(1)从总体的角度来规划系统应该由哪些部分组成,(2)在这些组成部分中有哪些数据库,它们之间如何交换数据,(3)根据信息与功能需求提出计算机硬件网络配置方案,(4)根据管理需求来确定这些模块的开发优先顺序,(5)制定出开发计划,根据开发计划合理调配人员、物资和资金,2.成果,系统规划阶段的总结性成果是系统规划报告,系统总体规划,信息系统分析,1.任务:
5、(1)按照总体规划的要求,对系统规划中所规定的各组成部分进行详细的分析 分析每部分内容的信息需求 分析内部对主题数据库的需求 分析所需要建立的专用数据库,(2)进行需求分析,详细分析各部分如何对各类信息进行加工处理,以实现用户所提出的各类功能需求,详细分析系统的业务流程图,抽取出数据流程,(3)进行功能分析,(4)用数据流程图、数据字典和处理逻辑表达表示,信息系统分析,与用户进行充分地交流和验证,检验正确后可进入下一阶段工作,2.系统分析结果,系统分析进行完之后,要写出系统分析报告,信息系统分析,系统设计,1.系统设计的任务:,即采用一定的标准和准则,考虑模块应该有哪些程序块组成,它们之间如何
6、联系,(1)系统的功能结构设计结合计算机的具体实现,设计各个组成部分在计算机系统上的结构,(3)系统的编码设计,(4)数据文件和数据库设计,(5)系统的输入/输出设计,(2)系统的处理流程设计,(6)网络设计,2.系统设计的成果,系统设计阶段的成果是系统设计说明书,系统设计,系统实施,(1)系统硬件设备的购置与安装,(2)程序的编制,2.系统开发实施的成果:,(1)程序清单,(3)系统使用说明书,1.任务:,程序设计是根据系统设计阶段的成果,遵循一定的设计原则来进行的.,(3)数据的录入,(4)人员的培训,(5)系统的测试、调试和转换,(2)测试与调试报告,信息系统运行管理与评价,1.任务:,
7、对系统进行修改与扩充(即系统维护)日常运行管理运行情况的记录对系统运行情况进行检查与评价,2.成果,系统运行维护阶段的成果是系统运行审计报告,可行性分析,信息系统规划,信息系统分析,信息系统开发实施,信息系统安装调试,信息系统试运行,信息系统运行维护,信息系统设计,信息系统测试,提出开发请求,信息系统开发阶段,信息系统开发过程,结构化生命周期法的假设是预先定义需求的策略使用生命周期法,项目的参与者之间往往存在通信鸿沟生命周期法使用的基本技术,是结构化分析(SA)和结构化设计(SP)技术,结构化分析和结构设计是建立在系统生命周期的概念基础上的有比较明显的缺点:用这种技术开发出来的软件,其稳定性、
8、可修改性和可重用性都比较差,生命周期法的特点与局限性,结构化生命周期法特别适合于开发那些能够预先定义需求、结构化程度又比较高的大型事务型系统(TPS)和管理信息系统(MIS)生命周期法不适合于开发信息需求不明确的系统,生命周期法的特点与局限性,第二节 快速原型法,信息系统开发方法,原型法方法的开发过程,原型法的种类和构造过程,原型法的使用场合与局限性,原型法的特点,快速原型法,原型法概述,原型法概述,系统的种类,原型法的提出,原型法的概念,迭代的概念,原型法的基本思想,系统的种类,(1)预先指定的系统,系统的需求比较稳定而且能够预先指定,例如,传统工业生产过程的计算机控制系统,卫星图象处理系统
9、,空中交通管理系统,火箭发射跟踪系统,操作系统,编译程序、DBMS类的软件。,(2)用户驱动系统,系统的需求使模糊的或随时间变化的,通常在安装运行之后,还会由用户驱动对需求进行动态修改。,系统的种类,在70年代中期,人们提出了旨在改进SDLC缺点的一种开放式方法原型法(Prototyping),原型法的提出,原型法是根据用户提出的需求,由用户与开发者共同确定系统的基本要求和主要功能,在较短时间内建立一个实验性的简单的信息系统原型,在用户使用的基础上,不断迭代,最后形成一个相对稳定、较为理想的MIS系统,原型法的概念,原型法就是根据用户提出的需求,由用户与开发者共同确定系统的基本要求和主要功能,
10、在较短时间内建立一个实验性的,简单的信息系统原型,在用户使用原型的过程中,不断地依据用户提出的评价意见对简易原型进行不断的修改、补充和完善,如此反复、使快速原型越来越能够满足用户的要求,直至用户和开发者都比较满意为止,这就形成了一个相对稳定、较为理想的MIS,迭 代,迭代就是用户对原型系统进行评价后,提出意见,开发人员根据用户的意见进行修改的反复过程。,迭代不是简单的反复,每一次迭代都意味着原型系统向着用户需求又前进了一步,迭代是系统开发进展的动力。迭代过程的结束,就是原型的完成。,原型法就是根据用户提出的需求,由用户与开发者共同确定系统的基本要求和主要功能,并在较短时间内建立一个实验性的、简
11、单的小型系统,称做“原型”,然后将原型交给用户使用用户在使用原型的过程中会产生新的需求,开发人员依据用户提出的评价意见对简易原型进行不断的修改、补充和完善。如此不断地反复修改、直至满足用户的需求形成了一个相对稳定、较为理想的管理信息系统,原型法的基本思想,原型法的开发过程,(1)识别基本需求,(2)构造初始原型,(3)使用和验证原型,(4)修正和改进原型,(5)判断原型完成,(6)生成文档并交付使用,识别基本需求,系统结构功能输入的要求输出的要求数据库基本结构系统接口,构造工作原型,根据系统的基本需求建立原型的初始方案,对初始方案进行讨论和迭代,工作模型包括数据库模型和系统功能模型,初始模型的
12、质量对生成新的信息系统至关重要,原型法的开发步骤,识别基本需求,构造初始原型,修正和改进,生成文档并交付使用,满意吗?,放弃?,Y,Y,N,N,放弃原型,使用验证原型,原型的种类和构造方法,原型的种类,原型的构造方法,原型化方法与结构化方法的结合,丢弃式原型,进化式原型,原型的种类,在于描述和说明系统的需求作为开发人员和用户之间的通信工具,不作为实际系统运行,原始系统只是从外观上、功能上象“实际系统”,丢弃式原型,进化式原型,进化式原型开发思想与丢弃式完全相反,按照基本需求开发出一个系统,让用户先使用起来,随时修改,原系统的一部分或几部分不适用,需要重新设计、实施和安装,原型构造方法,演变式系
13、统开发,递增式系统开发,演化式系统开发(evolutionary prototyping),演化式系统开发的原理,演化式系统的开发过程,演化式原型的原理,演化式系统开发思想与丢弃式原型完全相反,按照基本需求开发出一个系统,让用户先使用起来,随时修改,原系统的一部分或几部分不适用,需要重新设计、实施和安装,演化式原型法的开发过程,系统设计,系统实施,修正和改进,演化(重新设计、实施),满意吗?,Y,最终系统,N,注意加强管理和控制,原型的开发过程就是系统不同版本的开发过程,递增式系统开发(incremental prototyping),递增式系统开发原理,递增式系统开发的过程,递增式系统开发的
14、原理,开始时系统有一个总体框架,各功能单元的结构和功能十分清楚,类似于计算机工业中的插接策略(plug-in strategy),功能还没有具体实施,以后开发中逐步完善模块,递增式系统开发过程,系统总体设计,实现一个功能子单元,子功能单元全部实现了吗?,Y,最终系统,N,系统是在原型的基础上逐步扩展,横向发展起来的,与传统方法的结合,原型的开发过程作为传统的SDLC方法的一个阶段,即需求定义阶段,研究型原型加强了SDLC的需求定义和功能分析阶段的分析,与传统方法的结合,识别基本需求,开发工作模型,修正和改进,模型验证,原型满意?,Y,Y,N,N,可行性研究,需求定义,维护及评价等,系统分析,系
15、统设计,系统实施,需求定义,原型法的特点,系统开发效益高,系统适用性强,系统可维护性好,系统可扩充性好,易学易用,原型法的使用场合与局限性,原型化方法适用于用户需求不清,管理及业务处理不稳定,需求常常变化规模小,不太复杂,而且不要求集中处理的系统有比较成熟借鉴经验的系统开发用于开发信息系统中的最终用户界面原型法的最大优点是能提高用户满意度使用原型法开发系统周期短,成本低,原型化方法不适于开发大的系统原型化方法开发的时候,测试和文档工作常常容易被忽略原型化方法的另一个缺点是运行的效率可能会比较低,原型法的使用场合与局限性,第三节 面向对象法,信息系统开发方法,面向对象方法,面向对象方法的产生和发
16、展,面向对象方法通用原则,面向对象的概念,面向对象方法的种类,面向对象方法的特点,面向对象方法与结构化方法的比较,面向对象方法的产生与发展,传统开发方法存在的问题问题空间与求解空间的不一致 系统分析到系统设计转换困难处理模型和数据模型分别建立忽视信息系统的行为特征,面向对象方法的产生与发展,面向对象方法的产生与发展,面向对象方法的产生与发展,面向对象方法的由来和历史面向对象(Object Oriented,简称OO)的概念应起源于挪威的K.Nyguard等人开发的模拟离散事件的程序设计语言Simula 67真正的面向对象程序设计(Object Oriented Programming,简称OO
17、P)是由Alan Keyz主持设计的Smalltalk语言20世纪80年代面向对象的分析、面向对象的设计等方法和技术才开始兴起,面向对象方法的产生与发展,1988年Shlaer和 Mellof 首先在其面向对象的系统分析(Object-Oriented System Analysis)一书中,集中使用ER模型(Entity-Relationship Model)来捕捉用户需求信息1991年 Coad和Yourdon在面向对象的分析一书中提出了 OOA方法在1991年,Rumbaugh等人提出了一个用于系统分析和设计的“面向对象的建模技术(Object-Oriented Modeling Tec
18、hnology,简称为OMT)”1992年,Embley等人又提出了OSA(面向对象的系统分析)方法,面向对象分析与设计的通用原则,通用组织方法,抽象,封装与信息隐蔽,继承,多态,消息,关联,复用,忽略问题域的无关部分而集中考虑关键部分的原则,封装或信息隐蔽指软件的组成部分(模块、子程序、方法等)应该互相独立,或者隐藏设计的细节,继承是表示相似性质的机制,多态一般指具有多种形态的能力,消息通信是面向对象的方法中对象之间相互联系的方法,关联有助于把信息系统的各个部分相互联系起来,复用就是重复使用。复用可以采用3共享、拷贝和改造,通用组织方法,对象及其属性或特征整体和部分 使用“有一(has a)
19、”逻辑类和成员 使用“是一个(is a)逻辑,面向对象的概念对象,对象是面向对象系统运行过程中的基本实体既包括属性,也包括作用于属性的行为传统语言的操作数据是被动地等待相应的操作去处理,但对象是一个主动的数据实体,其中封装了一组对该数据的操作,所以对“对象”和传统的“数据”的使用方法也不同,面向对象的概念消息,消息是对象之间进行通讯的一种数据结构对象之间是通过传递消息来进行联系的消息用来请求对象执行某一处理或提供某些信息的要求,控制流和数据流统一包含在消息中 程序的执行是靠对象间传递消息来连接的,面向对象的概念消息,消息传送与函数调用的区别 函数调用可以带或不带参数,但是消息至少带一个参数,它
20、表明接收消息的对象消息操作名类似于函数名,但它们之间的本质区别在于:函数名代表一段可执行的代码,但消息操作名具体功能的选取还取决于接收消息的对象本身函数调用是过程式的(如何做),消息传送是说明式的(做什么),具体如何做,由对象根据收到的消息自行确定,面向对象的概念类,类是对一组对象的抽象将该组对象所具有的共同特征(包括操作特征和存储特征)集中起来,以说明该组对象的能力和性质,面向对象的概念继承,继承指对象继承它所在类的结构、操作和约束也指一个类继承超类或子类继承父类的结构、操作或约束。继承是自动共享类、子类和对象中的方法和数据的机制,面向对象的概念封装,封装是一种信息隐藏技术所谓“封装”是指把
21、对象的属性和操作方法同时封装在定义对象中用操作集来描述可见的模块外部接口,从而保证了对象的界面独立于对象的内部表达对象的操作方法和结构是不可见的,接口是作用于对象上的操作集的说明,这是对象唯一的可见部分,面向对象的概念实例,实例就是由某个特定的类所描述的一个具体的对象类是对具有相同属性和行为的一组相似的对象的抽象类在现实世界中并不能真正存在,面向对象的概念多态,所谓多态即一个名字具有多种语义对象的多态是指在一般类中定义的属性或服务被特定类继承之后,可以具有不同的数据类型或表现不同的行为多态引用表示可引用多个类的实例,面向对象的开发的种类,面向对象的开发方法是面向对象的分析、面向对象的设计以及面
22、向对象编程的总称,它是基于问题对象的自底向上的一种系统开发方法,Booch方法,Coad_Youdon方法,OMT方法,Jacobson方法,Booch方法,在给定的抽象层次上识别类和对象;识别这些对象和类的语义;识别这些类和对象之间的关系;实现类和对象,Coad-Yourdon方法,Coad-Yourdon方法概述,Coad-Yourdon方法的开发步骤,Coad-Yourdon方法的特点,Coad-Yourdon是美国大学的教授,他俩于1991年合写了一本书面向对象的分析,Coad-Yourdon方法概述,该书详细地阐述了面向对象系统分析的一套使用方法和具体步骤,用实例进行说明,后来他俩又
23、合写了一本书面向对象的设计,面向对象的分析和设计采用相同的模型,避免了分析和设计的转换,标识对象,Coad-Yourdon方法的开发步骤,标识结构,定义主题,定义属性,定义服务,问题域部分(PDC)面向对象分析的结果直接放入该部分人机交互部分(HIC)对用户分类,描述人机交互的脚本,设计命令层次结构,设计详细的交互,生成用户界面的原型,定义HIC类任务管理部分(TMC)识别任务(进程)、任务所提供的服务、任务的优先级、进程是事件驱动还是时钟驱动、以及任务与其它进程和外界如何通信数据管理部分(DMC)依赖于存储技术是文件系统、关系数据库管理系统,还是面向对象数据库管理系统,Coad-Yourdo
24、n方法的开发步骤,Coad/Yourdon方法,是最早的面向对象的分析和设计方法之一简单、易学适合于面向对象技术的初学者使用由于该方法在处理能力方面的局限,目前已很少使用,Coad-Yourdon方法的特点,OMT(面向对象的建模技术)方法,OMT方法概述,用OMT方法进行分析的步骤,用OMT方法进行设计的步骤,OMT方法的特点,用OMT方法进行实施的步骤,1991年Rumbaugh等人提出了“面向对象的建模技术(OMT)”,OMT方法概述,OMT用于系统分析和设计,用OMT方法进行分析,通常要建立系统的三种模型,建立对象模型,用OMT方法进行系统分析的开发步骤,建立动态模型,建立功能模型,对
25、象模型描述系统中的对象、对象之间的关系,建立对象模型,标识类中的属性和操作,反映系统的静态结构,通过对事件和状态的描述和组织构成状态图,建立动态模型,动态模型表述系统与时间的变化有关的性质,功能模型由多张数据流程图组成,建立功能模型,功能模型描述系统中所有的计算,把系统分解成子系统识别问题中固有的并发性把子系统分配给处理器和任务选择数据存储管理的方法处理访问全局资源选择软件中的控制实现处理边界条件设置权衡的优先权,用OMT方法进行系统设计的开发步骤,组合三种模型获得类上的操作实现操作的算法设计优化数据的访问路径实现外部交互式的控制调整类结构提高继承性设计关联确定对象表示把类和关联封装成模块,用
26、OMT方法进行对象设计的开发步骤,可以使用面向对象的语言非面向对象语言等程序设计语言实现也可以使用数据库管理系统实现,用OMT方法进行实现,OMT被认为是最精确的方法,OMT方法的特点,从系统分析到程序设计都能给以详细说明,容易建立接近现实的模型,比较难掌握,难理解,涉及到整个软件生命周期,包括需求分析、设计、实现和测试等四个阶段需求分析阶段的活动包括定义潜在的角色(角色指使用系统的人和与系统互相作用的软、硬件环境),识别问题域中的对象和关系,基于需求规范说明和角色的需要发现use case,详细描述use case设计阶段包括两个主要活动,从需求分析模型中发现设计对象,以及针对实现环境调整设
27、计模型。第一个活动包括从use case的描述发现设计对象,并描述对象的属性、行为和关联,Jacobson方法,以对象为基础,利用特定的软件模块,完成从对象客体的描述到软件结构之间的转换,面向对象方法的特点,避免了其它方法在开发过程中的不一致性和复杂性,系统的开发具有简单性、统一性,开发周期短,费用低,结构化方法强调过程抽象和模块化,将现实世界映射为数据流和加工,加工之间通过数据流进行通信,数据作为被动的实体被主动地操作所加工,是以过程(或操作)为中心来构造系统和设计程序面向对象方法把世界看成是独立对象的集合,对象将数据和操作封装在一起,提供有限的接口,其内部的实现细节、数据结构及对它们的操作是外部不可见的,对象之间通过消息相互通信,面向对象方法具有的继承性和封装性支持软件复用,并易于扩充,能较好的适应复杂大系统不断发展和变化的要求,面向对象方法与结构化方法的比较,系统开发方法的选择,系统开发方法涉及到以下因素:,需求和应用的类型、数据、过程、算法和环境等,各种方法的特点、应用的假设条件,人力资源CASE工具的可利用性时间、资金等方面的约束条件,(1)应用的特点,(2)方法的选择,(3)资源分析,