软件设计与体系结构期中考试试卷

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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对象,用代码模拟实现该场景并绘制出类图。

相关文档
最新文档