资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第,3,章,IT,软件项目的生命周期,辽宁工程技术大学,软件学院,软件项目管理,Page,*,第3章 IT软件项目的生命周期,3.1 IT,软件项目生命周期的划分,3.2 IT,软件项目生命周期中各阶段任务,3.3 IT,软件项目生命周期中的重要概念,3.4 IT,软件项目管理里程碑,1,3.1 IT,软,软件项目生命周,期,期的划分,1.,软件项目生命周,期,期的概念,任何软件的开发,都,都要经历一个“,生,生命周期”,从,软,软件的调研开始,到,到淘汰的全过程,,,,从项目批准到,交,交付的过程。,一般将项目分为,以,以下,4,个阶段:,识别需求、提出,解,解决方案、执行,项,项目、结束项目,2,1.,软件项目生命周,期,期的概念,对于典型的,IT,软件项目,项目,的,的生命周期可以,从,从不同的角度认,识,识。,从项目承担方看:项目是从接到,合,合同正式开始的,,,,到完成规定工,作,作结束;,从客户的角度看:项目是从确认,有,有需求开始,到,使,使用项目的成果,实,实现商务目标结,束,束。,无论从哪个角度,分,分析,软件项目,的,的生命周期都包,括,括识别、设计、实,施,施和评估,4,个阶段。,典型软件项目开,发,发的生命周期如,图,图,3.1,所示。,3,2.,典型软件项目开,发,发的生命周期,图,3.1,典型软件项目开,发,发的生命周期,初步需求,子系统需求分析,概念设计,逻辑设计,开发概念原型,第一次开发,风险分析,开发结果评估,识别,设计,实施,评估,系统配置、运行、产品成型,系统需求分析,物理设计,第二次开发,开发结果评估,整体需求,最终设计,最终开发,测试,4,3.,瀑布模型,瀑布模型是美国,WinstonRoyce,向,IEEE WESCON,(,Royce,Winston1970,)提交的一篇名,为,为,管理大规模软件,系,系统的开发,(,Managing the Development ofLarge SoftwareSystems,)的论文中首次提,出,出的。,这种方法是从一,个,个阶段成瀑布流,入,入下一个阶段,,所,所以这个模型就,称,称为“瀑布模型,”,”。,5,软件开发瀑布模,型,型及不同阶段之,间,间的交互,图,3.2,软件开发瀑布模,型,型及不同阶段之,间,间的交互,需求分析与定义,系统设计与软件设计,系统实施与单元测试,系统集成与系统测试,系统运行与系统维护,6,(1,)纯瀑布模型,软件概念,需求分析,初步设计,编码和调试,详细设计,系统测试,软件概念:用户提出对软,件,件的开发与初步,需,需求;,详细设计:,编码和调试:选择合适的计,算,算机语言,完成,详,详细设计中的各,个,个模块的编码并,调,调试;,初步设计:将用户需求分,解,解成硬件与软件,需,需求,并建立系,统,统的整体结构模,型,型;,需求分析:开发者与用户,交,交流,确定系统,的,的目标、服务与,约,约束;,将初步设计的整,体,体,结构继续分解为,可,可实施编码的小,模,模块,并完成流,程,程图;,系统测试:测试系统的各,部,部分是否满足需,求,求。,7,(2,),改进的,纯瀑布模型,-,生鱼片模型,软件概念,需求分析,初步设计,详细设计,编码和调试,系统测试,主要缺点:,因为阶段重叠,,,,里程碑非常不,明,明确,很难精确,地,地进行过程跟踪,;,;,并行地执行活,动,动可能导致无效,的,的沟通、错误的,想,想法以及低下的,效,效率。,“生鱼片模型”,是将模型中的,连,连续的各阶段相,互,互有较大幅度的,重,重叠。,例如,在需求分,析,析完成之前可以,进,进行初步设计和,详,详细设计。,主要优点:,在项目,比较小且定义得,很,很好时,可以有,效,效地减少文档的,产,产生。是比较有,效,效的模型。,8,(2,),改进的,纯瀑布模型,-,具有子系统的瀑,布,布模型,软件概念,需求分析,初步设计,详细设计,子系统设计,编码和调试,详细设计,子系统设计,编码和调试,详细设计,子系统设计,编码和调试,系统测试,初步设计中将系,统,统分成几个逻辑,上,上相对独立的子,系,系统,每一个子,系,系统都,采用相对独立,的方法进行设计,,,,形,成了具有子系统的,瀑布模型。,图中,初步设计,阶段将系统分成,3,个,相对、独立的子,系,系统,各子系统,分别独立进行详,细,细设计、编码和,调,调试,及子系统设计,,最,最后统一进行系,统,统测试。,9,Boehm,给出的一些成本,数,数据,系统类型,阶段成本(,%,),需求,/,设计,实施,测试,控制系统,卫星系统,操作系统,科学系统,商务系统,46,34,33,44,44,20,20,17,26,28,34,46,50,30,28,从表中我们能看,出,出什么特点?,10,4.,原型模型,原型(,Prototype,)法是在,20,世纪,80,年代初,在总结,和,和归纳结构化分,析,析与设计方法开,发,发软件项目的基,础,础上,改进结构,化,化系统分析与设,计,计的过于繁琐、,开,开发周期长、见,效,效慢等缺点,借,助,助第,4,代程序开发语言,而,而产生的一种项,目,目开发方法。,这种方法是借助,先,先进的软件开发,工,工具根据用户提,出,出的软件需求定,义,义,快速建立一,个,个软件系统的“,原,原型”,向用户,展,展示待开发软件,的,的全部或部分功,能,能,在征求用户,对,对原型软件的意,见,见后,反复进行,修,修改、完善、提,高,高和确认,最终,实,实现项目的目标,。,。,11,(1),渐进原型模型图,用户提出,系统要求,识别归纳,用户需求,快速建立开发原型,修改模型,重新设计或选择模型,评价,模型,确定模型,完成并交付模型,满意,模型不满意,模型不可行,渐进原型模型是,从,从软件开发系统,概,概念开始,根据,软,软件需求定义,,快,快速建立一个软,件,件系统“原型”,的,的生命周期模型,。,。,12,(2),渐进原型模型的,基,基本过程,原型建立通常是,软,软件从最显著的,方,方面开始,向用,户,户展示待开发系,统,统的全部或者部,分,分功能(通常是,完,完成的部分);,然后根据用户对,原,原型的反馈信息,,,,反复进行修改,、,、完善、提高和,确,确认,直到开发,者,者和用户都认为,原,原型已经“足够,好,好”;,最终实现项目目,标,标,完成结尾工,作,作,交付作为最,终,终产品的原型。,13,(3),渐进原型模型的,特点,直观、形象,更,多,多地遵循了人们,认,认识事物的规律,,,,因而更容易被,人,人们接受。,采用模拟的手段,,,,缩短了用户和,系,系统分析、设计,人,人员之间的距离,。,。,在整个系统开发,过,过程中反馈是及,时,时的,标准是统,一,一的,可及时地,暴,暴露问题,确保,系,系统实现的正确,性,性。,充分利用了新一,代,代的软件工具,,使,使得系统开发和,运,运行的效率都大,大,大提高。,14,(4),原型法的应用的,软,软件支撑环境,要有一个方便灵,活,活的关系数据系,统,统。,要有一套完整的,程,程序生成软件。,要有一个与数据,库,库对应的、灵活,方,方便的数据字典,。,。,有一个可以快速,抽,抽象或者能够容,易,易提炼的原型。,15,5.,螺旋模型,风险分析,风险分析,风险分析,风险分析,原型,1,原型,2,原型,3,可操作原型,建模,模拟,评价,软件需求,需求确认,操作概念,需求计划,开发计划,软件产品设计,设计确认与验证,集成与测试计划,详细设计,编码,单元测试,集成测试,验收测试,实现,确定下阶段目标、约束条件,风险分析,过程迭代,开始,开发、验证软件产品,制定下阶段计划,评审,累计成本,构造,原型,评价,方案,螺旋模型示意图,16,(,1,)螺旋模型说明,1988,年,Boehm,提出“基于风险”的螺旋模型,螺旋模型主要由,4,个部分组成:,需求定义、风险,分,分析、实现和评,审,审,螺旋模型是这,4,个部分组成的迭,代,代模型,软件开,发,发的过程每迭代,一,一次,螺旋线就,增,增加一周,系统,产,产生一个新的版,本,本,而软件开发,的,的时间和成本又,有,有新的投入。,螺旋模型中的显,著,著特点是在每个,固,固定阶段对项目,的,的风险进行评估,。,。,17,(,2,)螺旋模型的迭,代,代,每次迭代都包括,以,以下六个步骤:,(,1,)确定下一阶段,的,的目标、方案的,约,约束条件;,(,2,)风险分析、评,估,估及解决;,(,3,)为该系统构造,合,合适的原型;,(,4,)评价,方,方案;,(,5,)开发,、,、验证,软,软件产,品,品;,(,6,)制定,下,下一阶,段,段计划,,,,交付,给,给下一,步,步骤,,开,开始新,的,的迭代,过,过程。,18,例,1,质量螺,旋,旋模型,(,(,1,),目标,尽可能提高软件产品质量,约束,在三年内完成、没有大规模的投资、,公司标准不会发生大的变化,可选方案,重用已经有的注册软件、引入正式的需求和合格证明、采用新的测试和检验工具,风险,提高质量可能会在很大程度上提高成本、,新的方法可能会导致现有员工的流失,风险解决办法,详细调查、驾驭项目、对潜在重用组件的调查、,对可得到的支持工具进行评价、,对员工培训和激励进行研究,19,例,1,质量螺,旋,旋模型,(,(,2,),目标,尽可能提高软件产品质量,后果,对正规方法、经验的限制难以提高软件质量,公司可得到的工具支持是有限的,可得到能重用的组件,但几乎没有可重用的工具支持,计划,更详细的调查重用方案,开发支持工具原型,探索组件合格计划,行动,投资将来,12,个月开发,20,例,2,软件产,品,品螺旋,模,模型(,1,),目标,获得软件产品,约束,在一年内完成,必须支持现在软件产品的类型,总成本要低于¥,1000 000,可选方案,购买现存的信息恢复软件,购买数据库并且采用这种数据库的查询语言开发软件产品,开发一个特殊目的的软件产品,风险,在约束条件内可能获得不了这些软件产品,软件产品功能可能不合适,21,例,2,软件产,品,品螺旋,模,模型(,2,),目标,获得软件产品,风险解决办法,用开发软件产品的原型来明确需求,委托顾问调查现存信息恢复系统的情况,放松时间限制,后果,信息恢复系统灵活性(可移植性)差,不能满足确认的需求,采用,DBMS,开发的原型可能会提高整个系统,特殊目的软件产品的开发成本可能会很高,计划,应用现有,DBMS,提高系统原型和用户接口,开发软件产品,行动,投资将来,12,个月开发,22,6.,编码修,正,正模型,使用编,码,码修正,模,模型,,一,一般是,从,从一个,大,大致的,想,想法开,始,始工作,,,,可能,有,有一个,正,正式的,规,规范,,也,也可能,没,没有;,然,然后结,合,合使用,一,一些无,论,论如何,都,都称不,上,上规范,的,的设计,、,、编码,、,、调试,和,和测试,方,方法,,来,来完成,产,产品开,发,发。,编码修,正,正模型,有,有两点好,处,处:,不需要,什,什么成,本,本。不需,要,要在除,了,了纯粹,编,编码工,作,作以外,的,的项目,规,规划、,文,文档编,制,制、质,量,量保证,、,、标准,实,实施或,任,任何其,他,他活动,中,中花费,时,时间。,它只需,要,要极少,的,的专业,知,知识。,23,7.,为项目,选,选择最,快,快速的,生,生命周,期,期,(1),为项目,选,选择最,有,有效的,生,生命周,期,期模型,,,,通常,可,可以思,考,考以下,问,问题:,(1),在项目,开,开始的,时,时候,,开,开发者,和,和用户,对,对需求,的,的理解,是,是否充,分,分?在,项,项目进,行,行
展开阅读全文