- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[软件工程第章软件生存周期与软件过程
张 磊 博士 副教授 zhanglei@cumt.edu.cn 2.1 软件生存周期 2.2 软件生存期模型 2.3 问题定义 2.4 可行性研究 2.5 可行性论证报告的主要方面 2.6 项目计划 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期。 一般说来,软件生命周期划分为三个时期:计划时期、开发时期、运行时期。 计划时期划分为问题定义和可行性研究; 开发时期又划分为需求分析、概要设计、详细设计、编码和测试阶段; 运行时期主要是在运行中完成各类维护。 2.1.1计划时期 1.问题定义 确定要开发软件系统的总目标。 给出功能、性能、可靠性以及接口等方面的要求,系统定义。 2.可行性研究 估计可利用的资源(计算机硬件,软件,人力等)、成本、效益、开发进度。 制定出完成开发任务的实施计划和解决方案,可行性研究报告。 2.1.2开发时期 1.需求分析 对待开发软件提出的需求进行分析并给出详细的定义。 编写软件需求说明书或系统功能说明书及初步的系统用户手册。 提交管理机构评审。 2.概要设计 把各项需求转换成软件的体系结构,结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应。 编写概要设计说明书。 3.详细设计 对每个模块要完成的工作进行具体的描述,为源程序编写打下基础。 编写详细设计说明书。 4.编码 把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”。 写出的程序应当是结构良好、清晰易读的,且与设计相一致的。 5.测试 单元测试,查找各模块在功能和结构上存在的问题并加以纠正。 组装测试,将已测试过的模块按一定顺序组装起来。 按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用。 2.1.3运行时期 运行时期的主要工作是维护 改正性维护 运行中发现了软件中的错误需要修正。 适应性维护 为了适应变化了的软件工作环境,需做适当变更。 完善性维护 为了增强软件的功能需做变更。 各阶段工作小结 2.2 软件生存期模型 软件生存期模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。 软件开发模型是对软件过程的建模 边做边改模型 瀑布模型 原型模型 增量模型 螺旋模型 RUP过程 敏捷过程 极限编程 微软过程模型 2.2.1边做边改模型 遗憾的是,许多产品都是使用“边做边改”模型来开发的。在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需要一次又一次地不断被修改。 瀑布模型的特点 1.阶段间具有顺序性和依赖性关系 顺序性的含义是必须待前一阶段的工作完成之后,才能进行下一阶段的工作。 依赖性的含义是前一阶段的输出就是后一阶段的输入,只有前一阶段的输出正确,后一阶段的工作才有可能获得正确的结果。。 2.推迟实现 实践表明,编码开始得越早完成开发工作所需要的时间反而越长。 这是因为,前期阶段的工作没完全做好,就急于考虑程序实现,其结果导致大量返工,有时甚至产生无法弥补的问题,带来严重后果。 3.质量保证 各阶段都必须完成规定的文档。完整、正确、合格的文档不仅是软件开发时期各类人员之间相互通信的媒介,也是软件维护的重要依据。 各阶段结束前都要对所完成的文档进行评审,以便及时发现问题,改正错误。 瀑布模型的缺点 (1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。 (2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险。 (3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。 2.2.3快速原型模型 由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在所难免。做两次或多次: 2.2.4增量模型 在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成 。 增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。 在使用增量模型时,第一个增量往往是实现基本需求的核心产品。 核心产品交付用户使用后,经过评价形成下一个增量的开发计划,它包括对核心产品的修改和一些新功能的发布。 这个过程在每个增量发布后不断重复,直到产生最终的完善产品。 增量模型也存在以下缺陷 (1)由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏
文档评论(0)