UML课程测验
专业学号姓名
一、选择题
1、UML中的扩展机制之一约束是用下面哪种方式表示的?
A.只能用[text string]这种方式B.只能用{text string}这种方式
C.只能用(text string)这种方式D.上面任何一种方式都可以
2、UML结构包括了基本构造快,公共机制和。
A.把这些构造块放在一起的规则B.图形或文字修饰
C.类与对象的划分以及接口与实现的分离D.描述系统细节的规格说明
3、UML中提供了扩展机制,其中,构造型(Stereotype)扩展了UML的。
A.构造块的特性,允许创建详述元素的新信息
B.构造块的语义,允许增加新的规则或修改现有的规则
C.语意,允许创建新的构造块
D.词汇,允许创建新的构造块
4、在UML提供的图中,可以采用_ _对逻辑数据库模式建模。
A.用例图B.状态图C.活动图D.类图
5、如下图所示BookStore和Station之间的关联是限定关联,则BookStore类中的声明最可能类似于下面哪种形式?
A.class BookStore {
public Station getStation();
public void addStation(Number initialCash);
…
C.class BookStore {
public Station getStation(int StationID);
public void addStation(int StationID);
…B.class BookStore {
public Station getStation();
public void addStation(int StationID);
…
D.class BookStore {
public Station getStation(int StationID);
public void addStation(Number initialCash);
…
6、下面几个类中,最有可能负责创建Transaction类的是哪个?
A.LineItem B.Station C.Payment D.Sale
7、如果有新的需求:BookStore的经理希望能够看到按照书的分类(Category)的来统计的销售情况。这可以帮
助经理做商业决策,从而把更多的资金投入到销售较好的类别。以下哪一个类有责任实现按照分类来统计的
销售情况的新功能?
A.StoreInventory B.Transaction C.Item D.ItemCategory
二、如上图所示,如有意在其他应用中重用(复用)Customer类,这样Customer在其他应用中可能是Golf Club Member, Gym Member, Frequent Flyer Member等。请给出你的一个能方便重用的、灵活的设计方案。
继承
三、阅读下列说明以及UML类图,回答问题1、问题2和问题3,将解答填入对应栏内。
某客户信息管理系统中保存着两类客户的信息:
(l)个人客户。对于这类客户,系统保存了其客户标识(由系统生成)和基本信息(包括姓名、住宅电话和email)。(2)集团客户。集团客户可以创建和管理自己的若干名联系人。对于这类客户,系统除了保存其客户标识(由系统生成)之外,也保存了其联系人的信息。联系人的信息包括姓名、住宅电话、email、办公电话以及职位。
该系统除了可以保存客户信息之外,还具有以下功能:
(l)向系统中添加客户(addCustomer);(2)根据给定的客户标识,在系统中查找该客户(getCustomer);(3)根据给定的客户标识,从系统中删除该客户(removeCustomer);(4)创建新的联系人(addContact);(5)在系统中查找指定的联系人(getContact);(6)从系统中删除指定的联系人(removeContact)。
该系统采用面向对象方法进行开发。在面向对象分析阶段,根据上述描述,得到如表1所示的类。描述该客户信息管理系统的UML类图如图1所示。
表1
表2
客户信息管理系统的UML类图
【问题1】
请使用说明中的术语,给出上图中类Customer和类Person的属性。
Customer的属性:客户标识
Person的属性:姓名、住宅电话、E-mail
【问题2】
识别关联的多重度是面向对象建模过程中的—个重要步骤。根据说明中给出的描述,完成图中的(1)~(6)。
(1) 1 (2) 0..* (3) 1 (4) 1 (5) 1 (6) 1..*
【问题3】
根据说明中的叙述,抽象出如表2所示的方法,请指出上图中的类CustomerInformationSystem和InstitutionalCustomer应分别具有其中的哪些方法。
CustomerlnformationSystem的方法:
addCustomer,getCustomer,removeCustomer。
InstimtionalCustomer的方法:
addContact,getContact,removeContaet。