第6章
一、选择题
1、UML的主要特点不正确的是(C)。
A、面对对象,表达能力强 C、面对过程,表达能力强
2、静态建模图不包括(B)。
B、可视化建模 D、统一标准
D、对象图 D、软件开发者 D、对象
A、用例图 A、用例
B、协作图 B、系统 B、操作 B、对象
C、类图
3、用例图的模型元素不包括(D)。
C、行为者 C、属性
4、类图的要素不包括(D)。
A、类名称 A、执行者 A、状态图 A、用例 A、关联
5、时序图中的要素不包括(A)。
C、对象生命线 D、消息
C、对象图
D、结构图
6、对象模型的描述工具是(C)。
B、数据流图 B、对象 B、聚合
7、协作图的要素不包括(A)。
C、链
D、消息
D、内聚
8、类图反映了系统中对象之间的抽象关系,不包括(D)。
C、泛化
9、下面(D)不是状态图的图符。
A、圆角的矩形 C、实心圆环 A、状态图 A、对象图 A、对象
B、实心圆点 D、椭圆 C、对象图 C、状态图
10、描述类中某个对象的行为,反映了状态与事件关系的是(A)。
B、数据流图 B、设计图 B、动态
D、结构图 D、结构图 D、静态
11、动态模型的描述工具(C)。
12、表示对象的相互行为的模型是(A)模型。
C、结构
13、有关类和对象的描述中,错误的是(A)。
A、一个类只能有一个对象 B、对象是类的具体实例 C、类是某一类对象的抽象
D、类和对象的关系是一种数据类型和变量的关系
14、用例图中用例之间的关系通常有关联关系、依赖关系和(C)关系。
A、协作 B、聚合 C、泛化 D、内聚
D、结构图
15、动态模型图包括:时序图、协作图、状态图和(C)图。
A、对象图 B、设计图 C、活动图
二、简答题
1. 简要介绍用例图的三个要素。 答:用例图主要包括以下三个元素:
①用例(Use Case):用例是系统的使用过程或要执行的动作序列,用来描述某个参与者使用系统所完成的功能。在图中用椭圆来表示,用例名称可写在椭圆中或椭圆下面。
26
②参与者(Actor)。或称角色或执行者,它是系统外部的一个实体(可以是任何的事物或人所扮演的角色等)。在图中用一个小人图形表示。
③关联。表示角色与用例之间的驱动和反馈关系,也可以表示用例间的包含与扩展关系。在图中用线段或带箭头的线段表示。
2. 分别写出UML对象图中对象的三种表示方式。
答:在UML中,对象图和类图一样采用矩形图示,不过对象名称下方有下划线(类名称下方没有下划线),通常对象名采用:对象名:类名、 :类名 或 对象名三种格式表示,中间形式是尚未给对象命名,最后一种形式是省略了类名。
3. 举例说明类图和对象图之间的关系。
答:对象图展示了一组对象和它们之间的关系。对象图是类图的实例,对象之间的连接是类之间关联的实例。类图和对象图的不同点在于对象图显示类的多个对象实例,而不是实际的类。
4. 活动图的主要作用是什么,状态图的主要作用是什么?
答:状态图和活动图都属于行为图,主要用于分析、设计阶段描述对象的行为。状态图适于描述单个对象状态的变化情况,活动图适于描述一个工作过程、多个对象之间的合作。
状态图描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。
活动图(Activity Diagram)是状态图的变种。状态图适于描述单个对象状态的变化情况,而活动图的目的是描述动作(执行的工作和活动),以及对象状态改变的结果,适于描述一个工作过程、多个对象之间的合作。与状态图不同的是,活动图中动作状态的迁移不是靠事件触发,当动作状态中的活动完成时就触发迁移,活动图中的一个活动结束后将立即进行下一个活动。
三、应用题
1、某教务管理系统主要完成以下功能:教师使用该系统完成某班级学生某门课程成绩的录入、修改、计算和打印,学生使用该系统查询所学课程的成绩,系统管理员使用该系统进行学生信息、教师信息、课程信息和班级信息的管理。 请对该系统分析,找出系统中的参与者、用例,确定它们之间的关系,并对每个用例进行详细描述。
略。
2、某教务管理系统中,教师的主要信息包括:工号、姓名、性别、职称、系部;学生的主要信息包括:学号、姓名、性别、班级;课程的主要信息包括:课程编号、课程名称、任课教师。请列出本系统中所涉及的主要的类,给出类的主要属性及类间关系,画出该系统的类图。
略。
27
3、请画出某教务管理系统中某一学期中课程对象的状态图。
略。
4、请画出某教务管理系统中学生选课的活动图。
略。 第7章 一、选择题
1、汽车有一个发动机,汽车和发动机之间的关系是(B)关系。 A、一般具体
B、整体部分
C、分类关系
D、is a
2、火车是一种陆上交通工具,火车和陆上交通工具之间的关系是(D)关系。 A、组装
B、整体部分
C、has a
D、一般具体
3、面向对象程序设计语言不同于其他语言的最主要特点是(C)。 A、模块
B、抽象性
C、继承性
D、共享性
4、软件部件的内部实现与外部可访问性分离,这是指软件的(A)。 A、封装性
B、抽象性
C、继承性
D、共享性
5、面向对象分析阶段建立的三个模型中,核心模型是(C)模型。 A、功能
B、动态
C、对象
D、分析
6、对象模型的描述工具是(C)。 A、状态图
B、数据流图
C、对象图
D、结构图
7、动态模型的描述工具是(A)。 A、状态图
B、结构图
C、对象图
D、流程图
8、在只有单重继承的类层次结构中,类层次结构是(A)层次结构。 A、树型
B、网状型
C、星型
28
D、环型
9、(C)模型表示了对象的互相行为。 A、功能
B、动态
C、对象
D、分析
10、在确定类时,所有(A)是候选的类。 A、名词
B、形容词
C、动词
D、代词
11、面向对象分析的原则不包括(C)。 A、抽象
B、封装
C、依赖
D、继承
12、常用动词和动词词组来表示(C)。 A、对象
B、类
C、关联
D、属性
13、在确定属性时,所有(B)是候选的属性。 A、名词
B、修饰性名词词组 C、动词
D、词组
14、在面向对象方法中,信息隐藏是通过对象的(A)来实现的。 A、封装性
B、分类性
C、继承性
D、共享性
15、面向对象设计的准则不包括(D)。 A、模块化
B、抽象
C、信息隐藏
D、强耦合
二、 简答题
1、面向对象分析通常要建立哪三种模型?它们分别描述系统的哪些方面?
答:面向对象分析通常要建立三种模型,分别是对象模型、动态模型和功能模型。其中:
对象模型描述系统的数据结构,它是用来描述系统包含的对象及对象之间关系的模型; 动态模型描述系统的控制结构,它是用来确定各个对象之间交互及整体的控制结构的模型;
功能模型描述系统的功能,它是用来描述系统要实现的功能的模型。
2、对象模型有哪五种层次?
答:复杂问题(大型系统)的对象模型由5个层次组成,即主题层、类-&-对象层、结构层、属性层和服务层。
29
(1)类-&-对象层:定义类和属性。在这个层次将分析与待开发软件对应的各个现实世界的实体,并从中抽象出类和对象。
(2)结构层:定义对象和类之间的层次结构关系,如一般-特殊结构(即继承结构)、整体-部分结构(即组合结构)。
(3)属性层:定义属性。为类和对象层中抽取出来的各个类和对象设计静态属性和它们之间的关系。
(4)服务层:定义对象和类的动态属性以及对象之间的消息通信。
(5)主题层:主题是指导读者理解大型、复杂模型的一种机制。定义若干个主题,把有关的对象分别划归不同的主题,每个主题构成一个子系统。
3、建立对象模型的基本过程是什么? 答:建立对象模型的基本过程如下:
确定对象和类 ? 确定结构 ? 确定主题 ? 确定服务和消息
三、应用题
1、写出图书管理系统中“办理还书”用例的用例描述。
略。
2、分析图书管理系统中“查询个人借阅”用例相关的实体类、控制类和边界类,绘制出该用例的相关类图,并设计该模块的用户界面。
略。
第8章 一、判断题
1、(√)使用括号改善表达式的清晰性。
2、(×)对递归定义的数据结构不要使用递归定义的过程。
3、(×)尽可能对程序代码进行优化。 可读性第一,清晰性第二 4、(√)不要修改不好的程序,要重新编写。 5、(√)不要进行浮点数的相等比较。 6、(×)应尽可能多地使用临时变量。 7、(√)利用数据类型对数据值进行防范。
8、(×)用计数方法(少量)而不是用文件结束符(大量)判别批量数据输入的结束。
9、(×)程序中的注释是可有可无的。 40%~60% 10、(√)使用有意义的标识符。
11、(×)应尽量把程序编写的短一些。 12、(×)应尽量使用goto语句。 二、选择题
30