- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第章 软件工程基本概述
4.软件生命周期模型 瀑布模型是 1970 年由 W.Royce 首先提出。将软件生命周期各活动规定为依线性顺序联接的若干阶段的模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。它规定了由前至后、相互衔接的固定次序,如同瀑布流水,逐级下落。 瀑布模型表示如下: * 4.3 瀑布模型 4.软件生命周期模型 * 4.3 瀑布模型 特点: 上一阶段的变换结果 是下一阶段的变换的 输入,相邻两个阶段 具有因果关系,紧密 相联。 需求分析 问题定义 可性行研究 计划 时期 概要设计 详细设计 编 码 测 试 开发 时期 运行与维护 运 行 时 期 4.软件生命周期模型 瀑布模型是一种整体开发模型,在开发过程中,用户看不到软件是什么样子,只有开发完成后,整个软件才全部展现在用户面前,这时如果用户发现有不满意的地方,为时已晚。 瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。例如操作系统、编译系统、数据库管理系统等系统软件的开发。应用有一定的局限性。 * 4.3 瀑布模型 4.软件生命周期模型 优点:提供了软件开发的基本框架,比靠“个人技艺”开发好的多, 有利于大型软件开发过程的人员的组织和管理 有利于 开发方法和工具的使用 提高了软件的质量和效率 缺点:初始阶段指出全部需求,不可能 用户和项目负责人需要很长的时间才能拿到需求版本,如果需要修改,则会蒙受损失。 * 4.3 瀑布模型 4.软件生命周期模型 增量模型是一种非整体开发的模型。软件在该模型中是“逐渐”开发出来的。开发出一部分,向用户展示一部分,可让用户及早看到部分软件,及早发现问题。然后逐步完善,最终获得满意的软件产品。 增量模型包括两个部分:迭代和递增。 * 4.4 增量模型 4.软件生命周期模型 * 4.4 增量模型 4.软件生命周期模型 增量模型的缺点: 很难规划出每次迭代的内容和要到达的目标,验证相关的交付和产出 由于各个构件是逐渐加入到已有的软件体系结构中,存在着破坏已有的系统结构 由于需要适应需求的变化而导致更改系统架构,从而使软件过程的控制失去整体性 * 4.4 增量模型 4.软件生命周期模型 增量模型的优点: 可以在早期检查软件的正确性和结构的健壮性 可以较早的减轻风险 可以在任何时候都有一个可工作的版本 * 4.4 增量模型 4.软件生命周期模型 原型系统仅包括未来系统的主要功能,以及系统的重要接口。 为了尽快向用户提供原型,开发原型系统时应尽量使用能缩短开发周期的语言和工具。 它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。 * 4.5 快速原型模型 4.软件生命周期模型 1988年,Barry Boehm正式发表了软件系统开发的螺旋模型,它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。 螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动,即: 制定计划──确定软件目标,选定实施方案,弄清项目开发的限制条件 风险分析──分析所选方案,考虑如何识别和消除风险 实施工程──实施软件开发 客户评估──评价开发工作,提出修正建议 * 4.6 螺旋模型 4.软件生命周期模型 * 4.6 螺旋模型 4.软件生命周期模型 螺旋模型缺陷: 螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。 如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。 软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险。 * 4.6 螺旋模型 4.软件生命周期模型 螺旋模型优点: 支持用户需求的动态变化,易于为用户和开发人员共同理解,还可作为继续开发的基础,并为用户参与所有关键决策提供了方便。 螺旋模型特别强调原型的可扩充性和可修改性,原型的进化贯穿整个软件生存周期,这将有助于目标软件的适应能力。 螺旋模型为项目管理人员及时调整管理决策提供了方便,进而可降低开发风险。 适用于需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法。 * 4.6 螺旋模型 4.软件生命周期模型 在前期需求明确的情况下尽量采用瀑布模型或改进型的瀑布模型 在用户无信息系统使用经验,需求分析人员技能不足情况下一定要借助原型 在不确定性因素很多,很多东西前面无法计划情况下尽量采用增量和螺旋模型 在需求不稳定情况下尽
文档评论(0)