您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 总结/报告 > 软件工程-软件过程模型
第二章软件过程模型软件生存周期软件开发模型瀑布模型进化式模型演化模型形式化开发第一节软件生存周期软件生存周期的概念:一个软件从计划起,到废弃不用止。软件生存周期包括:计划、开发、运行。第二节软件开发模型概念软件开发模型的概念:为整个软件生存期建立的模型。软件开发模型分类:瀑布模型进化式开发模型演化模型形式化开发模型第三节软件开发模型1瀑布模型ThewaterfallmodelRequirementsdefinitionSystemandsoftwaredesignImplementationAndunittestIntegrationSystemtestingOperationmaintenance需求定义系统和软件设计实现和单元测试集成和系统测试运行和维护软件生存周期瀑布模型的优点阶段间的顺序性和依赖性推迟实现的观点质量保证的观点用户要求需求分析需求规格说明书总体设计软件结构图详细设计模块说明编码系统测试确认测试综合测试单元测试程序清单瀑布模型的问题Waterfallmodelproblems将项目生硬地分解成确切的阶段。Inflexiblepartitioningoftheprojectintodistinctstages对用户需求变更的相应困难。Thismakesitdifficulttorespondtochangingcustomerrequirements需求了解的好的时候,采用瀑布模型。Thismodelisonlyappropriatewhentherequirementsarewell-understood2快速原型开发模型PrototypeModel基本思想:先开发出一个原型系统给用户使用,通过用户反馈意见来不断修改系统直到最后成熟。让描述、开发、有效性验证活动并行执行。原型模型需求分析原型开发原型评价最终系统设计最终系统实现用户反馈原型模型的优点原型化模型突出一个“快”字。软件开发人员向用户提供一个“样品”,用户向开发人员迅速作出“反馈”。建立原型系统的方法原型系统仅包括未来系统的主要功能,以及系统重要的接口。开发原型系统尽可能使用能缩短开发周期的语言和工具。3演化模型-增量模型EvolutionaryModel规格说明设计实现和集成交付客户规格说明设计实现和集成交付客户规格说明设计实现和集成交付客户规格说明设计实现和集成交付客户构件1构件2构件3构件n增量模型的基本思想每个增量提供系统功能的一个子集,一个增量完成并交付,部分系统功能可以提前交付使用。对增量中服务的分配取决于服务优先次序。最高优先权的服务首先被交付。第一个增量往往是核心的产品。开发者能通过对系统的经验帮助理解后面的增量需求和目前增量后续版本的需求变更。Incrementaldevelopmentadvantages增量式开发过程的优点客户无需等到整个系统的实现。客户可以将早期的增量作为原型,从中获得对后面系统增量的需求经验。项目总体性失败的风险比较低。最高优先权的服务接受最多的测试。Example使用增量式开发的字处理软件在第一个增量中发布基本的文件管理、编辑和文档生成功能;在第二个增量中发布更加完善的编辑和文档生成能力;第三个增量中实现拼写和文法检查功能;第四个增量完成高级的页面布局功能。4演化模型-螺旋模型EvolutionaryModel螺旋模型的基本思想每一个螺旋周期(Spiralmodelsectors)包含四个部分:(1)确定目标,选择方案,设定约束条件,选定完成本周期所定目标的策略。(2)分析该策略可能存在的风险。(3)在排除风险后,实现本螺旋周期的目标。(4)评价前一步的结果,并且计划下一轮的工作。螺旋模型的特点每一阶段考虑技术风险。依赖于风险评估。5形式化方法模型转换模型(TransformationalModel)-是结合形式化软件开发方法和程序自动生成技术的一种软件开发模型。转换模型系统需求形式化规格说明变换2测试变换1变换n形式化开发记录与需求比较后修正目标系统转换模型净室模型CleanroomModel是一种形式化的增量开发模型。基本思想:力求在分析阶段就消除错误,确保正确,然后在无缺陷或“洁净”的状态下实现软件的制作。“盒”(Box)-每一增量是一个形式化方式表示。净室模型需求收集盒结构规约形式化设计正确性验证代码检查测试计划统计性使用测试认证增量#1需求收集盒结构规约形式化设计正确性验证代码检查测试计划统计性使用测试认证增量#2需求收集盒结构规约形式化设计正确性验证代码检查测试计划统计性使用测试认证增量#n6基于组件的开发过程标志候选构件进行下一次迭代查找构件将新构件存入库中若存在则提取构件若不存在则构造构件Advantages优势减少需要开发的软件数量降低软件开发成本降低风险软件快速交付小结软件过程模型瀑布模型原型模型增量模型螺旋模型形式化开发模型组件开发模型新的开发模型RUP统一开发过程敏捷开发极限编程RAD快速的应用开发设计模式思考题为以下各系统提出合适的软件过程模型,阐述理由:(1)汽车防锁死刹车控制系统(2)一个支持软件维护的虚拟现实系统(3)大学记账系统,准备替换一个已存在的系统(4)一个位于火车站的交互式火车车次查询系统
本文标题:软件工程-软件过程模型
链接地址:https://www.777doc.com/doc-4007947 .html