2015-2016学年一学期软件设计与体系结构期中考试试卷

发布时间 : 星期五 文章2015-2016学年一学期软件设计与体系结构期中考试试卷更新完毕开始阅读

:号学 题 答: 名要姓 不 内 线 订 : 装班级/级年 :院学

安徽师范大学 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、创建类图是为了对系统的动态结构进行建模

第 1 页 共 8 页 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模型中总共包含几个部分,分别是哪几个部分,哪个部分是核心部分?

第 2 页 共 8 页

3、面向对象方法有哪些优点?

4、人机交互部分的设计准则有哪些?

5、在采用面向对象的方法进行分析设计时,如何识别对象和类?

6、请分别画出组合和聚合的符号,并说明两者的关系与区别。

第 3 页 共 8 页

7、请简述节点和构件的区别。

8、数据管理部分的责任是什么,有哪几类数据管理系统。

9、创建型模式的最大特点是什么?

10、请写出工厂方法模式的定义。

第 4 页 共 8 页装 订 线 内 不 要 答 题

:号学 题 答: 名要姓 不 内 线 订 : 装班级/级年 :院学

得分 评卷人 复核人 三、应用题(1小题,每小题10分,共10分)

1、某系统日志记录器要求支持多种日志记录方式,如文件日志记录(FileLog)、数据库日志记录(DatabaseLog)等,且用户可以根据要求动态选择日志记录方式,现使用某种模式设计该系统,类图如下:

ClientLogFactoryLog+createLog (): Log+writeLog (): void......FileLogFactoryDatabaseLogFactoryFileLogDatabaseLog+createLog (): Log+createLog (): Log+writeLog (): void+writeLog (): void............<><>............return new FileLog();return new DatabaseLog(); 以下是实现代码,仔细阅读后请回答问题。 //日志记录器接口 interface Log {

________________① }

//文件日志记录器

class FileLog implements Log {

public void writeLog() {

System.out.println(\文件日志记录。\ } }

//数据库日志记录器

class DatabaseLog implements Log {

public void writeLog() {

System.out.println(\数据库日志记录。\ } }

第 5 页 共 8 页 //日志记录器工厂接口 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对象,用代码模拟实现该场景并绘制出类图。

第 6 页 共 8 页

2、计算机包含内存(RAM)、CPU等硬件设备,使用抽象工厂模式实现计算机设备创建过程并绘制相应的类图。

第 7 页 共 8 页 第 8 页 共 8 页装 订 线 内 不 要 答 题

联系合同范文客服:xxxxx#qq.com(#替换为@)