软件工程 教学课件 ppt 作者 张海藩 第二章

上传人:E**** 文档编号:89542522 上传时间:2019-05-27 格式:PPT 页数:24 大小:446KB
返回 下载 相关 举报
软件工程 教学课件 ppt 作者  张海藩 第二章_第1页
第1页 / 共24页
软件工程 教学课件 ppt 作者  张海藩 第二章_第2页
第2页 / 共24页
软件工程 教学课件 ppt 作者  张海藩 第二章_第3页
第3页 / 共24页
软件工程 教学课件 ppt 作者  张海藩 第二章_第4页
第4页 / 共24页
软件工程 教学课件 ppt 作者  张海藩 第二章_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《软件工程 教学课件 ppt 作者 张海藩 第二章》由会员分享,可在线阅读,更多相关《软件工程 教学课件 ppt 作者 张海藩 第二章(24页珍藏版)》请在金锄头文库上搜索。

1、第2章 软件过程,软件工程过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 2.1 软件生命周期的基本任务 2.2 瀑布模型 2.3 快速原型模型 2.4 增量模型 2.5 螺旋模型 2.6 喷泉模型,退出,2.1 软件生命周期的基本任务, 概括地说,软件生命周期由软件定义、软件开发和运行维护三个时期组成,每个时期又可进一步划分成若干个阶段。,下面简要介绍上述各个阶段应该完成的基本任务。 1.问题定义 问题定义阶段必须回答的关键问题是:“要解决的问题是什么”。 2.可行性研究 这个阶段要回答的关键问题是:“上一个阶段所确定的问题是否有行得通的解决办法”。

2、3.需求分析 这个阶段的任务仍然不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”这个问题。 这个阶段的另外一项重要任务,是用正式文档准确地记录对目标系统的需求,这份文档通常称为规格说明(specification)。,4.概要设计 这个阶段的基本任务是,概括地回答“怎样实现目标系统?”这个问题。概要设计又称为初步设计、逻辑设计、高层设计或总体设计。 首先,应该设计出实现目标系统的几种可能的方案。 概要设计的另一项主要任务就是设计程序的体系结构,也就是确定程序由哪些模块组成以及模块间的关系。 5.详细设计 概要设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段的任务就是

3、把解法具体化,也就是回答“应该怎样具体地实现这个系统”这个关键问题。这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。,6.编码和单元测试 这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。 7.综合测试 这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。,8.软件维护 维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。 通常有四类维护活动:改正性维护,也就是诊断和改正在使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预防性维护,即修改软件为将来的维护活动

4、预先做准备。 在实际从事软件开发工作时,软件规模、种类、开发环境及开发时使用的技术方法等因素,影响阶段的划分。 生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。,2.2 瀑布模型,在20世纪80年代之前,瀑布模型一直是唯一被广泛采用的生命周期模型,现在它仍然是软件工程中应用得最广泛的过程模型。图2.1所示为传统的瀑布模型。 按照传统的瀑布模型来开发软件,有如下几个特点。 (1) 阶段间具有顺序性和依赖性 (2) 推迟实现的观点 清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现,是按照瀑布模型开发软件的一条重要的指导思想。,图2.1 传统的瀑布模型,(

5、3) 质量保证的观点 每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。 每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。 实际的瀑布模型是带“反馈环”的,如图2.2所示(图中实线箭头表示开发过程,虚线箭头表示维护过程)。当在后面阶段发现前面阶段的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的产品之后再回来继续完成后面阶段的任务。,图2.2 实际的瀑布模型,2.3快速原型模型,所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。如图2.3所示(图中实线箭头表示开发过程,虚线箭头表

6、示维护过程),快速原型模型的第一步是快速建立一个能反映用户主要需求的原型系统,让用户在计算机上试用它,通过实践来了解目标系统的概貌。通常,用户试用原型系统之后会提出许多修改意见,开发人员按照用户的意见快速地修改原型系统,然后再次请用户试用。一旦用户认为这个原型系统确实能做他们所需要的工作,开发人员便可据此书写规格说明文档,根据这份文档开发出的软件可以满足用户的真实需求。,2.3快速原型模型,快速原型的本质是“快速”。开发人员应该尽可能快地建造出原型系统,以加速软件开发过程,节约软件开发成本。原型的用途是获知用户的真正需求,一旦需求确定了,原型将被抛弃。,2.4 增量模型,增量模型也称为渐增模型

7、,如图2.4所示。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。使用增量模型时,第一个增量构件往往实现软件的基本需求,提供最核心的功能。,图2.4增量模型,图2.5 风险更大的增量模型,2.5 螺旋模型,软件开发几乎总要冒一定风险,因此,在软件开发过程中必须及时识别和分析风险,并且采取适当措施以消除或减少风险的危害。 螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险。理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型,如图2.6所示。 完整的螺旋模型如图2.7所

8、示。图中带箭头的点划线的长度代表当前累计的开发费用,螺线旋过的角度值代表开发进度。,图2.6 简化的螺旋模型,图2.7 完整的螺旋模型,2.6 喷泉模型,迭代是软件开发过程中普遍存在的一种内在属性。经验表明,软件过程各个阶段之间的迭代或一个阶段内各个工作步骤之间的迭代,在面向对象范型中比在结构化范型中更常见。图2.8所示的喷泉模型是典型的面向对象生命周期模型。 “喷泉”这个词体现了面向对象软件开发过程迭代和无缝的特性。 为避免使用喷泉模型开发软件时开发过程过分无序,应该把一个线性过程(例如,快速原型模型或图2.8中的中心垂线)作为总目标。但是,同时也应该记住,面向对象范型本身要求经常对开发活动

9、进行迭代或求精。,图2.8 喷泉模型,2.7 小结,软件过程是为了获得高质量软件产品所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程必须科学、合理,才能开发出高质量的软件产品。 按照在软件生命周期全过程中应完成的任务的性质,在概念上可以把软件生命周期划分成问题定义、可行性研究、需求分析、概要设计、详细设计、编码和单元测试、综合测试以及维护等八个阶段。实际从事软件开发工作时,软件规模、种类、开发环境及使用的技术方法等因素,都影响阶段的划分。因此,一个科学、有效的软件过程应该定义一组适合于所承担的项目特点的任务集合。,生命周期模型(即软件过程模型)规定了把生命周期划分成的阶段

10、及各个阶段的执行顺序。本章介绍了五类典型的软件生命周期模型。瀑布模型历史悠久、广为人知,它的优势在于它是规范的、文档驱动的方法;这种模型的问题是,最终交付的产品可能不是用户真正需要的。 快速原型模型正是为了克服瀑布模型的缺点而提出来的。它通过快速构建起一个可运行的原型系统,让用户试用原型并收集用户反馈意见的办法,获取用户的真实需求。 增量模型具有能在软件开发的早期阶段使投资获得明显回报和易于维护的优点,但是,要求软件具有开放结构是使用这种模型时固有的困难。, 风险驱动的螺旋模型适用于大规模的内部开发项目,但是,只有在开发人员具有风险分析和排除风险的经验及专门知识时,使用这种模型才会获得成功。 当使用面向对象范型开发软件时,软件生命周期必须是循环的,也就是说,软件过程必须支持反馈和迭代。喷泉模型是一种典型的适合于面向对象范型的过程模型。 每个软件开发组织都应该选择适合于本组织及所要开发的软件特点的软件生命周期模型。这样的模型应该把各种生命周期模型的合适特性有机地结合起来,以便尽量减少它们的缺点,充分利用它们的优点。,

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

当前位置:首页 > 高等教育 > 大学课件

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