软件工程与实践幻灯片.ppt
《软件工程与实践幻灯片.ppt》由会员分享,可在线阅读,更多相关《软件工程与实践幻灯片.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程与实践软件工程与实践第1页,共30页,编辑于2022年,星期三2.3 软件开发模型软件开发模型2.3.1 2.3.1 瀑布模型瀑布模型 将将软软件件生生命命周周期期划划分分为为制制定定计计划划、需需求求分分析析、软软件件设设计计、程程序序编编写写、软软件件测测试试和和运运行行维维护护等等六六个个基基本本活活动动,并并且且规规定定了了它它们们自自上上而而下下、相相互互衔衔接接的的固固定定次次序序,如如同同瀑瀑布布流流水,逐级下落。水,逐级下落。第2页,共30页,编辑于2022年,星期三2.3.2 螺旋模型螺旋模型螺旋模型沿着螺线进行若干次迭代,图螺旋模型沿着螺线进行若干次迭代,图2-52
2、-5中的四个象限代表了以下活动中的四个象限代表了以下活动.螺螺旋模型沿着螺线旋转,每个螺旋推进的过程都是渐进的实现过程,整个过旋模型沿着螺线旋转,每个螺旋推进的过程都是渐进的实现过程,整个过程的实现,按照程的实现,按照”制定计划、风险分析、实施工程和客户评估制定计划、风险分析、实施工程和客户评估”四个步骤循环实四个步骤循环实施。施。(1 1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件。定义资源、进度及其他相关项目信息所需要的任务,以调整项目的条件。定义资源、进度及其他相关项目信息所需要的任务,以调整项目的目标和改善系统
3、实施的效率。目标和改善系统实施的效率。(2 2)风险分析:分析评估所选方案,考虑如何识别和消除风险。从风风险分析:分析评估所选方案,考虑如何识别和消除风险。从风险角度分析方案的开发策略,努力排除各种潜在的风险,有时需要通过建险角度分析方案的开发策略,努力排除各种潜在的风险,有时需要通过建造原型来完成。如果某些风险不能排除,该方案立即终止,否则启动下一造原型来完成。如果某些风险不能排除,该方案立即终止,否则启动下一个开发步骤。基于上述目标,评估技术及管理的风险,以决定如何实施项个开发步骤。基于上述目标,评估技术及管理的风险,以决定如何实施项目。目。(3 3)实施工程:实施软件开发和验证。包括系统
4、需求分析、概要设计、实施工程:实施软件开发和验证。包括系统需求分析、概要设计、详细设计、编程、单元测试、系统测试和验证测试等项目具体实施的各种详细设计、编程、单元测试、系统测试和验证测试等项目具体实施的各种任务。任务。(4(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。客户评估:评价开发工作,提出修正建议,制定下一步计划。第3页,共30页,编辑于2022年,星期三第4页,共30页,编辑于2022年,星期三 螺旋模型的缺点是:螺旋模型的缺点是:(1)(1)它可能难以使用户相信演化方法是可控的;它可能难以使用户相信演化方法是可控的;(2 2)瀑布模型要求在软件开发的初期就完全确定软件的
5、)瀑布模型要求在软件开发的初期就完全确定软件的需求,这在很多情况下往往是无法实现的。螺旋模型加入需求,这在很多情况下往往是无法实现的。螺旋模型加入了瀑布模型所忽略的风险分析,从而弥补了瀑布模型的不了瀑布模型所忽略的风险分析,从而弥补了瀑布模型的不足。足。螺旋模型也有一定的限制条件,这些限制条件是:螺旋模型也有一定的限制条件,这些限制条件是:1 1)螺旋模型强调风险分析,但要求许多客户接受和相)螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。型往往适应于内部的大规模软
6、件开发。2 2)如果执行风险分析将大大影响项目的利润,那么进行风险如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。分析毫无意义,因此,螺旋模型只适合于大规模软件项目。3 3)软件开发人员应该擅长寻找可能的风险,准确地分析风软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险。险,否则将会带来更大的风险。第5页,共30页,编辑于2022年,星期三2.3.3 增量模型增量模型增量模型和瀑布模型之间的本质区别是:瀑布模增量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作型属于整体开发模型
7、,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。之前,必须完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。或所有阶段中的细节,从而较早的产生工作软件。增量模型是在项目的开发过程中以一系列的增量方增量模型是在项目的开发过程中以一系列的增量方式开发系统。式开发系统。增量方式包括增量开发和增量提交。增量方式包括增量开发和增量提交。第6页,共30页,编辑于2022年,星期三增量模型也存在以下缺陷:(1)由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的
8、系统部分,这需要软件具备开放式的体系结构。(2)在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。第7页,共30页,编辑于2022年,星期三第8页,共30页,编辑于2022年,星期三2.3.4 喷泉模型喷泉模型该模型表明软件刻画活动需要多次重复。例如,在编码之前,(实践之后),再次进行分析和设计,其间添加有关功能,使系统得以演化。同时,该模型还表明活动之间没有明显的间隙,例如在分析和设计之间没有明显的界限。第9页,共30页,编辑于2022年,星期三第10页,共30页,编辑
9、于2022年,星期三2.3.5 RAD模型模型RADRAD模型包含如下几个开发阶段模型包含如下几个开发阶段 (1)(1)业务建模:业务活动中的信息流被模型化。通过回答以下问题来实业务建模:业务活动中的信息流被模型化。通过回答以下问题来实现:什么信息驱动业务流程?生成什么信息?谁生成该信息?该信息流往何处现:什么信息驱动业务流程?生成什么信息?谁生成该信息?该信息流往何处?谁处理它?谁处理它?(2)(2)数据建模:业务建模阶段定义的一部分信息流被细化,形成数据建模:业务建模阶段定义的一部分信息流被细化,形成一系列支持该业务所需的数据对象。标识出每个对象的属性,并定义一系列支持该业务所需的数据对象
10、。标识出每个对象的属性,并定义这些对象间的关系。这些对象间的关系。(3)(3)处理建模:数据建模阶段定义的数据对象变换成要完成一个业务处理建模:数据建模阶段定义的数据对象变换成要完成一个业务功能所需的信息流。创建处理描述以便增加、修改、删除或获取某个数据功能所需的信息流。创建处理描述以便增加、修改、删除或获取某个数据对象。对象。(4)(4)应用生成:应用生成:RADRAD过程不是采用传统的第三代程序设计语言来创过程不是采用传统的第三代程序设计语言来创建软件,而是使用建软件,而是使用4GL4GL技术或软件自动化生成辅助工具,复用已有的程技术或软件自动化生成辅助工具,复用已有的程序构件序构件(如果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 实践 幻灯片
限制150内