UML复习资料完整.docx
- 文档编号:20195739
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:20
- 大小:32.51KB
UML复习资料完整.docx
《UML复习资料完整.docx》由会员分享,可在线阅读,更多相关《UML复习资料完整.docx(20页珍藏版)》请在冰豆网上搜索。
UML复习资料完整
2011UML复习题纲
一、选择、判断、填空
第一章UML与面向对象
1、UML(UnifiedModelingLanguage,统一建模语言)是软件和系统开发的标准建模语言,它主要以图形的方式对系统进行分析、设计。
2、UML是在多种面向对象分析与设计方法相互融合的基础上形成的,是一种专用于系统建模的语言。
它为开发人员与客户之间,以及开发人员之间的沟通与理解架起了“桥梁”。
3、UML不是开发工具,只是建模语言。
4、OOA三种基本模型:
功能模型、对象模型、动态模型。
5、软件是程序、数据和相关文档的完整集合。
6、软件开发过程分为如下几个阶段:
需求分析、总体设计、详细设计、编程与测试、维护。
7、面向对象的软件工程方法包括面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)。
8、软件方法学包含3个要素:
方法、工具和过程。
9、对象是现实世界中一个实际存在的事物,它可以是看得见摸得着的东西。
10、类是一组具有相同属性的操作的对象集合,它为所有属于该类的对象提供了统一的描述。
11、封装是指将对象属性和操作结合在一起,构成一个独立的对象。
封装使得对象属性和操作紧密结合在一起,这反映了事物的状态特性与动作是事物不可分割的特征。
12、继承是指子类可以拥有父类的全部属性和操作,继承是OO方法的一个重要的概念,并且是OO技术可以提高软件开发效率的一个重要原因。
13、多态性是指在父类中定义的属性和操作被子类继承后,可以具有不同的数据类型或表现出不同的行为。
14、OO开发中的三层设计:
问题域类、GUI类和数据访问类。
15、面向对象设计准则:
模块化、抽象、信息隐藏、低耦合、高内聚。
16、UML的构成:
元元模型层、元模型层、模型层、用户模型层。
17、UML的核心是由视图、图、模型元素、通用机制组成。
18、UML中的视图细分:
(1)用例视图(用例视图强调从系统的外部参与者角度需要的功能,描述系统应该具有的功能);
(2)逻辑视图(逻辑视图的使用者主要是设计人员和开发人员,描述用例视图提出的系统功能的实现);
(3)并发视图(并发视图的使用者主要是开发人员和系统集成人员,它主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理);
(4)组件视图(组件是不同类型的代码模块,它是构造应用的软件单元。
而组件视图是描述系统的实现模块以及它们之间的依赖关系);
(5)部署视图(部署视图使用者主要是开发人员,系统集成人员和测试人员,它显示系统的物理部署,它描述位于节点上的运行实例的部署情况,还允许评估分配结果和资源分配。
)
19、UML图细分:
一类是静态图,一类是动态图。
(1)静态图:
用例图、类图、对象图、组件图和部署图;
(2)动态图:
顺序图、协作图、状态图和活动图。
20、模型元素。
(1)事物,是UML模型中面向对象基本的模块,它们在模型中属于静态部分,代表物理上或概念上的元素。
在UMl中的事物可分为四种,分别是结构事物,动作事物,分组事物,注释事物。
(2)关系,UML中的关系共分为五种:
分别是关联关系、依赖关系、泛化关系、实现关系、聚合关系。
(3)实现关系,实现关系描述一个元素实现另一个元素。
(4)聚合关系,描述元素之间部分与整体的关系。
21、通用机制。
(1)修饰,为图中的模型元素增加了语义。
(2)用于为模型元素添加额外信息与说明。
(3)规格说明,模型元素具有许多用于维护该元素的数据值特性,特性用名称和标记值定义。
(4)扩展机制,UML的扩展机制允许UML的使用保山根据需要自定义一些构造型语言成分,通过该扩展机制用户可以定义使用自己的元素。
第二章用例图
1、用例的四个基本组成部分:
用例、参与者、系统、关系。
2、参与者。
(1)是系统外的一个实体,参与者通过向系统输入或者系统要求参与者提供某种信息来进行交互。
(2)参与者用于表示使用系统的对象。
(3)参与者的特征是其作为外部用户与系统发生交互。
(4)参与者总是处理正在建模的系统的外部,它们不是系统的组成部分。
(5)一个问题:
如何识别参与者?
3、用例
(1)用例是用户期望系统具备的功能,它定义了系统的行为特征,如果没有这些特征,系统就不能被成功地使用。
(2)用例的目标是要定义系统的一个行为,但并不显示系统的内部结构。
(3)一个问题:
如何识别用例?
4、关系
(1)用例与参与者之间的连线称为关系,关系也称为关联或通信关联。
5、泛化,是一种表示UMl中项目的继承关系的技术。
(1)泛化用例是指一个用例(一般为子用例)和另一个用例(你用例)之间的关系,其中的父用例描述了子用例与其他用例共享的特性,而这些用例是有着同一个父用例的。
6、详细了解P31-32.
7、包含关系,和对象之间的高用关系比较相像,它描述的是一个用例需要某种类型的功能,而该功能被另一个用例定义,那么在用例的执行过程中,就可以调用已经定义好的用例。
8、为了使用包含关系,用例必须遵循以下两个约束条件:
(1)客户用例只依赖于提供者用例的返回结果,不必了解提供者用例的内部结构;
(2)客户用例总会要求提供者用例执行,对提供者用例的调用是无条件的。
9、扩展关系,是一种依赖关系,它指写出一个用例可以增强另一个用例的功能。
第三章
1.构成面向对象模型的基本元素有类、对象、类与类之间的关系等。
2.类图和对象图合称为结构模型视图或者静态视图,用于描述系统的结构或静态特征
3.类图:
用来描述系统中的类以及类与类之间的静态关系
4.对象:
又来描述特定时刻实际存在的若干对象以及它们之间的关系
5.一个系统的模型中可以包含多个对象图,每个对象图描述了系统在某个特定时刻的状态
6.面向对象模型的基础是类、对象以及它们之间的关系
7.类图是任何面向对象系统的核心
8.类图根据系统中的类的关系描述系统的静态视图
9.类图是面向对象系统建模中最常用和最基本的图之一
10.类图可以包含类、接口、依赖关系、泛化关系、关联关系、和实际关系等模型元素
11.在类图中也可以包含注释、约束、包或子系统
12.类图用于对系统的静态视图建模,通常以如下所示的某种方式适用类图
(1)对系统的词汇建模
(2)对协作建模
(3)对数据库模式建模
13.类是构成类图的基础
14.类定义了一组具有状态和行为的对象,这些对象具有相同的属性、操作、关系和语义。
(1)、属性通常没有省份的数据值表示
(2)、关系则用有身份的对象之间的关系来表示
(3)、行为由操作来描述,方法是操作的实现
15.UML规范采用一个具有3个预定义分栏的图标表示,分栏中包含的信息有:
名称、属性和操作
16.类在它的包含者内必须有唯一的名称,类对他的包含者来说是可见的
17.类的多重性说明了类可以具有多少个实例,通常情况下,可以有0个或多个
18.类名通常表示为一个名词,即不带前缀,也不带后缀
19.类名可分为简单名称和路径名称,简单名称只有类名没有前缀;路径名称中可以包含由类所在包的名称表示的前缀
20.描述类属性的语法格式:
[可见性]属性名[:
类型][=初始值][{属性字符串}]
21.最常用的可见类型有3种:
公有(Public)、私有(Private)、被保护(Protected)
(1)、Public的属性和操作可以在它所在类的外部被查看、使用和更新;Public类型用符号“+”表示
(2)、Private可见性是限制最为严格的可见性类型,只有包含Private元素的类本身才能使用Private属性中的数据,或者调用Private;Private类型用符号“-”表示
(3)、Protected的属性和操作可以被类的其他方法访问,也可以被任何相应继承类所声明的方法访问,但是非继承的类无法访问Protected属性和操作;Protected类型用符号“#”表示
22.每个属性都应有唯一的属性名
23.常用的数据类型有整型、实型、布尔型、枚举型等
24.类的所有对象的状态由其属性的特定值所决定
25.属性和数据类型之间要用冒号分隔,数据类型与初始值之间用等号分隔
26.描述类的属性的语法格式中的最后一项是属性字符串,属性字符串用来指定关于属性的其他信息
27.类的作用域属性(类变量):
能被所属类的所有对象共享;在类图中表示是要在属性名下面加一条下划线
28.操作描述了处理数据的具体方法,类操作是所属对象的行为的抽象
29.属性是描述对象特征的值,操作用于操纵属性或执行其他动作
30.操作的具体实现称为方法
31.一个类可以有0个或多个操作
32.操作由返回值类型、名称和参数表进行描述
33.描述操作的语法:
[(参数表)][:
返回类型][{属性字符串}]
34.操作名通常使用能够描述类的行为的动词或者动词短语,操作名的第一个字母通常使用小写形式,当操作名包含多个单词时,要合并起来,从第二个单词起,所有单词的首字母都是大写形式
35.参数用来指定提供给操作以完成工作的信息。
操作可以有参数,也可以没参数。
当参数表中包含多个参数时,各参数之间要用逗号分隔开
36.操作除了具有名称与参数外,还可以有返回类型。
返回类型被指定在操作名称尾端的冒号之后,它指定了该操作传回的对象类型
37.Void关键字表示无返回值
38.职责:
是指类或者其他元素的契约或者义务
39.约束指定了类应该满足的一个或者多个规则
40.注释可以包含文本和图形
41.在构造类图之前,首先要定义类
42.彼此相互依赖较强的两个类称为紧密耦合
43.关联意味着类实际上以属性的形式包含对其他类的一个或多个对象的引用
44.在对象图中两个类的相应对象所具有的关系被称为链
45.关联描述的是规则,而链描述的是事实
46.一个完整的关联定义包含了3个部分:
表示类之间关联关系的直线和两个关联端点
47.直线以及关联名称定义了该关心的标志和目的,关联端点定义了参与关联的对象所应遵循的规则
48.一般情况下使用一个动词或者动词短语命名关联关系
49.关联端点可以包含诸如角色、多重性、定序、约束、限定符、导航性、可变性等特征中的部分或者全部
(1)、关联中的角色通常用字符串命名
(2)、关联的多重性指的是有多少对象可以参与关联。
多重性可以用来表达一个取值范围、特定值、无限定的范围或者一组离散值,在UML中多重性是用由数字标识的范围来表示的
(3)、定序就是指将一组对象按一定的顺序排列
(4)、约束定义了附加于模型元素之上的限制条件,保证了模型元素在系统生命周期中的完整性,约束的格式世界上是一个文本字符串,约束可以使用的语言可以是OCL、某种编程语言甚至也可以是自然语言
(5)、限定符定义了被参考对象的一个属性,并使用该属性作为直接访问被参考对象的关键字
(6)、导航性描述的是一个对象通过链进行导航访问另一个对象。
导航性使用置于关联端点的箭头表示。
(7)、可变性允许建模者对属于某个关联的链进行操作,默认情况是允许任何形式的编辑,例如添加、删除等
50.UML定义了3种扩展机制,即标记值、原型和约束
51.关联类是一种将数据值和链接关联在一起的手段
52.或关联是值对多个关联附加约束条件,是类中的对象一次只能参与一个关联关系,当两个关联不能同时发生时,用一条虚线连接这两个关联,并且虚线的中间带有{OR}关键字
53.聚合用来表明一个类是实际上拥有但可能共享另一个类的对象
54.组合所表达的内涵:
为组成来的内在部分建模
55.泛化关系是一种存在于一般元素和特殊元素之间的分类关系
56.泛化主要有两个用途:
第一个用途是当变量被声明承载某个给定类的值时,可使用类的实例作为值,被称做可替代性原则。
第二个用途是泛化使得多态操作成为可能
57.使用泛化的基本原则是:
只有在一个类确实是另一个类的特殊类型时才使用泛化,而不是为了方便使用
58.泛化约束用于表明泛化有一个与其相关的约束,带有约束条件的泛化也被称为受限泛化
59.不完全约束表示类图中没有完全显示出泛化的类
60.完全约束表示类图中显示了全部内容
61.解体约束表示紧靠约束下面的泛化来不能子类化为通用的类
62.重叠约束表示两个子类可以共享相同的子类
63.关联关系、泛化关系和实现关系都属于依赖关系
64.依赖关系用一个带有箭头的虚线表示
65.在UML规范中定义了4种基本的依赖类型,分别是使用依赖,抽象依赖、绑定依赖和授权依赖
(1)、使用依赖:
依赖关系------使用、调用、参数、实例化、发送
(2)、抽象依赖:
依赖关系------跟踪、精化、派生
(3)、授权依赖:
依赖关系------访问、导入、友元
66.实现关系用于规定规格说明与其实现之间的关系,它通常在接口以及实现该接口的类之间,以及用例和实现该用例的协作之间
67.UML将实现关系表示为末端带有空心三角形的虚线,带有空心三角形的那一端指向被实现元素,接口表示为一个小圆圈,并和实现该接口的类用一条线段连接起来
68.为了声明操作是抽象的,以指明Store和retrieve操作实现将由子类决定,应以斜体字来表示这些操作
69.接口是对对象行为的描述,但是并不给出对象的实现和状态
70.接口通常被描述为抽象操作
71.接口可以用构造型的类表示,也可以用一个“球形”来表示
72.对象是类的实例,对象图也可以看做是类图的实例
73.对象名的下面要有下划线
74.对象名的三种表示方法:
第一对象名:
类名第二:
类名第三对象名
75.链有3种命名方法:
1、使用相应的关联命名2、使用关联端点的角色名命名3、使用与对应类名一致的角色名命名
76.对象图示形式只有名称和属性两个分栏
77.包图是维护和控制系统总体结构的重要建模工具
包里的元素可以具有Public和Private可见性
第四章
1、活动图本质上是一种流程图。
它描述从活动到活动的控制流。
活动图可以显示用例内部和用例之间的路径;活动图还可以向读者说明需要满足什么条件用例才会有效,以及用例完成后系统保留的条件或者状态。
2、活动图由初始节点启动,被绘制成实心圆。
另一端是活动的结束,由一个含实心圆的圆圈表示。
3、活动标记符是一个带有圆角的矩形。
4、在一个活动图中只能有一个开始状态,但可以有多个结束状态。
5、建模活动图步骤:
(1)标识需要活动图的用例
(2)建模每一个用例的主路径
(3)建模每一个用例的从路径
(4)添加泳道来标识活动的事务分区
(5)改进高层活动并添加到更多活动图。
6、活动图的主路径描述了用例图的主要工作流,此时的活动图没有任何转移条件或错误处理。
建模的从路径的目标就是进一步添加活动图的内容,包括判断、转移条件错误处理等。
7、分叉和汇合与转移形影不离。
分叉是用于将一个控制流分为两个或多个并发运行的分支,它可以用来描述并发线程。
8、汇合与分叉相反,代表两个或多个并发控制流同步发生,它将两个或多个控制流合成到一起形成一个单向控制流。
9、活动图的主要作用就是来描述工作流,其中活动都代表工作流中的一组动作的执行。
第五章
1、顺序图描述了对象之间传递消息的时间顺序,它用来表示用例中的行顺序。
2、顺序图代表了一个相互作用,在以时间为次序的对象之间的通信集合。
3、顺序图的主要用途之一是为用例建造逻辑建模。
即用来为某个用例的泛化功能提供其所缺乏的解释,即把用例表达的需求,转化为进一步,更加正式层次的精细表达。
4、顺序图主要的4个标记符:
对象,生命线,消息,激活
5、在面向对象系统中,行为的执行者是对象,而不是类,因此协作图通常描述的是对象层次而不是类层次。
6、消息是用来说明顺序图中不同活动对象的通信,因此,消息可以激发某个操作,创建或解构某对象。
7、同步消息:
在发送消息的对象进行另一个活动之前需要等待返回折回应消息。
8、异步消息表示发送消息的对象不用等待回应的消息,即可开始另一个活动。
9、当一条消息被传递给对象的时候,它会触发该对象的某个行为,这时就说该对象被激活了。
10、创建顺序图模型:
(1)确定需要建模的作例
(2)确定用例的工作流
(3)确定各工作流涉及的对象,并按从左到右顺序进行布置
(4)添加消息和条件以便创建每一个工作流
第六章通信图
1、通信图主要用于显示系统对象之间需要哪些链接以传递交互的消息。
2、通信图中的对象:
未指定对象所属类名、完全限定对象名、未指定对象名
3、对象实例角色:
未命名对象扮演的角色、未命名对象扮演指定类的角色、具体某个对象扮演具体的角色、制定类的实例化对象所扮演的角色。
4、类角色的不同表示方法:
①只用角色名,没有指定角色代表的类;②指定类名而未指定角色名;③完全限定了类名和角色名,方法是同时指定角色名和类名。
5、关联角色适用于在通信图中说明特定情况下的两个类角色之间的关联。
关联角色和关联的表示法相同,也就是在两个类角色富豪件的一条实线。
关联角色还可以指示导航,以指示消息流的传递方向。
也可以把多重性添加到关联角色中。
6、链接的目的是让消息在不同系统对象之间传递。
链接可以使用parameter或者local固化类型。
注意:
对象名总是带有下划线,而类角色则不带有下划线。
如果一条线将两个表示对象的标号连接一起,那么它是一个连接;如果连接的是两个类角色,则连接为关联角色。
7、消息是通信图中对象与对象或类角色与类角色之间通信的方式。
通信图上的参与者也能给自己发送消息。
8、通信图中的消息:
(1)同步消息:
使用一个实心箭头表示。
(2)异步消息:
使用一个半开箭头表示。
(3)简单消息。
使用一个开放箭头表示。
9、每个消息之前使用数字表示通信图上的次序。
10、在单个关联角色或链接之间还可以有多个消息,并且这些消息可以是同时调用。
在通信图中为表示这种并发的多个消息,采用数字加字母的表示法。
11、有的消息只有在特定条件为真时才应该被调用,因此,需要在通信图中添加一组控制点,描述调用消息前需要评估的条件。
控制点由一组逻辑判断语句组成,只有当逻辑判断语句为真时才调用相关的消息。
12、消息也可以在通信图中创建对象。
对象实例用new固化类型,消息使用create固化类型,以明确指示该对象实在运行过程中创建的。
13、迭代是一种非常基本和重要的控制流类型,用来指示重复的处理过程。
迭代的两种标记:
(1)用于单个对象发送消息到一组娶她对象。
1.*:
Message
(2)指示消息从一个对象到另一个对象被发送多次。
1.[1..n]:
Message
14、顺序图着重于对象间消息传递的时间顺序,通信图着重于表达对象之间的静态链接关系。
对系统模型通信图最好的方法是将顺序图转换成通信图。
第一步:
将顺序图中所有系统对象和参与者添加到通信图中。
第二步:
添加系统对象与参与者之间的通信链接,使它们能相互通信。
最后:
添加在交互期间参与者与系统对象之间传递的消息。
15、是否决定使用通信图或者顺序图:
如果主要针对特定交互期间的消息流,则可以使用顺序图;如果集合处理交互所设计的不同参与者与对象之间的链接,则可以使用通信图。
第十章构造实现方式图
1、实现方式图包括组件图和部署图两种类型。
2、组件图用来建模系统的各个组件(包括源代码文件、二进制文件、脚本、可执行文件)之间的关系,它们是通过功能或者位置(文件)组织在一起的。
3、组件是软件的单个组成部分,它和类的共同点是:
两者都具有自己的名称,都可以实现一组接口,都可以具有以来关系,都可以被嵌套,都可以参与交互,都可以拥有自己的实例;它们的区别是:
组件描述了软件设计的物理实现,即代表了系统设计中特定类的实现,而类则描述了软件设计的逻辑组织的意图。
4、每个组件都应有一个名称以表示该组件并区别其他组件。
在对软件系统进行建模时,会使用3种类型的组件:
配置组件、工作产品组件、执行组件。
5、在组件图中也可以使用接口。
通过使用接口,组件尅使用其他组件中定义的操作;而且,使用命名的接口可以防止系统中的不同组件直接发生依赖关系,这有利于组件的更新。
6、组件的接口可以分为:
导入接口和导出接口。
7、组件和组件、组件和接口都存在依赖关系;组件也可以包含在其他组件中。
事物处理组件由3个独立组件组成:
数据访问、事物逻辑和用户接口。
8、组建图可以用来为系统的静态实现视图进行建模,是基于系统组件的特殊的类图。
可以为源代码建模、为可执行版本建模、为数据库建模等。
9、部署图用来对部署系统是设计的硬件进行建模。
构造部署图可以帮助系统的有关人员了解软件中各个组件驻留在什么硬件上,以及这些硬件之间的交互关系,另外,部署图还可以用来描述哪一个软件应该安装在哪一个硬件上。
10、节点用来表示一种硬件;节点的标记是一个立方体;部署图中的节点可以分为处理器和设备两种类型。
节点可以建模为某种硬件的通用形式;通过确定需要模型描述某个特定节点的信息还是所有节点实例的通用信息可以确定何时需要建模节点实例。
11、在部署图中,不同节点之间的通信路径是通过关联关系表示的。
固化类型通常用来描述两种硬件之间的通信方法或者协议。
12、通常情况下,建模人员使用部署图为嵌入式系统建模,为客户/服务器系统建模,或者为完全的分布式系统建模;在使用部署图为客户/服务器系统建模时需要考虑客户端和服务器端的网络连接以及系统的软件组件在节点上的分布情况。
13、完全分布式系统肺部与若干个分散的节点上,由于网络通信量的变化和网络鼓掌等原因,系统是在动态变化这的,节点的数量和软件组件的分布可以不断变化。
14、通过组合组件图和部署图可以得到一个完整的实现方式图,它可以可视化地描述应在什么硬件上部署软件以及怎样部署。
部署情况:
(1)将硬件和安装在其上的软件组件用依赖关系连接起来
(2)将软件组件直接绘制在代表其所安装的硬件节点上。
15、如何建模实现方式图的步骤:
(1)建模节点;
(2)建模通信关联;
(3)建模软件组件、类和对象等;
(4)建模依赖关系。
16、添加节点和关联关系首先需要为模型确定节点,通过分析系统的需求描述,从中抽取出代表硬件的节点。
17、在构造组件图时需要首先找出系统中存在的组件、接口及组件间的依赖关系。
18、在构造部署图时,应当首先找出系统中的节点以及不同节点之间的关系。
第16章图书管理系统的分析与设计。
1、持有借阅证的借阅者可以借阅图书、归还图书、查询借阅信息
2、学生还书时只需要将所借阅的图书交给图书管理员,由图书管理员负责输入图书信息,然后由系统验证该图书是否为本图书馆中的藏书,若是则系统删除相应的借阅信息,并更新相应的学生账户。
在还书时也会检验该学生是否有超期未还的图书。
3、在一个图书馆中,多本图书可以拥有一个名称,为了区别每一本图书,需要为每一本图书指定一个唯一的编号,在本系统中,图书标题采用图书名称、出版社名称、作者以及图书的ISBN号标识每一种图书。
4、通过对系统的分析,可以确定系统中有两个参与者:
图书管理员Librarian和系统管理员Administrator
5、DisplayLoanInfo:
显示借阅者的所有信息
ModifyPassword:
对用户密码的修改
QueryLoanInfo:
完成查找某个借阅者
6、类Borrower描述了借阅者的信息(本系统中借阅者为一名学生)。
7、业物逻辑层:
BLL
数据访问:
DAL
模型:
M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 复习资料 完整