UML复习整理.docx
《UML复习整理.docx》由会员分享,可在线阅读,更多相关《UML复习整理.docx(16页珍藏版)》请在冰豆网上搜索。
UML复习整理
第一章
1、UML支撑软件整个生命周期
2、对象:
面向对象系统的基本构造块,是一些相关的变量和方法的软件集
3、事件:
指一种由系统预先定义而由用户或系统发出的动作
4、面向对象的基本特征:
抽象,封装,继承,多态
5、模型:
对现实客观世界的形状或状态的抽象模拟和简化
6、UML定义:
是对软件密集系统进行可视化建模的一种语言,也是为面向对象开发系统的产品进行说明、可视化、构造和编制问的一种标准语言
7、UML可贯穿软件开发周期的每一阶段,最适用于数据建模、业务建模、对象建模、组件建模
填空题
1、统一建模语言UML是绘制软件蓝图的标准工具语言,可以对软件系统产品进行说明、可视化、构造和编制文档
2、UML在实际软件项目中,可以用于构造各种类型系统的业务模型和软件模型。
3、软件的开发模式有瀑布模型、喷泉模型、基于构件的开发模型和XP方法。
4、面向对象程序的三大要素是多态、封装和继承。
5、瀑布模型的缺点是缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。
选择题
1、对象程序的基本特征是:
抽象、封装、继承、多态
2、类包含的要素有:
名字、属性、操作
3、下列关于类与对象的关系说法不正确的是:
有些对象是不能被抽象类的
4、面向对象方法中的继承机制是子类可以自动地拥有(复制)父类全部属性和操作
5、建立对象的动态模型一般包含的步骤有:
准备脚本、确定事件、准备事件跟踪表、构造状态图
第二章
1、UML的概念和模型分为静态结构、动态行为、实现构造、模型组织和扩展机制这几个机制
2、面向对象的事物分为:
结构事物、行为事物、分组事物、注释事物
3、结构事物是UML模型中的名词部分,结构事物分为:
类、接口、协作、用例、主动类、构件和结点
4、行为事物是指UML模型的相关动态行为,是UML模型的动态部分,它可以用来描述跨越时间和空间的行为。
行为事物是分为:
交互和状态机。
5、分组事物:
UML对模型中的各种组成部分进行事物分组的一种机制。
6、注释事物:
UML模型的解释部分,用于进一步说明UML模型中的其他任何组成部分。
7、UML关系:
依赖关系:
两个事物之间的一种语义关系
关联关系:
是一种事物之间的结构关系,用它来描述一组链,链是对象之间的连接。
泛化关系:
是事物之间的一种特殊关系,特殊元素的对象可替代一般元素的对象,也就是面向对象中常常提起的继承。
实现关系:
是UML元素之间的一种语义关系,它描述了一组操作的规约和一组对操作的具体实现之间的语义关系。
1、视图:
是由一个或多个图组成的对系统某个角落的抽象
2、视图模型分为:
1)结构分类:
描述了系统中的结构成员及其相互关系,类元包括类、用例、构件和节点,类元为研究系统中的动态行为奠定了基础。
类元视图包括静态视图、用例视图、实现视图及部署视图
2)动态行为:
描述了系统随时间变化的行为,动态行为视图包括状态机视图、活动视图和交互视图
3)模型管理:
说明了模型的分层组织结构
10、UML中的视图只要包括:
静态视图、用例视图、交互视图、实现视图、状态机视图、部署视图、活动视图和模型管理视图
11、静态视图的作用:
1)静态视图是UML的基础
2)构造了这些概念对象的基本结构
3)是建立其他动态视图的基础
静态视图的基本元素是类元与类元之间的关系,类元是描述事物的基本建模元素。
12、用例视图描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图
13、交互视图:
描述了执行系统功能的各个角色之间相互传递的顺序关系,是描绘系统中各种角色或功能交互的模型。
14、状态机:
以独立的对象为中心进行描述的方式称之为状态机
15、活动视图:
一种特殊形式的状态机视图,是状态机的一个变体,用来描述执行算法的工作流程中涉及的活动
16、UML作为一种可视化的建模语言,其主要表现形式就是将模型进行图形化表示。
UML图包括:
1)用例图:
描述了系统的一个功能单元
2)类图:
显示了系统的静态结构,表示了不同的实体是如何彼此相关联的
3)序列图:
显示了一个具体用例或者一部分的详细流程
4)状态图:
表示某个类所处的不同状态以及该类在这些状态中的转换过程
5)活动图:
用来表示两个或者更多的对象之间在处理某个活动时的过程控制流程
6)构件图:
指出某些功能主要存在哪些地方
7)部署图:
用于表示该软件系统如何部署到硬件环境,它显示在系统中的不同构件何处物理地运行,以及如何进行彼此的通信
17、视图与图的区别:
(自己想的)
视图是表达系统某一方面特征的UML建模构件的子集。
在每一类视图中使用一种或两种特定的图来可视化地表示视图中的各种概念
UML作为一种可视化的建模语言,其主要表现形式就是将模型进行图形化表示。
填空题
1、在UML中,静态视图包括两种视图,分别是类图和对象图
2、规格说明、修饰和通用划分是UML常用的通用机制
3、构造型、标志值和约束是UML常用的扩展机制
4、用例视图描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图
5、状态图是通过对象的而各种状态来建立模型来描述对象的随时间变化的动态行为,并且它是以独立的对象为中心进行描述
选择题
1、UML中的关系元素包括:
依赖、关联、泛化、实现
2、在UML中,定义了面向对象的事物,这些事物分为:
结构事物、行为事物、分组事物、注释事物。
3、UML图中包括:
用例图、类图、状态图
4、UML的视图不包括:
类视图、状态视图、物理视图
5、下面不属于UML中的静态视图是:
状态图、用例图
简答题
1、UML中的模型元素主要有哪些:
比如用例图中的元素有用例,角色,扩展关系,包含关系,类图中的元素有类,接口,关联等等,每一种框图都有各自独有的元素
2、简述UML通用机制的组成以及它的作用
答:
UML通用机制由规格说明、修饰和通用划分组成。
1)规格说明:
模型元素作为一个对象本身也具有很多的属性,这些属性用来维护属于该模型元素的数据值。
属性是使用名称和标记值的值来定义的。
模型元素实例需要附加的相关规格说明来添加模型元素的特性。
2)修饰:
在使用UML语言建模时,可以将各种图形修饰细节附加到UML图中的模型元素所具有的基本符号上以扩展其含义。
这种添加修饰细节的做法可以为图中的模型元素在视觉效果上发生一些变化。
比如,当一个元素代表某种抽象类型的时候,它的名称可以用斜体字类型显示;当同一元素表示该类型的实例时,该元素的名称用一条下划线修饰。
3)通用划分:
通用划分是一种保证不同抽象概念层次的机制。
通常我们可以采用两种方式进行通用划分,一种是对类和对象的划分,另外一种是对接口和实现的分离。
类和对象的划分是指类是一个抽象而对象是这种抽象的一个实例化。
接口和实现的分离是指接口声明了一个操作接口,但是却不实现其内容,而实现则表示了对该操作接口的具体实现,它负责如实地实现接口的完整语义。
(这段可省略)
类和对象的划分保证了实例及其抽象的划分,从而使得对一组实例对象的公共静态和动态特征无需一一管理和实现,只需要抽象成一个类,通过类的实例化实现对对象实体的管理。
接口和实现的划分则保证了一系列操作的规约和不同类对该操作的具体实现。
3、在UML中包含哪些视图?
这些视图都对应那些图?
静态视图:
类图
用例视图:
用例图
交互视图:
序列图、协作图
状态机视图:
状态图
活动视图:
活动图
实现视图:
构件图
部署视图:
部署图
模型管理视图:
类图
2、简述视图与图之间的内在关系:
(自己想的,可能不对)
在每一类视图中使用一种或两种特定的图来可视化地表示视图中的各种概念,视图是由一个或多个图组成的对系统某个角度的抽象
第4章
1、类图:
描述了系统的静态结构,它不仅定义系统中的类,描述类之间的关系,还包括类的内部结构,在系统的整个生命周期中都是有效的
2、类元:
类、接口、数据类型、构件
3、类图的模型元素:
类、接口、依赖关系、泛化关系、关联关系及实现关系(P82图4-1)
4、对系统的静态视图进行建模,可通过以下三种方式来使用类图:
1)模型化简单的协作
2)模型化逻辑数据库模式
3)为系统的词汇建模
5、类的表示法是一个矩阵,在这个矩阵中:
有三个部分构成:
类的名称、类的属性、类的操作、类的职责、类的属性、类的注释(P83图4-3)
6、类的操作由以下几个部分组成:
可见性、操作名称、返回类型、属性字符串、参数表
7、类的属性由以下几部分组成:
可见性、属性名称、属性字符串、初始值、属性类型
8、类中比较常用的小视频是:
实例化类、参数化类
9、类的构造型:
常用的有,实体类、控制类、边界类
10、类图中的关系:
1)依赖关系:
是两个或多个模型元素之间语义上的连接
2)泛化关系:
用来描述类的一般和具体之间的关系
三个重要用途:
定义可替代性原则、使得多态操作成为可能、在共享祖先所定义的成分的前提下允许它自身定义增加的描述
3)关联关系:
是一种结构关系,指出了一个事物的对象和另一个事物的对象之间的语义上的联系(关联关系有两种形式:
聚集关系和组成关系)
4)实现关系:
将一种模型元素(如类)与另一种模型元素(如接口)连接起来,是说明和其实现之间的关系
3、掌握创建类图和对象图
填空题
1、对象图的目的在于系统中参与交互的各个对象在某一时刻是如何运行的
2、链是两个或多个对象之间的独立连接,是关联的实例
3、在UML的图形表示中,类是由名称、属性和操作三部分组成的
4、依赖关系使用一个从客户指向提供者的虚箭头来进行表示
5、在接口中包含一系列操作但不包含属性,并且它并没有对外界可见的关联
选择题
1、类中的方法包括:
private、protected、private
2、属于UML中类元的类型是:
类、接口、数据类型和构件
3、类之间的关系包括:
泛化、关联、实现、依赖
4、关于接口的说法正确的是:
接口是一种特殊的类;
所有接口都是有构造型<>的类;
一个类可以通过实现接口从而支持接口所指定的行为;
在程序运行的时候,其他对象可以不仅需要依赖于此接口,还需要知道该类对接口实现的其他信息
5、类方法的声明正确的是:
方法定义了类所许可的行为;
从一个类所创建的所有对象可以使用同一组属性和方法;每个方法应该有一个参数;
如果在同一个类中定义了类似的操作,则它们的行为应该是类似的。
第五章
1、包是一种有效的组管理机制,用于对模型元素进行分组,并为元素提供一个命名空间,而包图是由包和包之间的联系构成的模型视图,它是维护和控制系统总体结构的重要工具
2、系统分为三层结构:
用户界面层、业务逻辑层、数据访问层
3、包图是一种维护和描述系统总体结构的模型的重要建模工具
4、创建包图的目的:
1)、在逻辑上把一个复杂的系统模块化
2)、组织源代码
3)、描述需求高阶概况
5、包的关系可以分为依赖关系和泛化关系
填空题
1、包是用于把元素组织成组的通用机制
2、包的可见性包括:
private、public和protect
3、包之间的关系总的来讲可以概括为依赖关系和泛化关系
4、将系统分成很常用的一种方式是将系统分为用户界面层、业务逻辑层和数据访问层的三层结构
5、包是包图中最重要的概念,它包含了一组模型元素和图
选择题
1、在RationalRose2003中,支持的构造型:
业务设计包、业务分析模型包、业务用例模型包、CORBAModule包
2、对照子系统进行建模时,在RationalRose2003中,内部支持的系统有:
程序系统、业务系统
3、建立模型时包的嵌套不宜过深,包的嵌套的层数一般以2~3层为宜
4、包的描述中正确的是
每个包必须有一个区别于其他包的别称;包中可以包含其他元素,如类、接口、组件和用例等;引入使得一个包中的元素可以单向访问另一个包中的元素;包的可见性分为protect、public和private
5、包的说法不正确的是:
在序列图和协作图中可以创建包;
第6章
1、用例图:
是由参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图
2、用例图的主要作用:
是描述参与者和用例之间的关系,帮助开发人员可视化地了解系统的功能。
借于用例图,系统用户、系统分析人员、系统设计人员、领域专家能够以可视化地方式对问题进行探讨,减少了大量交流上的障碍,便于对问题达成共识。
3、参与者是指存在与系统外部并直接与系统进行交互的人、系统、子系统或类的外部实体的抽象。
4、用例:
是参与者可以感受到的系统服务或功能单元。
它定义了系统是如何被参与者使用,描述了参与者为了使用系统所提供的某一完整功能而与系统之间发生的一段对话。
5、用例与参与者存在着一定的关系,这种关系属于关联关系,又称通信关联。
6、用例的三个特征:
1)用例表明的是一个类,而不是某个具体的实例,
2)用例必须某个用户触发激活后才能执行,即每个用例至少涉及一个参与者。
3)用例是一个完整的描述
7、由于参与者实质上也是类,所以拥有与类相同的关系描述,即参与者与参与者之间主要是泛化关系。
8、用例与用例之间产生的关系包括:
包含关系、扩展关系、泛化关系
9、用例的粒度:
指的是用例所包含的系统服务或功能单元的多少。
用例粒度越大,用例包含的功能越多,反之则包含的功能越少。
4、用例模型由用例图与用例规约组成
5、用例规约包含:
简要说明、事件流、用例场景、特殊需求、前置条件、后置条件
6、用例之间的三种关系:
1)泛化:
父用例与子用例之间的关系,子用例继承了父用例所有的结构、行为和关系,子用例是父用例的一种特殊形式
2)扩展:
在一定条件下,把新的行为加入到已有的用例中,获得的新用例叫做扩展用例,原用例叫基础用例,从扩展用例到基础用例的关系是扩展关系。
扩展关系是通过带箭头的虚线段加<>字样来表示,箭头指向基础用例
3)包含:
通过带箭头的虚线段加<>表示,箭头用例由基础用例指向包含用例
7、泛化关系与包含关系的区别:
1)用例的泛化关系类似于面向对象中继承,它把多个子用例中的共性抽象成一个父用例,子用例在父用例的基础上进行修改,但是子用例与子用例之间又是相互独立的,任何一个子用例的执行都不会受其他子用例的影响,而用例的包含关系是把多个基础用例中的共性抽象为一个包含用例,可以说被包含用例就是基础用例中的一部分,基础用例的执行必然会引起被包含用例的执行
2)用例的泛化关系中,所有的子用例都有相似的目的和结构,它们是整体上的相似。
而用例的包含关系中,基础用例在目的上可以完全不同,但它们都有一段相似的行为,它们的相似是部分的相似而不是整体相似。
8、包含关系与扩展关系的区别:
1)基础的执行并不一定会涉及扩展用例,扩展用例只有在一定条件下才会被执行。
而在包含关系中,当基础用例执行后,包含用例是一定会执行的
2)在扩展关系中,基础用例提供了一个或多个插入点,扩展用例为这些插入点提供了需要插入的行为。
而在包含关系中,插入点只能一个。
3)即使没有扩展用例,扩展中的基础用例本身就是完整的。
而对于包含关系,基础用例在没有被包含用例的情况下就是不完整的存在。
9、系统边界:
是指系统与系统之间的界限
用例图的系统边界用来表示正在建模系统的边界。
10、用例图与视图的区别:
(个人认为)视图定义+用例图定义
填空题
1、由参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图成为用例图
2、参与者、用例、系统边界和关联是用例组成的要素
3、用例中的主要关系有泛化、包含和扩展
4、用例的粒度是指用例所包含的系统服务或功能单元的多少
5、系统边界是用来表示正在建模系统的边界,这里边界是指系统与系统之间的界限。
选择题:
1、识别用例是要注意的要点是:
参与者希望系统提供什么功能
参与者是否会读取、创建、删除、修改、存储系统的某种信息。
如果是的话,参与者是如何完成这些操作的
参与者是否会将外部的某些事件通知系统
2、泳道不是构成用例图的基本要素
3、用例间主要关系的有:
扩展、泛化、包含
4、关于系统边界描述正确的是:
系统边界指的是系统与系统之间的界限
用例图中的系统边界是用来便是正在建模系统的界限
边界内表示系统的组成部分,边界外是表示系统外部
5、在ATM自动取款机的工作模式中,用户通过输入密码将钱存到ATM机,属于参与者的是:
用户、ATM取款机
(本题关于ATM取款机管理是否是属于参与者我不能确定)
第7章序列图
1、序列图:
也称“顺序图”,一种对象之间的交互图,用于描述执行系统功能的各个不同对象角色之间相互协作的顺序关系、相互传递的消息,显示跨越多个对象的系统控制流程
2、二维结构特征
在UML的表示中:
序列图将交互关系表现为一个二维图,其中包含了四个基本的模型元素,分别是对象、生命线、激活和消息。
其中,纵向是时间轴,时间沿竖线向下延伸。
横向代表了在协作中各独立对象的角色。
角色使用生命线进行表示,当对象存在是,生命线用一条虚线表示,此时对象不处于激活状态,当对象的过程处于激活状态时,生命线是一条双道线。
序列图的消息使用从一个对象的生命线到另一个对象生命线的箭头表示。
箭头以时间顺序从上到下排列
3、序列图的用途分为三方面:
1)有效地描述如何分配各个类的职责以及各类具有相应职责的原因
2)细化用例的表达
3)确认和丰富一个使用语境的逻辑表达
4、序列图可以描述对象的激活,激活是对象操作的执行,它表示一个对象直接地或通过从属操作完成操作的过程
5、消息是从一个对象向另一个或几个其他对象发送信号,或由一个对象调用另一个对象的操作。
6、消息由三部分组成:
发送者、接受者和活动
填空题
1、在UML的表示中,交互图将交互关系表示为一个二维图,其中纵向是时间轴,时间沿竖线向下延伸,纵向代表了在协作中各独立对象的角色。
2、序列图构成的元素是对象、生命线、激活和消息
3、分支指的是从同一点出发多个消息并指向不同的对象,根据条件是否互斥,可以有条件和并行两种。
4、生命线是一条垂直的虚线,用来表示序列图中的对象在同一段时间内的存在。
5、序列图中的对象的表示形式使用包围名称的矩形框来标记,所显示的对象及其类的名称带有下划线,两者用冒号隔开
选择题
1、序列图中的消息有着不同的类型,属于输入消息类型的有:
定期消息、不定期消息、阻止消息、同步消息
2、关于序列图的用途,说法不正确的是:
描述系统在某一个特定时间点上的动态结构
3、属于消息的组成部分的是:
接收者、发送者、活动
4、序列图中返回消息的符号是:
虚线箭头
5、关于序列图的说法正确的是:
序列图是对对象之间传送消息的时间顺序的可视化表示
序列图从一定程度上更加详细地描述了用例表达的需求,将其转化为进一步,更加正式层次的精细表达
序列图的目的在于描述系统中各个对象按照时间顺序的交互的过程
第8章
1、活动图:
是一种用于描述系统行为的模型视图,它可用来描述动作和动作导致对象状态改变的结果
2、活动图与状态图的区别:
1)活动图中的状态转换不需要任何触发事件,活动图中的动作可以放在泳道中,泳道可以将模型中的活动按照职责组织起来,而状态图则不可以
2)活动图的主要目的是描述动作及对象的改变结果,而状态图则是以状态的概念描述对象、子系统、系统在生命周期的各种行为
3、在UML中,活动的起点用来描述活动图的开始状态,用黑的实心圆表示,活动的终止点用来描述活动的终止状态,用一个含有实心圆的空心圆表示。
活动图中的活动既可以是手动执行的任务,也可以是自动执行的任务,用圆角矩形表示。
4、UML活动图中包含的图形元素有动作状态、活动状态、组合状态、分叉与汇合、分支与合并、泳道、对象流
填空题
1、活动图是模型中的整体单元,表示一个程序或工作流,常用于计算机流程和工作流程建模。
2、动作状态是原子性的动作或操作的执行状态,它不能被外部世界的转换中断。
3、活动状态可以有内部转换,可以有出口动作和入口动作
4、活动图中的初始状态使用黑色实心圆表示
4、泳道技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动
选择题
1、如果要对一个学校课程表管理系统中的主要角色学生、老师的工作流建模,需要使用的图是活动图
2、对活动图描述正确的是:
1)活动图是一种用于描述系统行为的模型视图,它可用来描述动作和动作导致对象状态改变的结果
2)活动图是模型中的完整单元,表示一个程序或工作流,常用于计算流程和工作流程建模
3)活动图可以算是状态图的一种变种并且活动图的符号与状态图的符号非常相似
3、活动图中的结束状态使用空心圆表示。
4、说法不正确的是:
活动状态是原子性的,用来表示一个具有子结构的纯粹计算的执行
5、活动图的组成要素有:
泳道、动作状态、转换
第9章
填空题:
1、UML的交互图中,强调uml的交互图中,强调对象之间关系和消息传递的是协作图。
2、协作图的作用体现在显示对象及其交互关系的空间组织结构。
3.在协作图中的链是两个或多个对象之间的独立连接关联的实例。
4、UML中,对象行为是对象间为完成某一目的而进行的一系列消息传递,
消息序列可用时序图和协作图来表示。
5、UML中的协作图强调的是交互对象的整体结构,是按照空间组织进行布图。
选择题
1、下面不是UML中协作图的基本元素的是发送者
2、下列关于协作图中的链,说法不正确的是:
在协作图中,需要关于某个类的所有对象都出现,同一个类的对象在一个协作图也不可以充当多个角色
3、下面不会出现在协作图中的是控制焦点
4、下面属于消息组成部分的是发送者、接收者、活动
5、协作图描述正确的是:
在RationalRose工具中,协作图可在顺序图的基础上按F5键自动生成
协作图作为一种交互图,强调的是参加交互的对象的组织
协作图中有消息流的顺序号
第10章
1、状态机是一种记录下给定时刻状态的设备它可以根据各种不同的输入对每个给定的变化而改变其状态或引发一个动作
2、状态机由状态、转换、事件、活动和动作5部分组成
3、状态图本质就是一个状态机,或者是状态机的特殊情况,它基本上是一个状态机中元素的一个投影,也就意味着状态图包括状态机的所有特征
4、状态图由表示状态的节点和表示状态之间转换的带箭头的直线组成。
5、状态图主要由元素状态、转换、初始状态、终止状态和判定等组成。
6、转换:
用于表示一个状态机的两个状态之间的一种关系,即一个在某初始状态的对象通过执行指定的动作并符合一定的条件下进入第二种状态。
7、事件可以分成明确或隐含的几种,主要包括信号事件、调用事件、改变事件和时间事件。
8、什么情况下使用状态图,什么情况可与用例图搭配使用
填空题
1、初始状态初始状态在状态途中用实心圆表示,终止状态在状态图中用含有实心圆的空心圆表示。
2、判定将转换路劲分为多个部分,每一个部分都是一个分支,都有单独监护条件。
3、事件分为信号事件时间事件改变事件调用事件
4、在uml中状态图由对象的各个状态和连接这些状态的装换组成,是展示状态与状态转换的图。
5、信号事件指的是一个对象对发送给它的信号接收事件,它可能会在接收对象的状态机内触发转换。
选择题
1、使用UML建模时