UML中类图的符号解释
- 格式:doc
- 大小:52.50 KB
- 文档页数:4
uml图中实线箭头和虚线箭头的区别
概念:
实线箭头表⽰单向关联,即:关联类知道被关联类的公共属性及操作,但被关联类并不知道关联类的公共属性及操作。
关联单向、双向之分。
双向关联⽤没有箭头的实线表⽰,实线箭头表⽰Object Message,也就是类间的消息发送,
⽐如:⽅法调⽤和请求等等,这些都是从⼀⽅向另⼀⽅主动发出信息。
虚线箭头表⽰两个类之间存依赖关系。
即:⼀个类引⽤另⼀个类。
只存在单向依赖。
虚线箭头表⽰Return Message,⼀般⽤于表⽰⽅法调⽤后的返回信息
代码中的表现:
实线代表有引⽤的关联,⼀般代码中会直接有关联的类的引⽤,但虚线就没有,⼀般知识⽅法上的调⽤关系。
如是⽽已。
uml各种箭头线的区别UML中箭头线有多种类型,它们的主要区别在于它们表示的关系和含义不同。
以下是UML中箭头线的主要类型及其区别:1. 类箭头(Class 流向):表示从一个类流向另一个类的过程。
- 类箭头“->”表示从一个类流向另一个类。
- 服务箭头“->”表示从一个服务流向另一个服务。
- 继承箭头“."表示从一个类继承属性或方法到另一个类。
- 组合箭头“//”表示从一个类或服务组合成一个对象的过程。
2. 连接箭头(Association 流向):表示对象之间或类之间某种交互关系。
- 属性连接箭头“:”表示对象之间的属性关系。
- 方法连接箭头“->”表示对象之间的方法关系。
- 服务连接箭头“!”表示对象之间的服务关系。
- 聚合连接箭头“//”表示对象之间的聚合关系。
3. 聚合箭头(Association 聚合):表示对象之间的某种交互关系,同时也可以表示多个对象之间的聚合关系。
- 聚合箭头“->”表示一个对象引用另一个对象,并传递引用的值。
- 聚合箭头“//”表示多个对象之间的共享值关系。
- 聚合箭头“."”表示一个对象引用多个对象,并传递引用的值。
4. 关系箭头(Relationship 流向):表示对象之间的关系。
- 引用关系箭头“->”表示两个对象之间的引用关系。
- 连接关系箭头“."”表示一个对象之间的连接关系。
- 继承关系箭头“."”表示一个对象继承属性或方法到另一个对象的关系。
- 组合关系箭头“."”表示一个对象组合成另一个对象的关系。
UML箭头线的主要类型包括类箭头、连接箭头、聚合箭头和关系箭头,根据它们表示的关系和含义不同,可以用于不同的场景。
StartUML是一种支持UML的建模平台软件,可以绘制9款UML 图,包括用例图、类图、序列图、状态图、活动图等。
在StartUML中,注释(Comment)是一个非常重要的元素,可以用来对模型元素进行解释和说明。
在StartUML中,注释可以用双斜线(//)或单斜线(/ /)开头,也可以用特定的符号(如@、#等)标识注释的类型。
注释可以放在模型的任何元素上,包括类、接口、属性和操作等。
注释在UML图中通常用一条横线连接模型元素和注释文本,以表明它们之间的关系。
注释可以单独占据一个行或一个区域,也可以与模型元素放置在一起。
注释文本可以包含任何内容,包括文本、数字、日期等。
在StartUML中,注释可以用来解释模型元素的含义、用途、行为等,也可以用来记录设计决策、注意事项、版本信息等。
注释还可以用来标记模型元素的特定属性或特征,以便在后续的开发过程中进行跟踪和修改。
总之,注释是StartUML中非常重要的元素之一,可以用来解释、说明和标记模型元素,以便更好地理解和使用UML图。
依赖继承符号
在UML(统一建模语言)中,依赖、继承和关联的符号表示如下:
1. 依赖:表示一个类A使用到了类B,但类B并不是类A的一部分。
这通常用带空心箭头的虚线表示,箭头的指向表示依赖的方向。
2. 继承:表示一个类(子类)继承另一个类(父类)的属性与行为。
这通常用带实心箭头的实线表示,箭头的指向是从父类指向子类。
3. 关联:表示两个类之间存在某种关系,这种关系通常表现为类的属性类型。
这通常用实线表示,如果关系是双向的,则没有箭头;如果是单向的,则用箭头表示方向。
以上信息仅供参考,建议查阅关于UML的书籍或者咨询技术人员了解更多关于UML的符号表示。
1、依赖关系2、继承关系3、聚合关系4、合成(组合)关系5、关联关系6、接口一、依赖:虚线箭头。
有箭头的那一端为被依赖关系。
代码体现:在一个类中,某个方法的参数为另外一个类(或几个类)的类型。
pblic classA{public int Sales(classB clsB){}REM sales是classA中的一个函数}二、继承:空心三角+实线表示。
有三角的那端为被继承者。
代码体现:一个类在声明的时候后面加“:”和被继承类的类名。
例如:class bird:animal.三、聚合:空心菱形+实线箭头。
箭头那端为被包含的对象。
即对象A可以包含对象B,但是对象B不一定是对象A的一部分。
代码体现:在一个类中有另一个类的对象,而且可以使对象数组。
public class classA{public classB() clsB}四、合成(组合):实心菱形+实线箭头。
箭头那端为被组合的对象。
代码体现:在A类中,初始化时,实例化B类。
它们同时生成。
(如何生成A类?)。
public class classA{private classB clsB{clsB=new classB();}}五、关联:实线箭头。
箭头那端表示被引用的对象。
一个类要知道另一个类。
代码体现:在一个类中,引用到另一个类。
(如何引用类?)例如:class class1{private class2 cls1;}六、接口:空心三角+虚线。
三角那端是定义接口类。
代码体现:定义一个类的时候加“:”和接口名。
在类中重写接口中的方法。
UML之用例图箭头方向2009年10月16日星期五 09:42 P.M.UML之用例图(use case)箭头方向:老是忘记箭头方向,惹笑话。
1、Association,无箭头,Actor连接UseCase即可;2、DirectedAssocition,Actor连接UseCase,箭头由Actor指向UseCase (角色指向用例);3、Generalization,继承,我把它念成“继承于”,当然是箭头由子指向父啦;4、Dependency,我念成“依赖于”,就知道箭头方向了;5、Include,我念成“包含了”,箭头由包含者指向被包含者;6、Extend,我念成“扩展于”或“扩展自”,箭头由扩展出来的“子”指向它的“父”;总结:除了包含方向外,其它都是“小”的指向“大”的,“子”指向“父”,“一般”指向“抽象”。
第3章统一建模语言UML简介本章目录第3章统一建模语言UML简介.............................................................. 错误!未定义书签。
3.1 UML概述 (1)3.1.1 UML的产生背景 (1)3.1.2 什么是UML (2)3.1.3 UML中的视图 (3)3.2 UML的构成 (4)3.2.1 UML的体系结构 (4)3.2.2 UML的模型元素 (5)3.2.3 UML的模型结构 (5)3.2.4 UML的模型图 (6)3.2.5 UML建模规则 (7)3.2.6 UML的公用机制 (8)3.3 一个UML的例子 (8)3.3.1 用例图 (9)3.3.2 活动图 (9)3.3.3 顺序图 (10)3.3.4 协作图 (11)3.3.5 类图 (12)3.3.6 状态图 (12)3.3.7 组件图 (13)3.3.8 部署图 (13)建模是为软件开发服务的,因此,如果模型所包含的信息足够完备,就可以以这些信息为基础,进行软件系统的建造。
统一建模语言UML是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模技术,利用UML表达的软件模型,可以直接和某种设计语言建立映射关系,通过UML建造工具,将UML模型转换为对应的程序设计语言源代码框架。
本章简要地回顾了UML的产生背景与UML的视图,重点介绍UML的体系结构和建模规则等内容。
3.1 UML概述UML是一个通用的可视化建模语言,是用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。
其中制品是指软件开发过程中产生的各种产物,例如模型、源代码、测试用例等。
UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域及各种开发工具。
3.1.1 UML的产生背景早在20世纪70年代就陆续出现了面向对象的建模方法,在80年代末到90年代中期,各种建模方法如雨后春笋般出现,从不到10种增加到50多种。
uml表示构造方法
构造方法是一种特殊类型的方法,用于创建对象并初始化其属性。
在UML (统一建模语言)中,我们可以使用类图来表示构造方法。
构造方法在类图中以类的名称下方放置,使用特殊的构造符号(一个矩形,其上面包含类的名称和参数列表)表示。
构造符号上方通常会显示构造方法的可见性修饰符(如+表示公共,-表示私有)。
构造方法的名称和参数列表在构造符号内部定义。
参数列表包含方法需要接收的参数名称和类型。
如果构造方法不需要任何参数,则参数列表为空。
例如,假设我们有一个名为"Person"的类,具有以下属性:name(姓名)和age(年龄)。
我们可以使用UML类图表示该类的构造方法如下:```
+Person(name: String, age: int)
```
上述类图表示了一个公有的构造方法,使用两个参数name和age,这样我们可以实例化"Person"对象时传递姓名和年龄参数。
需要注意的是,UML类图只展示了构造方法的签名,即方法的名称和参数列表。
方法的具体实现代码在UML类图中是不可见的。
总结起来,UML类图可以简洁地表示构造方法的存在,参数列表和可见性修饰符。
这有助于我们更好地理解一个类的构造方法如何创建和初始化对象的属性。
uml历史状态符号
在UML(统一建模语言)的状态图中,表示历史状态的符号是○H 或○H*。
UML的状态图用于描述对象的状态以及状态之间的转换。
历史状态是一种复合状态,表示对象在某个时刻返回到先前的状态。
历史状态分为两种:带星号的历史状态(○H*)和不带星号的历史状态(○H)。
带星号的历史状态表示对象返回到先前的状态后,可以立即从该状态继续执行。
不带星号的历史状态表示对象返回到先前的状态后,需要重新开始执行。
不过请注意,使用历史状态可能会使状态图变得复杂,因此在需要的时候才使用它。
UML的核心图形解析和绘制技巧UML(Unified Modeling Language)是一种用于软件系统设计和开发的建模语言。
它提供了一套丰富的图形符号,用于描述系统的结构、行为和交互等方面。
在软件开发过程中,正确理解和使用UML图形是非常重要的,因为它们能够帮助开发人员更好地理解和沟通系统的设计。
首先,我们来看一些UML的核心图形。
UML最常用的图形包括类图、用例图、活动图、时序图和状态图等。
其中,类图用于描述系统中的类和它们之间的关系,用例图用于描述系统的功能和角色,活动图用于描述系统中的业务流程,时序图用于描述系统中的时间顺序,状态图用于描述系统中对象的状态变化。
掌握这些核心图形的解析和绘制技巧是非常重要的。
在解析UML图形时,我们需要先理解图形的基本元素。
以类图为例,一个类图由类、属性和方法等元素组成。
类用矩形框表示,框内包含类的名称。
属性用带有可见性标识的矩形框表示,可见性标识可以是"+"、"-"或"#"等符号,分别表示public、private和protected。
方法也用带有可见性标识的矩形框表示,框内包含方法的名称和参数列表。
在类图中,类之间的关系可以用箭头表示,常见的关系有继承、关联、聚合和组合等。
在绘制UML图形时,我们需要注意一些细节。
首先,图形的布局应该合理,以便更好地展示系统的结构和关系。
通常,我们可以将相关的类或对象放在一起,用线条将它们连接起来。
其次,图形的字体大小和颜色应该统一,以便提高图形的可读性。
另外,我们还可以使用不同的线条类型和箭头类型来表示不同的关系。
例如,实线箭头表示继承关系,虚线箭头表示关联关系。
最后,我们还可以使用注释框来解释图形中的一些细节或特殊情况。
除了了解和绘制UML图形,我们还需要掌握一些解析图形的技巧。
首先,我们可以通过观察图形的结构和关系来理解系统的设计。
例如,在类图中,我们可以通过观察类之间的关系来了解它们之间的依赖关系和协作方式。
超市治理体系需求剖析陈述(应用面向对象的办法)目次1用例和用例图11132类图889超市治理体系需求剖析陈述(面向对象办法)1用例和用例图1.1 什么是用例和用例图用例是由行动者启动的体系完成的一系列动作,这些动作除了完成体系内部的盘算与工作外,还包含与一些行动者的通讯.用例代表某些用户可见性的功效,实现一个具体的用户目的.用例图(User Case)是由介入者,用例以及它们之间的关系构造成的用于描写体系功效的动态视图的图.用例图展现了用例之间以及同用例介入者之间是如何互相接洽的.用例图用于对体系.子体系或类的行动进行可视化,应用户可以或许懂得若何应用这些元素,并使开辟者可以或许实现这些元素.用例图界说了体系的功效需求,它是从体系的外部看体系功效,其实不描写体系内部对功效的具体实现.1.2 用例图1.3 用例解释用例名称:超市治理体系之人事治理相干运动者:职工,人事部人员,超市治理体系之售后办事扼要解释:人事部人员对职工进行人事调动,人事考察,培训,工资治理等一系列人事安插.一切的人事安插都打印出报表实时通知给职工.个中的人事考察将接收由超市治理体系之售后办事传过来的对职工的投诉的信息,作为人事考察的一个根据.前置前提:人事部人员已经登录人事治理界面主事宜流:1.人事部人员登录人事治理界面,用例开端2.体系提醒输入人事治理对象职工的职工号3.人事部人员输入人事治理对象职工的职工号4.体系提醒选择人事治理的四项治理:人事调动,人事考察,培训,工资治理5.人事部人员选择一项具体的人事治理:B1:选择人事调动B2:选择人事考察B3:选择培训B4:选择工资治理6.体系按选择做相干处理7.用例停止可选事宜流:B1:选择人事调动1.体系提醒选择人事调动中三项治理:就职,职位变动,去职2.人事部人员选择一项具体的人事调动治理:B5:选择就职B6:选择职位变动B7:选择去职3.体系按选择做相干处理4.返回主事宜流第7步B2:选择人事考察1.体系显示该职工可能消失的由超市治理体系之售后办事传入的被投诉的事项2.体系提醒输入考察内容3.人事部人员输入考察内容4.体系提醒给出职工考察成果5.人事部人员输入具体考察成果6.体系显示职工考察具体情形并打印报表7.返回主事宜流第7步B3:选择培训1.体系提醒选择培训项目2.人事部人员选择培训项目3.体系提醒选择培训时光4.人事部人员选择培训时光5.体系显示该项培训具体事项并打印报表6.返回主事宜流第7步B4:选择工资治理1.体系显示该职工当前工资情形2.体系提醒修正该职工工资3.人事部人员修正该员工各项工资4.体系显示修正后职工工资情形并打印报表5.返回主事宜流第7步B5:选择就职1.体系显示该后备职对象体情形2.体系将该职工信息由后备职工表转入就职职工表3.体系打印职工就职录用书4.返回主事宜流第7步B6:选择职位变动1.体系显示该职工当前职位情形2.体系提醒选择该职工变动后职位3.人事部人员选择变动后职位4.体系显示该职工变动后职位情形并答应职位变动报表5.返回主事宜流第7步B7:选择去职1.体系显示该职工当前就职情形2.体系将该职工信息由就职职工表转入去职职工表3.体系打印职工去职报表4.返回主事宜流第7步后置前提:无用例名称:超市治理体系之发卖治理相干运动者:顾客,大客户,营业员,发卖司理,超市治理体系之售后办事,超市治理体系之仓储治理扼要解释:发卖治理对超市的发卖做总体的治理.营业员能经由过程前台发卖(POS机端)来发卖零碎的小数目商品.发卖司理可以经由过程批量发卖来发卖对应于大客户的大批量商品.另体系还将把前台发卖和批量发卖中对商品的装配和维修有需求的商品信息传给超市治理体系之售后办事.体系还将把前台发卖和批量发卖后导致在架商品数目过少的商品信息传给超市治理体系之仓储治理,以便后者做出响应的出库安插.前置前提:营业员或发卖司理已登录发卖治理界面主事宜流:a)1.营业员登录前台发卖治理界面(POS机端),用例开端2.体系提醒录入商品条目3.营业员录入顾客的商品条目4.体系显示商品总价钱5.体系提醒付款方法:B1:现金付款B2:信誉卡付款6.打印购物小票7.用例停止b)1. 发卖司理登录批量发卖治理界面,用例开端2. 体系提醒输入批量发卖对象的大客户名称3. 发卖司理输入批量发卖对象的大客户名称4. 体系提醒输入批量发卖商品条目5. 发卖司理输入批量发卖商品条目6. 体系提醒输入批量发卖商品数目7. 发卖司理输入批量发卖商品数目8. 体系显示商品总价钱9. 体系打印批量发卖报表10. 用例停止可选事宜流:B1:现金付款1.体系提醒输入接收顾客金额2.营业员输入接收顾客的金额3.体系显示应找金额4.返回主事宜流第6步B2:信誉卡付款1.体系提醒录入信誉卡2.营业员录入顾客的信誉卡3.体系做响应处理4.体系打印信誉卡付款确认单5.返回主事宜流第6步破例事宜流:a)1. 系一切计商品中可能须要进行装配或维修的商品2. 体系将统计成果传给超市治理体系之售后办事b)1. 系一切计各类售出商品数目2. 体系更新在架商品数目信息3. 系一切计需加货商品的信息4. 体系将需加货商品信息传给超市治理体系之仓储治理后置前提:无用例名称:治理体系之仓储治理相干运动者:供货商,仓储人员,超市治理体系之发卖治理扼要解释:仓储治理对商品的仓储进行治理,当商品在库数目不久不多时,购进对应供货商的商品入库.当超市治理体系之发卖治剃头送来在架数目少的商品信息时,商品出库.还将对在库的商品进行治理.前置前提:仓储人员已登录仓储治理界面主事宜流:1.仓储人员登录仓储治理界面,用例开端2.体系提醒选择治理项目:入库,库内治理,出库3.仓储人员选择治理项目:B1:选择入库B2:选择库内治理B3:选择出库4.体系做出相干处理5.用例停止可选事宜流:B1:选择入库1.体系提醒录入入库商品信息2.仓储人员录入入库商品信息3.体系提醒输入入库商品存放地点4.仓储人员输入入库商品存放地点5.体系更新相干入库商品的库内商品信息6.体系打印商品入库报表7.返回主事宜流第5步B2:选择库内治理1.体系提醒录入库内治理商品条目2.仓储人员录入库内治理商品条目3.体系提醒输入库内治理具体项目4.仓储人员输入库内治理具体项目5.体系更新响应库内商品信息6.体系打印商品库内治理报表7.返回主事宜流第5步B3:选择出库1.体系提醒录入出库商品信息2.仓储人员录入出库商品信息3.体系显示出库商品存放地点4.体系更新相干出库商品的库内商品信息5.体系打印商品出库报表6.返回主事宜流第5步后置前提:无用例名称:超市治理体系之售后办事相干运动者:顾客,售后人员,供货商,超市治理体系之人事治理,超市治理体系之售后治理扼要解释:售后办事分为退货,装配,维修,投诉四项.接收顾客反馈的退货,装配,维修,投诉信息以及超市治理体系之发卖治理传过来的装配,维修信息,做相干处理,打印出相干报表.另对于投诉中的对商品的投诉体系还将把投诉信息传给供货商,以作为供货商改良他们商品的一个参考.对于投诉中的对职工的投诉体系还将把投诉信息传给超市治理体系之人事治理,以作为人事考察的一个参考.前置前提:售后人员已登录售后办事界面主事宜流:1.售后人员登录售后办事界面,用例开端2.体系提醒选择售后办事具体项目:退货,装配,维修,投诉3.售后人员选择售后办事的具体项目:B1:选择退货B2:选择装配B3:选择维修B4:选择投诉4.体系做相干处理5.用例停止可选事宜流:B1:选择退货1.体系提醒录入退货商品信息2.售后人员录入顾客要退货色的商品信息3.体系打印退货商品报表4.返回主事宜流第5步B2:选择装配1.体系显示统计自顾客要乞降超市治理体系之发卖治理的装配请求2.体系提醒选择一项具体装配请求3.售后人员选择一项具体装配请求4.体系提醒输入具体商品装配安插5.售后人员输入具体商品装配安插6.体系打印装配报表7.返回主事宜流第5步B3:选择维修1.体系显示统计自顾客要乞降超市治理体系之发卖治理的维修请求2.体系提醒选择一项具体维修请求3.售后人员选择一项具体维修请求4.体系提醒输入具体商品维修安插5.售后人员输入具体商品维修安插6.体系打印维修报表7.返回主事宜流第5步B4:选择投诉1.体系提醒选择投诉具体项目:对商品的投诉,对职工的投诉2.售后人员选择投诉的具体项目:B5:选择对商品的投诉B6:选择对职工的投诉3.体系做出相干处理4.返回主事宜流第5步B5:选择对商品的投诉1.体系显示录入投诉商品的相干内容2.售后人员根据顾客投诉录入投诉商品的内容3.体系根据投诉的商品信息告诉供货商投诉内容4.体系打印对商品的投诉的报表5.返回主事宜流第5步B6:选择对职工的投诉1.体系显示输入投诉职工的相干内容2.售后人员根据顾客投诉输入投诉职工的内容3.体系将投诉内容传给超市治理体系之人事治理4.体系打印对职工的投诉的报表5.返回主事宜流第5步后置前提:无2类图2.1 什么是类图类图(Class diagram)是显示了模子的静态构造,特殊是模子中消失的类.类的内部构造以及它们与其他类的关系等.类图不显示临时性信息.类图(Class diagram)由很多(静态)解释性的模子元素(例如类.包和它们之间的关系,这些元素和它们的内容互相衔接)构成.类图可以组织在(并且属于)包中,仅显示特定包中的相干内容.2.2 类图。
UML在需求分析过程中的应用需求分析是软件开发过程中至关重要的一步,它的目的是通过深入了解用户需求,明确软件系统的功能和性能要求,为后续的设计和开发工作提供依据。
在需求分析过程中,统一建模语言(Unified Modeling Language,简称UML)作为一种通用的软件建模语言,被广泛应用于软件系统的描述、设计和分析。
UML提供了一套丰富的图形符号和规范,可以帮助分析人员更好地理解和描述系统的功能和结构。
以下是UML在需求分析过程中的几个常用应用。
1. 用例图用例图是UML中最常见的一种图形符号,它描述了系统与外部用户之间的交互。
在需求分析中,用例图可以帮助分析人员识别系统的主要功能,并将其与用户需求进行对应。
通过用例图,可以清晰地展示系统的各个功能模块以及它们之间的关系,有助于团队成员之间的沟通和理解。
2. 类图类图是描述系统中类和类之间关系的一种图形符号。
在需求分析中,类图可以帮助分析人员理清系统的对象结构,明确各个类之间的关系和属性。
通过类图,可以清晰地表示系统中的实体对象及其属性、方法和关联关系,有助于识别系统中的核心对象和关键功能。
3. 时序图时序图是描述系统中对象之间交互时序的一种图形符号。
在需求分析中,时序图可以帮助分析人员理解系统的交互流程,明确各个对象之间的消息传递顺序和时机。
通过时序图,可以清晰地表示系统中各个对象的行为和交互方式,有助于分析人员识别系统中的潜在问题和风险。
4. 状态图状态图是描述系统中对象状态转换的一种图形符号。
在需求分析中,状态图可以帮助分析人员理解系统中对象的状态变化规律,明确各个状态之间的转换条件和动作。
通过状态图,可以清晰地表示系统中各个对象的状态及其转换规则,有助于分析人员识别系统中的状态冲突和不一致性。
除了以上几种常用的UML图形符号外,UML还提供了一些其他的图形符号,如活动图、包图、部署图等,它们在需求分析过程中也有一定的应用。
通过这些图形符号的使用,分析人员可以更加直观地描述和分析系统的各个方面,从而更好地满足用户的需求。
UML基础概念1.UML简介UML (Unified Modeling Language)为⾯向对象软件设计提供统⼀的、标准的、可视化的建模语⾔。
适⽤于描述以⽤例为驱动,以体系结构为中⼼的软件设计的全过程。
UML的定义包括UML语义和UML表⽰法两个部分。
(1) UML语义:UML对语义的描述使开发者能在语义上取得⼀致认识,消除了因⼈⽽异的表达⽅法所造成的影响。
(2) UML表⽰法:UML表⽰法定义UML符号的表⽰法,为开发者或开发⼯具使⽤这些图形符号和⽂本语法为系统建模提供了标准。
1.1 UML模型图的构成事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象关系(Relationships):关系把事物紧密联系在⼀起图(Diagrams ):图是事物和关系的可视化表⽰1.2 UML包含4种事物:构件事物⾏为事物分组事物注释事物1.2.1 构件事物: UML模型的静态部分,描述概念或物理元素它包括以下⼏种: 类:具有相同属性相同操作相同关系相同语义的对象的描述 接⼝:描述元素的外部可见⾏为,即服务集合的定义说明 协作:描述了⼀组事物间的相互作⽤的集合 ⽤例:代表⼀个系统或系统的⼀部分⾏为,是⼀组动作序列的集合 构件:系统中物理存在,可替换的部件 节点:运⾏时存在的物理元素另外,参与者、信号应⽤、⽂档库、页表等都是上述基本事物的变体1.2.2 ⾏为事物:UML模型图的动态部分,描述跨越空间和时间的⾏为 交互:实现某功能的⼀组构件事物之间的消息的集合,涉及消息、动作序列、链接 状态机:描述事物或交互在⽣命周期内响应事件所经历的状态序列1.2.3 分组事物: UML模型图的组织部分,描述事物的组织结构 包:把元素组织成组的机制1.2.4 注释事物: UML模型的解释部分,⽤来对模型中的元素进⾏说明,解释 注解:对元素进⾏约束或解释的简单符号1.3 UML关系1.3.1依赖依赖(dependency)是两个事物之间的语义关系,其中⼀个事物(独⽴事物)发⽣变化,会影响到另⼀个事物(依赖事物)的语义1.3.2关联关联(association)是⼀种结构关系,它指明⼀个事物的对象与另⼀个事物的对象间的联系1.3.3泛化泛化(generalization)是⼀种特殊/⼀般的关系。
uml中用于表示客观事物的术语客观事物是指存在于现实世界中的实体,包括人、物、事、地点等。
在UML(统一建模语言)中,有一些术语被用来表示这些客观事物,下面将逐个介绍这些术语的含义和用法。
1. 类(Class):类是指具有相似属性和行为的一组对象的抽象描述。
在UML中,类通常用一个矩形表示,矩形中包含类的名称。
类的属性和方法可以在矩形中的分区中显示。
2. 对象(Object):对象是类的实例,是具体的存在。
在UML中,对象通常用一个矩形表示,矩形中包含对象的名称。
对象的状态和行为可以在矩形中的分区中显示。
3. 属性(Attribute):属性是类或对象的特征,描述了其状态。
在UML中,属性通常以名称:类型的形式表示,例如“姓名:字符串”。
属性可以有可见性(public、private、protected等)和多重性(单值、多值)。
4. 关联(Association):关联是类或对象之间的连接,表示它们之间的关系。
在UML中,关联通常用一条直线表示,两端有箭头,箭头指向关联的目标。
关联可以有名称和角色,用来描述关联的含义和参与关联的类或对象。
5. 继承(Inheritance):继承是类之间的一种关系,表示一个类继承另一个类的属性和方法。
在UML中,继承通常用一条带空心箭头的直线表示,箭头指向被继承的类。
继承可以有名称和角色,用来描述继承的含义和参与继承的类。
6. 接口(Interface):接口是一组方法的集合,用来定义类或对象的行为。
在UML中,接口通常用一个圆形标记,并与实现接口的类或对象相连。
接口可以有名称和方法,用来描述接口的含义和方法的功能。
7. 聚合(Aggregation):聚合是一种关联关系,表示整体和部分之间的关系。
在UML中,聚合通常用一条带空心菱形的直线表示,菱形指向整体。
聚合可以有名称和角色,用来描述聚合的含义和参与聚合的类或对象。
8. 组合(Composition):组合是一种更强的聚合关系,表示整体和部分之间的强关系,部分不能脱离整体存在。
在UML的定义中,描述类和对象之间的关系,包括以下几种方式:依赖(Dependency)、关联(Association)、聚合(Aggregation)、组合(Composition)、泛化(Generalization)和实现(Realization)。
现分别说明如下:
1. 依赖(Dependency)
在uml中,“依赖”表示为带箭头的虚线,箭头指向被依赖的元素。
是类与类之间的连接,表示为一个类依赖于另一个类的定义,其中一个类的变化将影响另一个类。
依赖总是单向的,不应该存在双向依赖,这一点要特别注意。
更具体的说,依赖可以理解为:一个类(A)对不在其实例作用域内的另一个类或对象(B)的任何类型的引用。
大致包含以下几种情况:
(1)局部变量;
(2)方法的参数;
(3)静态方法的调用;
下面是依赖关系的uml示意图:
2. 关联(Association)
在uml中,关联表示为带箭头的实线。
关联可以是单向的,也可以是双向的。
如果是双向关联,则可以表示为双向箭头,或者没有箭头。
一般来说,系统设计应表现为单向关联,这样利于维护。
一个关联可以附加“多重性”的修饰符,表示两个类之间的数量关系。
关联可以理解为:一个类(A)持有另一个类或对象(B)。
具体表现为:
(1)成员变量
下面是关联关系的uml示例图:
上面的关联表示,一个Employee持有(has)0个或多个TimeCard。
3. 聚合(Aggregation)
在uml中,聚合关系表示为空心的菱形箭头线。
聚合关系是关联关系的一种,表示一种“强”关联关系。
对比与关联关系,两个类是处于同一个层次的。
而聚合关系,两个类处于不同的层次,强调了一个整体/局部的关系。
例如一辆汽车有一个引擎,4个轮胎。
在聚合关系中,体现了一种“弱拥有”的概念。
也就是说,对象A拥有对象B,但B并不是A的组成部分。
更具体的表现为,如果A由B聚合而成,则A包含B的全局对象,但B对象可以不在A对象创建时创建。
回到前面的例子,汽车对象由轮胎对象聚合而成,但是轮胎对象的生命期并不受汽车对象的左右。
当汽车对象销毁时,轮胎对象也可以单独存在!
下面是聚合关系的uml示意图:
从代码上看,聚合和关联没有任何区别。
这里仅仅体现一种概念上的含义。
在创建ClassA的时候,不一定需要同时创建ClassB的实例。
4. 组合(Composition)
在uml中,组合关系表示为实心菱形箭头线。
组合也叫合成。
合成关系强调了比聚合关系更加强的整体/部分的关联,例如人和四肢。
和聚合关系所不同的是,在组合关系中,虽然局部不一定随着整体的销毁而销毁,但整体要么负责保持局部的存活状态,要么负责将其销毁。
也就是说,组合关系中,局部的存活期一定是小于,最多是等于整体的存活期的。
下面是组合关系的uml示例图:
5. 泛化(Generalization)与实现(Realization)
泛化也就是通常所谓的继承关系,在uml中表示为一个带空心三角的实线。
表示为is-a的关系,是对象间耦合度最大的一种关系,子类继承父类的所有细节,并可以在此基础上添加自己的特性。
下面是泛化关系的uml图:
所谓实现就是对接口的定义实现,很简单。
表现为带箭头的虚线。
下面的实现的uml图:。