3 软件过程模型

3 软件过程模型

ID:30532075

大小:909.03 KB

页数:61页

时间:2018-12-31

3 软件过程模型_第1页
3 软件过程模型_第2页
3 软件过程模型_第3页
3 软件过程模型_第4页
3 软件过程模型_第5页
资源描述:

《3 软件过程模型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件工程软件工程第二章软件开发过程管理3软件过程模型王忠杰rainy@hit.edu.cn2012年8月29日3软件过程模型主要内容3.1软件过程3.2典型软件过程模型–瀑布模型–增量过程模型•*开放源码过程•*统一过程模型(RUP)•增量模型•快速应用程序开发(RAD)•*其他过程模型–演化过程模型•形式化过程•软件复用过程•螺旋模型•敏捷过程模型•原型模型3.3各类过程模型的对比软件工程3.1软件过程3软件过程模型软件过程软件过程定义以下内容:–人员与分工–所执行的活动–活动的细节和步骤软件过程通过以下方

2、式组织和管理软件生命周期:–定义软件生产过程中的活动–定义这些活动的顺序及其关系软件过程的目的:–标准化(可模仿)、可预见性(降低风险)、提高开发效率、得到高质量产品–提升制定时间和预算计划的能力3软件过程模型软件开发需要过程吗?写了再改(Code‐and‐Fix),不挺好吗?–不需要太多其他准备或相关知识,无需文档,无需规划,无需质量保障,上来就写代码;–也许就能写出来,写不出来就改,也许能改好。适用场合:–“只用一次”的程序–“看过了就扔”的原型–一些不实用的演示程序但是要开发一个复杂的软件,这个方法的缺点

3、就太大了,现实中基本上毫无用处。From《现代软件工程讲义(part4)》3软件过程模型…构造一所房子…相同的目标不同的活动与过程3软件过程模型黑盒过程与白盒过程InformalRequirementsProcessProduct存在的问题:–要求开发之前需求被充分理解–与客户的交互只在开始(需求)和最后(发布)——类似于产品制造过程–而实际情况完全不是这样3软件过程模型黑盒过程与白盒过程InformalRequirementsProcessProductfeedback优点:–通过改进可见性来减少风险–在开发过程

4、中,通过不断地获得顾客的回馈允许变更——类似于服务过程3软件过程模型软件过程的典型阶段Dream(提出设想)Investigation(深入调研)问题空间SoftwareSpecification(需求规格说明)需求分析方法SoftwareDesign(软件设计)需求模型需求建模语言系统设计方法SoftwareImplementation(软件实现)验设计模型设计建模语言证/程序设计方法SoftwareDeployment(软件部署)确实现模型编程语言认SoftwareValidation(软件验证)部署

5、与维护方法部署与运行模型部署与运行配置语言SoftwareEvolution(软件演化)软件(解)空间软件工程3.2典型的软件过程模型3软件过程模型典型的软件过程模型瀑布模型(Waterfall)增量过程模型(Incrementalprocessmodel)–增量模型(Incremental)–快速应用程序开发(RAD)演化过程模型(Evolutionarymodel)–螺旋模型(Spiral)–原型模型(Prototype)开源过程模型(Opensource)统一过程模型(RUP)敏捷过程模型(Agil

6、e)其他过程模型–形式化过程(Formalmodel)–基于复用的软件过程3软件过程模型3.2.1瀑布模型1970年,WinstonRoyce•上一个阶段结束,下一个阶段才能开始;•每个阶段均有里程碑和提交物;•上一阶段的输出是下一阶段的输入;•每个阶段均需要进行V&V;计划•侧重于文档与产出物;定义阶段需求分析开发阶段设计编码测试运行维护运行、维护阶段3软件过程模型瀑布模型也叫做鲑鱼模型(Salmonmodel):向前一阶段回溯,很难。3软件过程模型瀑布模型优点——追求效率–简单、易懂、易用、快速;–为项目提供

7、了按阶段划分的检查点,项目管理比较容易;–每个阶段必须提供文档,而且要求每个阶段的所有产品必须进行正式、严格的技术审查。缺点——过于理想化–在开发早期,用户难以清楚地确定所有需求,需求的错误很难在开发后期纠正,因此难以快速响应用户需求变更;–开发人员与用户之间缺乏有效的沟通,开发人员的工作几乎完全依赖规格说明文档,容易导致不能满足客户需求。–客户必须在项目接近尾声的时候才能得到可执行的程序,对系统中存在的重大缺陷,如果在评审之前没有被发现,将可能会造成重大损失。3软件过程模型瀑布模型瀑布模型太理想化,太单纯,已不再

8、适合现代的软件开发模式,在大型系统开发中已经很少使用;适用场合:–软件项目较小,各模块间接口定义非常清晰;–需求在项目开始之前已经被全面的了解,产品的定义非常稳定;–需求在开发中不太可能发生重大改变;–使用的技术非常成熟,团队成员都很熟悉这些技术–负责各个步骤的子团队分属不同的机构或不同的地理位置,不可能做到频繁的交流–外部环境

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。