第2章软件工程PPT文件格式下载.ppt
《第2章软件工程PPT文件格式下载.ppt》由会员分享,可在线阅读,更多相关《第2章软件工程PPT文件格式下载.ppt(32页珍藏版)》请在冰豆网上搜索。
本意:
根据软件生存周期由立项、需求、策划、设计、根据软件生存周期由立项、需求、策划、设计、编程、测试、发布、维护、退役等阶段组成,编程、测试、发布、维护、退役等阶段组成,把每个阶段当作瀑布中的一个台阶,把软件生把每个阶段当作瀑布中的一个台阶,把软件生存过程比喻成瀑布中的流水。
开发人员按照阶存过程比喻成瀑布中的流水。
开发人员按照阶段开发,管理人员按照阶段管理。
段开发,管理人员按照阶段管理。
特点:
(1)
(1)里程碑或基线驱动,里程碑或基线驱动,或者说文档驱动;
或者说文档驱动;
(2)
(2)过程逆转性很差,过程逆转性很差,或者说不可逆转。
或者说不可逆转。
瀑布模型瀑布模型模型的优点:
模型的优点:
开发阶段清晰,便于评审、审计、跟踪、管理和控开发阶段清晰,便于评审、审计、跟踪、管理和控制。
制。
模型的缺点:
可维护性差,表现在可维护性差,表现在
(1)
(1)逆转性很差,所以返工会造成重大损失。
逆转性很差,所以返工会造成重大损失。
(2)
(2)由于文档驱动,错误的传递,会采取发散扩由于文档驱动,错误的传递,会采取发散扩大的方式。
大的方式。
瀑布模型瀑布模型选择模型的条件:
选择模型的条件:
(11)在开发时间内需求没有或很少变化。
)在开发时间内需求没有或很少变化。
(22)分析设计人员对应用领域很熟悉。
)分析设计人员对应用领域很熟悉。
(33)低风险项目(对目标、环境很熟悉)。
)低风险项目(对目标、环境很熟悉)。
(44)用户使用环境很稳定。
)用户使用环境很稳定。
(55)用户除提出需求以外,很少参与开发。
)用户除提出需求以外,很少参与开发。
瀑布模型瀑布模型2.32.3增量模型增量模型定义:
增量模型将软件产品看作一组增量构件,每次设增量模型将软件产品看作一组增量构件,每次设计、实现、集成、测试和交付一块构件,直到所计、实现、集成、测试和交付一块构件,直到所有构件全部实现为止。
有构件全部实现为止。
增量模型增量模型本意:
要开发一个大的软件系统,先开发其中的一个核心要开发一个大的软件系统,先开发其中的一个核心模块,后再开发其他模块,这样一个个模块地增加模块,后再开发其他模块,这样一个个模块地增加上去,直至整个系统开发完毕为止。
上去,直至整个系统开发完毕为止。
(1)
(1)任务或功能模块驱动,可以分阶段提交产品;
任务或功能模块驱动,可以分阶段提交产品;
(2)
(2)有多个任务单,这些多个任务单的集合,构成有多个任务单,这些多个任务单的集合,构成项目的一个总任务书项目的一个总任务书(总用户需求报告总用户需求报告)。
增量模型增量模型选择模型的条件:
(11)在开发过程中,客户接受分阶段交付。
)在开发过程中,客户接受分阶段交付。
(22)开发人员对应用领域不熟悉,难以一步到位。
)开发人员对应用领域不熟悉,难以一步到位。
(33)工期过紧的中等或高风险项目。
)工期过紧的中等或高风险项目。
(44)用户可参与到整个软件开发过程中。
)用户可参与到整个软件开发过程中。
(55)使用面向对象语言或第四代语言。
)使用面向对象语言或第四代语言。
(66)软件公司自己有较好的类库、构件库。
)软件公司自己有较好的类库、构件库。
增量模型增量模型模型的优点:
降低开发难度。
-若软件系统的组装和拆卸性不强,若软件系统的组装和拆卸性不强,-或开发人员全局把握水平不高(没有数据库设计或开发人员全局把握水平不高(没有数据库设计专家进行系统集成),专家进行系统集成),-或者客户不同意分阶段提交产品,或者客户不同意分阶段提交产品,-或者开发人员过剩,或者开发人员过剩,都不宜采用这种模型。
都不宜采用这种模型。
增量模型增量模型2.42.4迭代模型迭代模型模型的本意:
模型的本意:
迭代是产生可执行的产品发布的完整开发循环,迭代是产生可执行的产品发布的完整开发循环,所发布的产品是开发过程最终产品的子集,它将通所发布的产品是开发过程最终产品的子集,它将通过一次又一次的迭代递增成长,最后形成最终软件过一次又一次的迭代递增成长,最后形成最终软件系统或产品。
系统或产品。
迭代模型迭代模型模型的特点:
模型的特点:
(1)
(1)迭代或迭代循环驱动,每一次迭代或迭代循环,迭代或迭代循环驱动,每一次迭代或迭代循环,均要走完初始、精化、构建、移交均要走完初始、精化、构建、移交44个阶段。
个阶段。
(2)
(2)面向对象方法和统一建模语言面向对象方法和统一建模语言UMLUML,尤其是面,尤其是面向对象的向对象的CASECASE工具工具RoseRose,适合于迭代模型。
或者,适合于迭代模型。
或者说,迭代模型很适合于面向对象的说,迭代模型很适合于面向对象的RoseRose工具。
工具。
迭代模型迭代模型(*)(*)迭代式生存周期分为以下迭代式生存周期分为以下44个阶段:
个阶段:
(11)初始阶段。
本阶段是确定系统的业务用况)初始阶段。
本阶段是确定系统的业务用况(UseCaseUseCase)和定义项目的范围。
)和定义项目的范围。
(22)精化阶段。
本阶段是分析问题域、细化产品定)精化阶段。
本阶段是分析问题域、细化产品定义,定义系统的构架并建立基线,为构建阶段的设义,定义系统的构架并建立基线,为构建阶段的设计和实施工作提供一个稳定的基础。
为验证构架,计和实施工作提供一个稳定的基础。
为验证构架,可能要实现系统的原型,执行重要的用况。
可能要实现系统的原型,执行重要的用况。
迭代模型迭代模型(33)构建阶段。
本阶段是反复地开发,以完善产品,)构建阶段。
本阶段是反复地开发,以完善产品,达到用户的要求。
这包括了用况的描述、完成设计、达到用户的要求。
这包括了用况的描述、完成设计、完成实现和对软件进行测试等工作。
完成实现和对软件进行测试等工作。
(44)移交阶段。
本阶段是将产品交付给用户,包括安)移交阶段。
本阶段是将产品交付给用户,包括安装、培训、交付、维护等工作。
装、培训、交付、维护等工作。
迭代模型迭代模型选择模型的条件:
(11)在项目开发早期需求可能有所变化。
)在项目开发早期需求可能有所变化。
(33)高风险项目。
)高风险项目。
(44)用户可不同程度地参与整个项目的开发。
)用户可不同程度地参与整个项目的开发。
(55)使用面向对象的语言或)使用面向对象的语言或UMLUML语言。
语言。
(66)使用)使用CASECASE工具,如工具,如RoseRose。
(77)具有高素质的项目管理者和软件研发团队。
)具有高素质的项目管理者和软件研发团队。
迭代模型迭代模型模型的优点:
-不要求原型不要求原型-适用范围广适用范围广模型的缺点:
(1)
(1)对项目组成员要求很高。
对项目组成员要求很高。
(2)
(2)必须掌握先进的开发工具。
必须掌握先进的开发工具。
迭代模型迭代模型2.52.5原型模型原型模型定义:
以某个软件原型为参照模型的开发方法,以某个软件原型为参照模型的开发方法,叫做原型法。
叫做原型法。
在初步需求分析之后,马上向客户展示一在初步需求分析之后,马上向客户展示一个软件产品原型,对客户进行培训,让客户试用,个软件产品原型,对客户进行培训,让客户试用,在试用中收集客户意见,修改原型,再让客户试用,在试用中收集客户意见,修改原型,再让客户试用,反复循环几次,直到客户确认为止。
反复循环几次,直到客户确认为止。
原型模型原型模型特点:
原型驱动。
与迭代模型比较:
相同点是反复循环几次,直到客户确认为止。
不同相同点是反复循环几次,直到客户确认为止。
不同点是原型模型事先有一个展示性的产品原型,而迭代点是原型模型事先有一个展示性的产品原型,而迭代模型可能没有。
模型可能没有。
原型模型原型模型选择模型的条件:
(11)已有产品)已有产品/产品原型,只需客户化的项目。
产品原型,只需客户化的项目。
(22)简单而熟悉的行业或领域。
)简单而熟悉的行业或领域。
(33)有快速原型开发工具。
)有快速原型开发工具。
(44)进行产品移植或升级。
)进行产品移植或升级。
-开发速度快开发速度快-用户意见反馈实时用户意见反馈实时-有利于开发商短时间内推广实施多个客户有利于开发商短时间内推广实施多个客户模型的缺点:
因为事先有一个展示性的产品原型,所以在一因为事先有一个展示性的产品原型,所以在一定程度上,不利于开发人员的创新。
定程度上,不利于开发人员的创新。
原型模型原型模型快速原型法快速原型法(没有原型的原型法没有原型的原型法)基本思路:
基本思路:
采用以面向数据为主的方法,在需求分析的基础上,采用以面向数据为主的方法,在需求分析的基础上,利用利用PowerDesignerPowerDesigner等数据库分析和设计工具,快等数据库分析和设计工具,快速建立信息系统的速建立信息系统的CDMCDM和和PDMPDM,利用面向对象的编程,利用面向对象的编程工具,在软件企业强大的类库、构件库的支撑下,工具,在软件企业强大的类库、构件库的支撑下,快速地实现需求分析中确认的流程、功能、性能和快速地实现需求分析中确认的流程、功能、性能和接口,然后交付给用户试用,反复循环几次,直到接口,