类图练习题
- 格式:docx
- 大小:34.68 KB
- 文档页数:3
一、选择题(30分)1. UML的全称是( B )(A)Unify Modeling Language(B)Unified Modeling Language (C)Unified Modem Language(D)Unified Making Language2. 执行者(Actor)与用例之间的关系是( C )(A)包含关系(B)泛化关系(C)关联关系(D)扩展关系3. 在类图中,下面哪个符号表示继承关系( C )4. 在类图中,“#”表示的可见性是( B )(A)Public(B)Protected(C)Private(D)Package5. 在类图中,下面哪个符号表示接口( C )6. 下面哪个视图属于UML语言的交互图( D )(A)行为图(B)状态图(C)实现图(D)顺序图7. UML语言包含几大类图形( B )(A)3(B)5(C)7(D)98. OMT方法是由下面哪位科学家提出的( b )(A)Booch(B)Rumbaugh(C)Coad (D)Jacobson9. 下面那个类图的表示是错误的( D )10. 什么概念被认为是第二代面向对象技术的标志( A )(A)用例(B)UML语言(C)活动图(D)组件图11. 下面哪个符号代表包图( A )12. 生命线是UML视图中哪个图形的组成部分( D )(A)类图(B)状态图(C)活动图(D)顺序图13. 在UML的顺序图中,通常由左向右分层排列各个对象,正确的排列方法是( a)(A)执行者角色控制类用户接口业务层后台数据库(B)执行者角色用户接口控制类业务层后台数据库(C)执行者角色控制类用户接口后台数据库业务层(D)执行者角色用户接口业务层控制类后台数据库14. 多对象是UML哪个视图中的概念( C )(A)类图(B)状态图(C)协作图(D)组件图15. 在类图中,哪种关系表达总体与局部的关系( D )(A)泛化(B)实现(C)依赖(D)聚合16. 在UML中,接口有几种表达方式( A )(A)2(B)4(C)6(D)817. 下面哪个图形代表活动( D )18. 下面哪个UML视图是描述一个对象的生命周期的( B )(A)类图(B)状态图(C)协作图(D)顺序19. 顺序图由类角色,生命线,激活期和(B)组成(A)关系(B)消息(C)用例(D)实体20. UML中关联的多重度是指(b)(A)一个类有多个方法被另一个类调用(B)一个类的实类能够与另一个类的多个实类相关联(C)一个类的某个方法被另一个类调用的次数(D)两个类所具有的相同的方法和属性21. 一个设计得好的面向对象系统具有(B)特征。
UML练习2(包含详细答案)单项选择题:1、下面选项中语义上等价并且可以互相转换的两种图是:( A )A.序列图、协作图B.序列图、活动图C.状态图、协作图D.状态图、活动图2、在用例图中,执行者之间的关系只有:( C )A.扩展B.包含C.泛化D.实现3、表示接口的构造型(stereotype)是:( B )A.<>B.<>C.<>D.<>4、下列选项中不可以具有泛化关系的元素是:( D )A.类B.参与者C.用例D.活动(活动图)5、类图中可以明确的信息有:( D )A.属性B.操作C.职责D.以上都可以类图中有属性、操作、职责6、在活动图中,表示接收信号的符号是:(B )A.凸五边形(发送信息)B.凹五边形C.圆角矩形D.直角矩形7、将活动图中的活动状态进行分组,使得每一组表示一个特定对象的工作内容,这种元素是:( A )A.泳道B.分叉C.决策D.汇合8、下列关于状态图的说法中,正确的是( C )A .状态图是UML 中对系统的静态方面进行建模的图之一;B .状态图是活动图的一个特例;C .状态图是对一个对象的生命周期进行建模,描述对象随时间变化的行为。
D .状态图强调对有几个对象参与的活动过程建模。
(对单个关键对象考察)UML 分为静态建模(类图、对象图),动态建模(序列图、协作图、状态图、活动图、交互概观图、定时图),架构建模(包图、构件图、部署图)9、类通常可以分为实体类,边界类和( C )A .父类B .子类C .控制类D .模板类10、序列图的基本组成元素包括由对象、生命线、控制聚焦和( B )A .关系B .消息C .用例D .实体11、对象之间通过消息来进行通信,消息通信在面向对象的语言中表现为:( C )A .方法实现B .方法嵌套C .方法调用D .方法定义12、对于下图,下列说法中不正确的一项是:( C )A .2与3是包含关系;B .5与6是扩展关系;C .4可以参与2;D .1可以参与5。
uml图练习题UML(Unified Modeling Language)是一种广泛应用于软件开发的建模语言,它通过图形化的方式来表示软件系统的结构和行为。
在软件工程中,UML图是非常重要的工具,能够帮助开发人员更好地理解和设计软件系统。
下面将通过练习题来巩固对UML图的理解和应用,从而进一步提升软件开发的能力。
题目一:银行管理系统某银行打算开发一个全新的银行管理系统,方便用户进行存取款、转账、查询等操作。
请根据以下需求描述,使用UML图设计该银行管理系统的类图。
需求描述:1. 银行系统中有多个用户,每个用户拥有一个唯一的账户。
2. 每个账户可以进行存款、取款和转账操作。
3. 转账操作可以在不同的账户之间进行。
4. 银行系统需要记录每个用户的账户信息,包括账户号码、用户名和余额。
根据上述需求,我们可以设计如下的UML类图:[银行管理系统类图]在类图中,我们可以看到四个主要的类:用户类(User)、账户类(Account)、存款类(Deposit)和转账类(Transfer)。
它们之间的关系可以通过箭头表示,例如,用户类与账户类之间的关系是“拥有”,账户类与存款类之间的关系是“操作”,账户类与转账类之间的关系是“发起”。
题目二:订单管理系统某电商公司需要开发一个订单管理系统,用于管理用户的购买订单。
请根据以下需求描述,使用UML图设计该订单管理系统的活动图。
需求描述:1. 用户可以浏览商品列表和商品详情。
2. 用户可以将选中的商品添加到购物车。
3. 用户可以在购物车中修改商品数量或删除商品。
4. 用户可以选择结算购物车中的商品并生成订单。
5. 用户可以查看订单列表和订单详情。
根据上述需求,我们可以设计如下的UML活动图:[订单管理系统活动图]在活动图中,我们可以看到几个关键的活动:浏览商品、添加到购物车、修改购物车、生成订单和查看订单。
这些活动之间通过箭头连接,表示顺序执行的关系。
题目三:酒店管理系统某酒店需要开发一个酒店管理系统,方便管理员进行房间、客户和订单的管理。
uml练习题UML练习题UML(Unified Modeling Language)是一种用于软件系统设计的建模语言,它提供了一种标准化的图形化表示方法,用于描述系统的结构、行为和交互。
在软件开发过程中,UML被广泛应用于需求分析、系统设计和系统测试等阶段。
为了更好地掌握UML的使用,下面将提供一些UML练习题,帮助读者加深对UML的理解和应用。
练习一:类图设计假设你正在设计一个图书馆管理系统,需要使用UML类图来描述系统的类和它们之间的关系。
请根据以下需求,设计一个简单的类图。
1. 图书馆(Library)有一个名称(name)和一个地址(address)。
2. 图书馆有一个管理员(Librarian),每个管理员都有一个姓名(name)和一个工号(id)。
3. 图书馆中可以存放多本图书(Book),每本图书都有一个标题(title)、一个作者(author)和一个出版日期(publishDate)。
4. 图书馆的管理员可以借出图书,每次借书需要记录借书人(Borrower)的姓名(name)和借书日期(borrowDate)。
练习二:时序图设计假设你正在设计一个在线购物系统,需要使用UML时序图来描述用户下单购买商品的过程。
请根据以下需求,设计一个简单的时序图。
1. 用户(User)在网站上浏览商品,选择需要购买的商品。
2. 用户点击“下单”按钮,系统生成一个订单(Order),并显示订单详情。
3. 系统向用户展示可选择的支付方式(Payment Method)。
4. 用户选择一种支付方式,并提供相应的支付信息。
5. 系统验证支付信息,如果支付成功,则将订单状态更新为“已支付”(Paid)。
6. 系统向用户发送订单确认邮件。
练习三:活动图设计假设你正在设计一个在线旅游预订系统,需要使用UML活动图来描述用户预订旅游的流程。
请根据以下需求,设计一个简单的活动图。
1. 用户在网站上浏览旅游目的地,并选择感兴趣的目的地。
1.下图中,类B和类A之间是什么关系?请解释该关系的含义。
1、依赖关系。
假设有两个元素X、Y,如果修改X的定义可能会导致对另一个元素Y的定义的修改,则称元素Y依赖于元素X。
3.动物按生活习性分为陆地动物和水栖动物,按食物类型分为肉食动物和草食动物两类。
分析其中的关系,画出类关系图,要求不能有多继承关系。
1.什么是类?类的关系有哪几种?答:1、类是对一组具有相同属性、操作、关系和语义的对象的描述。
类有4种常用的关系:依赖关系,它表示类之间的使用关系;泛化关系,它表示类之间的一般和特殊的关系;关联关系,它表示对象之间的结构关系;实现关系,它是规格说明和其实现之间的关系。
3.在新闻中心管理系统中,根据一般浏览者上网浏览新闻的时序图,画出相应的协作图。
4.一个完整的状态有哪几个组成部分?一个完整的状态有5个组成部分:(1)名字,由一个字符串构成,用以识别不同的状态; (2)入口出口动作,表示进入退出这个状态所执行的动作;(3)内部转换,不会引起状态变化转换,此转换的触发不会导致状态的入口出口动作被执行; (4)延迟事件,该状态下暂不处理,但将推迟到该对象的另一个状态下事件处理队列; (5)子状态,包含在某状态内部的状态。
1.下图中,类TV 和类Channel 之间是什么关系?解释该关系的含义。
2.类图与对象图有什么区别? 答:、类图描述系统中类的静态结构,它不仅定义系统中的类,表示类之间的关系,还包括类的内部结构(类的属性和操作),类图在系统的整个生命周期都是有效的。
对象图是类图的实例,几乎有与类图完全相同的标识,它们的不同点在于对象图显示类图的多个实例,而不是实际的类,一个对象图是类图的一个实例。
由于对象存在生命周期,因此对象图只能在系统某一时间存在。
3.类和包的区别?答:(1)类是对问题领域或解决方案的事物的抽象,包是把这些事物组织成模型的一种机制。
(2)包可以没有标识,因为它没有实例,在运行系统中不可见;类必须有标识,它有实例,是运行系统的组成元素。
1、简述类的定义,以及类的三要素。
答:类是对一组具有相同属性、操作、关系和语义事物的描述。
类的三要素是:类的名称、属性、操作。
2、类的属性和方法的可见性有哪些UML中如何表示答:类的属性和方法的可见性有protect(符号“#”),private(符号“-”),public(符号“+”)3、已知三个类和C.其中类A由类B的一个实类和类C的1个或多个实类构成.请画出能够正确表示类A,B和C之间关系的UML 类图.答:?4、根据以下描述画出类图,并注明多重性关系:一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。
(5、现有一系统需要对商品进行管理,包括添加,删除商品,修改商品信息三项功能,画出系统类图。
(商品信息包括商品编号,商品名称,价格,生产厂商等)6、如果现在系统需求发生变化,需要能够对损坏商品进行打折,以及可以按照商品的颜色和外形进行查询,则系统类图应该如何修改|7、根据下面的代码画出Invoice类的类图,要求标明各属性的类型和可见性以及类方法。
public class Invoice{public double amount;public Date date = new Date();¥public string customer;public string specification;public string administrator = “unspecified”;static private int number_of_invoices()=0;public invoice ();{number_of_invoices++;}public void print (){|"The number of invoices is ”+ int number_of_invoices);}}8、 下图是一个仓库管理系统的类模型局部,其中IncomeOrder 是指入库单,OrderItem 是指入库中的每一项,Product 则是产品信息。
一、按照描述画出下列的类图
⏹一个教室有若干桌子,桌和椅一一对应,每个椅子坐两个人。
派生关联:
一个桌子可供两人使用。
⏹一个文件夹可以有多个子文件夹或多个文件,文件有的是加密的,有的是
未加密的。
二、第七章课后的上机练习题
三、根据本节所学的知识画出实验一当中的类图
–企业进、存、销管理系统”功能性需求包括以下内容:
–(1)采购员根据生产原料的使用情况判断采购用品,对需要订购产品信息统计订货的,并制作产品订单。
最后根据订单进行采
购活动。
–(2)仓库管理员负责产品的库存管理。
包括产品入库管理、处理盘点信息、处理报损产品信息和一些信息的设置。
这些设置信
息,包括:供应商信息、产品信息。
仓库管理员每天对产品进行一
次盘点,当发现库存产品有损坏时,及时处理报损信息。
当产品生
产后,将产品进行入库。
当产品销售后时,产品进行出库处理。
–(3)统计人员负责统计分析管理,包括:查询产品信息、查询销售信息、查询供应商信息、查询缺货信息、查询报表信息,并
制作报表。
统计分析员使用系统的统计分析功能,了解产品信息、
销售信息、供应商信息、库存信息。
–(4)在销售员为客户提供售货服务时,接受客户购买产品,根据系统的定价计算出产品的总价,客户付款,系统自动保存客户
购买记录。
–(5)系统管理员负责本系统的系统维护。
系统管理员负责员工信息管理、供货商信息管理以及系统维护等。
每种管理者都通过
自己的用户名称和密码登录到各自的管理系统中。
–。
专题三:类图(对象图)
一、单项选择题
1.在UML中,类之间的关系有一种为关联关系,其中多重性用来描述类之间的对应关系,下面哪个不是其中之一()
A. 0 (1)
B. 0….*
C. 1….*
D. *….*
2.通常对象有很多属性,但对于外部对象来说某些属性应该不能被直接访问,下面哪个不是UML中的类成员访问限定性()
A.公有的(public)
B.受保护的(protected)
C.友员(friendly)
D.私有的(private)
3、在一个课程注册系统中,定义了类CourseSchedule和类Course,并在类CourseSchedule中定义了方法add(c:Course)和方法remove(c:Course),则类CourseSchedule和类Course之间的关系是:()
A、泛化关系
B、组成关系
C、依赖关系
D、包含关系
4、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A 和类B之间是()关系。
()
A、实现
B、关联
C、依赖
D、泛化
5、在UML中下列图形代表什么关系?()
A、组成关系
B、依赖关系
C、聚集关系
D、泛化关系
6、在UML中下列图形代表什么关系?( )
A、组成关系
B、依赖关系
C、聚集关系
D、泛化关系
7、汽车(Car)由轮子、发动机、油箱、座椅、方向盘等组成。
那么car类和其他类(Wheel、Engin、Tank、Chair、SteeringWheel)之间的关系是:()
A、泛化关系(Generalization)
B、实现关系(Realization)
C、包含关系(Inclusion)
D、组合关系(Composition)
8.在下面的图例中,哪个用来描述注释()
A B C D
9、在一个网络游戏系统中,定义了类Cowboy和类Castle,并在类Cowboy中定义了方
法open(c:Castle)和方法Close(c:Castle),则类Cowboy和类Castle之间的关系是:……()
A、依赖(dependency)关系
B、组成(composition)关系
C、泛化(generalization)关系
D、包含(include)关系
10、根据下面的代码,判断下面那些叙述是正确的?()
public class HouseKeeper{
private TimeCard timecard;
public void clockIn(){
();
}
}
A、类HouseKeeper和类TimeCard之间存在关联(Association)关系;
B、类HouseKeeper和类TimeCard之间存在泛化(Generalization)关系;
C、类HouseKeeper和类TimeCard之间存在实现(Realization)关系;
D、类HouseKeeper和类TimeCard之间存在包含(Inclusion)关系
11、已知类A需要类B提供的服务,下列所描述的四种情况中,哪种情况不好把类A
和类B之间的关系定义成依赖关系()
A、类A中存在两个操作都需要访问类B的同一个对象
B、类A的某个操作内部创建了类B的对象,而其他操作均与类B无关
C、类A的某个操作其参数是类B的对象,而其他操作均与类B无关
D、类B是一个全局变量
12、“一个研究生在软件学院做助教(teaching assistant),同时还在校园餐厅打工做收银员(cashier)。
也就是说,这个研究生有3种角色:学生、助教、收银员,但在同一时刻只能有一种角色。
”
根据上面的陈述,下面哪个设计是最合理的?()
A B
C D
14、类X与类Y有许多的属性,但是它的行为与类Y稍微有所不同;这时可以认为类
X是类Y的一种特例;则类X和类Y之间是()关系。
A 、泛化关系B、关联关系C、依赖关系D、实现关系
二、简答题
1、在UML建模中使用“包”是为了达到怎样的效果?
2、下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道所有注册课程的学生。
现在提出一个新的需求:"一个教师也可以是某些课程的学生",那么下面设计A~C中哪一个是最好的?为什么?
设计A:
设计B:
.设计C:
答案:设计__ _最好。
理由:
3、请为下面这段编译正确的代码,补充类图。
pulic class Student{
private String name;
public void setName(String name){
=name;
}
public String getName(){
return ;
}
}
4、根据下面的陈述画出类图
1)学生包括本科生、研究生两种。
2)研究生的一部分利用课余时间担任助教。
3)教师包括讲师和教授两种。
4)一名助教可以为一位讲师或一位教授助课,一位讲师只能有一名助教,一位教授可以有5名助教。
5、按如下描述画出一个自治机器人的类图。
这张图的焦点是聚集在那些让机器人在路上行走的机制所对应的类上。
你可以发现一个虚类Motor和两个从它派生出来的类:SteeringMotor和MainMotor。
这两个类都从它的父亲Motor继承了五个方法:move()、stop()、resetCounter()、statues()、distance()。
这两个类又是另一个类Driver的一部分。
类PathAgent和Driver有一个1对1的关系,和CollisionSensor有1对n的关系。
【问题:】综上所述请你用UML来绘制分析类图。