02第二章:软件过程选读.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 本章讲述在软件生命周期全过程中应该完成的基本任务,并介绍各种常用的过程模型。 ;2.1 软件生命周期的基本任务 2.2 瀑布模型 2.3 快速原型模型 2.4 增量模型 2.5 螺旋模型 2.6 喷泉模型 2.7 Rational统一过程 2.8 敏捷过程与极限编程 2.9 能力成熟度模型;1.软件定义:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制订工程进度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成。软件定义时期通常进一步划分为3个阶段,即问题定义、可行性研究和需求分析。;2.软件开发:具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组??:概要设计、详细设计、编码和单元测试、综合测试。其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。;3.运行维护:当软件在使用过程中发现错误时应该加以改正;当环境改变时应该修改软件以适应新的环境;当用户有新要求时应该及时改进软件以满足用户的新需要。通常对维护时期不再进一步划分阶段,但是每一次维护活动本质上都是一次压缩和简化了的定义和开发过程。; 通过调研,系统分析员应该提出关于问题性质、工程目标和工程规模的书面报告,并且需要得到客户对这份报告的确认。;确定上一个阶段的问题是否有行得通的解决办法 用最小的代价在尽可能短的时间内确定问题是否能够解决。;解决“目标系统必须做什么”这个问题可行性研究的基本目的是用较小的成本在较短的时间内确定是否存在可行的解法,因此许多细节被忽略了。然而在最终的系统中却不能遗漏任何一个微小的细节 是用正式文档准确地记录对目标系统的需求,该文档通常称为规格说明书(specification)。 ;概括地回答“怎样实现目标系统?”概要设计又称为初步设计、逻辑设计、高层设计或总体设计。 设计几种可能的方案 推荐最佳方案 制定详细计划 模块化;将抽象概括的方式具体化 “应该怎样具体地实现这个系统” 设计出程序的详细规格说明 详细设计也称为模块设计、物理设计或低层设计。在这个阶段将详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。;这个阶段的关键任务是写出正确的,容易理解、容易维护的程序模块 程序员应该根据目标系统的性质和实际环境,选取一种适当的高级程序设计语言(必要时用汇编语言),把详细设计的结果翻译成用选定的语言书写的程序,并且仔细测试编写出的每一个模块。;这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。最基本的测试是集成测试和验收测试。必要时还可以再通过现场测试或平行运行等方法对目标系统进一步测试检验。;集成测试是根据设计的软件结构,把经过单元测试检验的模块按某种选定的策略装配起来,在装配过程中对程序进行必要的测试。 验收测试则是按照规格说明书的规定(通常在需求分析阶段确定),由用户(或在用户积极参加下)对目标系统进行验收。;通过各种必要的维护活动使系统持久地满足用户的需要。 改正性维护:也就是诊断和改正在使用过程中发现的软件错误 适应性维护:即修改软件以适应环境的变化;完善性维护:即根据用户的要求改进或扩充软件使它更完善 预防性维护:即修改软件为将来的维护活动预先做准备。;实际上每一项维护活动都应该经过提出维护要求(或报告问题),分析维护要求,提出维护方案,审批维护方案,确定维护计划,修改软件设计,修改程序,测试程序,复查验收等一系列步骤。因此,实质上是经历了一次压缩和简化了的软件定义和开发的全过程。每一项维护活动都应该准确地记录下来,作为正式的文档资料加以保存。;2.1 软件生命周期的基本任务 2.2 瀑布模型 2.3 快速原型模型 2.4 增量模型 2.5 螺旋模型 2.6 喷泉模型 2.7 Rational统一过程 2.8 敏捷过程与极限编程 2.9 能力成熟度模型 ;在20世纪80年代之前,瀑布模型(waterfall model)一直是唯一被广泛采用的生命周期模型,现在它仍然是软件工程中应用最广泛的过程模型。图2.1所示为传统的瀑布模型。;2.2 瀑布模型;1. 阶段间具有顺序性和依赖性 ①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档。 2. 推迟实现的观点 实践表明,对于规模较大的软件项目来说,往往编码开始得越早最终完成开发工作所需要的时间反而越长。;3. 质量保证的观点 ①每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。②每个阶段结束前都要

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档