资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,系统分析与设计方法,主讲教师:何鸣,授课单位:黑龙江科技大学,授课内容:系统开发生命周期,系统开发方法论,系统分析与设计方法 主讲教师:何鸣授课单位:黑龙,系统开发与项目管理,1.,系统开发生存周期,2.,系统开发方法论,本次课的主要内容,系统开发与项目管理本次课的主要内容,信息系统的开发需要经历,系统项目启动、业务需求分析、详细技术设计、系统实现与维护,4,个过程。,对应于系统开发生存周期的,启动阶段、分析阶段、设计阶段、实现与维护阶段,。,相应关联活动为:,项目规划活动(用于计划、组织和规划项目),分析设计活动(用于理解定义和解决业务问题),实施活动(为业务用户编程、测试并安装系统),1.,系统开发生存周期,信息系统的开发需要经历系统项目启动、业务需求分析、详细技术设,1.,启动阶段,主要任务:,确立系统的目标与计划,。,主要目标:,确定新系统的作用域并做出项目规划,。,5,个活动:,定义问题域,制定项目进度表,确认项目的可行性,安排项目人员,启动项目,1.,系统开发生存周期,1.启动阶段1.系统开发生存周期,2.,分析阶段,主要任务:,进行系统业务需求分析,。,主要目标:,为项目团队提供对开发项目的问题和需求更为全面的理解,。,6,个活动:,收集信息,定义系统需求,建立需求发现的原型,划分需求的优先级,产生并评价可选方案,推荐方案,1.,系统开发生存周期,2.分析阶段1.系统开发生存周期,3.,设计阶段,主要任务:,1.,探索并考量不同的技术设计方案,。,2.,开发实现最终方案所需技术蓝图和规格说明,。,主要目标:,用于设计系统和程序,。,6,个活动:,设计和集成网络,设计应用结构,设计用户与系统界面,设计和集成数据库,设计细节原型,设计和集成系统控制,1.,系统开发生存周期,3.设计阶段1.系统开发生存周期,4.,实现与维护阶段,主要任务:,构造出新的系统并将其投入运行,。,主要目标:,对新系统进行编程和安装测试,。,4,个活动:,构造软件部件,检验和测试,培训用户和制作文档,安装新系统,1.,系统开发生存周期,4.实现与维护阶段1.系统开发生存周期,系统开发方法为完成系统开发生存周期中的每一步提供详细的指导。,系统开发方法包括,1.,(具体的),模型,:现实的抽象,用以帮助人们快速、深入地理解系统内部结构。,2.,工具,:帮助生成项目中所需模型或其它构件的软件支持。,3.,技术,:系统开发中使用的一组方法,这组方法可以帮助分析人员完成系统戈活动或任务。,常用系统开发方法:,结构化方法、原型法、面向对象方法、敏捷开发方法。,2.,系统开发方法论,系统开发方法为完成系统开发生存周期中的每一步提供详细的指导。,1.,结构化系统开发,(,Structured System Analysis And Design Methon,,,SSADM,),结构化系统开发法诞生于,20,世纪,70,年代,由,结构化分析、结构化设计和结构化编程,三种技术组成。,基本思想,:,在分析与设计阶段,自顶向下,逐层分解,。把分析与设计看作是按一定的逻辑联系逐层分解的求解过程,从而能有效地将一个复杂的、难以描述和处理的抽象系统逐步分解成若干层次的子系统,,直到能被有效定义和处理的具体模块,,由此,形成了开发系统的概念模型。,2.,系统开发方法论,1.结构化系统开发(Structured System An,系统,实现阶段的过程与分析阶段相反,系统实现阶段,,自底向上,通过模块链形成完整的信息系统,,开发,过程严格按照系统分析、系统设计、系统实现的流程,完成,。,结构化方法的工具:,业务流程图,数据流图,实体关系图,数据字典,2.,系统开发方法论,系统实现阶段的过程与分析阶段相反2.系统开发方法论,2.,原型法,(,Prototyping Approach,,,PA,),原型法产生于,20,世纪,80,年代。,基本思想是:采用最经济的方法,尽快设计出一个可以实际运行的系统原型。,系统设计人与用户合作,直接在运行中不断修改一个尚不够成熟的系统原型,通过反复试验、评价与修改,最终开发出符合用户要求的管理信息系统。,原型,:,指,一个用于实验的、结构简单但已具备系统的基本功能的应用系统,。,2.,系统开发方法论,2.原型法(Prototyping Approach,PA),原型法,有,4,个主要步骤,确定系统的基本需求,开发初始原型系统,使用原型,修改和改进原型,2.,系统开发方法论,原型法有4个主要步骤2.系统开发方法论,3.,面向对象方法,(,Object-Oriented,),面向对象开发方法一般经历,5,个阶段:,分析、设计实现、测试和维护,。,对象分析(,Object-Oriented Analysis,)阶段,对象设计(,Object-Oriented Design,)阶段,编程实现(,Object-Oriented Programming,)阶段,系统测试(,Object-Oriented Testing,)阶段,系统维护(,Object-Oriented Maintenance,)阶段,2.,系统开发方法论,3.面向对象方法(Object-Oriented)2.系统开,对象分析(,Object-Oriented Analysis,)阶段,主要工作:分析问题的性质和问题的求解,步骤:,建立问题域的对象模型,模型描述现实世界的类与对象及对象之间的联系。,建立动态模型,通常用状态图来描绘对象的交互式动态模型,用数据流图建立功能模型,2.,系统开发方法论,对象分析(Object-Oriented Analysis),对象设计(,Object-Oriented Design,)阶段,主要工作:整理问题,把分析阶段得到的需求转变成符合成本和质量要求的抽象系统实现方案过程。,面向对象设计可分为,系统设计和对象设计,系统设计,确定实现系统的策略和目标系统的高层结构,。,对象设计,确定解空间中的类、关联、接口形式及实现服务的算法,。,2.,系统开发方法论,对象设计(Object-Oriented Design)阶,编程实现(,Object-Oriented Programming,)阶段,主要任务:把设计结果翻译成某种面向对象程序语言所书写的程序。,系统测试(,Object-Oriented Testing,)阶段,主要任务:在测试中运用面向对象技术,对软件系统进行测试。,系统维护(,Object-Oriented Maintenance,)阶段,主要任务:将测试后的新系统投入运行,并针对系统或用户需求的变化进行纠错或改进。,2.,系统开发方法论,编程实现(Object-Oriented Programm,面向对象,的分类,20,世纪,80,年代后期以来,出现了很多面向对象开发方法,Object Modeling Technique,,,OMT,Object-Oriented Design,,,OOD,Responsibility-Driven Design,,,RDD,Object-Oriented Analysis and Design,,,OOAD,Object-Oriented Software Engineering,,,OOSE,Visual Modeling Technique,,,VMT,2.,系统开发方法论,面向对象的分类2.系统开发方法论,2.,系统开发方法论,面向对象,的优缺点,优点,能够直接刻画客观世界的模型,易于处理复杂问题,采用继承和多态等面向对象技术,OO,的无缝对接,缺点,自底向上(底层的对象设计存在盲目性),数据驱动(非功能驱动,系统总体结构性差),2.系统开发方法论面向对象的优缺点,4.,敏捷开发方法,(,Agile Development,,,AD,),快速系统开发,为迅速制造可用软件而设计的迭代过程。,其描述、设计和开发与测试是交织在一起的。,以增量的形式完成,20,世纪,90,年代提出了新的敏捷开发方法。,敏捷方法是,一种专注于增量式描述、设计和系统实现的迭代式开发方法,,其中,用户直接以参与到开发过程中,,同时,,开发负担的降低使快速系统开发成为可能,。,(,1,)敏捷,敏捷方法允许开发团队将主要精力集中在软件本身,而不是在设计和编制文档上。敏捷方法普遍地依赖于迭代方法来完成系统软件描述、开发和移交,主要用于支持业务应用的开发。,2.,系统开发方法论,4.敏捷开发方法(Agile Development,AD),4.,敏捷开发方法,(,1,)敏捷方法,(,2,)敏捷建模,原则:客户参与;增量式移交;团队工作:,接受变更;保持简单性:,(,3,)极限编程(,Extreme Programming,,,XP,),XP,是流行最广的一种敏捷方法,由,Beck,(,2000,)提出。,所有的需求都表示为脚本(要直接实现的一系列任务);程序员两两结对;在写代码之前完成任务的测试描述;在新的代码加入系统中时,达到测试要求。,2.,系统开发方法论,4.敏捷开发方法2.系统开发方法论,极限编程,的,核心价值是:,通过,频繁发布系统的版本来支持增量式开发,。,客户,被全天雇佣,到开发团队来,参与系统项目,。,开发人员结对编程,,集体对系统开发具有所有权。,测试优先,的开发思想。,通过,持续的再分解来改善代码质量,,,使用简单设计,支持简洁性的维护。,2.,系统开发方法论,极限编程的核心价值是:2.系统开发方法论,1.,系统开发生存周期,四个阶段,启动阶段、分析阶段、设计阶段、实现与维护阶段,阶段的主要目标与成果,2.,系统开发方法论,四种系统开发方法,SSADM,、,PA,、,OOADP,、,AD,四种系统开发方法的定义、形式及具体实现,四种系统开发方法的优缺点,本次课的总结,1.系统开发生存周期本次课的总结,The End,The End,
展开阅读全文