SE02第2章软件过程.ppt

上传人:牧羊曲112 文档编号:6518694 上传时间:2023-11-08 格式:PPT 页数:38 大小:399.50KB
返回 下载 相关 举报
SE02第2章软件过程.ppt_第1页
第1页 / 共38页
SE02第2章软件过程.ppt_第2页
第2页 / 共38页
SE02第2章软件过程.ppt_第3页
第3页 / 共38页
SE02第2章软件过程.ppt_第4页
第4页 / 共38页
SE02第2章软件过程.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《SE02第2章软件过程.ppt》由会员分享,可在线阅读,更多相关《SE02第2章软件过程.ppt(38页珍藏版)》请在三一办公上搜索。

1、第二章软件过程,2/38,主要知识点,什么是软件过程什么是软件过程模型有哪些常见的软件过程模型及其各自的特点,3/38,软件过程、生命周期、过程模型,软件工程方法学包括方法、工具和过程软件过程为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤它定义了运用方法的顺序应该交付的文档资料为保证软件质量和协调变化所需要采取的管理措施标志软件开发各个阶段任务完成的里程碑,4/38,软件过程、生命周期、过程模型,软件生命周期:软件从定义、开发、使用和维护,直到被废弃的整个时期生命周期模型:规定了把生命周期划分成哪些阶段及各个阶段的执行顺序。它能直观表达软件生命的全过程,明确规

2、定了各时期要完成的主要活动、任务和开发策略。因此,软件生命周期模型也常称为:软件过程模型(Process Model),5/38,2.1软件生命周期的基本任务,软件生命周期由三个时期组成:软件定义(又称为系统分析、需求分析)问题定义可行性研究需求分析软件开发系统设计(概要设计、详细设计)编码和单元测试综合测试软件维护(运行维护),6/38,软件生命周期,分析做什么?设计怎么做?实现完成系统确认质量保证维护安装后的进一步完善,生命周期各阶段的基本任务,8/38,9/38,2.2 瀑布模型(waterfall model),1970年Winston Royce直到80年代早期,一直是唯一被广泛采用

3、的软件开发模型,需求分析,验证,规格说明,验证,设计,验证,编码,测试,综合测试,维护,10/38,传统瀑布模型的特点,特点(文档驱动的模型)阶段间具有顺序性和依赖性推迟实现的观点质量保证的观点每个阶段都必须完成规定的文档每个阶段结束前对所完成的文档进行评审,11/38,思考?,传统瀑布模型存在什么问题?,12/38,传统瀑布模型的问题,传统的瀑布模型过于理想化了,事实上,人在工作过程中不可能不犯错误单一流程,开发中的经验教训不能反馈用户常常难以清楚地给出所有需求不能适应需求的变化用户必须有耐心开发者常常被不必要地耽搁风险往往迟至后期的开发阶段才显露,13/38,实际的瀑布模型,瀑布模型的优点

4、:强调采用规范的方法;严格规定各阶段必交的文档;强调各阶段产品的测试缺点:文档驱动的模型,最终交付的产品可能不是用户真正需要的,需求分析,验证,规格说明,验证,设计,验证,编码,测试,综合测试,维护,变化的需求,验证,14/38,2.3 快速原型模型(rapid prototype model),基本思想:在获取一组基本的需求定义后,利用高级软件工具的可开发环境,快速建立一个能反映用户主要需求的原型系统(目标系统的最初版本),让用户在计算机上试用它并提出修改意见;补充和修改原型系统,再次请用户试用;反复进行这个过程,直到用户满意,开发人员可据此书写规格说明文档,进行目标系统的开发。,15/38

5、,快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。,16/38,适用情况,用户定义了一组一般性目标,但不能标识出详细的输入、处理及输出需求;开发者可能不能确定算法的有效性、操作系统的适应性或人机交互的形式;原型模型可能是最好的选择,17/38,快速原型模型,18/38,快速原型,验证,规格说明,验证,设计,验证,编码,测试,综合测试,维护,变化的需求,验证,维护过程,开发过程,19/38,快速原型模型的特点与种类,特点快速开发工具得到良好的需求定义,可处理模糊需求开发者和用户可充分通信使某些类型的风险降至最低种类渐进型抛弃型,20/38,存在的问题

6、,用户似乎看到的是软件的工作版本,其实开发者常常需要实现上的折衷,以使原型能够尽快工作,21/38,2.4 增量模型,需求分析,验证,规格说明,验证,设计,验证,维护,针对每个构件完成详细设计、编码和集成,经测试后交付给用户,22/38,增量模型,基本思想:将整个系统分解成若干个子系统(增量构件),每个增量构件实现一个特定的功能;分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行产品;最后提交满足全部需求的完整产品。优点:易于开发和维护问题:新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品。,23/38,风险更大的增量模型,24/38,增量模型融合了瀑布模型的

7、基本成分和原型的迭代特性。例如,使用增量模型开发字处理软件基本的文件管理、编辑和文档生成功能。更完善的编辑和文档生成能力。实现拼写和文法检查功能。完成高级的页面布局功能。,25/38,第一个增量往往是核心产品每一个增量均发布一个可操作产品早期的增量是最终产品的“可拆卸”版本,特点,26/38,2.5 螺旋模型(spiral model),1988年,Barry Boehm正式发表了软件系统开发的螺旋模型“每个阶段之前都增加了风险分析过程的快速原型模型,27/38,螺旋模型(Cont.)完整,28/38,29/38,螺旋模型的特点,特点风险驱动的瀑布模型+快速原型+风险分析主要适用于内部开发的大

8、规模软件项目优点强调严格的全过程风险管理强调各开发阶段的质量缺点对风险管理的技能水平要求很高需要人员、资金和时间的投入,30/38,2.6 喷泉模型,典型的面向对象生命周期模型软件生命周期的各个阶段相互重叠和多次反复各项开发活动之间无缝过渡,31/38,各种模型的比较,32/38,其它,现在软件产业界普遍认为,开发复杂软件项目必须采用基于UML的、以构架为中心、用例驱动与风险驱动相结合的迭代式增量开发过程,它是世界公认的开发复杂软件项目的最好过程,已经成为软件界的“圣经”。这一开发过程目前已经稳定、成熟。这就是:RUPRational Unified Process,33/38,Rationa

9、l Unified ProcessRUP,Rational 统一过程是由IBM Rational开发和营销的一种软件工程过程,RUP是开发组织用以分配与管理任务和职责的一种规范化方法这个过程的目的是在预定的进度和预算范围内,开发出满足最终用户需要的高质量软件。RUP 有自己的过程框架(process framework),这个框架可以被改造和扩展以适应采纳此方法的组织,34/38,RUP特点,用例驱动以体系结构为中心增量和迭代开发,35/38,谁在使用RUP?,电信业Ericsson、Alcatel、MCI 交通、航空、国防Lockheed-Martin、British Aerospace制造

10、业Xerox、Volvo、Intel金融业Visa、Merrill Lynch、Schwab 系统集成业Ernst&Young、Oracle、Deloitte&Touche,36/38,XP(Extreme Programming),由Kent Beck大师提出大师总结了大量的软件的成功和失败的因素之后,提出了改进软件开发方法的四个要素:沟通(communication)简单化(simplicity)反馈(feedback)勇气(courage),37/38,2.7 小结,软件过程软件生命周期 问题定义、可行性研究、需求分析、概要设计、详细设计、编码和单元测试、综合测试、软件维护生命周期模型 瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型增量和迭代开发,38/38,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号