软件工程软件开发模型lyh.ppt
《软件工程软件开发模型lyh.ppt》由会员分享,可在线阅读,更多相关《软件工程软件开发模型lyh.ppt(65页珍藏版)》请在三一办公上搜索。
1、1,第二章 软件开发模型,2.1 软件生存周期 2.2 传统软件开发模型 2.3 软件演化模型 2.4 面向对象开发模型 2.5 形式化方法模型,教学内容:,教学目的:,初步了解软件的生存周期模型,软件生存期各个阶段的特点和内容,2,软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为软件的生存期软件生存期包含三个阶段:软件定义、软件开发及软件运行维护。软件生存期模型是软件工程思想的具体化,是跨越软件生存期的系统开发、运行、维护所实施的全部活动和任务的过程框架。软件生存期一般划分为计划、开发、运行三个时期,每一个时期又区分为若干个阶段。计划时期有问题定义和可行性研究两个阶段;开发时期
2、有需求分析、系统设计、编码和测试4个阶段;运行时期主要是系统维护阶段。,2.1软件生存周期,3,软件生存周期,计划时期的主要任务是调查和分析:调查用户需求,分析新系统的主要目标,分析开发该系统的可行性。,开发时期要完成设计和实现两个任务。其中设计任务用需求分析、软件设计两个阶段完成,实现任务用编码和测试来完成。,运行时期的主要任务是做好软件的维护。,软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。,4,2.2 传统软件开发模型,“WhatHowChange”概括了软件开发活动(定义、开发、维护)中的主要特征。传统的软件开发模型主要有瀑布模型与快速原型模型。,5,2.2.1 瀑布模型
3、,各项活动按自上而下,相互衔接的固定次序,如同瀑布逐级下落。每项活动均处于一个质量环(输入-处理-输出-评审)中。,6,制定计划,确定要开发软件系统的总目标;给出功能、性能、可靠性以及接口等方面的要求;完成该软件任务的可行性研究;估计可利用的资源(硬件,软件,人力等)、成本、效益、开发进度;制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。,7,需求分析和定义,对用户提出的要求进行分析并给出详细的定义;编写软件需求说明书或系统功能说明书及初步的系统用户手册;提交管理机构评审。,8,软件设计,概要设计 把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模
4、块都和某些需求相对应;详细设计 对每个模块要完成的工作进行具体的描述,为源程序编写打下基础;编写设计说明书,提交评审。,9,程序编写,把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”;写出的程序应当是结构良好、清晰易读的,且与设计相一致的。,10,软件测试,单元测试,查找各模块在功能和结构上存在的问题并加以纠正;组装测试,将已测试过的模块按一定顺序组装起来;按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用。,11,运行维护,纠正性维护 运行中发现了软件中的错误需要 修正;适应性维护 为了适应变化了的软件工作环境,需做适
5、当变更;完善性维护 为了增强软件的功能需做变更。预防性维护,按照传统瀑布模型开发软件的特点,1.阶段间具有顺序性和依赖性。2.推迟实现的观点。3.每个阶段必须完成规定的文档;每个阶段结束 前完成文档审查,及早改正错误。,13,传统瀑布模型开发软件带来的问题:,过程基本不可迭代 需求在开始的不确定性 错误到最后才能发现 开发进程呈现塞阻状态,14,软件生存期循环,15,2.2.2 快速原型模型,快速原型模型(Rapid Prototype Model)的主要做法是:首先建立一个能够反映用户主要需求的原型,让用户实际看一看未来系统的概貌,以便判断哪些功能是符合需要的,哪些方面还需要改进。快速原型系
6、统的优越性主要体现在:软件开发人员向用户提供一个“样品”,用户向开发人员迅速作出“反馈”。,16,快速原型模型图示,17,原型模型,原型产生步骤,18,如何产生快速原型系统?,原型系统仅包括未来系统的主要功能,以及系统的重要接口。为了尽快向用户提供原型,开发原型系统时应尽量使用能缩短开发周期的语言和工具。把原型系统作为基础,通过补充与修改获得最终的实际系统。,19,快速原型模型带来的问题:,需要足够的人力资源 用户和设计都成为关键适用于MIS形式的系统,2.3 软件演化模型,传统开发模型共同特征:线性思维而大部分复杂软件采用渐增式或迭代的开发方法,它们属于软件演化模型。,21,演化模型,由于在
7、项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在所难免。做两次;第一次只是试验开发,其目标只是在于探索可行性,弄清软件需求;第二次则在此基础上获得较为满意的软件产品。,22,演化模型,先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。,23,演化模型,增量模型(Incremental Model)螺旋模型(Sprial Model),1.增量模型(递增模型),先完成一个系统子集的开发,再按同样的开发步骤增加功能(系统子集),如此递增下去直至满足全部系统需求。系统的总体设计在初始子集设计
8、阶段就应作出设想。,25,增量演化模型,分析,设计,编码,测试,分析,设计,编码,测试,分析,设计,编码,测试,分析,设计,编码,测试,增量2,增量3,增量4,增量1,第1个增量的发布,第2个增量的发布,第3个增量的发布,第4增量的发布,要点:顺序过程和原型过程相结合强调版本升级每个版本的开发遵循顺序过程,26,增量模型,把软件产品分解成一系列的增量构件,在增量开发迭代中逐步加入。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。增量开发方法的新演进版本叫做“极限程序设计(eXtreme Programming)”。,2.螺旋模型,结合瀑布模型与快速原型的基础上增加了风险分析,28,螺
9、旋模型,螺旋模型沿着螺线旋转,在四个象限上分别表达四个方面的活动,即:制定计划 确定软件目标,选定实施方案,弄清项目开发的限制条件;风险分析 分析所选方案,考虑如何识别和消除风险;实施工程 实施软件开发客户评估 评价开发,提出修正建议。,29,螺旋模型,决定目标、方案和限制,评价方案、识别风险、弱化风险,开发、验证、下一级产品,计划下一阶段,集成测试,30,风险分析,工程,构造及发布,用户评估,客户交流,计划,项目入口,螺旋模型,轴线,与增量模型的区别:活动划分不同更强调“计划”、“风险分析”和“用户评估”版本有更明确的目标,要点:相似于增量模型,是顺序过程与原型过程的统一,强调版本和版本升级
10、。,版本的明确目标:概念项目增量项目维护项目,31,螺旋模型,螺旋模型将瀑布模型与快速原形模型结合起来,并且加入两种模型均忽略了的风险分析。螺旋模型沿着螺线旋转,自内向外每旋转一圈便开发出更完善的一个新版本。,2.4 面向对象模型,为什么要引入面向对象的设计方法,面向对象的设计方法与面向过程的设计方法有什么关系,33,面向过程程序设计缺点的根源在于数据与数据处理分离。面向对象程序设计模拟自然界认识和处理事物的方法,将数据和对数据的操作方法放在一起,形成一个相对独立的整体对象(object),同类对象还可抽象出共性,形成类(class)。一个类中的数据通常只能通过本类提供的方法进行处理,这些方法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 软件 开发 模型 lyh

链接地址:https://www.31ppt.com/p-5641096.html