第2章 软件生存周期与软件过程.pptVIP

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程 第2章 软件生存周期与软件过程 2.1 软件生存周期 ●一个软件从开始计划起,到废弃不用的整个时期,称为软件生存周期。 ●把软件生存周期划分为较小的阶段的目的: 给每个阶段赋予确定而有限的任务,能够简化每一步的工作内容,使软件复杂性变得较易控制和管理。 2.1.1 软件生存周期的主要活动 ●软件生存周期包含3个时期:计划、开发和运行时期。 ●各时期又分为若干阶段,共6个阶段。 1. 可行性研究 (详见第35页,§2.6.1) ●解决“是否能做? 是否值得做? ”的问题。 ●主要文档:可行性论证报告、项目实施计划( 简称项目计划)。 2. 需求分析 ●解决系统 “ 做什么? ” 问题。 ●弄清用户对系统的需求,包括功能需求、性能需求、环境约束和用户界面等(其中功能需求是最重要的),建立分析模型。 ●主要文档: 需求规格说明书 ( Software Requirement Specification , SRS )。 3. 软件设计: 分为总体设计和详细设计。 ①总体设计: 又称概要设计,主要确定软件的体系结构。 ②详细设计: 又称过程设计, 主要设计每个模块的实现细节。 ●主要文档:概要设计说明书和详细设计说明书 4. 编码: ●编写源程序。 5. 测试: ●进行单元测试、集成测试、确认测试和 系统测试。 ●主要文档: 测试计划 、测试报告等 。 ●3.~5. 解决 “ 怎么做? ”的问题。 6. 运行维护 : ●重点是做好软件的维护工作。 ●主要文档:维护申请单和软件修改报告等。 2.1.2 生存周期和软件过程的关系 1. 从软件生存周期到软件过程 ●软件过程(Software Process):围绕软件开发所进行的一系列活动。(通俗地,也可以把软件过程称为“软件开发模型”) 2. 软件过程的演变 传统的线性开发模型→迭代的过程模型 2.2 传统的软件过程 2.2.1 瀑布模型 ●瀑布模型:是一种基于软件生存周期的线性开发模型。 瀑布模型示意图 ●瀑布模型的特点: 1. 阶段间的顺序性和依赖性: 各个阶段按自上而下、相互衔接的固定次序, 如同瀑布逐级下落。 2. 推迟实现的观点:瀑布模型在编码以前安排了分析阶段和设计阶段,直到设计阶段结束,才实现编码,有利于提高软件质量。 3. 质量保证的观点(文档驱动): (1)每个阶段都要完成规定的文档。 (2)每个阶段结束前都要对已完成的的文档进行复审(审查)。 4. 存在的问题: (1)不适合需求模糊的系统。 (2)开发的初始阶段很难彻底弄清软件需求。 ●为了解决这个问题, 提出“快速原型模型”。 2.2.2 快速原型模型 1. 原型开发的优越性 ●快速原型模型的中心思想是:首先建立一个能够反映用户主要需求的原型,让用户看一看未来系统的概貌,以便判断哪些功能是符合需要的,哪些方面还需要改进;然后将原型反复改进,最终建立符合用户要求的新系统。 快速原型模型示意图 2.原型开发的方法 (1)原型系统仅包括未来系统的主要功能以及系统的重要接口, 不包括系统的细节。 (2)开发原型系统时尽量使用能缩短开发周期的先进的语言和工具(如4GL)。 (3)把原型系统作为基础,通过补充和修改获得最终的实际系统。 (快速原型模型也常常被当作帮助定义软件需求的一种手段,大多数原型都废弃不用。) 3. 原型模型的启示 “逼真”的原型可以使用户迅速作出反馈。 在分析和设计阶段可能出现回溯和迭代,形成非线性的开发模型。 4. 应该防止的偏向 舍不得抛弃,从而影响软件质量。 5. (补充)原型模型的种类 渐进型:对原型补充和修改, 获得最终系统。 抛弃型:原型废弃不用。 2.3 软件演化模型 2.3.1 增量模型 ●增量模型是瀑布模型的顺序特征与快速原型模型的迭代特征相结合的产物。它把软件看做一系列相互联系的增量,在开发过程的各次迭代中,每次完成其中的一个增量。 2.3.2 螺旋模型(Spiral Model ) ●螺旋模型是在结合瀑布模型与快速原型模型的基础上 增加了风险分析 而形成的。 1. 典型的迭代模型 ●螺旋模型是一种迭代模型,每迭代一次,螺线线就前进一周,每轮螺旋均包含以下4个活动: (1)计划:确定目标,选择方案。 (2)风险分析:分析所选方案,考虑如何识别和消除风险。 (3)建立原型:实施本周期的开发任务。 (4)用户评审:用户评价前一步结果,提出修正建议。 2. 风险分析:软件开发存在风险,风险分析的目的就是要了解、分析并设法降低和排除风险。 对高风险的大型软件,螺旋模型是一个理想的开发过程。 3. 螺旋

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档