软件工程 科学出版社 郑逢斌主编 第8章 软件设计基础 课后习题答案

软件工程 科学出版社 郑逢斌主编 第8章 软件设计基础 课后习题答案

1.什么是软件设计?它的目标和任务是什么?

<1>软件设计:在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能的实现。即把软件需求转换为软件包表示的过程。
<2>目标:软件设计的最终目标是产生一个设计规约,该规约包括体系结构、描述数据、接口和构件的设计模型。
软件设计的任务,就是把分析阶段产生的软件需求规格说明转换为用适当手段表示的软件设计文档。

2.怎样实现信息隐藏?

指每个模块的实现细节对于其他模块来说是隐藏的。
通常有效的模块化可以通过定义一组独立的模块来实现,这些模块相互间的通信仅使用对于实现软件功能来说是必要的信息。通过抽象,帮助我们确定组成软件的过程(或信息)实体,通过信息隐藏,则可定义和实施对模块的过程细节和局部数据结构的存取限制。
显然,模块独立的概念是模块化、抽象、信息隐藏和局部化等诸多概念的直接结果。
模块独立是信息隐藏的直接结果。 信息隐藏原理告诉我们, 模块应该设计得使其所含信息(过程和数据)对于那些不需要这些信息的模块不可访问; 每个模块只完成一个相对独立的特定功能, 模块之间仅仅交换那些为完成系统功能必须交换的信息,即模块应该独立。

3.逐步求精、分层过与抽象等概念之间的相关系如何?

程序的体系结构是通过逐步精化处理过程的层次而设计出来的。通过逐步分解对功能的宏观陈述而开发出层次结构,最终得出用程序设计语言表达的程序。求精实际上是细化过程。抽象与求精是一对互补的概念。抽象使得设计者能够说明过程和数据,但却忽略了底层细节。求精则帮助设计者在设计过程中逐步揭示底层细节。

4.完成良好的软件设计应遵循哪些原则?

模块化与模块独立性;
抽象与逐步求精;
信息隐藏

5.如何理解模块独立性?用什么指标来衡量模块独立性?

模块的独立性:是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的。
模块独立性概括了把软件划分为模块时要遵守的准则
衡量模块独立性的两个准则

  1. 内聚(cohesion)
    指模块内部各成分之间的联系,也称块内联系或模块强度
  2. 耦合(coupling)
    指一个模块与其它模块之间的联系,也称为块间联系

模块的独立性高
块内联系强
块间联系弱

6.说明软件设计阶段的任务和过程。

软件设计分两步完成,即总体设计与详细设计。
第一个阶段是总体设计,即概要设计或初步设计。这一阶段主要确定实现目标系统的总体思想和设计框架,确定程序由哪些模块组成,以及模块与模块之间的关系,最后提出概要设计说明书。
第二个阶段是详细设计,即过程设计或构件级设计,其任务是通过对结构表示进行细化,确定各个软件构件的详细数据结构和算法,产生描述各个软件构件的详细设计文档。

7.试说明软件体系结构在软件设计阶段中的重要性。

良好的体系结构设计是决定软件系统成功的重要因素。软件的设计如同一幢大楼的设计,是一个系统工程在建造大楼之前,在总体结构上应该考虑周到。这种总体设计的工作很多人往往掌握得不是很好,而软件体系结构的出现给软件工程师提供了一个重要的规范,软件体系结构作为软件设计的一个高层次的抽象,给工程师提供了更好的方法来理解软件及寻找出新的方法来构造更大、更复杂的软件系统。软件体系结构设计的好坏往会成为一个系统设计成败的关键。通常,软件体系结构涉及软件的总体组织、全局控制、数据存取及子系统之间的通信协议等。本节介绍几种典型的软件体系结构。

8.目前存在哪些不同的设计复审方法?各有什么特点?

目前存在着两种不同的设计复审方法。

  1. 正式复审
    制作好幻灯片、邀请听众按计划好的议事日程进行正式复审。这种方法是概要设计复审常用的方式。由于包括各方面的参加人员,所以正式复审通常采取正式会议的方式。评审材料一般要提前两周发给与会人员,并要求他们在会前送回书面的评审意见。开会时,设计人员会对设计方案进行详细说明,答复与会者的问题,并记录各种重要的评审意见。最后,会后就应采取的纠正措施,以及要不要重新提交复审等做出决定。
  2. 非正式复审
    只召集少数设计人员和有关用户参加讨论设计问题。这类复审的特点是参加人数少,且均为软件人员,带有同行讨论的性质,因而方便灵活,十分适合于详细复审。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值