《软件工程软件过程模型.ppt》由会员分享,可在线阅读,更多相关《软件工程软件过程模型.ppt(25页珍藏版)》请在第壹文秘上搜索。
1、第二章 软件过程模型o 软件生存周期o 软件开发模型o 瀑布模型o 进化式模型o 演化模型o 形式化开发第一节 软件生存周期o 软件生存周期的概念: 一个软件从计划起,到废弃不用止。 软件生存周期包括:计划、开发、运行。第二节 软件开发模型概念o 软件开发模型的概念: 为整个软件生存期建立的模型。 o 软件开发模型分类:o瀑布模型o进化式开发模型o演化模型o形式化开发模型第三节 软件开发模型o 1 瀑布模型 The waterfall modelRequirementsdefinitionSystem and software designImplementationAnd unit test
2、IntegrationSystem testingOperationmaintenance需求定义系统和软件设计实现和单元测试集成和系统测试运行和维护软件生存周期瀑布模型的优点o 阶段间的顺序性和依赖性o 推迟实现的观点o 质量保证的观点瀑布模型的问题Waterfall model problemso 将项目生硬地分解成确切的阶段。 Inflexible partitioning of the project into distinct stages o 对用户需求变更的相应困难。 This makes it difficult to respond to changing customer
3、requirementso 需求了解的好的时候,采用瀑布模型。 This model is only appropriate when the requirements are well-understood 2 快速原型开发模型Prototype Modelo 基本思想: 先开发出一个原型系统给用户使用,通过用户反馈意见来不断修改系统直到最后成熟。 让描述、开发、有效性验证活动并行执行。原型模型原型模型的优点o 原型化模型突出一个“快”字。软件开发人员向用户提供一个“样品”,用户向开发人员迅速作出“反馈”。建立原型系统的方法o 原型系统仅包括未来系统的主要功能,以及系统重要的接口。o 开发原
4、型系统尽可能使用能缩短开发周期的语言和工具。3 演化模型-增量模型Evolutionary Model 增量模型的基本思想o 每个增量提供系统功能的一个子集,一个增量完成并交付,部分系统功能可以提前交付使用。o 对增量中服务的分配取决于服务优先次序。最高优先权的服务首先被交付。 第一个增量往往是核心的产品。o 开发者能通过对系统的经验帮助理解后面的增量需求和目前增量后续版本的需求变更。Incremental development advantages增量式开发过程的优点o 客户无需等到整个系统的实现。o 客户可以将早期的增量作为原型,从中获得对后面系统增量的需求经验。o 项目总体性失败的风险
5、比较低。o 最高优先权的服务接受最多的测试。Exampleo 使用增量式开发的字处理软件 在第一个增量中发布基本的文件管理、编辑和文档生成功能; 在第二个增量中发布更加完善的编辑和文档生成能力; 第三个增量中实现拼写和文法检查功能; 第四个增量完成高级的页面布局功能。4 演化模型-螺旋模型Evolutionary Model螺旋模型的基本思想o 每一个螺旋周期(Spiral model sectors)包含四个部分: (1)确定目标,选择方案,设定约束条件,选定完成本周期所定目标的策略。 (2)分析该策略可能存在的风险。 (3)在排除风险后,实现本螺旋周期的目标。 (4)评价前一步的结果,并且
6、计划下一轮的工作。螺旋模型的特点o 每一阶段考虑技术风险。o 依赖于风险评估。5 形式化方法模型o 转换模型(Transformational Model)-是结合形式化软件开发方法和程序自动生成技术的一种软件开发模型。转换模型净室模型Cleanroom Modelo 是一种形式化的增量开发模型。o 基本思想: 力求在分析阶段就消除错误,确保正确,然后在无缺陷或“洁净”的状态下实现软件的制作。“盒”(Box)-每一增量是一个形式化方式表示。净室模型6 基于组件的开发过程Advantages 优势o 减少需要开发的软件数量o 降低软件开发成本o 降低风险o 软件快速交付小结o 软件过程模型o 瀑布模型o 原型模型o 增量模型o 螺旋模型o 形式化开发模型o 组件开发模型新的开发模型o RUP统一开发过程o 敏捷开发o 极限编程o RAD快速的应用开发o 设计模式思考题o 为以下各系统提出合适的软件过程模型,阐述理由:(1) 汽车防锁死刹车控制系统(2)一个支持软件维护的虚拟现实系统(3)大学记账系统,准备替换一个已存在的系统(4)一个位于火车站的交互式火车车次查询系统