《软件工程》2软件过程模型.ppt

上传人:王** 文档编号:177402 上传时间:2023-03-20 格式:PPT 页数:41 大小:1.06MB
下载 相关 举报
《软件工程》2软件过程模型.ppt_第1页
第1页 / 共41页
《软件工程》2软件过程模型.ppt_第2页
第2页 / 共41页
《软件工程》2软件过程模型.ppt_第3页
第3页 / 共41页
《软件工程》2软件过程模型.ppt_第4页
第4页 / 共41页
《软件工程》2软件过程模型.ppt_第5页
第5页 / 共41页
《软件工程》2软件过程模型.ppt_第6页
第6页 / 共41页
《软件工程》2软件过程模型.ppt_第7页
第7页 / 共41页
《软件工程》2软件过程模型.ppt_第8页
第8页 / 共41页
《软件工程》2软件过程模型.ppt_第9页
第9页 / 共41页
《软件工程》2软件过程模型.ppt_第10页
第10页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《《软件工程》2软件过程模型.ppt》由会员分享,可在线阅读,更多相关《《软件工程》2软件过程模型.ppt(41页珍藏版)》请在优知文库上搜索。

1、.1第第2讲讲 软件过程模型软件过程模型(Process Model).2软件过程软件生命周期软件过程模型瀑布模型快速原型模型喷泉模型演化模型增量模型螺旋模型软件开发过程的一般视图主要内容主要内容.3方法使用的顺序;要求交付的方法使用的顺序;要求交付的文档资料;为保证质量和适应文档资料;为保证质量和适应变化所需要的管理;软件开发变化所需要的管理;软件开发各个阶段完成的里程碑。各个阶段完成的里程碑。软件开发提供了软件开发提供了 “如如何做何做” 的技术。的技术。为软件工程方法提供了自为软件工程方法提供了自动的或半自动的软件支撑动的或半自动的软件支撑环境,环境,CASE软件工程层次图软件工程层次图

2、任何工程方法必须以有组织的任何工程方法必须以有组织的质量承诺为基础。支持软件工质量承诺为基础。支持软件工程的根基在于对质量的关注。程的根基在于对质量的关注。.41 软件过程软件过程软件过程需要提供一个公共过程框架,在该框架下可以建立一个软件开发的综合计划。选择一个公共过程框架是根据产品、人员和项目而调整的。.5公共过程框架公共过程框架Common process framework保护性活动保护性活动Umbrella Activities Project tracking & control Formal technical reviews Quality assurance Configur

3、ation management Documentation Reusability management Measurement Risk management框架活动框架活动Framework Activities 任务集合任务集合work tasks工作任务工作任务work products交付物交付物milestones & deliverables质量保证点质量保证点QA checkpoints.6软件生命周期软件生命周期软件生命周期是软件过程模型的基础,是软件产品或系统一系列相关活动的全周期。软件生命周期阶段:可行性研究及项目定义需求分析设计(总体设计和详细设计)编程实现测试使用与

4、维护.7软件生命周期软件生命周期定定义义开开发发维维 护护运行和维护运行和维护可行性研究与计划可行性研究与计划需求分析需求分析设计设计编码编码测试测试软件定义软件定义.8问题定义和可行性研究问题定义和可行性研究确定要开发软件系统的总目标和规模。从技术、经济和社会因素等方面的要求来论证完成该软件任务的可行性。估计可利用的资源(计算机硬件,软件,人力等)、成本、效益、开发进度。制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。.9需求分析需求分析理解用户需求,并将用户需求用书面形式表达出来。编写软件需求规格说明书或系统功能说明书及初步的系统用户手册。需求说明书是以后阶段工作的基础

5、。将需求规格说明书提交管理机构评审。.10设计设计总体设计 “如何解决问题”在需求说明书的基础上建立软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应可以列出多种解决方案进行比较详细设计 对每个模块要完成的工作进行具体的描述,为源程序编写打下基础编写设计说明书(模块说明书、数据库或文件结构说明书等),提交评审。.11编码编码把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”。写出的程序应当是结构良好、清晰易读的(如匈牙利法则) ,且与设计相一致的。.12测试测试单元测试:查找各模块在功能和结构上存在的问题并加以纠正。集成测

6、试:将已测试过的、并且相关的模块按一定顺序组装起来进行测试。按规定的各项需求,逐项进行系统测试,决定已开发的软件是否合格,能否交付用户使用。.13运行和维护运行和维护改正性维护:运行中发现了软件中的错误需要修正。适应性维护:为了适应变化了的软件工作环境,需做适当变更。完善性维护:为了增强软件的功能需做变更。预防性维护:修改软件为将来的维护活动预先做准备.142 传统瀑布模型传统瀑布模型定定义义开开发发维维 护护可行性研究报告可行性研究报告需求规格说明书需求规格说明书设计规格说明书设计规格说明书程序程序测试报告测试报告软件定义软件定义可行性研究与计划可行性研究与计划需求分析需求分析设计设计编码编

7、码测试测试运行和维护运行和维护问题描述问题描述.15瀑布模型瀑布模型所有过程模型的鼻祖。- Royce,1970软件开发过程划分成若干阶段,每个阶段的任务相对独立。从技术和管理两个角度进行严格的审查,经确认之后才开始下一阶段的工作。- 项目是按照一定的顺序执行。瀑布模型是文档驱动的,各个阶段不连续也不交叉。.16瀑布模型的特点瀑布模型的特点阶段间具有顺序性和依赖性。 (两重含义)推迟程序的物理实现。(重要指导思想)质量保证:每个阶段必须完成规定的文档;每个阶段结束前完成文档审查,及早改正错误。(两个重要做法)是一种严格线性的、按阶段顺序的、逐步细化的过程模型(开发模式)。强调需求分析和设计.1

8、7瀑布模型的缺陷瀑布模型的缺陷缺乏灵活性,不能适应用户需求的改变开始阶段的小错误被逐级放大,可能导致软件产品报废返回上一级的开发需要十分高昂的代价随着软件规模和复杂性的增加,软件产品成功的机率大幅下降.18听取用户听取用户意见意见建造建造/ /修改修改原型原型用户测试用户测试运行原型运行原型 3 快速原型模型快速原型模型 (Rapid Prototype Model).19原型开发过程原型开发过程建立原建立原型目标型目标开发原型开发原型定义原型定义原型功能功能评估原型评估原型原型规划原型规划框架定义框架定义可执行原型可执行原型评估报告评估报告用户意见反馈用户意见反馈.20原型模型的优点原型模型

9、的优点快速开发用户反馈逐渐完善.21原型模型的特点原型模型的特点 适用于用户驱动的系统(即需求模糊或随时间变化的系统)。.22原型模型存在的问题原型模型存在的问题不宜用原型作为最后产品(成本)原型模型的作用问题(定义需求)原型法要求开发者与用户密切接触,有时这是不可能的。例如外包软件。.234 演化模型演化模型演化模型是利用一种迭代的思想方法,它的特征是使软件工程师渐进地开发逐步完善的软件版本。增量模型 (Incremental Model)螺旋模型 (Spiral Model).24增量模型示意图增量模型示意图分析分析设计设计编码编码测试测试使用使用分析分析设计设计编码编码测试测试分析分析设

10、计设计编码编码测试测试使用使用使用使用第第1个个增量增量第第2个个增量增量第第n个个增量增量分析组分析组设计组设计组编码组编码组测试组测试组.25增量模型的特点增量模型的特点融合了瀑布模型的基本成分和快速原型的迭代特征;可以根据需要补充人员;以功能递增的方式进行软件开发;能够减少软件产品给用户带来的影响;投资回报随功能增加而渐增;可以有计划的管理风险。.26增量模型和原型模型的区别增量模型和原型模型的区别增量模型与快速原型模型,本质上都是迭代的。两者区别在:增量模型强调每一个增量发布一个可操作的产品。早期的增量提供了为用户服务的功能和给用户评价的平台。.27增量模型存在的问题增量模型存在的问题

11、如果产品整体结构设计不当,则难以为其增加新的增量(对设计水平要求很高)采用增量开发,难以采用彻底的测试.28ReviewCommitmentPartition风险风险分析分析原型原型 1建模建模 模拟模拟 评价评价需求计划需求计划生存期计划生存期计划原型原型2风险分析风险分析软件需求软件需求需求确认需求确认开发计划开发计划风险分析风险分析原型原型3软件产品软件产品设计设计设计确认和验证设计确认和验证集成与测试计集成与测试计划划风险分析风险分析可运行原型可运行原型详细详细设计设计单元单元测试测试编码编码集成测试集成测试验收测试验收测试实现实现计划下一个阶段计划下一个阶段开发,确认以及下开发,确认

12、以及下一级产品一级产品确定目标确定目标 选择方案选择方案 设定约束条件设定约束条件评估方案,识别并评估方案,识别并排除风险排除风险累计成本累计成本各步骤的进度各步骤的进度The spiral model.29螺旋模型(螺旋模型(Spiral Model)Spiral 模型(Boehm, 1988提出)每一圈是一个阶段,每个阶段里又有一些活动。阶段可分为:操作的概念、软件需求、产品设计、详细设计、编码、单元测试、集成和测试、验收测试、实现。活动有:需求与计划、风险分析、设计与制作、用户评价。.30螺旋模型的特点螺旋模型的特点阶段性+迭代演化;风险分析推动(风险分析使得用户和开发人员更好的理解和管

13、理每个阶段的风险);可结合采用多种软件开发方法,但究竟结合哪一种方法仍由风险分析来决定;适合大型软件开发。.31螺旋模型不足螺旋模型不足要求软件开发人员擅长风险分析;风险分析会导致项目终止而终止合同;对于小项目可能对于风险分析的成本与整个项目相当。.325 喷泉模型喷泉模型维护维护确认确认实现实现设计设计分析分析演化演化.33喷泉模型的特点喷泉模型的特点是典型的面向对象生命周期模型“喷泉”这个词体现了面向对象软件开发过程迭代和无缝的特性应该把线性过程作为总目标.346 其他模型其他模型极限编程模型(强调对变化的适应)构件组装模型(基于构件组装)簇模型(强调并行开发)智能模型(将瀑布模型与专家系

14、统结合)RUP模型.357 软件开发过程的一般视图软件开发过程的一般视图无论哪种软件过程模型,软件开发过程都要经历三个典型阶段:定义 Definition开发 Development维护 Maintenance.36定义阶段定义阶段集中于“做什么”三个基本任务系统分析 system analysis软件项目计划 software project planning 需求分析 requirements analysis.37开发阶段开发阶段集中于“如何做”三个特定的任务软件设计 software design编码 coding 软件测试 software testing.38维护阶段维护阶段关注于

15、“变化”四种类型的修改改正 correction适应 adaptation增强 enhancement预防 prevention (软件再工程、逆工程).软件过程软件过程软件开发过程中的坎坎坷坷,仿佛只是人脸的凹凸不平,用热水毛巾一把就可抹平。让我们高举程序主义、软件工程思想的伟大旗帜,紧密团结在以Microsoft为核心的软件公司周围,沿着比尔盖茨的生财之道,不分白天黑夜地编程,把建设有中国特色的软件产业的伟大事业全面推向新世纪。林锐.40小结小结软件过程和软件过程模型的概念一系列不同的软件过程模型,以及各自的优点和缺点。软件通过应用三个不同的阶段定义、开发和维护来实现工程化生产。.41推荐读物推荐读物IEEE软件(IEEESoftware)计算机(Computer)IEEE软件工程学报(IEEETransactionsonSoftwareEngineering)软件发展(SoftwareDevelopment)ACM软件工程和方法学学报(ACMTransactionsonSoftwareEngineering)ACM软件工程评论(ACMSoftwareEngineeringNotes)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 软件测试

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!