原型模型增量模型课件.ppt

上传人(卖家):三亚风情 文档编号:3434667 上传时间:2022-08-31 格式:PPT 页数:56 大小:972KB
下载 相关 举报
原型模型增量模型课件.ppt_第1页
第1页 / 共56页
原型模型增量模型课件.ppt_第2页
第2页 / 共56页
原型模型增量模型课件.ppt_第3页
第3页 / 共56页
原型模型增量模型课件.ppt_第4页
第4页 / 共56页
原型模型增量模型课件.ppt_第5页
第5页 / 共56页
点击查看更多>>
资源描述

1、2022-8-21鲁东大学信息科学与工程学院鲁东大学信息科学与工程学院Slide 1-2软件生命周期软件生命周期软件过程软件过程软件过程模型软件过程模型传统的过程模型传统的过程模型演化的过程模型演化的过程模型RUPRUP统一过程统一过程敏捷过程敏捷过程Slide 1-3了解软件过程了解软件过程掌握软件过程模型掌握软件过程模型:瀑布模型、原型模型瀑布模型、原型模型、增量模型、螺旋模型、增量模型、螺旋模型了解了解RUP了解了解XPSlide 1-4过程就是针对某一给定目标的一系列运作步骤过程就是针对某一给定目标的一系列运作步骤,是在过程环境下的一系列有序活动。,是在过程环境下的一系列有序活动。它可

2、能包括工具、方法、资料或人它可能包括工具、方法、资料或人Slide 1-5Slide 1-6软件过程是软件过程是将用户的需求转化成有效的软件将用户的需求转化成有效的软件解决方案的一系列活动解决方案的一系列活动。软件过程是为了获得高质量软件产品所需要软件过程是为了获得高质量软件产品所需要完成的一系列任务的框架,它规定了完成的一系列任务的框架,它规定了完成各完成各项任务的工作步骤项任务的工作步骤。软件过程必须软件过程必须科学、合理科学、合理,才能开发出高质,才能开发出高质量的软件产品。量的软件产品。许多软件组织无法正确定义和控制这一过程许多软件组织无法正确定义和控制这一过程,但这恰恰是组织改进的关

3、键。,但这恰恰是组织改进的关键。Slide 1-7定义定义阶段阶段开发开发阶段阶段计划计划需求分析需求分析设计设计编码编码测试测试运行及维护运行及维护维护维护阶段阶段软件生存周期是指软件从产生到消亡的整个过程。软件生存周期是指软件从产生到消亡的整个过程。Slide 1-81.1.软件定义软件定义问题定义问题定义要解决的问题是什么?系统分析员来完成。要解决的问题是什么?系统分析员来完成。可行性研究可行性研究对前一阶段确定的问题是否有可行的解决办对前一阶段确定的问题是否有可行的解决办法。法。Slide 1-92.2.软件开发:软件开发:需求分析需求分析:解决的问题是目标系统必须做什么,编:解决的问

4、题是目标系统必须做什么,编写软件需求规格说明。写软件需求规格说明。概要设计概要设计:如何宏观解决问题。:如何宏观解决问题。详细设计详细设计:如何具体实现这个系统。:如何具体实现这个系统。编码和测试编码和测试:如何写出正确的容易理解、容易维护:如何写出正确的容易理解、容易维护的程序模块。的程序模块。3.3.运行和维护:运行和维护:对软件产品进行修改或对软件需对软件产品进行修改或对软件需求变化作出反应的过程。求变化作出反应的过程。Slide 1-10 软件开发的一种框架。软件开发的一种框架。说明了软件的活动和进行软件开发的过程。说明了软件的活动和进行软件开发的过程。这个模型可以以活动为中心,也可以

5、以产品这个模型可以以活动为中心,也可以以产品为中心。为中心。Slide 1-11传统开发模型传统开发模型瀑布模型(瀑布模型(waterfall modelwaterfall model)快速原型模型(快速原型模型(rapid prototype modelrapid prototype model)演化开发模型演化开发模型增量模型(增量模型(incremental modelincremental model)螺旋模型螺旋模型(spiral modelspiral model)面向对象开发模型面向对象开发模型构件集成模型(构件集成模型(component integration modelco

6、mponent integration model)形式化开发模型形式化开发模型转换模型(转换模型(transformational modeltransformational model)净室模型(净室模型(cleanroommodelcleanroommodel)Slide 1-12问题定义问题定义编编 码码需求分析需求分析设设 计计可行性研究可行性研究维维 护护测测 试试开发开发时期时期运行运行时期时期计划计划时期时期(目标与范围说明书目标与范围说明书)(可行性论证论告可行性论证论告)(维护报告维护报告)(测试报告测试报告)(程序程序)(设计文档设计文档)(需求说明书需求说明书)Slid

7、e 1-13简单易用,直观简单易用,直观阶段的顺序性和依赖性阶段的顺序性和依赖性没有反馈过程没有反馈过程,需要严密控制。需要严密控制。用户直到项目结束才能看到质量如何用户直到项目结束才能看到质量如何推迟实现的观点推迟实现的观点不允许或者限制变更不允许或者限制变更Slide 1-14 项目的需求在项目开始前很明确项目的需求在项目开始前很明确 解决方案在项目开始前也很明确解决方案在项目开始前也很明确 类似的项目如:类似的项目如:公司的财务系统公司的财务系统 库存管理系统库存管理系统 短期项目短期项目Slide 1-15传统瀑布模型存在什么问题?传统瀑布模型存在什么问题?Slide 1-16 传统的

8、瀑布模型传统的瀑布模型过于理想化过于理想化了,事实上,了,事实上,人在工作过程中不可能不犯错误。人在工作过程中不可能不犯错误。实际项目很少按照该模型给出的顺序进行实际项目很少按照该模型给出的顺序进行用户常常难以清楚地给出所有需求用户常常难以清楚地给出所有需求用户必须有耐心用户必须有耐心开发者常常被不必要地耽搁开发者常常被不必要地耽搁Slide 1-17Tom Gilb:“假如你不积极地解决你项目中存在假如你不积极地解决你项目中存在的风险,它们就会积极地解决掉你的风险,它们就会积极地解决掉你”瀑布方法会掩饰项目中真正的风险,瀑布方法会掩饰项目中真正的风险,当你太晚发现它们时已无济于事。当你太晚发

9、现它们时已无济于事。国际著名的软件工程国际著名的软件工程和系统工程专家和系统工程专家 Slide 1-18原型原型软件开发过程中,软件的一个早期可运行的版本软件开发过程中,软件的一个早期可运行的版本,它反映了最终系统的部分重要特性。,它反映了最终系统的部分重要特性。原型化方法的基本思想原型化方法的基本思想花费少量代价建立一个可运行的系统,使用户及花费少量代价建立一个可运行的系统,使用户及早获得学习的机会。早获得学习的机会。Slide 1-19 1 1、快速分析、快速分析 快速确定软件系统的基快速确定软件系统的基本要求,确定原型所要体现的特征本要求,确定原型所要体现的特征(界面,界面,总体结构,

10、功能,性能总体结构,功能,性能)2 2、构造原型、构造原型 在快速分析的基础上,在快速分析的基础上,根据基本规格说明,忽略细节,只考虑主根据基本规格说明,忽略细节,只考虑主要特征,快速构造一个可运行的系统。有要特征,快速构造一个可运行的系统。有三类原型:用户界面原型,功能原型,性三类原型:用户界面原型,功能原型,性能原型。能原型。3 3、运行和评价原型、运行和评价原型 用户试用原型用户试用原型并与开发者之间频繁交流,发现问题,目并与开发者之间频繁交流,发现问题,目的是验证原型的正确性。的是验证原型的正确性。4 4、修改与改进、修改与改进 对原型进行修改、增对原型进行修改、增删。删。快速原型的工

11、作模型快速原型的工作模型评价评价 构造构造快速分析或修改快速分析或修改运运 行行Slide 1-20构造原型构造原型运行运行/评价原型评价原型原型完成否原型完成否要细部说明否要细部说明否严格说明细部严格说明细部效果满意否效果满意否整理原型提供文档整理原型提供文档修修正正改改进进原原型型YYNN快速分析,确定初步规格说明快速分析,确定初步规格说明YN细化的快速原型模型细化的快速原型模型Slide 1-21需求分析需求分析原型开发原型开发最终系统设计最终系统设计原型评价原型评价最终系统实现最终系统实现用户用户反馈反馈快速原型法的生存期模型快速原型法的生存期模型Slide 1-22特点特点 快速开发

12、工具快速开发工具 过程可以循环过程可以循环 低成本低成本种类种类 渐进型渐进型 抛弃型抛弃型Slide 1-23用户和开发人员根据初始需求共同开发一个项目规划用户和开发人员根据初始需求共同开发一个项目规划用户和开发人员利用快速分析技术用户和开发人员利用快速分析技术共同定义需求和规格共同定义需求和规格设计者构建一个模型设计者构建一个模型设计者演示这个模型,用户来评估性能设计者演示这个模型,用户来评估性能标识问题,然后用户和设计者一起来解决他们标识问题,然后用户和设计者一起来解决他们循环这个过程,直到用户满意为止循环这个过程,直到用户满意为止详细设计就可以根据这个原型进行详细设计就可以根据这个原型

13、进行原型可以用代码或者工具来实施原型可以用代码或者工具来实施Slide 1-24 项目的需求在项目开始前不明确项目的需求在项目开始前不明确 类似的项目如:类似的项目如:明确显示界面明确显示界面 开发新产品,验证技术可行性开发新产品,验证技术可行性Slide 1-25 由由MillsMills提出,是为了减少开发过程的返提出,是为了减少开发过程的返工,客户可以得到一些机会延迟对详细需求工,客户可以得到一些机会延迟对详细需求的决策。的决策。融合了瀑布模型的基本成分和原型的迭融合了瀑布模型的基本成分和原型的迭代特征,采用随着日程时间的进展而交错的代特征,采用随着日程时间的进展而交错的线性序列。线性序

14、列。Slide 1-26需求分析需求分析验证验证规格说明规格说明验证验证设计设计验证验证维护维护针对每个构件完成针对每个构件完成详细设计、编码和详细设计、编码和集成,经测试后交集成,经测试后交付给用户付给用户Slide 1-27分析分析设计设计编码编码测试测试增量增量1分析分析设计设计编码编码测试测试增量增量2 分析分析设计设计编码编码测试测试增量增量3分析分析设计设计编码编码测试测试增量增量4 Slide 1-28核心功能核心功能核心功能核心功能112123第一增量第一增量第二增量第二增量第三增量第三增量核心功能核心功能112123Slide 1-29 增量模型融合了瀑布模型的基本成分和原型

15、的增量模型融合了瀑布模型的基本成分和原型的迭代特性。迭代特性。例如,例如,使用增量模型开发字处理软件使用增量模型开发字处理软件1.1.基本的文件管理、编辑和文档生成功能。基本的文件管理、编辑和文档生成功能。2.2.更完善的编辑和文档生成能力。更完善的编辑和文档生成能力。3.3.实现拼写和文法检查功能。实现拼写和文法检查功能。4.4.完成高级的页面布局功能。完成高级的页面布局功能。Slide 1-30第一个增量往往是核心产品第一个增量往往是核心产品每一个增量均发布一个可操作产品每一个增量均发布一个可操作产品早期的增量是最终产品的早期的增量是最终产品的“可拆卸可拆卸”版本版本优点:优点:客户无须等

16、到整个系统的实现客户无须等到整个系统的实现可以将早期的增量作为原型,获得对后面增量可以将早期的增量作为原型,获得对后面增量的经验。的经验。项目总体失败的风险比较低。项目总体失败的风险比较低。最重要的系统服务接受了最多的测试。最重要的系统服务接受了最多的测试。Slide 1-31首先构建整个系统的一部分首先构建整个系统的一部分然后逐步地增加功能和性能然后逐步地增加功能和性能使用条件:用户的理解、支持和参与使用条件:用户的理解、支持和参与Slide 1-32 项目开始,项目开始,明确了需求的大部分,但是明确了需求的大部分,但是需求可能会发生变化需求可能会发生变化 对于市场和用户把握不是很准,需要逐

17、对于市场和用户把握不是很准,需要逐步了解步了解 具有复杂功能的大型系统进行功能改进具有复杂功能的大型系统进行功能改进Slide 1-33在原型基础上,进行多次原型反复并增加风险在原型基础上,进行多次原型反复并增加风险评估,形成螺旋模型。评估,形成螺旋模型。螺旋模型综合了传统的生存周期模型和原型开螺旋模型综合了传统的生存周期模型和原型开发模型的优点,同时增加了一个新元素发模型的优点,同时增加了一个新元素风风险分析(险分析(risk analysis)risk analysis)。瀑布模型瀑布模型+快速原型快速原型+风险分析风险分析Slide 1-34Slide 1-35螺旋模型沿着螺线旋转,在四

18、个象限上分别表达了四螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动,即:个方面的活动,即:制定计划制定计划确定软件目标,需求和选定实施方案,弄清确定软件目标,需求和选定实施方案,弄清项目开发的限制条件项目开发的限制条件风险分析风险分析评估所选方案,考虑如何识别和消除风险评估所选方案,考虑如何识别和消除风险原型开发原型开发实施软件开发,编码,测试等实施软件开发,编码,测试等用户评审用户评审评价开发工作,提出修正建议,规划下期任评价开发工作,提出修正建议,规划下期任务务Slide 1-36 是瀑布模型的多次迭代是瀑布模型的多次迭代 阶段划分更细阶段划分更细 风险管理驱动风险管理驱动 用

19、户可以不断对产品进行评估,用户可以不断对产品进行评估,给开发人员给开发人员更多的反馈信息更多的反馈信息 用户可以更早看到产品用户可以更早看到产品 项目的投资不用一次投入项目的投资不用一次投入Slide 1-37 选择比较小的步伐循序渐进选择比较小的步伐循序渐进 允许需求和设计的变动允许需求和设计的变动 项目中有很多风险,注意项目中有很多风险,注意风险控制风险控制。使用条件使用条件 用户的充分理解和参与用户的充分理解和参与 专门的风险评估技术支持专门的风险评估技术支持Slide 1-38 风险是主要的制约因素风险是主要的制约因素 项目中的不确定因素和风险限制了进度项目中的不确定因素和风险限制了进

20、度 用户对自己的需求不是很明确用户对自己的需求不是很明确 需求可能会发生重大的变更需求可能会发生重大的变更 项目规模很大项目规模很大 采用了新技术或新概念,需要验证。采用了新技术或新概念,需要验证。Slide 1-39喷泉模型它是以面向对象的软件开它是以面向对象的软件开发方法为基础,以用户需求为发方法为基础,以用户需求为动力,以对象来驱动的模型。动力,以对象来驱动的模型。Slide 1-40 现在软件产业界普遍认为,开发复杂软现在软件产业界普遍认为,开发复杂软件项目件项目必须采用基于必须采用基于UMLUML的、以构架为中心的、以构架为中心、用例驱动与风险驱动相结合的迭代式增量、用例驱动与风险驱

21、动相结合的迭代式增量开发过程开发过程,他是世界公认的开发复杂软件项,他是世界公认的开发复杂软件项目的最好过程,已经成为软件界的目的最好过程,已经成为软件界的“圣经圣经”。这一开发过程目前已经稳定、成熟。这一开发过程目前已经稳定、成熟。这就是:这就是:Slide 1-41RUPRUPRational Unified ProcessRational Unified ProcessSlide 1-42 Rational 统一过程是由统一过程是由Rational 软件公司开软件公司开发和营销的一种软件工程过程,发和营销的一种软件工程过程,是开发组织用是开发组织用以分配与管理任务和职责的一种规范化方法。

22、以分配与管理任务和职责的一种规范化方法。这个过程的目的是在预定的进度和预算范围内这个过程的目的是在预定的进度和预算范围内,开发出满足最终用户需要的高质量软件。,开发出满足最终用户需要的高质量软件。Slide 1-43Best PracticesProcess Made Practical Develop IterativelyManage RequirementsUse Component ArchitecturesModel Visually(UML)Continuously Verify QualityManage Change Slide 1-44为开发小组的活动顺序提供向导为开发小组的

23、活动顺序提供向导详细说明那些制品将被开发,以及什么时候详细说明那些制品将被开发,以及什么时候开发开发指导每一个开发人员和整个开发组的工作指导每一个开发人员和整个开发组的工作为监控和度量项目的产品和活动提供准则为监控和度量项目的产品和活动提供准则Slide 1-45捕获了很多现代软件开发中的捕获了很多现代软件开发中的最佳实践(最佳实践(best best practicepractice)迭代地开发软件迭代地开发软件管理需求管理需求应用基于构件的构架应用基于构件的构架为软件建立可视化的模型为软件建立可视化的模型不断地验证软件质量不断地验证软件质量控制软件的变更控制软件的变更 Slide 1-46

24、Slide 1-47特点特点面向对象面向对象基于构件库基于构件库融合螺旋模型特征融合螺旋模型特征支持软件开发的迭代方法支持软件开发的迭代方法 软件重用软件重用Slide 1-48形式化形式化规格说明规格说明与需求与需求比较后比较后修正修正变换变换2变换变换1变换变换n测试测试形式化开发记录形式化开发记录系统需求系统需求目标系统目标系统Slide 1-49形式化软件开发方法形式化软件开发方法 形式化需求规格说明形式化需求规格说明 变换技术变换技术程序自动生成技术程序自动生成技术 确保正确确保正确Slide 1-50需求需求收集收集盒结构盒结构规约规约形式化形式化设计设计统计性使统计性使用测试用测

25、试正确性正确性证明证明代码生成代码生成与检查与检查测试计划测试计划认证认证需求需求收集收集盒结构盒结构规约规约形式化形式化设计设计统计性使统计性使用测试用测试正确性正确性证明证明代码生成代码生成与检查与检查测试计划测试计划认证认证需求需求收集收集盒结构盒结构规约规约形式化形式化设计设计统计性使统计性使用测试用测试正确性正确性证明证明代码生成代码生成与检查与检查测试计划测试计划认证认证增量增量1增量增量2增量增量nSlide 1-51净室思想净室思想在分析和设计阶段消除错误在分析和设计阶段消除错误在在“洁净洁净”状态下实现软件制作状态下实现软件制作形式化形式化盒结构表示分析和设计盒结构表示分析和

26、设计正确性验证正确性验证增量模型增量模型Slide 1-52假设你被任命为一家软件公司的项目负责人,你的假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本工作是管理该公司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了严格的完成期限开发。由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你打算采用哪种软件生命周期模型?并且已对外公布。你打算采用哪种软件生命周期模型?为什么?为什么?Slide 1-53解:对这个项目的一个重要要求是,严格按照已对外公布了的日期完成对这个项目的一个重要要求是,严格按照已对外公布了的日期完成产品开发

27、工作,因此,选择生命周期模型时、应该着重考虑哪种模型有产品开发工作,因此,选择生命周期模型时、应该着重考虑哪种模型有助于加快产品开发的进度。使用助于加快产品开发的进度。使用增量模型增量模型开发软件时可以并行完成开发开发软件时可以并行完成开发工作,因此能够加快开发进度。工作,因此能够加快开发进度。这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至少可以得出实至少可以得出3点结论:第一,旧版本相当于一个原型,通过收集用户点结论:第一,旧版本相当于一个原型,通过收集用户对旧版本的反映,较容易确定对新版本的需求,没必要再专门

28、建立一个对旧版本的反映,较容易确定对新版本的需求,没必要再专门建立一个原型系统来分析用户的需求;第二,该公司的软件工程师对字处理软件原型系统来分析用户的需求;第二,该公司的软件工程师对字处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字处理软件所需要的技术水平;第三,该软件受到广大用户的喜爱,今后处理软件所需要的技术水平;第三,该软件受到广大用户的喜爱,今后很可能还要开发更新的版本,因此,应该把该软件的体系结构设计成开很可能还要开发更新的版本,因此,应该把该软件的体系结构设计成开放式的,以利于今后的改进和扩充。放式的,以利于今后的改进和扩充。Slide 1-54软件开发模型是不断发展的软件开发模型是不断发展的各种软件开发模型各有优缺点各种软件开发模型各有优缺点选用时不必拘泥于某种模型选用时不必拘泥于某种模型可组合多种模型可组合多种模型也可根据实际创建新的模型也可根据实际创建新的模型Slide 1-55习题习题3 3、6 6Slide 1-56休息一会儿。休息一会儿。追求追求

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(原型模型增量模型课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|