软件设计与体系结构期中考试试卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安徽师范大学 2015-2016 学年 第一学期
数学计算机科学学院软件工程专业2013级《软件设计与体系结构》课程期中考试试卷
(180分钟 闭卷)
注意:请保持字迹工整 一、单选题(10小题,每小题2分,共20分)
1、下面哪种开发方法是非传统方法( ) A 、功能分解法 B 、结构化方法 C 、面向对象方法 D 、信息建模方法
2、下面那一项不属于用况图中的参与者( ) A 、人员 B 、内部系统 C 、外部系统 D 、设备
3、对象间的is-a 关系可以用以下哪一个来表示( ) A 、组合 B 、聚合 C 、关联 D 、继承
4、只与你的直接朋友通信描述的哪一个设计原则( ) A 、单一职责原则 B 、开闭原则
C 、接口隔离原则
D 、迪米特法则
5、一个软件实体应该对扩展开放,对修改关闭。这描述的是哪个原则( ) A 、单一职责原则 B 、开闭原则
C 、依赖倒置原则
D 、里氏代换原则
6、常用的基本设计模式可分为( ) A 、创建型、结构型和行为型 B 、对象型、结构型和行为型 C 、过程型、结构型和行为型
D 、抽象型、接口型和实现型
7、对于类图,下列叙述正确的是( )
A 、创建类图是为了对系统的动态结构进行建模
B 、在系统分析和实施阶段可以创建和使用类图
C 、每个类图都应该具有泛化关系
D 、以上说法都不对
8、类与类之间存在相互关系,下面哪一种关系与其他三种不同( ) A 、双向关联 B 、聚合关系 C 、组合关系 D 、依赖关系
9、Open-Close
原则的含义是一个软件实体( ) A 、应当对扩展开放,对修改关闭. B 、应当对修改开放,对扩展关闭 C 、应当对继承开放,对修改关闭 D 、应当对继承关闭,对修改开放
10、当需要对系统功能以及与系统进行交互的外部事物进行建模时,我们一般采用( ) A 、用况图 B 、类图 C 、活动图 D 、顺序图 二、简答题(4小题,每小题5分,共50分)
1、OOA 中问题域和系统责任的含义分别是什么意思?
2、OOD 模型中总共包含几个部分,分别是哪几个部分,哪个部分是核心部分?
3、面向对象方法有哪些优点?
4、人机交互部分的设计准则有哪些?
5、在采用面向对象的方法进行分析设计时,如何识别对象和类?
6、请分别画出组合和聚合的符号,并说明两者的关系与区别。
7、请简述节点和构件的区别。
8、数据管理部分的责任是什么,有哪几类数据管理系统。
9、创建型模式的最大特点是什么?
10、请写出工厂方法模式的定义。
三、应用题(1小题,每小题10分,共10分)
1、某系统日志记录器要求支持多种日志记录方式,如文件日志记录(FileLog)、数据库日志记录(DatabaseLog)等,且用户可以根据要求动态选择日志记录方式,现使用某种模式设计该系统,类图如下:
以下是实现代码,仔细阅读后请回答问题。
//日志记录器接口
interface Log
{
________________①
}
//文件日志记录器
class FileLog implements Log
{
public void writeLog()
{
System.out.println("文件日志记录。");
}
}
//数据库日志记录器
class DatabaseLog implements Log
{
public void writeLog()
{
System.out.println("数据库日志记录。");
}
}
//日志记录器工厂接口
interface LogFactory
{
public Log createLog();
}
//文件日志记录器工厂类
class FileLogFactory implements LogFactory
{
public Log createLog()
{
________________②
}
}
//数据库日志记录器工厂类
class DatabaseLogFactory implements LogFactory
{
public Log createLog()
{
________________③
}
}
//客户端测试类
class Client
{
public static void main(String args[])
{
________________④
Log log;
factory = new FileLogFactory();
________________⑤
log.writeLog();
}
}
仔细阅读上述代码,判断该代码体现的哪种设计模式?在程序空白处填充代码,使得该程序完整并符合题意。根据客户端代码,写出该通用代码执行后输出的内容。
五、综合设计题(2小题,每小题10分,共20分)
1、使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传
入参数W,则返回一个Woman对象,用代码模拟实现该场景并绘制出类图。