14070第2章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
14070第2章.ppt

河南理工大学 软件工程之 软件过程 软件危机 在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件工程 采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 软件工程方法学 传统方法学 面向对象方法学 三要素 方法 方法是完成软件开发的各项任务的技术方法,回答“如何做”的问题 工具 工具是为方法的运用提供自动的或半自动的软件支撑环境 过程 过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 第2章 软件过程 软件工程过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 2.1 软件生命周期的基本任务 概括地说,软件生命周期由软件定义、软件开发和运行维护三个时期组成,每个时期又可进一步划分成若干个阶段。 软件定义 1.问题定义 2.可行性研究 3.需求分析 软件定义 1.问题定义 问题定义阶段必须回答的关键问题是:“要解决的问题是什么”。 2.可行性研究 3.需求分析 软件定义 1.问题定义 2.可行性研究 这个阶段要回答的关键问题是:“上一个阶段所确定的问题是否有行得通的解决办法”。 3.需求分析 软件定义 1.问题定义 2.可行性研究 3.需求分析 这个阶段的任务仍然不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”这个问题。 这个阶段的另外一项重要任务,是用正式文档准确地记录对目标系统的需求,这份文档通常称为规格说明(specification)。 软件开发 4. 概要设计 5. 详细设计 6. 编码和单元测试 7. 综合测试 软件开发 4. 概要设计 初步设计、逻辑设计、高层设计或总体设计 这个阶段的基本任务是,概括地回答“怎样实现目标系统?”这个问题。 首先,应该设计出实现目标系统的几种可能的方案。 概要设计的另一项主要任务就是设计程序的体系结构,也就是确定程序由哪些模块组成以及模块间的关系。 5. 详细设计 6. 编码和单元测试 7. 综合测试 软件开发 4. 概要设计 5. 详细设计 概要设计阶段以比较抽象概括的方式提出了解决问题的办法。 详细设计阶段的任务就是把解法具体化,也就是回答“应该怎样具体地实现这个系统”这个关键问题。 这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。 6. 编码和单元测试 7. 综合测试 软件开发 4. 概要设计 5. 详细设计 6. 编码和单元测试 这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。 7. 综合测试 软件开发 4. 概要设计 5. 详细设计 6. 编码和单元测试 7. 综合测试 这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。 运行维护 8. 软件维护 维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。 通常有四类维护活动: 改正性维护,诊断和改正在使用过程中发现的软件错误 适应性维护,即修改软件以适应环境的变化 完善性维护,根据用户要求改进或扩充软件使它更完善 预防性维护,即修改软件为将来的维护活动预先做准备 软件生命周期模型 在实际从事软件开发工作时,软件规模、种类、开发环境及开发时使用的技术方法等因素,影响阶段的划分。 生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 2.2 瀑布模型 在20世纪80年代之前,瀑布模型一直是唯一被广泛采用的生命周期模型,现在它仍然是软件工程中应用得最广泛的过程模型。 图2.1所示为传统的瀑布模型。 传统瀑布模型的特点 按照传统的瀑布模型来开发软件,有如下几个特点。 (1)阶段间具有顺序性和依赖性 (2)推迟实现的观点 清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现,是按照瀑布模型开发软件的一条重要的指导思想。 (3)质量保证的观点 每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务 每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误 实际的瀑布模型 实际的瀑布模型是带“反馈环”的 如图2.2所示(图中实线箭头表示开发过程,虚线箭头表示维护过程) 当在后面阶段发现前面阶段的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的产品之后再回来继续完成后面阶段的任务。 2.3 快速原型模型 快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。 快速原型模型的过程 如图2.3所示(图中实线箭头表示开发过程,虚线箭头表示维护过程),快速原型模型的第一步是

文档评论(0)

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

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档