实用软件工程ppt教学课件第2章软件开发模型

上传人:aa****6 文档编号:57228253 上传时间:2018-10-20 格式:PPT 页数:44 大小:2.11MB
返回 下载 相关 举报
实用软件工程ppt教学课件第2章软件开发模型_第1页
第1页 / 共44页
实用软件工程ppt教学课件第2章软件开发模型_第2页
第2页 / 共44页
实用软件工程ppt教学课件第2章软件开发模型_第3页
第3页 / 共44页
实用软件工程ppt教学课件第2章软件开发模型_第4页
第4页 / 共44页
实用软件工程ppt教学课件第2章软件开发模型_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《实用软件工程ppt教学课件第2章软件开发模型》由会员分享,可在线阅读,更多相关《实用软件工程ppt教学课件第2章软件开发模型(44页珍藏版)》请在金锄头文库上搜索。

1、第二章 软件开发模型,软件生存周期 软件开发模型 开发模型选用实例 附加内容(PSP、TSP、XP),软件生存周期( life cycle ),软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存期 软件生存期9个步骤:立项(或签合同、下达任务书)、需求分析、概要设计、详细设计、编码实现、软件测试、软件发布与实施、软件维护和版本更新或退役。,软件发布与实施,需求分析,概要设计,编码实现,软件测试,软件维护,计划时期,开发时期,运行时期,软件生存周期示意图,立项、下达任务书,详细设计,版本更新或退役,需求分析和定义,弄清用户对软件系统的全部需求,并用“需求规格说明书”的

2、形式准确地表达出来。需求规格说明书应包括对软件的功能需求、性能需求、环境约束和外部接口等描述。 对用户提出的要求进行分析并给出详细的定义 编写软件需求说明书或系统功能说明书及初步的系统用户手册 提交管理机构评审,软件设计,主要任务是将需求转变为软件的表示形式,有时又可细分为总体设计和详细设计。这一阶段的目的是确定软件的总体结构、数据结构、用户界面和算法细节。 概要设计 把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应 详细设计 对每个模块要完成的工作进行具体的描述,为源程序编写打下基础 编写设计说明书,提交评审。,程序编写,把软件设计转换成计算机

3、可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单” 写出的程序应当是结构良好、清晰易读的,且与设计相一致的,软件测试,按照不同的层次,又可细分为单元测试、综合测试、确认测试和系统测试等步骤。测试是保证软件质量的重要手段。为确保这一工作不受干扰,大型软件的测试通常由独立的部门和人员进行,测试阶段的文档称为“测试报告”,包括测试计划、测试用例与测试结果等内容。,运行维护,改正性维护 运行中发现了软件中的错误需要修正 适应性维护 为了适应变化了的软件工作环境,需做适当变更 完善性维护 为了增强软件的功能需做变更,软件开发(生存期)模型,根据软件生存周期为各项活动的流程确定一个合理

4、的框架,称为软件生存期模型。软件生存期模型直观地表达软件开发全部过程,明确规定要完成的主要活动和任务。(1)瀑布模型(2)快速原型模型(3)增量模型(4)螺旋模型(5)转换模型(6)迭代模型 (Rational Unified Process,RUP),瀑布模型(线形顺序模型),瀑布模型(线形顺序模型),需求规格说明,需求分析,用户要求,详细设计,软件结构图,总体设计,编码,模块说明,确认测试,系统测试,综合测试,程序清单,单元测试,瀑布模型的阶段与文档,瀑布模型的本意,根据软件生存周期是由立项、需求分析、策划、概要设计、详细设计、编程、测试、发布、维护等阶段所组成的,就把每个阶段当作瀑布中的

5、一个台阶,把软件生存过程比喻成瀑布中的流水,软件生存过程在这些台阶中由上向下地奔流。开发人员按照阶段开发,管理人员按照阶段管理。,阶段间的顺序性和依赖性 推迟实现的观点 质量保证的观点,瀑布模型的特征,瀑布模型的特点:,(1) 里程碑或基线驱动,或者说文档驱动; (2) 过程逆转性很差,或者说不可逆转。,选择模型的条件:,不是任何软件都可以采用瀑布模型的,软件项目或产品选择瀑布模型,必须满足下列条件:(1)在开发时间内需求没有或很少变化。(2)分析设计人员对应用领域很熟悉。(3)低风险项目(对目标、环境很熟悉)。(4)用户使用环境很稳定。(5)用户除提出需求以外,很少参与开发。,瀑布模型的缺点

6、,可维护性差,表现在 (1)由于逆转性很差,所以返工会造成重大损失。(2)错误的传递,会采取发散扩大的方式。,按照瀑布模型来开发软件,只有当分析员能够做出准确的需求分析时,才能够得到预期的正确结果。,原型模型,需求分析,原型开发,原型评价,最终系统设计,最终系统实现,快速原型法的生存周期模型,用户 反馈,建立原型系统时常采用的作法,原型系统仅包括未来系统的主要功能,以及系统的重要接口。 为了尽快向用户提供原型,开发原型系统时应尽量使用能缩短开发周期的语言和工具。 除了少数简单的事务系统外,大多数原型都废弃不用,仅把建立原型的过程作为帮助定义软件需求的一种手段。,原型模型本意,在初步需求分析之后

7、,马上向客户展示一个软件产品原型,对客户进行培训,让客户试用,在试用中收集意见,修改原型,再让客户试用,反复循环几次,直到客户确认为止。,原型模型特点:,(1)原型驱动。开发者必须先有一个原型。(2)与迭代模型相同点是反复循环几次,直到客户确认为止。不同点是原型模型事先有一个展示性的产品原型,而迭代模型可能没有。,原型模型的缺点:,因为事先有一个展示性的产品原型,所以在一定程度上,不利于开发人员的创新。,快速原型法,由于原型模型的开发速度较快,有时也将它称做快速原型法(Rapid Prototyping)。在开发工具和开发环境迅速发展的今天,在信息系统开发中,原型法和快速原型法又被赋予新的内容

8、:事先没有原型产品,也可以采取这种办法。基本思路是:采用以面向数据为主的方法,在需求分析的基础上,利用Power Designer等数据库分析和设计工具,快速建立信息系统的概念数据模型CDM和物理数据模型PDM;然后利用面向对象的编程工具,在软件企业强大的类库、构件库的支撑下,快速地实现需求分析中确认的流程、功能、性能和接口;之后交付给用户试用,反复循环几次,直到客户确认满意为止。,快速原型法选择的条件,项目组中有数据库分析和设计的专家,有面向对象编程的专家,文档制作有成熟的模板,而且系统或项目又不是非常大。,增量模型,构件1:,构件2:,构件3:,构件n:,增量模型,规格说明组,设计组,实现

9、和集成组,w 由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,用户只能给出系统的核心,并根据实现的核心系统有效地提出反馈,来支持系统的最终设计和实现。 w 第一次只是试验开发核心系统,其目标只是在于探索可行性,弄清软件需求 w 第二次则在此基础上提出精化系统,获得较为满意的软件产品,特点:,增量模型的本意:,增量模型(Incremental Model) 将软件产品看作一组增量构件,每次设计、实现、集成、测试和交付一块构件,直到所有构件全部实现为止。要开发一个大的软件系统,先开发其中的一个核心模块,然后再开发其他模块,这样一个个模块地增加上去,就象搭积木一样,直至整个系统开发完毕为止

10、。,增量模型的特点:,(1) 任务或功能模块驱动,可以分阶段提交产品;(2) 有多个任务单,这些多个任务单的集合,构成项目的一个总任务书(总用户需求报告)。,选择模型的条件,(1)在项目开发过程中,客户接受分阶段交付。(2)开发人员对应用领域不熟悉,难以一步到位。(3)工期过紧的中等或高风险项目。(4)用户可参与到整个软件开发过程中。(5)使用面向对象语言或第四代语言。(6)软件公司自己有较好的类库、构件库。,增量模型的缺点:,若软件系统的组装和拆卸性不强,或开发人员全局把握水平不高(没有数据库设计专家进行系统集成),或者客户不同意分阶段提交产品,或者开发人员过剩,都不宜采用这种模型。,螺旋模

11、型,螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动 w 制定计划确定软件目标,选定实施方案,弄清项目开发的限制条件 w 风险分析分析该策略可能存在的风险。必要时通过建立一个原型来确定风险的大小;然后据此决定是按原定目标执行,还是修改目标或终止项目 w 实现目标实现本螺旋周期的目标 w 客户评估评价开发工作,提出修正建议,计划下一轮的工作。,步骤:,特点,对于高风险的大型软件,螺旋模型是一个理想的开发过程。它利用快速原型作为降低风险的机制,在任何一次迭代中均可应用原型方法;同时,在总体开发框架上,又保留了瀑布模型中系统性、顺序性和“边开发、边评审”的特点。 在项目的所有阶段直接考虑技

12、术风险,能够在风险变成问题之前降低它的危害。 迭代周期增加开发成本和时间 螺旋模型开发的成败,很大程度上依赖于风险评估的成败。,转换模型,转换模型是结合形式化软件开发方法和程序自动生成技术的一种软件开发模型。它采用严格的、数学的表示体系来表示软件规格说明,然后进行一系列自动或半自动的程序变换,最后转换为计算机系统能够接受的目标程序系统。,形式化 规格说明,与需求比 较后修正,变换2,测试,变换1,变换n,形式化开发记录,系统需求,目标系统,转换模型,迭代模型(RUP),1.模型的本意:迭代是产生可执行的产品发布(内部的或外部的)的完整开发循环,所发布的产品是开发过程最终产品的子集,它将通过一次

13、又一次的迭代递增成长,最后形成最终的软件系统或产品。,迭代模型的特点:,(1)迭代或迭代循环驱动,每一次迭代或迭代循环,均要走完初始、精化、构建、移交4个阶段。(2)面向对象方法和统一建模语言UML,尤其是面向对象的CASE工具Rose,适合于迭代模型。或者说,迭代模型很适合于面向对象的Rose工具。,迭代式生存周期分为4个阶段:,(1)初始阶段。(2)精化阶段。(3)构建阶段。(4)移交阶段。,本阶段是确定系统的业务用况(Use Case)和定义项目的范围。,本阶段是分析问题域、细化产品定义,定义系统的构架并建立基线,为构建阶段的设计和实施工作提供一个稳定的基础。为验证构架,可能要实现系统的

14、原型,执行重要的用况。,本阶段是反复地开发,以完善产品,达到用户的要求。这包括了用况的描述、完成设计、完成实现和对软件进行测试等工作。,本阶段是将产品交付给用户,包括安装、培训、交付、维护等工作。,迭代模型,选择模型的条件,(1)已有产品或产品的原型,只需客户化的项目。(2)简单而熟悉的行业或领域。(3)有快速原型开发工具。(4)进行产品移植或升级。由于上述条件不太苛刻,所以凡是有软件产品的IT企业,在他们熟悉的业务领域内,当客户招标时,他们都会以原型模型作为软件开发模型,去制作投标书,去讲标投标。一旦中标,就用原型模型作为实施项目的指导方针,即对软件产品进行客户化工作,或对软件产品进行二次开发。,瀑布模型实例:教材购销系统,教材购销系统是某高校早期使用过的一个教材管理系统,主要用于对计划供应教材的控制销售与补充采购。该系统主要具有以下功能: (1)根据学校的教学计划,像选课的学生及时供应所需的教材审查学生(个人或班级)购书单的有效性,对有效书单发售教材;对属于计划供应但暂时却获的教材进行缺书登记。 (2)根据缺书登记补充采购所缺的教材,通知学生补购将缺书登记表汇总为待购教材计划;待购教材到货后,及时通知学生补购。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号