UML复习知识要点及考试范围.docx
- 文档编号:30633531
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:16
- 大小:252.64KB
UML复习知识要点及考试范围.docx
《UML复习知识要点及考试范围.docx》由会员分享,可在线阅读,更多相关《UML复习知识要点及考试范围.docx(16页珍藏版)》请在冰豆网上搜索。
UML复习知识要点及考试范围
2013年UML复习知识要点及考试范围
1.什么是UML?
用UML进行建模的目的是什么?
UML的主要特点是什么?
答:
UML是对软件密集型系统中的制品进行可视化、详述、构造和文档化语言。
目的:
1.使用模型可以更好地解决问题;2.使用模型可以加强人员之间的沟通;3.使用模型可以更早地发现错误或疏漏的地方;4.使用模型可以获取设计结果;5.模型为最后的代码生成提供依据。
特点:
①统一的标准;②面向对象;③可视化、表示能力强大;④独立于过程;⑤概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。
2.UML中包含哪9种图?
每种图的用途是什么?
答:
用例图(usecasediagram)、顺序图(sequencediagram)、协作图(collaborationdiagram)、类图(classdiagram)、对象图(objectdiagram)、状态图(statechartdiagram)、活动图(activitydiagram)、构件图(componentdiagram)和部署图(deploymentdiagram)
用途:
1.用例图(usecasediagram)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
2.类图(classdiagram)的目的是显示建模系统的类型,描述组成系统的对象内容与对象之间的关系。
3.对象图(objectdiagram)显示某时刻对象和对象之间的关系。
一个对象图可看成一个类图的特殊用例,实例和类可在其中显示。
对象也和合作图相联系,合作图显示处于语境中的对象原型(类元角色)。
4.组件图(componentdiagram)的主要目的是显示系统组件间的结构关系。
5.序列图(sequencediagram)用于为使用方案的逻辑建模。
使用方案恰如其名称所揭示的那样--描述使用系统的潜在方法。
使用方案的逻辑可以是用例的一部分,可能是备选过程。
6.状态图(statechartdiagram)用于检查、调试和描述类的动作行为。
7.活动图(activitydiagram)用于对系统的工作流程建模,即迪对系统的业务过程建模,也可以对具体的操作建模,用于描述计算机过程的细节。
8.协作图(collaborationdiagram)1.通过描绘对象之间消息的传递情况来反映具体的使用语境的逻辑表达。
2.显示对象及其交互关系的空间组织结构。
3.协作图的另外一个作用是表现一个类操作的实现。
9.部署图(deploymentdiagram)用于帮助理解分布式系统。
3.什么是用例?
什么是参与者?
用例之间、参与者之间以及用例与参与者之间有分别什么关系?
其表示符号是什么?
根据需求分析要求能画出系统的用例图。
答:
用例是对一个活动者使用系统的一项功能时所进行的交互过程的一个文字描述序列。
参与者(actor)是指系统一位的、需要使用系统或与系统交互的东西,包括人、设备、外部系统等。
关系类型
说明
表示符号
关联(association)
actor和usecase之间的关系
泛化(generalization)
actor之间和usecase之间的关系
包含(include)
usecase之间的关系
扩展(extend)
usecase之间的关系
用例图:
4.什么是交互图?
什么是顺序图和协作图?
二者有何异同?
顺序图和协作图中分别包含哪些建模元素?
答:
交互图(interactiondiagram)是用来描述对象之间以及对象与参与者之间的动态协作关系以及协作过程中行为次序的图形文档。
顺序图(sequencediagram)是显示对象之间交互的图,这些图像是按时间顺序排列。
协作图(collaborationdiagram)是用于描述系统行为是如何由系统的成分协作实现的图。
二者的区别:
顺序图强调的是消息的时间顺序,而协作图强调的是参与交互的对象的组织。
顺序图中包括的建模元素有:
对象(参与者实例也是对象)、生命线(lifeline)、控制焦点(focusofcontrol,FOC)、消息(message)等
协作图中包括的建模元素有对象(包括参与者实例、多对象、主动对象等)、消息、链等。
顺序图:
协作图:
5.怎么设计顺序图和协作图?
会根据需求分析设计顺序图和协作图。
答:
建立顺序图的步骤:
①、确定交互过程的上下文(context);②、识别参与交互过程的对象;③、为每个对象设置生命线,即确定哪些对象存在于整个交互过程中,哪些对象在交互过程中被创建和撤销;④、从引发这个交互过程中的初始消息开始,在生命线之间自顶向下依次画出随后的各个消息;⑤、如果需要表示消息的嵌套,或/和表示消息发生时的时间点,则采用控制焦点;⑥、如果需要说明时间约束,则在消息旁边加上约束说明;(约束是UML的3中扩展机制之一。
)⑦、如果需要,可以为每个消息附上前置条件和后置条件。
建立协作图的步骤:
①、确定交互过程的上下文(context);②、识别参与交互过程的对象;③、如果需要,为每个对象设置初始体征;④、确定对象之间的链(link),以及沿着链的消息;⑤、从引发这个交互过程中的初始消息开始,将随后的每个消息附到相应的链上;⑥、如果需要表示消息的嵌套,则用Dewey十进制数表示法;⑦、如果需要说明时间约束,则在消息旁边加上约束说明;⑧、如果需要,可以为每个消息附上前置条件和后置条件。
6.什么是类和类图?
类之间的关系有哪几种?
关联的命名方式?
会判断类之间的各种关系。
会画类图。
答:
类是具有相似结果、行为和关系的一组对象的描述符。
类图描述的是类与类之间的静态关系。
类之间的关系有:
关联(association)、聚合(aggregation)和组合(composition)、泛化(generalization)、依赖(dependency)、派生属性(derivedattribute)和派生关联(derivedassociation)
关联的命名方式是:
自反关联(reflexiveassociation)(也称递归关联(recursiveassociation))、二元关联(binaryassociation)、N元关联(n-aryassociation)
类图:
7.一般可以把类图分为哪三个抽象层次?
各有什么用途?
答:
①、概念层(conceptual);②、说明层(specification);③、实现层(implementation)。
概念层类图描述应用领域中的概念,一般这些概念和类有很自然的联系,但两者并没有直接的映射关系。
概念层类图应独立于具体的程序设计语言。
说明层类图描述软件的接口部分,而不是软件的实现部分。
这个接口可能因为实现环境、运行特性或者开发商的不同而有多种不同的实现。
实现层类图才真正考虑类的实现问题,提供类的现实细节。
8.类关联中聚集(aggregation)和组合(composition)两者之间有何区别?
答:
聚合和组合之间的一些区别:
•••••••聚合关系也称为“has-a”关系,组合关系也称“contains-a”。
•聚合关系表示事物的整体/部分关系的较弱的情况,组合关系表示事物的整体/部分关系的较强的情况。
•在聚合关系中,代表部分事物的对象可以属于多于聚集对象,可以为多个聚集对象所共享,而且可以随时改变它所从属的聚集对象。
代表部分事物的对象与代表聚集事物对象的生存期无关,一旦删除了它的一个聚集对象,不一定也就随即删除代表部分事物的对象。
在组合关系中,代表整体事物的对象负责创建和删除代表部分事物的对象,代表部分事物的对象只属于一个组合对象。
一旦删除了组合对象,也就随即删除了相应的代表部分事物的对象
9.类和对象的关系?
关联和链的关系?
类和接口的关系?
什么是版型?
类的版型有哪几种?
答:
对象是类的实例。
对象之间的链是类之间的关联的实例。
接口是类的<
版型(stereotype)是UML的3种扩展机制之一。
版型是建模人员在已有的构造块上派生出的新构造块,这些构造块是和特定问题相关的。
类的版型有3种,即边界类(boundaryclass)、控制类(entityclass)和实现类(controlclass)。
10.数据库设计可分为哪几个阶段?
在Rose中数据库设计的步骤是什么?
何谓对象模型转换为数据模型?
何谓数据模型转换为对象模型?
答:
数据库设计主要涉及3个阶段,即概念设计、逻辑设计和物理设计。
在Rose中的设计步骤:
(1)、创建数据库对象;
(2)、创建模式(schema);(3)、创建域包(domainpackage)和域(domain);(4)、创建数据模型图(datamodaldiagram);(5)、创建表(table);(6)、创建列(column);(7)、创建关系(relationship);(8)、在必要的情况下对数据模型进行规范化,如从第二范式转变为第三范式;(9)、在必要的情况下对数据模型进行优化;(10)、实现数据模型。
所谓的对象模型转化为数据模型,就是把类装换为表,类与类之间装换为表与表之间的关系,或者也装换成表。
也就是,要装换的类要放在某个包中,然后把整个包中所谓所有类都装换过去。
所谓的数据模型向对象模型转换,就是把表装换为类,表与表之间的关系装换为类与类之间的关系。
11.什么是包?
包和子系统有什么关系?
设计包时应遵循什么原则?
答:
包用于组织模型中的相关元素以便更容易理解。
包和子系统关系为:
耦合关系、依赖关系、泛化关系。
设计包应遵循的原则:
(1)、重用等价原则(ReuseEquivalencyPrinciple,PEP);
(2)、共同闭包原则(CommonClosurePrinciple,CCP);(3)、共同重用原则(CommonReusePrinciple,CRP);(4)、非循环依赖原则(AcyclicDependenciesPrinciple,ADP)。
12.什么是活动图和状态图?
二者有何异同点?
分别适用于什么场合?
掌握状态图和活动图中的基本概念?
会根据需求描述画系统的状态图和活动图。
答:
活动图是用于描述系统的工作流程和并发行为。
状态图是用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action)。
异同:
(1)、两者描述的重点不同;
(2)、两者使用的场合不同;(3)、如果显示多个对象之间的交互情况,用状态图或活动图都不适合,这时可用顺序图或协作图描述。
活动图适用于分析用例,或理解涉及多个用例的工作流程,或处理多线程应用等;状态图适用于显示一个对象在生命周期内的行为。
状态图的几个基本概念:
状态你太(state)、组合状态(compositestate)和子状态(substate)、历史状态(historystate)、转移(transition)、事件(event)、动作(action);活动图的几个基本概念:
活动(activity)、泳道(swimlane)、分支(branch)、分叉(fork)和汇合(join)对象流。
状态图:
活动图:
13.什么是构件图和部署图?
二者有什么作用?
构件有哪几种类型?
熟悉部署图中的基本概念?
答:
构件图(componentdiagram)是显示一组构件以及它们之间的相互关系,包括编译、链接或执行时构件之间的依赖关系。
部署图(deploymentdiagram)也称配置图、实施图。
它是用来显示系统中计算结点的拓扑结构和通信路径与结点上的运行的软构件等。
构件图的作用:
(1)、对源代码文件之间的相互关系建模;
(2)、对可执行文件之间的相互关系。
部署图的作用:
它常常用于帮助理解分布式系统。
构建中的类型:
(1)、部署构件(deploymentcomponent),如dll文件、exe文件、COM+对象、CORBA对象、EJB、动态Web页、数据库表等;
(2)、工作产品构件(workproductcomponent),如源代码文件、数据文件等,这些构件可以用来产生部署构件;(3)、执行构件(executioncomponent),也就是系统执行后得到的文件。
部署图的两个基本概念:
结点和连接。
构件图:
部署图:
14.什么是设计模式?
采用设计模式的好处是什么?
设计模式的分类。
答:
设计模式是对某特定环境下某类问题的解决办法。
采用设计模式的好处:
(1)、简化并加快设计;
(2)、方便设计者之间的通信;(3)、降低风险;(4)、有利于转到OO技术。
设计模式的分类:
(1)按设计模式的目的(purpose)划分,可分为创建型模式(creationalpattern)、结构模式(structuralpattern)、行为模式(behavioralpattern)。
按设计模式的范围(scope)划分:
类设计模式和对象设计模式。
考试题型:
一、选择题(每题1分,共20分)
二、填空题(每题2分,共20分)
三、判断改错题(每题2分,共10分。
对的打“√”,错的打“×”并说明错误原因,只打“×”未说明错误原因记1分)
四、简答题(约30分)
五、案例分析与设计:
(约20分)
附录:
UML定义了结构类、行为类、模型管理类等3个大类,共12种模型图,详见表1-1所归纳的内容。
类型
功能
子类型
子类型的功能
结构类模型图
描述系统应用的静态结构
类图
描述系统中类的静态结构,展示了一组类、接口和协作及它们间的关系。
其描述的静态关系,在系统整个生命周期都是有效的。
系统可有多个类图,在高层给出类的主要职责,在低层给出类的属性和操作。
对逻辑数据库模式建模、对系统词汇建模、对简单协作建模时可使用它
对象图
展示了一组对象及它们间的关系。
用对象图说明类图中所反应事物实例的数据结构和静态快照,是类图的一个实例。
显示类的多个对象实例,而不是实际的类,只能在系统某一时间段存在
构件图
描述代码构件的物理结构及各构件之间的依赖关系。
用于对源代码、可执行的发布、物理数据库和可调整的系统建模
配置图
展现了运行时处理节点及其构件的部署。
它描述系统硬件的物理拓扑结构(包括网络布局和构件在网络上的位置)以及在此结构上执行的软件(即运行时软构件在节点中的分布情况)。
它说明系统结构的静态部署视图,即说明分布、交付和安装的物理系统
行为类模型图
描述系统动态行为的各个方面
用例图
展现了一组用例、用户以及它们间的关系。
即从用户角度描述系统功能,并指出各功能的操作者。
用于收集用户实际需求所采用的一些方法中
序列图
展现了一组对象和由这组对象收发的消息。
用于按时间顺序对控制流建模,说明系统的动态视图。
强调的是时间和顺序
协作图
展现了一组对象及其相互间的连接及这组对象收发的消息。
强调收发消息对象的结构组织,按组织结构对控制流建模。
它强调上下层次关系
状态图
展示了一个特定对象的所有可能状态及由于各种事件的发生而引起的状态间的转移,常用它说明系统的动态视图。
它对于接口、类或协作的行为建模尤为重要。
一个状态图描述了一个状态机。
它强调一个对象按事件次序发生的行为
活动图
是一种特殊的状态图,描述需要做的活动、执行这些活动的顺序(多为并行的)以及工作流(完成工作所需要的步骤)。
它用于系统的功能建模,并强调对象间的控制流
模型管理类模型图
软件包
组织和管理各种应用模型
子系统
模型
表1-1UML模型图及其功能表
表1-2 UML视图相关说明表
视图
说明
组成
使用者
用例视图
描述系统应交付的功能,即从外部参与者的角度出发所观察到的系统功能,是其他视图的核心和基础。
可用于测试系统是否满足用户需求、验证系统的有效性
静态描述系统功能的用例图和动态观察系统功能的序列图、协作图、活动图
用户、设计人员、开发人员、测试人员
逻辑视图
从系统静态结构(类图、对象图)和动态行为(状态图、序列图、协作图、活动图)角度出发显示如何实现系统的功能,它关注的是系统的内部
类图、对象图、状态图、序列图、协作图、活动图
设计人员、
开发人员
构件视图
用来显示系统代码构件的组织结构,描述系统实现模块以及它们之间的依赖关系
构件图
开发人员
并发视图
用业显示系统的并发性,主要包含形成系统并发与同步的线程和进程。
它描述的是系统的非功能属性,主要考虑资源的有效使用、代码的并发执行和异步事件的处理
动态图(状态图、序列图、协作图、活动图)和实现图(构件图、部署图)
开发人员、系统集成人员
部署视图
显示系统的具体部署,即将软件系统部署到由处理器设备组成的硬件结构中
部署图
开发人员、系统集成人员、测试人员
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 复习 知识 要点 考试 范围
![提示](https://static.bdocx.com/images/bang_tan.gif)