第10章 软件设计过程的技术与方法

上传人:zw****58 文档编号:51516827 上传时间:2018-08-14 格式:PPT 页数:78 大小:1.87MB
返回 下载 相关 举报
第10章  软件设计过程的技术与方法_第1页
第1页 / 共78页
第10章  软件设计过程的技术与方法_第2页
第2页 / 共78页
第10章  软件设计过程的技术与方法_第3页
第3页 / 共78页
第10章  软件设计过程的技术与方法_第4页
第4页 / 共78页
第10章  软件设计过程的技术与方法_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《第10章 软件设计过程的技术与方法》由会员分享,可在线阅读,更多相关《第10章 软件设计过程的技术与方法(78页珍藏版)》请在金锄头文库上搜索。

1、 第10章 软件设计过程的技术与方法 软件设计过程的技术与方法10.1 软件工程方法学10.2 软件工程的标准化10.3 软件设计常用的文档类型及作用10.4 能力成熟度模型CMM 10.1软件工程方法学 软件工程方法学 10.1.1 软软件开发发流程与软软件工程方法学 软软件工程方法学是指导导和管理软软件开发发的应应用工程学 科,一个软软件的开发发流程不外乎涉及三个方面的内容:分析 、软软件设计设计 和实现实现 。随着开发发方法的不断进进步,人们设们设 计计了不同的软软件生命周期模型。对对不同生命周期模型实现实现 过过程的演化反映了软软件工程方法的进进化。纵观软纵观软 件工程方 法的进进化过

2、过程,经历经历 了从概念的提出到相关技术术的研究, 再到软软件工程方法学的形成;从相关工具的形成,再到相关 工具的实现实现 等一系列的过过程,逐步形成当前指导软导软 件开发发 的技术术基础础。软软件工程方法的每一步发发展都充分体现现了在 保证产证产 品质质量前提下提高开发发速度的基本目标标。软件工程方法学 10.1.2 软软件工程基本方法 软软件工程方法在软软件开发发的长长期过过程中随着软软件工程 技术术的不断进进步而不断完善,软软件工程的基本方法经历经历 了 传统传统 的结结构化方法、面向对对象方法、软软件过过程方法和构件 工程方法四个阶阶段的演变变。虽虽然软软件工程方法取得了很大 的进进步

3、,但是当前采用的软软件开发发方法主要还还是结结构化方 法、面向对对象方法。因为对为对 相当数量的软软件系统统来说说,以 上两种方法,尤其是结结构化方法,仍然是目前较为较为 有效的 软软件开发发方法。在本教材中主要使用结结构化方法和面向对对 象方法描述软软件开发发的基本过过程。软件工程方法学 1.结结构化方法 结结构化方法是按功能将问题问题 分解抽象成模块块、建立模 块块和模块块之间间的调调用关系来进进行软软件开发发的。它的基本思 想是将系统统中的功能与数据相分离。 结结构化方法是一种围绕围绕 功能来组织软组织软 件系统统的方法, 在这这种方法中,系统统的基本构成要素是模块块,它是一种实实 现现

4、系统单统单 一功能的程序单单元。模块块具有输输入、输输出、内部 数据和过过程等基本要素。软件工程方法学 2.面向对对象方法 面向对对象开发发方法是继结继结 构化开发发方法之后,着重解 决系统统需求变变化和维护维护 困难难等问题问题 而发发展起来的一种全新 的方法。面向对对象方法是一种围绕围绕 真实实世界中的事物来组组 织软织软 件系统统的全新方法。在这这种方法中,系统统的基本构成 要素是对对象。从软软件开发发人员员的角度来看,对对象是一种将 数据和处处理这这些数据的操作合并在一起的程序单单元;从用户户 的角度来看,对对象是一种具有某些属性和行为为的事物。对对 象可以是具体的,也可以是概念性的。

5、对对象具有标识标识 惟一 性、分类类性、多态态性、继继承性和封装性等基本特性。软件工程方法学 3.软软件过过程方法 软软件过过程方法起始于软软件开发发的过过程思想。随着软软件 工程不同开发发模型的相继继提出,开发发人员员从注重软软件开发发 的各个独立活动动步骤发骤发 展到探究以软软件开发过发过 程中的方法 、机制等内容为为基础础的思维维方式,逐渐渐形成了软软件开发发的 过过程概念。软件工程方法学 软件过程概念在1984年10月召开的第一届国际软件过 程讨论会上首次正式提出,并将软件过程定义为:“软件过程 (Software Process)是在软件生存期中所实施的一系列 活动的集合,且每个活动

6、可由一些任务组成。” 进入20世纪90年代,国际标准化组织(ISO)和国际电 器电子工程师学会(IEEE)分别推出软件过程标准, 将软件过程概念进一步扩展为多视面(Multi View)的过程 。它把软件过程定义为“软件生命周期过程或软件过程组, 是指软件生命周期中的一系列相关过程。过程是活动的集合 ,活动是任务的集合,任务则起到把输入加工成输出的作用 。活动的执行可以是顺序的、迭代的(重复的)、并行的、 嵌套的或者是有条件地引发的。它从合同、工程、运作、管 理等视面研究软件生存期中所涉及的各种过程和活动。”软件工程方法学 软件过程方法是为建立软件过程所必须实施的一系列工 程化的活动,它的研究

7、对象是与此有关的方法、工具和环境 。它的出现被认为是人们对软件工程方法认识的又一次质的 飞跃。它促使软件开发人员把注意力从抽象的软件生命周期 模型转向对软件项目成功起着关键作用的过程细节。软件工程方法学 4.构件工程方法 基于构件的软软件工程(Component-Based Software Engineering,CBSE)是强调调使用可复用的软软件构件来设设 计计和构造基于计计算机的系统统。它借鉴鉴了工业业界开发发新产产品 中的使用已有部件,而不是一切都从头头开始设计设计 的成功经经 验验。软件工程方法学 软件复用的基础是由专门的软件企业生产的软件组件( Component),即构件。软件

8、开发人员在软件开发时可大 量复用这些规范的、高效的软件构件,以达到降低软件的开 发费用,提高软件的生产效率和提高软件质量的目的。 在基于构件的软件工程方法的实施中,包含领域工程 和基于构件的开发这两个并行的工程活动。领域工程是在应 用领域探索可以复用的内容,这些内容包括功能模块、操作 和数据。软件工程方法学 基于构件的开发包括以下基本过程: (1)以客户的需求为基础,确定满足欲开发目标系统的体 系结构。 (2)在可复用构件库中找出与本系统开发有关的构件。 (3)根据目标系统的体系结构确定符合要求的构件。 (4)对构件进行适应性修改,使其更好地满足系统集成的 要求。 (5)集成构件以形成子系统和

9、应用整体。在开发中,若构 件库中已存在的构件不能满足系统开发的要求,还需要订制 符合系统开发要求的构件。软件工程方法学 10.1.3 软软件对对象与方法选择选择 软软件工程方法的选择选择 与软软件系统统的特征有密切的关系 ,在软软件的设计设计 中一般涉及两类类常见见的软软件系统统。一类类系 统统需求明确而且不随设计过设计过 程变变化,这类这类 系统统的设计设计 目 标标及功能可以预预先指定。在实际应实际应 用中属于这类这类 系统统的有 工艺稳艺稳 定的生产过产过 程的计计算机控制系统统、通讯设备讯设备 的控制 系统统或者是计计算机中的操作系统统、编译编译 程序、数据库库系统统 等系统软统软 件

10、。这类这类 系统统的开发发,与传统传统 的工程方法十分类类 似,一般先进进行规规范的需求分析,需求规规格说说明书书可以制 定得非常精确和完整。在严严格的组织组织 管理下采用以瀑布模 型和结结构化分析及设计为设计为 代表的传统软传统软 件工程方法。软件工程方法学 这这种软软件开发发方法的主要特征是强调调生命周期前期的 需求分析,假设设用户户的需求可以完全预预先获获取,认为认为 在后 期的开发过发过 程中这这个需求分析的结结果是稳稳定的,基本不变变 的。这类软这类软 件系统统的开发过发过 程是有规规律的、可预预先计计划的 ,通常这类这类 系统统也称为过为过 程驱动驱动 的系统统。在目前大多数软软

11、件系统统的开发发中,上述方法仍然对软对软 件开发发有着十分重要 的指导导意义义,尤其是在项项目管理方面。在实际应实际应 用设计设计 中 ,即使是对对一些复杂杂的、不确定的软软件系统统的开发发,仍然 可以在开发过发过 程中部分地使用传统传统 的软软件工程方法。软件工程方法学 在软件系统的开发中,用户的需求在大多数情况下是模 糊的或随时间变化的。在这一类系统的开发中,甚至在系统 开发完成后,在用户的使用过程中,用户还会由于需求的变 化提出修改的要求。这类系统的变化是在用户对系统的认识 不断深化和要求更加确切的情况下而驱动的,所以这类系统 一般也称为用户驱动的系统。例如在各行各业中普遍使用的 管理信

12、息系统、决策支持系统以及某些面向终端用户需要的 系统等。开发这一类系统需要采用反复试探的技术,这类系 统必须具有快速、简便地进行调整的特性。因此所用的开发 方法也必须能迅速构建,反复试用和改进以满足变化和渐进 的要求。这就对可提高软件系统的稳定性、可修改性和可重 用性的面向对象方法、构件方法以及其他更新的开发方法提 出了需求。软件工程方法学 从上面的分析可以看出,要充分地对开发对象予以考虑 ,以选择合适的软件开发方法。这不但需要开发人员对所开 发的系统进行仔细地分析、理解和认识,也需要在软件的开 发中积累经验,以便根据实际的问题选择适当的方法以经济 、快捷的方式达到应用系统的目的。10.2软件

13、工程的标准化软件工程的标准化 软件工程的基本思路是借助工程的方法开发软件,因此 将工程中成熟的技术和方法应用在软件工程中是一条简捷、 必要的途径。在各类工程技术中,标准化技术对工程项目的 顺利实施、保证工程质量起到了重要的作用。采用标准化的 方法,首先可以在企业内建立起最佳的生产秩序、技术秩序 、安全秩序、管理秩序,使企业的生产活动和经营管理活动 井然有序,避免混乱。另外,还可以获得最佳的社会效益和 经济效益,因为一个标准的制定不仅要考虑标准在技术上的 先进性,还要考虑经济上的合理性。软件工程的标准化 在软件的开发过程中,随着软件生命周期的演化,涉及 许多技术、管理以及确认与验证工作。用规范的

14、方法和要求 来提供统一操作规程和衡量标准,使软件开发的各个工作环 节都有章可循,保证软件开发的最佳效益,对软件的成功开 发有重要的作用。难怪有人认为,软件开发的工程化和标准 化是克服软件危机的有效途径。 软件工程的标准化 10.2.1 软软件工程标标准化的意义义软软件工程标标准化是随着软软件工程学的蓬勃发发展而产产生 、发发展起来的。通过过开展软软件工程标标准化,可以将软软件开 发发中复杂杂、多样样、无序的事物或概念转变为简单转变为简单 、规规整、 有序的事物或概念,以求在一定范围围内达成某种共识识,满满 足软软件开发发技术发术发 展的需要。软软件工程标标准化对实现资对实现资 源共享,大幅度缩

15、缩短软软件开发发周期,节节省软软件的开发经费发经费 和运行维护维护 成本,改进产进产 品的安全性、通用性、可靠性和 可维护维护 性,提高生产产效率、节节省资资源等都有重要的意义义, 由此可以获获得巨大的社会效益和经济经济 效益。由于计计算机信 息技术术在新一轮轮技术术革命中起着领导领导 与促进进作用,其特征 决定了软软件工程标标准化实实施的重要性。软件工程的标准化 10.2.2 软软件工程标标准化的内容 由于软软件工程是一项针对软项针对软 件开发发的复杂杂的系统统工程 ,因此它涉及的领领域也是多方面的。它不仅仅包括软软件开发发 的管理、工程和产产品,也包括职业术语职业术语 等方面的内容。软软

16、件工程的标标准化一般从两个方面来规规范软软件的开发发:(1) 程序设计语设计语 言的标标准化。为为某一程序设计语设计语 言规规定若干个 标标准子集,对对于语语言的实现实现 者和用户户都带带来了很大方便。 (2)软软件过过程的标标准化。为软为软 件生命周期各个阶阶段的工 作建立标标准或规规范。例如国家标标准GB/T155381995软软 件工程标标准分类类法就是有关软软件工程标标准的分类标类标 准。软件工程的标准化 软件工程标准涉及到过程管理、产品管理、资源管理以 及确认与验证等多方面的内容,具体说它包括过程标准 涉及方法、技术、度量等;产品标准涉及需求、设 计、部件、描述、计划、报告等;专业标准涉及职别 、道德准则、认证、特许、课程等;记法标准涉及术 语、表示法、语言等。软件工程的标准化 10.2.

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

最新文档


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

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