软件开发模型介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开发早期反馈及时,易 需要开放式体系结构, 于维护 可能会设计差、效率低 风险驱动
风险分析人员需要有经 验且经过充分训练
传统方法---瀑布模型
描述:每个软件过程顺序衔接、一次性通过,最常 用。 优点:由文档和风险驱动,利于提高大型项目开发 的质量和效率。 缺点:建设周期长、风险大、难以满足用户需求。 适用场合:需求明确且很少变更的项目,如二次开 发或升级型项目。
THANKS
敏捷方法---迭代开发
迭代开发是敏捷开发的基石。“敏捷”这个词的选 择非常有深意,用来明确地强调这种方法与那些重 量级的方法(比如瀑布模型)之间的不同。敏捷方 法将人作为项目中最重要的部分。正如敏捷宣言网 站中描述的那样,与编写软件和开发流程相比,敏 捷方法更加关注在一起工作,交流的人们。变化和 重构是敏捷方法的关键之一。用户反馈将在计划时 参与,反馈也由经常性的测试以及频繁的发布来保 证。
传统方法---增量模型
描述:采用随时间进展而交错的线性序列、每个序 列产生一个可发布的增量、每个增量产生一个可操 作的产品、第一个增量是核心产品。 优点:开始时不用投入大量人力资源、可以先推出 核心产品以稳定用户、可以有计划的管理技术风险。 缺点:需要开放式体系结构,可能会产生设计效果 差、开发效率低的情况。 适用场合:需求经常发生改变的软件开发过程。
模型分类比较
每个软件开发组织应该选择适合于该组织的软件开 发模型,并且应该随着当前正在开发的特定产品特 性而变化,以减小所选模型的缺点,充分利用其优 点,下表列出了几种常见模型的优缺点。
模型
瀑布模型 快速原型模型 增量模型 螺旋模型
优点
文档驱动 关注满足客户需求
缺点
系统可能不满足客户的 需求 可能导致系统设计差、 效率低,难于维护
传统方法---快速原型模型
描述:快速构建可运行的软件模型,以便理解和澄 清问题,进一步细化需求,在新获取需求基础上进 行系统开发。 优点:避免由于用户需求不明带来的开发风险。 缺点:快速建立的模型加上连续的修改可能造成产 品质量低下。 适用场合:用户需求模糊不明的情况下。
传统方法---迭代模型
描述:一次迭代过程包括了所有软件开发流程、每 一次迭代均产生一个可发布的产品、该产品为最终 产品的一个子集。 适用于事先不能完整定义产品的所有需求,计划多 期开发的项目。
敏捷方法---迭代开发
一种轻量、高效、低风险、更强调团队协作和沟通的开 发方式,适合于中小型开发团队,客户需求模糊或多变。 目前普遍使用场景为互联网开发过程。 作为瀑布模型的改进,迭代开发是一个循环的过程,它 主要强调用渐进的方式开发软件。在开始之后,项目将 通过一系列的迭代来进行,每个迭代中都包含了设计、 编码和测试的过程。每个迭代都会得到一个可交付但尚 不完整的系统。在每个迭代中,团队都会遇到设计变化 并添加新的功能,直至满足所有的需求。
软件开发模型简析
应用事业群wenku.baidu.com2016-05-06
软件开发模型定义
软件开发模型(Software Development Model)是指软 件开发全部过程、活动和任务的结构框架。软件开 发包括需求、设计、编码和测试等阶段,有时也包 括维护阶段。 软件开发模型能清晰、直观地表达软件开发全过程, 明确规定了要完成的主要活动和任务,用来作为软 件项目工作的基础。 根据传统和敏捷两大方向进行一下简单分析
传统方法---螺旋模型
描述:以原型为基础沿螺线旋转、每转一圈都经过 计划/风险分析/实施/评估等过程且得到相应新版本、 经过若干次螺旋上升得到最终版本。 优点:由文档和风险驱动,利于提高大型项目开发 的质量和效率。 缺点:建设周期长、风险大、难以满足用户需求。 适用场合:需求经常变化的大型复杂系统。