当前位置:首页 > 软件工程实用教程(2版)-6章-习题与参考答案-2012-5-28
软件工程实用教程 《软件工程实用教程》习题与参考答案
第6章 面向对象的软件设计
1.简述分层模式的特点及设计时的注意事项。 答案要点:
表示层:图形用户界面、窗口等。
应用逻辑层:管理业务过程的任务和规则。
对象存储层:持久化存储机制,例如,文件系统、数据库等。
这种体系结构的主要特征是将应用逻辑从软件中分离出来,形成了一个单独的逻辑中间层。把应用逻辑和存储逻辑分开是非常重要的,这样不管哪一部分的改变都不会影响其他的部分。
在进行分层设计时应注意以下几点。
? 层与层之间的耦合应尽可能地松散,这样只要保证接口一致,某一层的具体实现就很容易被扩展和替换;
? 级别相同,职责类似的元素应该被组织到同一层中; ? 复杂的模块应被继续分解为粒度更细的层或子系统;
? 应尽量将可能发生变化的元素封装到一个层次中,这样发生变化时我们只要改变受影响的层就可以了;
? 每一层应只调用下一层提供的功能服务,而不能跨层调用,但对于一些限制不是太严格的小系统,也可以根据情况灵活处理;
? 不能在层与层之间造成循环依赖。
2.对图书馆管理信息系统进行物理体系结构设计。 答案要点:
– –
1
软件工程实用教程 3.试用面向对象方法设计图书馆管理信息系统的预约子系统和借/还书子系统的设计类图和详细顺序图和协作图。
答案要点:
4.举例说明各种程序设计语言的特点及适用范围。 答案要点:
JAVA:面向对象,多线程,可重用性强,继承,多态,有庞大的Applet和GUI库,网络应用广泛等
C:是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制),而对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。
5.选择面向对象语言时应考虑哪些因素? 答案要点: 1) 可复用性
2) 类库和开发环境 3) 其他因素
6.说明面向对象的集成测试包含哪些内容? 答案要点:
面向对象基于操作的集成测试策略有两种:基于线程的测试和基于使用的测试。 (1)基于线程的测试。线程是指对一个输入或事件做出回应的若干个类组成的一组类,系统有多少个线程就对应有多少个组类。这种策略把相应系统的一个输入或一个事件所需要的那些类集成起来。分别集成并测试每个线程,同时应用回归测试以保证不产生副作用。
(2)基于使用的测试。这种策略首先测试几乎不使用服务器类的那些类(称为独立类),把独立类都测试完之后,再测试使用独立类的下一个层次的类(称为依赖类)。对依赖类的测试一个层次一个层次地持续进行下去,直至把软件系统构造完为止。
– –
2
共分享92篇相关文档