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

上传人:aa****6 文档编号:49572619 上传时间:2018-07-31 格式:PPT 页数:44 大小:2.16MB
返回 下载 相关 举报
实用软件工程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、第二章 软件开发模型v软件生存周期v软件开发模型v开发模型选用实例v附加内容(PSP、TSP、XP)软软件生存周期(件生存周期( life cyclelife cycle ) 软件有一个孕育、诞生、成长、成熟、软件有一个孕育、诞生、成长、成熟、 衰亡的生存过程。这个过程即为计算机衰亡的生存过程。这个过程即为计算机 软件的生存期软件的生存期 软件生存期软件生存期9 9个步骤:立项(或签合同、个步骤:立项(或签合同、 下达任务书)、需求分析、概要设计、下达任务书)、需求分析、概要设计、 详细设计、编码实现、软件测试、软件详细设计、编码实现、软件测试、软件 发布与实施、软件维护和版本更新或退发布与实

2、施、软件维护和版本更新或退 役。役。软件发布与实施需求分析概要设计编码实现软件测试软件维护计划时期开发时期运行时期软件生存周期示意图软件生存周期示意图立项、下达任务书详细设计版本更新或退役需求分析和定义需求分析和定义弄清用户对软件系统的全部需求,并用弄清用户对软件系统的全部需求,并用“ “ 需求规格说明书需求规格说明书” ”的形式准确地表达出来。需的形式准确地表达出来。需 求规格说明书应包括对软件的功能需求、性求规格说明书应包括对软件的功能需求、性 能需求、环境约束和外部接口等描述。能需求、环境约束和外部接口等描述。 对用户提出的要求进行对用户提出的要求进行分析分析并给出并给出详细的定详细的定

3、 义义 编写编写软件需求说明书软件需求说明书或或系统功能说明书系统功能说明书及及初初 步的系统用户手册步的系统用户手册 提交管理机构提交管理机构评审评审软件设计软件设计主要任务是将需求转变为软件的表示形式,有主要任务是将需求转变为软件的表示形式,有 时又可细分为总体设计和详细设计。这一阶段的目时又可细分为总体设计和详细设计。这一阶段的目 的是确定软件的总体结构、数据结构、用户界面和的是确定软件的总体结构、数据结构、用户界面和 算法细节。算法细节。 概要设计概要设计 把各项需求转换成软件的体系结构。把各项需求转换成软件的体系结构。 结构中每一组成部分都是意义明确的模块,每个模结构中每一组成部分都

4、是意义明确的模块,每个模 块都和某些需求相对应块都和某些需求相对应 详细设计详细设计 对每个模块要完成的工作进行具体的对每个模块要完成的工作进行具体的 描述,为源程序编写打下基础描述,为源程序编写打下基础 编写设计说明书,提交评审编写设计说明书,提交评审。程序编写程序编写 把软件设计转换成计算机可以接受的程把软件设计转换成计算机可以接受的程 序代码,即写成以某一种特定程序设计序代码,即写成以某一种特定程序设计 语言表示的语言表示的“ “源程序清单源程序清单” ” 写出的程序应当是结构良好、清晰易读写出的程序应当是结构良好、清晰易读 的,且与设计相一致的的,且与设计相一致的软件测试软件测试 按照

5、不同的层次,又可细分为单元测试、按照不同的层次,又可细分为单元测试、 综合测试、确认测试和系统测试等步骤。综合测试、确认测试和系统测试等步骤。 测试是保证软件质量的重要手段。为确保测试是保证软件质量的重要手段。为确保 这一工作不受干扰,大型软件的测试通常这一工作不受干扰,大型软件的测试通常 由独立的部门和人员进行,测试阶段的文由独立的部门和人员进行,测试阶段的文 档称为档称为“ “测试报告测试报告” ”,包括测试计划、测试,包括测试计划、测试 用例与测试结果等内容。用例与测试结果等内容。运行维护运行维护 改正性维护改正性维护 运行中发现了软件中运行中发现了软件中 的错误需要修正的错误需要修正

6、适应性维护适应性维护 为了适应变化了的软为了适应变化了的软 件工作环境,需做适当变更件工作环境,需做适当变更 完善性维护完善性维护 为了增强软件的功能为了增强软件的功能 需做变更需做变更软件开发(生存期)模型软件开发(生存期)模型根据软件生存周期为各项活动的流程确定一个 合理的框架,称为软件生存期模型。软件生存期模 型直观地表达软件开发全部过程,明确规定要完成 的主要活动和任务。(1)瀑布模型(2)快速原型模型(3)增量模型(4)螺旋模型(5)转换模型(6)迭代模型 (Rational Unified Process,RUP)软件演化模型传统开发模型瀑布模型(线形顺序模型)瀑布模型(线形顺序模

7、型)瀑布模型(线形顺序模型)瀑布模型(线形顺序模型)需求规格说明需求分析用户要求详细设计软件结构图总体设计编码模块说明确认测试系统测试综合测试程序清单单元测试瀑布模型的阶段与文档瀑布模型的本意 根据软件生存周期是由立项、需求分析、 策划、概要设计、详细设计、编程、测试 、发布、维护等阶段所组成的,就把每个 阶段当作瀑布中的一个台阶,把软件生存 过程比喻成瀑布中的流水,软件生存过程 在这些台阶中由上向下地奔流。开发人员 按照阶段开发,管理人员按照阶段管理。 阶段间的顺序性和依赖性 推迟实现的观点 质量保证的观点瀑布模型的特征瀑布模型的特点:(1) 里程碑或基线驱动,或者说文档驱动 ; (2) 过

8、程逆转性很差,或者说不可逆转。选择模型的条件:不是任何软件都可以采用瀑布模型的,软件 项目或产品选择瀑布模型,必须满足下列条 件:(1)在开发时间内需求没有或很少变化。(2)分析设计人员对应用领域很熟悉。(3)低风险项目(对目标、环境很熟悉)。(4)用户使用环境很稳定。(5)用户除提出需求以外,很少参与开发。瀑布模型的缺点 可维护性差,表现在 (1)由于逆转性很差,所以返工会造成 重大损失。(2)错误的传递,会采取发散扩大的方 式。 按照瀑布模型来开发软件,只有当分析员能够 做出准确的需求分析时,才能够得到预期的正 确结果。原型模型原型模型需求分析原型开发原型评价最终系统设计最终系统实现快速原

9、型法的生存周期模型用户 反馈建立原型系统时常采用的作法 原型系统仅包括未来系统的主要功能, 以及系统的重要接口。 为了尽快向用户提供原型,开发原型系 统时应尽量使用能缩短开发周期的语言 和工具。 除了少数简单的事务系统外,大多数原 型都废弃不用,仅把建立原型的过程作 为帮助定义软件需求的一种手段。原型模型本意在初步需求分析之后,马上向客户展示一 个软件产品原型,对客户进行培训,让客 户试用,在试用中收集意见,修改原型, 再让客户试用,反复循环几次,直到客户 确认为止。原型模型特点:(1)原型驱动。开发者必须先有一个原 型。(2)与迭代模型相同点是反复循环几次 ,直到客户确认为止。不同点是原型模

10、 型事先有一个展示性的产品原型,而迭 代模型可能没有。原型模型的缺点: 因为事先有一个展示性的产品原型,所 以在一定程度上,不利于开发人员的创 新。 快速原型法 由于原型模型的开发速度较快,有时也将它称 做快速原型法(Rapid Prototyping)。在开发 工具和开发环境迅速发展的今天,在信息系统 开发中,原型法和快速原型法又被赋予新的内 容:事先没有原型产品,也可以采取这种办法 。基本思路是:采用以面向数据为主的方法, 在需求分析的基础上,利用Power Designer等 数据库分析和设计工具,快速建立信息系统的 概念数据模型CDM和物理数据模型PDM;然后利 用面向对象的编程工具,

11、在软件企业强大的类 库、构件库的支撑下,快速地实现需求分析中 确认的流程、功能、性能和接口;之后交付给 用户试用,反复循环几次,直到客户确认满意 为止。快速原型法选择的条件项目组中有数据库分析和设计的专家,有 面向对象编程的专家,文档制作有成熟 的模板,而且系统或项目又不是非常大 。 增量增量模型模型构件1:构件2:构件3:构件n:规格说明设计实现和集成交付客户规格说明设计实现和集成交付客户规格说明设计实现和集成交付客户规格说明设计实现和集成交付客户增量模型规格说明组设计组实现和集成组w 由于在项目开发的初始阶段人们对软件 的需求认识常常不够清晰,用户只能给出系统 的核心,并根据实现的核心系统

12、有效地提出反 馈,来支持系统的最终设计和实现。w 第一次只是试验开发核心系统,其目标 只是在于探索可行性,弄清软件需求w 第二次则在此基础上提出精化系统,获 得较为满意的软件产品特点:增量模型的本意: 增量模型(Incremental Model) 将软件产 品看作一组增量构件,每次设计、实现、 集成、测试和交付一块构件,直到所有构 件全部实现为止。 要开发一个大的软件系统,先开发其中的 一个核心模块,然后再开发其他模块,这 样一个个模块地增加上去,就象搭积木一 样,直至整个系统开发完毕为止。增量模型的特点: (1) 任务或功能模块驱动,可以分阶段 提交产品;(2) 有多个任务单,这些多个任务

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

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

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

16、点:(1)迭代或迭代循环驱动,每一次迭代 或迭代循环,均要走完初始、精化、构 建、移交4个阶段。(2)面向对象方法和统一建模语言UML, 尤其是面向对象的CASE工具Rose,适合 于迭代模型。或者说,迭代模型很适合 于面向对象的Rose工具。迭代式生存周期分为4个阶段:(1)初始阶段。(2)精化阶段。(3)构建阶段。(4)移交阶段。本阶段是确定系统的业务用况 (Use Case)和定义项目的范 围。本阶段是分析问题域、细化产品定 义,定义系统的构架并建立基线, 为构建阶段的设计和实施工作提供 一个稳定的基础。为验证构架,可 能要实现系统的原型,执行重要的 用况。本阶段是反复地开发,以完善产品 ,达到用户的要求。这包括了用况 的描述、完成设计、

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

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