软件工程简答题答案 第五版 联系客服

发布时间 : 星期六 文章软件工程简答题答案 第五版更新完毕开始阅读

5. 需求分析为什么要研究问题域? 答:Not found.

6. 良好的软件体系结构设计有什么好处?

答:体系结构的设计对于一个大型系统的设计、开发的成败起着至关重要的作用。体系结构对于系统的非功能属性如系统性能、可扩展性、可靠性、安全性、精确度、可复用性、互操作性等的影响尤为深刻。因而一个良好的软件体系结构设计保证了软件系统的性能和生命周期。

7. 消除包之间的循环依赖性有哪两种主要方法?

答:(1) PackageA将PackageA中的循环依赖元素提取到PackageC中PackageA PackageB

PackageB PackageC(2) PackageA PackageA 将PackageC中的循环依赖元素提取到 PackageD 中 PackageB PackageB PackageC PackageC PackageD

8. 简述UML和Z结合的求精方法。

答:和目前工程界的常规方法相比,基于UML和Z的软件体系结构求精方法有明显的不同。首先,开发原则不同,基于UML和Z的软件体系结构求精方法通常希望能够直接构造出尽可能正确的系统。其次,开发模式也不同,在使用基于UML和Z的软件系统结构求精方法开发过程中,需求分析和设计阶段需求投入大量的工作通常占到全部工作量的60% ~ 70%,而编码和测试工作只占30% ~ 40%。

第五章 总体设计

1. 结构化设计方法的基本思想是什么?它怎样与结构化分析衔接?

答:结构化设计是以结构化分析产生的数据流图为基础,将数据流图按一定的步骤映射成软件结构。与结构化分析衔接,构成了完整的结构化分析与设计技术,是目前最广泛的软件设计方法之一。

2. 简述软件总体设计阶段的基本任务。

答:软件总体设计阶段的任务是概要地回答系统应该如何实现,因此要把握与详细设计的区别。要完成如下任务:(1)软件系统结构设计(2)数据结构及数据库设计(3)网络系统设计(4)软件总体设计文档(5)评审

3. 举例说明各种类型的模块耦合。

答:(1)数据耦合:两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据。(2)

控制耦合:传递的信息中有控制信息。(3)公共环境耦合:两个或多个模块通过一个公共数据环境相互作用的耦合。(4)内容耦合:最高程度的耦合,如P121图。

4. 简述模块、模块化及模块化设计的概念。

答:模块在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,如高级语言中的过程、函数和子程序等。在软件的体系结构中,模块是可组合、可分解和更换的单元。模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。

5. 什么是模块的独立性?设计中为什么模块要独立?对于独立性怎样度量?

答:划分模块时,尽量做到高内聚,低耦合,保持模块相对对立性,并以此原则又话初始的软件结构。(1)如果若干模块之间耦合强度过高,每个模块内功能不复杂,可将它们合并,以减少信息的传递和公共区的引用。(2)若有多个相关模块,应该对它们的功能进行分析,校区重复功能。

6. 试论“一个模块,一个功能”的优点。 答:Not found.

7. 简述变换流的设计步骤。

答:(1)确定数据流图中的变换中心、逻辑输入和逻辑输出(2)设计软件结构的顶层和第一层(3)设计中、下层模块(4)设计的优化

8. 简述事务流的设计步骤。

答:(1)确定数据流图中的事务中心和加工路径(2)设计软件结构的顶层和第一层(3)进行事务结构中、下层模块的设计、优化等工作。

9. 试论软件设计与软件质量的关系。 答:

10.什么是模块的影响范围?什么是模块的控制范围?它们之间应该建立什么样的关系? 答:在软件结构中,由于存在着不同事务处理的需要,某一层上的模块会存在着判断处理,这样可能影响其它层的模块处理。一个模块的作用范围应在其控制范围之内,且条件判定所在的模块应与受影响的模块在层次上尽量靠近。

11. 什么是软件结构?简述软件结构设计的优化准则。

答:软件结构是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系。对于一个问题,可用不同的软件结构来解决,不同的设计方法和不同的划分与组织,得出不同的软件结构。为了提高设计的质量,必须根据软件设计的原理改进软件设计,优化准则如下:(1)模块独立性准则(2)控制与作用范围之间的准则(3)结构特征准则(4)模块的接口准则

第六章 软件详细设计

1. 简述详细设计的基本原则与主要任务。

答:详细设计要完成所有设计的细节。主要任务有:(1)数据结构设计(2)物理设计(3)算法设计(4)界面设计(5)其他设计(6)编写设计说明书

2. 任意选择一种排序算法,分别用流程图和PDL语言描述其详细过程。

答:PDL语言全称是过程设计语言(Process Design Language),它是在伪代码的基础上,扩充了模块的定义与调用、数据定义和输入输出而形成的。它的控制结构与伪代码相同。PDL是一种用于描述模块算法设计和细节处理的语言。

3. 假设只有SEQUENCE和DO-WHILE两种结构,如何用它们来完成IF-THEN-ELSE的操作? 答:Not found.

4. 概要设计与详细设计有什么区别?

答:在软件的总体设计中,完成了数据和系统结构的设计。已将系统划分成为多个模块,并将它们按照一定的原则组装起来,也确定了每个模块的功能及模块与模块之间的外部接口。在理想情况下,详细设计是软件设计的第二阶段。在这个极端,由于开发系统内外的人员理论上都使用一种自然语言,因此设计说明最好是用自然语言。很清楚,这个阶段必须定义过程的细节。

第七章 面向对象方法概论

1. 什么是面向对象?

答:面向对象方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。

2. 面向对象的发展经历了哪几个阶段?

答:面向对象方法的某些概念,可以追溯到20世纪50年代人工智能的早期研究。但是人们一般把20世纪60年代由挪威计算中心开发的Simula-67语言看做面向对象语言发展史上的第一个里程碑。但是直到20世纪80年代后期,第二种语言SmallTalk的应用尚不够广泛。20世纪80年代中期到90年代,是面向对象语言走向繁荣的阶段。

3. 面向对象方法有什么特点? 答:主要有以下特点:

(1)从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单位。

(2)事物的静态特征(即可能用一些数据来表达的特征)用对象的属性表示,事物的动态特征(即事物的行为)用对象的服务表示。

(3)对象的属性与服务结合为一体,成为一个独立的实体,对外屏蔽其内部细节,即封装。(4)对事物进行分类。把具有相同属性和服务的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个示例。

(5)通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与服务,面向对象方法支持对这种继承关系的描述与实现,从而简化系统的构造过程及其文档。

(6)复杂的对象可以用简单的对象作为其构成部分,称作聚合。 (7)对象之间通过消息进行通信,以实现对象之间的动态联系。 (8)通过关联表达对象之间的静态关系。

4. 传统的软件工程和面向对象软件工程有何异同点? 答:Not found.

5. 什么是继承?

答:定义:特殊类的独享拥有其一般类的全部属性与服务,就是称作特殊类对一般类的继承。

6. 什么是消息?

答:定义:消息就是向对象发出的服务请求,它应该含有下述信息:提供服务的对象标识、服务标识、输入信息和回答信息。

7. 什么是多态性?

答:对象的多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的书类型或表现出不同的行为。这使得一个属性或服务名在一般类及其各个特殊类中具有不同的