版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第讲信息系统的开发方法§1概述§2结构化系统开发方法§3原型法§4面向对象方法§5其他开发方法
§6开发方式简介§7开发模式简介主要内容60年代,开始注意信息系统开发的方法与工具(RichardCanning著书)。(1)70年代,系统开发的生命周期(lifecycle)法诞生(著名的“瀑布模型”)§1概述70年代后期,强调“初始阶段的重要性”。
如果在需求阶段产生一个差错,就在需求阶段纠正只要花费1元,那么在设计阶段纠正要花费5元,在实现阶段纠正要花费10元,到运行阶段纠正要花费100元。系统需求软件需求初步设计详细设计编程调试测试运行运行维护(2)80年代80年代初,原型法(prototyping)的诞生(由于4GL的出现与发展)。80年代末,计算机辅助软件工程(CASE)和面向对象(objected-oriented)的开发方法得到发展.(3)90年代初,面向对象的分析与设计和面向对象的语言开始实际应用。一维(按时间过程):生命周期法和原型法。二维(按系统的分析要素):面向处理方法(processingoriented,PO),面向数据方法(dataoriented,DO),面向对象的方法(objectoriented,OO)。PODOOOLCLC-POLC-DOLC-OOPROTPROT-POPROT-DOPROT-OO(4)开发方法分类§2结构化系统开发方法MIS工程工作流结构化系统开发方法SSA&D方法的基本思想(structuredsystemdevelopmentmethodologies)用系统工程的思想和工程化的方法;按用户至上的原则;结构化、模块化;自顶向下地对信息系统进行分析与设计。结构化系统开发方法SSA&D方法的特点
(structuredsystemdevelopmentmethodologies)自顶向下整体性的分析设计和自底向上逐步实施;建立面向用户的观点;严格区分工作阶段;深入调查研究;充分预料可能的变化;开发过程工程化。结构化系统开发方法SSA&D的优缺点优点:严格区分开发阶段,系统的针对性强;整体性与全局性好,自顶向下观点。缺点:开发周期长;开发过程繁琐、复杂;开发工具落后;与用户交流不直观;系统的升级较困难。原型方法原型方法在关系数据库系统、第四代开发语言(4GL)和各种可视化开发环境的支持下提出的一种开发方法开发要求分析评价软件环境用户开发商构造原型
软件支持环境RDBMS数据字典、建模工具快速查询系统4GL软件工具可视化报告、界面生成器,快速构造原型
§3原型法原型方法原型法工作流程1、用户提出系统要求2、识别、归纳上述要求3、开发一个模型/原型4、评价模型5、模型不可行处理6、模型不满意处理7、修改模型8、确定模型后的处理N、实际系统开发、运行、维护等12346758N不可行不满意满意原型法的过程
系统开发者在初步了解用户需求的基础上,快速构造系统开发的初步模型--原型。这个原型可能是粗糙的、不完善的,经用户和开发人员共同研讨、改进和完善,提出修改方案。开发人员根据修改方案对原型进行修改,得到新的原型,再去征求用户意见,反复多次直到取得满意的原型为止。
在建筑学和机械设计中,“原型”指的是其结构、大小和功能都与某个物体相类似的模拟该物体的原始模型。在管理信息系统开发中,用“原型”来形象地表示系统的一个早期可运行版本,它能反映新系统的部分重要功能和特征。原型法的软件支持环境方便灵活的关系数据库系统(RDBS);与RDBS相对应的、方便灵活的数据字典描述工具;与RDBS相对应的快速查询系统;用以支持结构化程序的软件工具;非过程化的报告或屏幕生成器;自动文档编排功能。原型法开发的条件开发周期必须短且成本低要求用户参与评价原型原型必须是可运行的原型要易于修改原型法的特点从认识论的角度看,原型方法更多地遵循了人们认识事物的规律,因而更容易为人们所普遍接受;原型方法将模拟的手段引入系统分析的初期阶段,沟通了人们的思想,缩短了用户和系统分析人员之间的距离,解决了结构化方法中最难以解决的一环。充分利用了最新的软件工具,摆脱了老一套工作方法,使系统开发的时间、费用大大地减少,效率、技术等方面都大大地提高。原型法的适用方式探索型:针对开发目标模糊,用户和开发人员都缺乏经验。实验型:大规模开发和实现之前的考核、验证。演化型:易于变化,可不断改变原型。(1)对于大型系统,若不经过系统分析进行整体性划分,而直接用屏幕来一个一个地模拟是很困难的。(2)对于大量运算的、逻辑性较强的程序模块,原型法很难构造出模型来供人评价;(3)对于原基础管理不善、信息处理过程混乱的问题,是拥有一定的困难。(4)对于一个批处理系统,其大部分是内部处理过程,用原型法有一定的困难。
原型法的适用范围和局限性优点:(1)改善了用户和系统设计者的交流方式;(2)帮助确定技术上的可行性;(3)有助于推广目标系统的思想;(4)降低了开发风险;(5)减少了用户的培训时间,开发的时间和成本。缺点:(1)方法缺少系统性和完整性;(2)对开发工具要求高;(3)容易走上机械模拟手工系统的方式;(4)不适用于开发大型综合的MIS。§4面向对象方法面向对象的分析(OOA)面向对象的设计(OOD)面向对象程序设计(OOP)面向对象的方法(ObjectOriented,OO
)客观世界是由各种各样的对象组成的,对象是一个独立存在的实体,从外部可以了解它的功能,但其内部细节是“隐蔽”的,它不受外界干扰。每种对象都有各自的内部状态和运动规律,不同的对象之间相互作用和联系构成了各种不同的系统。
基本思想基于所研究的问题,对问题空间(软件域)进行自然分割,识别其中的对象及其相互关系,建立问题空间的信息模型,在此基础上进行系统设计,用对应对象和关系的软件模块构造系统。使系统的开发过程能像硬件组装那样,由“软件集成块”来构筑。对象:当设计和实现一个信息系统时,如能在满足需求的条件下,把系统设计成由一些不可变的(相对固定)部分组成的最小集合,这个设计就是最好的。它把握了事物的本质,因而不再会被周围环境(物理环境和管理模式)的变化以及用户没完没了的需求变化所左右。这些不可变的部分就是所谓的对象。面向对象方法的进一步解释
(1)客观事物都是由对象组成的(任何复杂的事物都可以通过对象的某种组合构成)(2)对象由属性和方法组成(属性反映了对象的信息特征,如:特点、值、状态等,方法则是用来定义改变属性状态的各种操作)(3)对象之间的联系通过传递消息来实现(传递消息的方式是通过消息模式和方法所定义的操作过程来完成的)(4)对象可按其属性进行归类(类有一定的结构,类上可以有超类,类下可以有子类,这种对象或类之间的层次结构是靠继承关系维系着的)(5)对象是被封装的实体(封装指严格的模块化。这种封装了的对象满足软件工程的一切要求,而且可以直接被面向对象的程序设计语言所接受)
面向对象技术的基本概念对象(Object)类(Class)消息(Message)继承性(Inheritance)多态(Polymorphism)封装(Encapsulation)
对象(Object)对象--类的一个实例,包括了数据和过程,它是面向对象程序设计的基本单元。属性--对象的特征。对象之间的两种关系:分类结构—对象A是对象B类中一种的关系。组装结构—对象A是对象B的一部分的关系。运输工具分类结构组装结构计算机
类(Class)类是对象的抽象。一个类定义了大体上相似的一组对象(对象的集合);类是对象的定义和描述。一个类所包含的方法和数据是用来描述一组对象的共同行为和属性;通过类来抽象一个个对象的共同特点、描述一个个对象的相似属性,存储一个个对象的一致行为,是面向对象技术最重要的特征。子类
是对其父类的改动,相对父类,子类可以继承父类中的全部功能及响应代码添加新的功能及响应代码用新过程覆盖父类中不适合子类的过程。Command退出父类—子类—对象
消息(Message)
消息是对象之间的通信机制,是访问类中所定义的行为的手段。当一个消息发送给某一个对象时,即要求该对象产生某些行为。所要求产生的行为包含在发送的消息中,对象接受到消息后,给与解释并产生影响。这种通信过程交消息传递(MessagePassing)。发送对象(Sender)接受对象(Receiver)接口消息操作名,参数消息传递模型
继承性(Inheritance)继承性是不同类层次之间共享数据和方法的手段,是软件重用的一种机制。对一个新的类的定义和实现,可以建立在已有类的基础上。把已经存在类中的数据和方法作为自己的内容,并加入自己特有的新内容。类的层次结构在概念分析上源于对事物不同层次的抽象,而在具体实现上却依赖继承机制。
在一个类上所做的改动反映到它所具有的所有子类中,并同时反映到按该类及其子类所创建的对象中。
多态(Polymorphism)
多态是指具有多种形式。不同对象在收到统一消息后产生不同的结果,这一现象叫多态。在使用多态时,系统发出一个通用消息,而实现的细节由收到消息的对象自行决定。这样,同一消息就可能产生不同的调用方法。
用相同名称调用方法的能力,使其具有不同的内容,这主要取决于所处理的对象。DrawCircleRectangle画矩形画圆
所有对象接收同一条消息Draw,但每个对象分别作出自己的响应。
封装(Encapsulation)封装是指对象可以拥有内部变量和处理,并将内部细节隐藏起来的能力。封装将对象封闭起来,管理着对象的内部状态,因而封装的实质是信息隐藏,它的基本单位是对象。封装需要两个条件:一是所需封装的对象必须是完备的,即该对象必须能表示一个完整的概念,包括这个概念的所有方面;二是对象必须具有私有特征,它需要对其内部的数据和处理过程限制使用权限,以保证其内部的牢固性。面向对象系统的开发过程面向对象的系统开发模型时间时间需求总体设计分析设计分析设计簇二簇一簇三类库目标系统设计实现面向对象的系统开发生命周期(1)分析阶段(ObjectOrientedAnalysis,OOA)从问题域中选出词汇,建立类和对象的模型世界。(2)设计阶段(ObjectOrientedDesign,OOD)对问题域的行为进行关键抽象再分解的过程。(3)演化阶段面向对象程序设计(ObjectOrientedProgramming,OOP)、测试和集成组合在一起的阶段。(4)维护阶段是系统提交运行之后的变更活动。
是找出和规定一组根据系统的各项要求而行动和相互作用的问题领域对象。如:一个简单的销售系统模型的实例:顾客姓名地址交易日期时间计算总额销售交易付款方式计算总额销售项数量计算销售额货品名称价格取价格计算销售额取价格面向对象的分析(OOA)面向对象设计ObjectOrientedDesign,OOD
OOD的主要作用是对OOA分析的结果作进一步的规范化整理,以便能被OOP直接接受。主要有以下几项工作:对象定义规格的求精过程数据模型和数据库设计优化
对象和结构的模块化为OOD提供了一种范式,这种范式支持对类和结构的模块化。并符合一般模块化所要求的所有特点,如信息隐藏性好,内部聚合度强和模块之间耦合度弱等。面向对象设计程序ObjectOrientedProgramming,OOP
试图使程序设计环境适合于现实世界的问题。
面向对象使程序员的观点从程序设计语言如何工作转向着重于执行程序设计功能的对象模型,而不是着重于每个程序代码如何与程序的其他部分和系统交互作用上,面向对象程序着重于建立能够模拟程序需要解决的现实世界问题的对象。
例如:VisualFoxPro对象是自包容模型,他们封装了代表现实世界问题的数据及有效地操作对象数据的程序设计函数。面向对象方法的评价
特点:需要一个详细的需求分析报告从小到大,自下而上的分析过程完成从对象客体的描述到软件结构之间的转换必须与其他方法综合运用才能充分发挥其优势面向对象方法的出发点和所追求的基本目标是使分析、设计和实现一个系统的方法尽可能接近人们认识一个系统的方法,也就是使描述问题的问题空间和解决问题的方法空间在结构上尽可能一致。使设计出的软件尽可能直接地描述现实世界,构造出模块化的、可重用的、应变能力和维护性好的软件,并达到控制软件的复杂性和降低开发维护费用的目的。注意:阶段调查分析设计实现工作量>30%>40%<20%10%(2)开发过程中各环节所占的比重(1)只有结构化系统开发方法是真正能较全面支持整个系统开发过程的方法,其他方法只能是在局部开发环节上的补充§5其他开发方法
JAD(JointApplicationDevelopment)CBSE(Component-BasedSoftwareEngineering)的开发2-41信息工程方法自顶向下按四个开发阶段逐步进行:(1)信息战略规划阶段;(2)业务分析阶段;(3)系统设计阶段;(4)系统制作阶段
信息工程方法的开发过程与结构化生命周期法类似,也是分阶段进行的,该方法引入了知识库的概念,从业务分析到系统制作的每一个过程都离不开知识库的支撑。信息工程方法的开发阶段信息战略规划业务分析初步设计原型法设计详细设计硬件设计程序自动生成测试运行维护知识库2-42信息战略规划阶段
该阶段的目的是使所开发的信息系统能支持企业领导的经营管理及其决策,能支持企业经营管理的方针和策略,保证系统在统一的目标和要求下按计划开发。具体工作包括:
(1)调研分析。初步调查企业的内外环境、优势和劣势、经营方针、目标,明确实现方针、目标的条件及关键要素。
(2)信息战略规划。根据初步调查和分析,决定系统开发的目的和开发规划、总体框架及体系结构、企业基本模型、数据基本模型、业务处理模型、技术规范、系统开发的优先次序、人员、开发进度等。2-43业务分析阶段
该阶段的工作内容是从知识库中取出规划阶段存入的信息,对业务处理的数据和处理过程进行分析,总结出详细的数据模型和处理模型及两者之间的关系存入知识库中。系统设计阶段
从知识库中取出分析阶段存入的有关信息,进行数据流程、数据结构、输入/输出设计,并将结果存入知识库中。系统制作阶段
从知识库中取出设计阶段存入的有关信息,用程序生成器自动生成程序代码,并进行调试和测试。2-44计算机辅助开发(CASE)方法(ComputeAidedSoftwareEngineering)
CASE是一种自动化或半自动化的方法,能够全面支持除系统调查外的每一个开发步骤。CASE是一种开发环境而不是一种开发方法。目前,CASE仍是一个发展中的概念,各种CASE软件也较多,没有统一的模式和标准。采用CASE工具进行开发,必须结合一种具体的开发方法,如:结构化系统开发方法、面向对象方法或原型法等,CASE方法只是为具体的开发方法提供了支持每一过程的专门工具。2-45CASE方法的特点:
(1)解决了从客观对象到软件系统的映射问题,支持系统开发的全过程;(2)提高了软件质量和软件重用性;(3)加快了软件开发速度;(4)简化了软件开发的管理和维护;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度工程设计项目转让合同5篇
- 《不饱和碳氢化合物》课件
- 大班安全课件教学课件
- 《弗里德里希·威廉》课件
- 软装合同模板
- 肉类购销合同范本
- 2024年度工程建筑废料回收与运输合同2篇
- 私人之间田地租赁简单合同范本
- 部门奖金分配报告范文
- 《建设项目监理》课件
- 蓄热式熔铝炉节能技术
- 220千伏线路工程深基坑开挖方案(实施版)
- GIS超高频局部放电典型图谱(共14页)
- (完整版)篮球校本课程教材
- 水产品保鲜技术论文范文
- 柔性基层沥青路面
- 真崎航の21部
- 临床护理技术操作常见并发症的预防和处理规范(完整版)
- 隧洞专项施工方案(完整版)
- 继电保护课程设计对变压器进行相关保护的设计abrg
- 挖机租赁台班表.doc
评论
0/150
提交评论