UML建模技术作业自编习题集.docx
- 文档编号:7651204
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:19
- 大小:365.03KB
UML建模技术作业自编习题集.docx
《UML建模技术作业自编习题集.docx》由会员分享,可在线阅读,更多相关《UML建模技术作业自编习题集.docx(19页珍藏版)》请在冰豆网上搜索。
UML建模技术作业自编习题集
UML建模技术作业自编习题集
第一章上升到面向对象
1、结构化思维与对象化思维有什么本质的不同?
体现了怎样的思维差异?
对象思想有何优势?
2、如何表达设计思想:
代码?
图形?
3、根据所在学院,以学生角度,应该哪些设计类与对象?
举例说明面向对象技术的五个原则
4、阅读课件第1章PPT中的课外作业:
面向对象术语清单
●抽象类AbstractClass
●对象不能从中实例化的类
●抽象Abstraction
●某项目(如类或操作)的基本特征
●聚合Aggregation
●表示两个类或组件之间是“ispartof”关系
●聚合层次AggregationHierarchy
●通过聚合关系联系的一组类
●关联Association
●对象和其它对象发生联系
●属性Attribute
●类知道的东西(数据/信息)
●类Class
●相似对象的软件抽象,创建对象的模版
●内聚Cohesion
●封装单元(如组件或类)的相关程度
●协作Collaboration
●类协作来完成它们的职责
●构件Component
●可以独立开发、分发以及与其他组件一起构建较大单元的内聚功能单元
●组合Composition
●更强类型的聚合,其中“整体”完全负责它的各组成部分,每“部分”对象仅和一个“整体”对象相联系
●具体类ConcreteClass
●可以进行对象实例化的类
●耦合Coupling
●两个项目的依赖程度
●封装Encapsulation
●把相关的概念(例如类或组件)归组到一个项目
●信息隐藏InformationHiding
●限制外部对属性的访问
●继承Inheritance
●表示“isa”和“islike”关系
●继承层次InheritanceHierarchy
●表示继承相联系的一组类
●实例Instance
●对象是类的一个实例
●实例化Instantiate
●从类中实例化对象
●接口Interface
●定义内聚行为集的一个或多个操作特征标记的集合
●消息Message
●是信息请求或执行一个动作的请求
●传递消息Messaging
●为了协作,类互相发送与接收消息
●方法Method
●类完成的事情(与结构化编程中函数类似)
●多重继承MultipleInheritance
●类直接从一个以上的类继承
●对象Object
●一个实体,包括物理实体、概念实体、软件实体
●对象空间ObjectSpace
●主存,加上网络上所有可供使用的存储空间
●覆盖Override
●有时在子类中你需要覆盖(重定义)属性与方法
●模式Pattern
●考虑到相关因素时通用问题的可复用方案
●持久性Persistence
●对象怎样永久被保存的问题
●持久对象PersistentObject
●一个保存到永久存储的对象
●多态Polymorphism
●以不同方式响应同一消息的不同对象,使对象可以不必知道相互的类型而交互
●单一继承SingleInheritance
●一个类直接从唯一一个类继承
●构造型Stereotype
●表示一种建模元素的通用用法
●子类SubClass
●如果类B继承自类A,则B是A的子类(派生类)
●父类SuperClass
●如果类B继承自类A,则A是B的子类(基类)
●临时对象TransitoryObject
●一个没有被保存到永久存储的对象
第二章可视化建模技术
1、根据所给参考教程《UML建模技术——实验指导书&Rose使用指南》实验一,熟练掌握RationalRose建模工具软件的绘图基本技能,主要作为课后上机实验内容;
2、举例说明描绘软件现实业务存在的模型?
为什么要建模?
总结UML在软件工程中的作用以及使用UML建模的必要性。
3、阐述UML2的组成结构?
UML2中有哪些图?
分为几类?
分别描述每个图的作用?
4、阐述构造型的作用?
5、判断题:
1)UML2中一共有九种图:
它们是用例图、类图、对象图、顺序图、通信图、状态机图、活动图、构件图、部署图
2)用例图是从程序员角度来描述系统的功能
3)类图是描述系统中类的静态结构,对象图是描述系统中类的动态结构
4)活动图和状态机图用来描述系统的动态行为
5)通信图的一个用途是表示一个类操作的实现
6、选择题:
1)请在下面选项目中选出两种可以互相转换的图
(a)顺序图(b)通信图(c)活动图(d)状态机图
2)下面哪些图可用于业务设计阶段
(a)用例图(b)构件图(c)类图(d)顺序图
7、练习使用建模工具建立各种UML图形,并对图形进行相应编辑和修改。
8、认识各种UML关系及可见性符号,并用工具表示出来。
第三章业务建模
1、阐述业务建模流程?
2、从业务模型到系统模型需要做哪些工作?
3、为什么要用活动图描述业务用例?
4、业务对象模型的核心元素有哪些元素构成?
根据学生成绩管理业务分别给出这些核心元素。
5、选择题
1)上图中的参与者有?
(a)1(b)2
(c)3(d)4
2)上图中的用例有?
(a)1(b)2
(c)3(d)4
3)2和3之间是什么关系?
5和6呢?
(a)扩展,包含(b)包含,扩展
4)5缺少了3仍然是个完整的用例?
(a)是的(b)不是
5)4能够参与2吗?
1能够参与5吗?
(a)可以,不可以(b)不可以,可以
6、什么是活动?
UML中如何表示活动?
7、活动图中包括哪些元素?
分别如何表示?
8、活动图练习
1)请选择下面所列的活动图的事物中,表示信号的是(),表示对象流的是()。
AB
CD
2)说明下面活动图所表达的信息。
9、课外作业实践:
利用Rose软件掌握业务用例模型、业务对象模型、活动图的绘制,并深入理解掌握活动图分解的基本方法和并发活动图的表示方法。
第四章用例建模
1、什么是需求?
需求包括哪几个方面?
2、什么是需求分析?
需求分析有何重要意思?
需求分析可以分为哪几个步骤?
3、业务模型如何映射到系统模型?
4、从业务模型中如何去发现用例?
5、什么是用例,什么是场景?
用例和场景之间的关系是怎样的?
6、用例图中有哪些组成元素?
在UML中是如何表示的?
7、总结用例图的重要作用,讨论并指出哪些场合下可以使用用例图?
8、在使用用例图的时候应该如何确定用例,应注意哪些问题?
9、为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发一套符合市场需要的、实用的信息管理系统。
主要将实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询等功能。
该公司小王,通过多次的与潜在客户的交流与沟通,完成了最初的用例模型的开发,下是一个用例模型的局部:
小李认为该模型不符合“用例建模”的思想,存在明显的错误。
请用200字以内说明错误所在,并说明应该如何修改。
答:
1)主要错误:
用例的分解太细,并没有遵从每个用例为用户传递一个有价值的结果的原则。
在原设计中“打开房源信息页面”、“录入房源信息”、“确认提交信息”都只是一个操作步骤,因此不适合作为用例。
2)修改方法:
将“打开房源信息页面”、“录入房源信息”、“确认提交信息”合并为“新增房源信息”。
或将上述操作合并为“房源信息管理”
10、如何理解“参与者与涉众”?
如何进行涉众分析?
11、根据饭店管理系统设计“房间预订”的两到三个场景,并写出“房间预订”用例规约文档
12、用例与用例之间的包含关系、扩展关系和泛化关系各代表什么含义?
它们之间有何区别?
对以上三种关系各举一例,画出用例图,并进行说明。
13、何时使用用例建模?
14、阅读下面的用例图,说明该图所表达的信息。
第五章用例分析
1、描述用例模型和分析模型的关系
2、讨论用例分析技术和结构化分析之间的关系和区别。
3、在使用用例图的时候应该如何确定用例,应注意哪些问题?
4、结合“旅游申请系统”首次迭代周期的用例图,阐述“用例驱动的迭代开发”的作用?
5、阐述分析机制的作用
6、什么是交互?
请举出2~3个交互的实例。
7、UML中定义了哪几种交互图?
它们之间各有什么区别和联系?
8、什么是消息?
消息在交互中扮演什么角色?
9、顺序图中有哪几种消息?
它们之间具体有何分别?
应如何表示?
10、已知某一个用例实现的类图如下,下面四个选项中的顺序图(图中省略了消息编号、名称和返回消息),画出一个能和该类图对应的顺序图。
11、简单描述图书馆管理系统的体系构架,并将分析过程所发现的类(对象)放入到相应的层次结构中
12、看图问题:
1)指出下图中的参与者?
A①B②C③D④
2)哪些是对象?
A①B②③④C④D⑤⑥⑦⑧⑨⑩
3)Server类调用了CreditService类中的什么操作?
A⑦B⑧C⑦⑧D⑧⑨
13、类的属性和方法的可见性有哪些?
UML中如何表示?
14、根据以下描述画出类图,并注明多重性关系:
一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。
15、下图是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库中的每一项,Product则是产品信息。
请指出模型中的错误,说明原因并改正类图。
16、下图是一个描述保险商务系统的简单用例图。
根据该用例图回答问题。
a)“签订保险单”用例可能涉及到哪几个实体类?
b)现实生活中签订保单的基本流程如下:
客户提出购买需求,保险员根据客户需求选择相应的保险服务,客户阅读保险条款,同意后打印保单样据,客户签字并支付保金,保单开始生效,保险员做相关系统纪录。
如需要根据以上信息,请列举这个用例描述中可能存在扩展事件流。
c)保单管理用例在实际开发过程中可以泛化出若干小用例,列出可能存在的子用例,并且说明这些用例和“保单管理”用例之间应该是什么关系?
17、在下图中最上面的对象的名称是什么?
该图表示的意思是什么?
请绘制出与其相应的类图。
18、说明对象图的适用场景以及它的优缺点。
第六章面向对象的设计原则
1、面向对象设计的核心思想是什么,并对其进行说明。
2、根据Liskov替换原则,子类可以取代父类出现在任何需要父类的地方。
下面的类图中,只要可以使用Engine类型的对象,就可以使用SportsEngine类型的对象。
即Car类的对象可以使用SportsEngine类型的对象。
但实际情况中,为了避免出现普通汽车使用跑车引擎或者普通引擎被跑车使用的情况,请问如何改进这个类图,使得只有SportsCar类型的对象才能使用SportsEnginee类型的对象?
画出改进后的类图。
3、结合旅游申请系统,如何透过现象看本质?
给出系统的本质特征,即描绘对象的组成。
4、在顺序图和通信图中,应如何表示“循环”,“判断”等结构?
5、如下图所示的设计图,员工根据工种可以分为全职(FullTime)和兼职(PartTime)两种,根据工作项目可以分为软件员工和硬件员工。
在初始设计中,整个类图层次结构缺乏灵活性,如果需要增加一个新的工作项目,则在全职员工和兼职员工下都要增加子类,提高了工作量。
如何修改原始设计以便更轻松的增加工作项目或者新的工种?
画出改进后的类图。
6、假设有一系统得通信图局部如图所示,print方法的功能是将传入的参数的值打印在屏幕上,fact方法是计算阶乘,如果test的初值为1,那么最终将打印出什么?
(写出计算过程)
7、下图设计是否符合面向对象设计原则?
应如何改进?
8、选做题
现拟建立一个网上售书系统。
客户对网站的描述如下,要求网站必须具备以下的功能。
●顾客可注册个人信息和申请个人账号。
●顾客可浏览书籍信息(包括作者,出版社,目录,摘要,价格,库存情况等),可按作者和书名分别进行搜索。
●顾客可把书籍加入购物车,也可删除购物车中书籍。
●购物车物品确认后顾客可提交购物信息,进行在线支付(暂时只提供银行卡支付一种手段),并可在订单物品被发出之前取消或再编辑订单。
●顾客可查看历史交易记录。
●网站设有管理员和工作人员。
其中网站管理员负责管理客户信息,网站的维护,以及网站信息的更新和管理。
工作人员负责处理客户订单,并通知发货单位(可能是网站仓库,也可能是其他供应商)发送货物。
●销售货品都需进行记录,管理员可查询所有记录。
●客户可选择打印电子收据。
●试找出系统中的类,确定各个类的属性,并画出类图。
第七章面向对象的设计模式
1、什么是设计模式?
并阐述设计模式在软件开发过程中的作用?
2、结合课本,根据以下JAVA源代码绘制出相应的顺序图和通信图。
publiceclassSale{
privatelist
publicMoneygetTotal()
{
Moneytotal=newMoney();
Moneysubtotal=null;
for(SalesLineItemlineItem:
lineItems)
{
subtotal=lineItem.getSubtotal();
total.add(Subtotal);
returntotal;
}
}
}
3、什么是职责?
结合你所能接触到的现实业务规则(图书馆、超市、书店、学院管理、社团活动等等)举例说明职责是如何划分的?
结合下表定义你发现的“业务执行者”所列的职责分配:
业务执行者
教师
角色1
指导教师
职责
1.拟定毕业设计(论文)题目
2.指导学生完成毕业设计(论文),编写相关教学文档,做好教学情况记录
3.检查学生完成情况,及时解决问题
4.验收学生成果,对学生成果提出科学评价,并给出成绩
5.在教学过程按要求填写一系列表格,确保管理工作有序执行
6.评选学生作品创新奖
业务目标
1.学生在其指导下顺利完成毕业设计(论文)
2.能以较高效率完成在职工作
4、请根据“不要和陌生人讲话”迪米特准则,举例说明显示业务系统中存在的现象
第八章架构设计
1、在实际业务中,设计元素主要体现在哪几个方面?
2、为什么采用架构的设计可以控制软件的复杂性?
3、UML中主要提供了哪几种模型支持架构层的建模?
4、如何避免包与包之间出现循环依赖关系?
各举一例。
5、根据下图判断下面哪句话正确的说明了包之间的依赖关系。
A)对Package1包中的元素做了修改后,需检查Package2包中的元素和Package3包中的元素是否要做相应修改。
B)对Package1包中的元素做了修改后,需检查Package2包中的元素是否需要做相应修改,如果是,则需继续检查是否Package3包中元素也要做相应修改。
C)对Package3包中的元素做了修改后,需检查Package2包中的元素是否需要做相应修改,如果是,则需继续检查是否Package1包中元素也要做相应修改。
D)对Package3包中的元素做了修改后,需检查Package2包中的元素和Package1包中的元素是否要做相应修改。
6、结合一个具体例子,分析UML建模过程中包图所起的作用。
7、以下关于架构建模的描述中,哪些说法不正确?
并改正。
(1)根据RUP的建议,架构设计应该包括逻辑视图和物理视图。
(2)架构设计的主要工作就是确定类与类之间的关联关系。
(3)分层模式是最常见的架设模式。
8、下面包图设计中是否存在问题?
应如何改进。
A)
B)
9、运行时架构为什么表现为OS中的进程与线程?
10、为何要描述系统的部署?
11、在UML部署图中,具有计算能力的节点、能够执行软构件的节点,通常被称为。
12、以下各项不属于设备节点的是()。
A.扫描仪(Scanner)B.计算机(Computer)
C.打印机(Printer)D.调制解调器(Modem)
13、如下图所示为家用计算机系统部署图,请根据图示说明该系统中的处理器节点、设备节点、连接。
图家用计算机系统部署图
14、选择题:
1)部署图用于那种建模阶段?
A.动态建模B.静态建模
2)部署图表现构件实例,构件图表现构件类型定义。
这种说法正确吗?
A.正确B.错误
3)部署图中一个节点实例的名称为Server:
HostMachine,其中Server是,HostMachine是。
A.节点名B.节点类型
4)各节点之间存在着虚线剪头表示的依赖关系,也存在着实线箭头表示的服务提供关系。
这种说法正确吗?
A.正确B.错误
5)“接口”表示对外提供的服务。
A.构件B.节点
第九章构件设计
1、在交互图中如何表达子系统?
子系统的设计策略有哪些?
2、何时要引入架构机制?
将子流封装为子系统何时使用?
3、构件和类的关系是怎样的?
它们有何异同之处?
4、在一张基本构件图中,构件之间最常见的关系是什么?
5、下图是对某源代码建模后的构件图,请说出其表达的信息。
6、状态和对象的关系是怎样的?
下面描述中哪些是对象,哪些是状态?
支票已付、汽车停在那儿、小王正在工作
7、说出下面状态机图所表达的信息
8、课堂作业:
某销售POS机工作流程如下:
当客户到收银台后,收银员逐一输入用户购买的商品,然后计算总金额,等待用户付款,确定支付成功之后,完成收银,等待下一个用户。
请为其画出对应的状态图。
9、选择题:
1)构件图用于那种建模阶段?
A.动态建模B.静态建模
2)一个构件只能对特定的另一个构件提供特定的一种服务。
这种说法正确吗?
A.正确B.错误
3)构件图用于描述系统中各物理部件之间的服务的依赖提供关系。
这种说法正确吗?
A.正确B.错误
4)构件图中实线箭头表示服务的依赖,虚线箭头表示服务的提供。
这种说法正确吗?
A.正确B.错误
10、已知三个类A.B和C.其中类A由类B的一个实类和类C的1个或多个实类构成.请用UML工具画出能够正确表示类A,B和C之间关系的UML类图
11、根据下面的代码画出Invoice类的类图,要求标明各属性的类型和可见性以及类方法。
publicclassInvoice
{
publicdoubleamount;
publicDatedate=newDate();
publicstringcustomer;
publicstringspecification;
publicstringadministrator=“unspecified”;
staticprivateintnumber_of_invoices()=0;
publicinvoice();
{
number_of_invoices++;
}
publicvoidprint()
{
System.out.println("Thenumberofinvoicesis”+intnumber_of_invoices);
}
}
12、如果现在系统需求发生变化,需要能够对损坏商品进行打折,以及可以按照商品的颜色和外形进行查询,则系统类图应该如何修改?
13、现有一系统需要对商品进行管理,包括添加,删除商品,修改商品信息三项功能,用UML工具画出系统类图。
(商品信息包括商品编号,商品名称,价格,生产厂商等)
14、以下关于数据模型三种形式的说法是否正确?
应如何改正?
(1)数据库建模中的逻辑数据模型和面向对象软件开发中的概念模型十分类似。
(2)在逻辑模型中,一般只标识出数据实体,而不考虑实体之间的关系。
(3)只有在物理模型中才会列出数据实体的属性。
(4)除了概念模型之外,另外两种模型都是与具体的数据库管理系统相关的。
(5)对于实体属性的数据类型和数据长度,一般只在物理模型中体现。
课外讨论:
熟练掌握《UML建模技术——实验指导书&Rose使用指南》第9章。
讨论构件图或状态图适用于哪些建模需求。
什么样的情况下适合引入状态图进行建模
第十章从模型到代码
1、从UML模型生成代码框架的过程称为工程。
2、在RationalRose选择【Tools】->【Java/J2EE】菜单实现正向工程时,选择下列哪一项(),可以实现代码生成功能。
A.EditCodeB.SyntaxCheck
C.ProjectSpecificationD.GenerateCode
3、在软件的迭代开发周期中,通常采用达到设计模型与实现模型的同步。
4、下列关于正向工程和逆向工程的描述,错误的是()。
A.正向工程是把模型转换为代码的过程。
B.逆向工程是把代码转换为模型的过程。
C.正向工程是把代码转换为模型的过程。
D.逆向工程是把模型转换为代码的过程。
E.正向工程和逆向工程都可以通过RationalRose工具来实现。
课外作业:
结合《UML建模技术——实验指导书&Rose使用指南》实验九,提交实验报告
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 建模 技术 作业 习题集
![提示](https://static.bdocx.com/images/bang_tan.gif)