- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 软件生存周期及开发模型 一、软件的生命周期 软件的生命周期主要由三个时期组成,即软件定义、软件开发和软件维护。而每个时期又可划分为若干个阶段。每个阶段的基本任务如下:(1)问题定义,要解决什么问题?(2)可行性分析,(3)需求分析,目标系统需要做什么(4)总体设计,(5)详细设计,(6)编码和单元测试,(7)综合测试。(8)软件维护。 四、软件的过程模型 软件过程模型分为以下几种:(1)瀑布模型,(2)快速原型模型,(3)增量模型,(4)螺旋模型,(5)敏捷开发。 瀑布模型,也叫做线性模型,瀑布模型的特点:(1)阶段间具有顺序性和依赖性,各阶段的工作具有线性性,即前一阶段工作完成后才能开展后一阶段的工作。前一阶段的输出文档就是后一阶段的输入文档。(2)推迟编码,在编码之前先进行系统分析和系统设计。(3)质量保证,每一个阶段都必须完成规定的文档,且对完成的文档进行评审,以迟早发现问题,及时改正。通常瀑布模型带了“反馈环”, 计划 验证 需求分析 验证 设计 验证 编码 验证 综合测试 维护 其中实线表示开发过程,虚线表示维护过程。左边实线为反馈环。 一、瀑布模型 瀑布模型的缺点: 1、需求分析方面,客户在最开始时并不能明确表达出需求分析。 2、根据需求估算时间和成本比较困难。 3、设计结果有时不能转换为真实的产品。 所以瀑布模型适合于在开始客户需求比较明确的情况。 二、极限编程 (Extreme Programming 即XP)是于1998年由Smalltalk社群中的大师级人物Kent Beck首先倡导的。主要特征有: 1、完整团队 ?XP项目的所有参与者(开发人员、客户、测试人员等)一起工作在一个开放的场所中,他们是同一个团队的成员。这个场所的墙壁上随意悬挂着大幅的、显著的图表以及其他一些显示他们进度的东西。 2、更周密的计划 ?计划是持续的、循序渐进的。每2周,开发人员就为下2周估算成本,制定计划。 3、客户测试 客户可以根据脚本语言对每一特性进行测试。 4、简单设计 表达编写者想表达的所有东西,并且包含尽可能少的代码。 5、结对编程 所有的产品软件都是由两个程序员、并排坐在一起在同一台机器上构建的。 三、螺旋模型,对于复杂的大型软件,开发一个原型往往达不到要求,螺旋模型将瀑布模型与增量模型结合起来,并且加入了风险分析。螺旋模型分几个螺旋周期,每个周期大致和瀑布模型相当,每个周期大致分为四个部分,制定计划,风险评估,开发实施,用户评估。 在软件的开发过程中不能套用固定的模型,比如程序设计与测试并不一定是线性的,可以边设计边测试。 螺旋模型:螺旋模型沿着螺线旋转,在四个象限上分别表达四个方面的活动,即: 制定计划──确定软件目标,选定实施方案,弄清项目开发的限制 风险分析──分析所选方案,考虑如何识别和消除风险 实施工程──实施软件开发 客户评估──评价开发工作,提出修正建议 确定软件目标,选定实施方案,弄清项目开发的限制 分析所选方案,考虑如何识别和消除风险 实施软件开发 评价开发工作,提出修正建议 四、增量模型,增量模型将一个软件产品作为一系列增量构件来设计、编码、集成和测试,将软件分期分构件交给用户,使用户及早能看到产品。 优点:在较短时间内向用户提交可完成部分工作的产品,同时使用户有时间学习新产品。 缺点:不同的产品可能无法集成到一起。 四、快速原型模型,所谓快速原型模型是指开发人员快速建立一个能完成用户一个功能子集模型,交给用户,用户提出修改意见,然后再修改模型,直到用户满意为止,这种方法有如下优点:(1)用户已经看到了软件的雏形,并能及早提出意见,便于修改,(2)开发人员可以学到很多东西。 基本步骤: 1、快速分析 2、构建原型 3、运行原型 4、评价原型 5、修改 快速原型 验证 规格说明 验证 设计 验证 编码 测试 综合测试 维护 变化原需求 验证 特点:不带反馈环 喷泉模型 所谓喷泉模型也包括传统软件开发过程中的一些步骤,例如需求阶段、分析阶段、设计阶段、编码阶段、测试阶段及维护阶段。 但是各阶段都采用统一的概念--对象,实现了软件开发各过程的无缝连接。 特点: 1、各阶段之间的无缝连接; 2、箭头表示各阶段内部的迭代; 3、维护期圆较小,说明维护时间缩短。
您可能关注的文档
最近下载
- 医学课件-腰椎间盘突出.pptx VIP
- 云南的民族与民族文化(下).ppt VIP
- DB41T 2911-2025工业锅炉停炉保养与检查指南.pdf VIP
- 八年级数学上册 14.3 因式分解学案(新版)新人教版.doc VIP
- 替戈拉生病例分享.pptx VIP
- 幼儿园健康饮食班会PPT课件(精选图文).pptx VIP
- 2025年银行反洗钱知识竞赛题库及答案(精选100题).docx VIP
- 医疗器械分类目录(24页).pdf VIP
- 2025至2030全球及中国计算机OEM和ODM服务行业运营态势与投资前景调查研究报告.docx
- 2025年银行反洗钱知识竞赛题库及答案(精选).docx VIP
原创力文档


文档评论(0)