《uml使用技巧(包括powerdesigner画类图时序图技巧).docx》由会员分享,可在线阅读,更多相关《uml使用技巧(包括powerdesigner画类图时序图技巧).docx(19页珍藏版)》请在第一文库网上搜索。
1、一、类图类图概括起来主要由两部分组成一一类、类之间的关系,其中对类的定义如上图所示,主要由三部分组成,它们是类名、类的属性(成员变量)、类的相关操作(函数方法),分别对应图里的上中下三个分区内容。1、类图基础属性GeeIyCIass+name:String、-age:int/weight:doub1e-height:doub1e+sex:Char+eat(food)#drinkO-wa1k()run0+study+opeMacQ:boo1ean+p1ayGames()符号解释-:private+:pub1icdefau1t#:protected下划线:static斜体:抽象(注意也可以用两个尖
2、括号包裹来表示抽象,比如一一我是抽象类Or接口)冒号前是方法名/变量名(根据有无括号区分),冒号后是返回参数/变量类型(根据有无括号区分),如果没有冒号的话表示方法返回空(也有人通过:Void表示返空)2、泛化关系(你可以理解为继承)网上标准解释:泛化关系为is-a的关系;两个对象之间如果可以用is-a来表示,就是泛化关系。笔者通俗解释:MaCiSa电脑,懂了吧?也就是说MaC继承了电脑,是电脑的子类。总结:空心(也有实心表示的,你反正记住这个形状就行)三角+实线=继承关系3、实现关系可计算处理Ii电HO网上标准解释:程序里面实现关系表现为继承抽象类。笔者通俗解释:继承抽象类和实现接口都属于实
3、现关系。需要特别注意的是实现关系有种“棒棒糖”表示法,就是被实现的那个对象是用圆形表示的(这个在下面巩固栏目里会说明)。总结:空心(也有实心表示的,你反正记住这个形状就行)三角+虚线=实现关系4、关联关系网上标准解释:通常用一条直线表示,当然如果需要标明方向可以添加箭头。它是描书不同的类对象之间的关系,通常不会随着状态的变化而变化,可以理解为被关联者属于关联者的一部分。笔者通俗解释:其实就是一个类中的对象与对象之间的引用关系,你可以理解为一个类中的所有成员变量.当然如果是多对多关系(比如一个类中的成员变量含有另一个对象的1ist,另一个类的成员变量又含有当前对象的1iSt),那么就可以不用箭头
4、表示,也可以用双向箭头表示。总结:尖括号+实线=关联关系5、组合关系(组合关系是关联关系的一种,属于强关联关系)公司网上标准解释:与聚合关系一样,组合关系同样表示整体由部分构成的关系,不同之处在于整体和部分是强依赖关系,如果整体不存在了,部分也不复存在。注意:需要另外注意的是,组合关系可特殊标明0.1(0至1)、n(规定数量)、0.*(0至多)、1.*(1至多)、mn(规定的数量区间)。比如棱形一头是1,而另一头是1*一一那它的意思就是“1”对“多”,且这个“多”最少为一个。笔者通俗解释:你可以直接理解为非集合类的成员变量,它与类共存亡。总结:实心棱形+实线=组合关系6、聚合关系(聚合关系也是
5、关联关系的一种,属于弱关联关系)O网上标准解释:与组合关系不同的是,整体和部分不是强依赖的,即使整体不存在了,部分仍然存在。笔者通俗解释:你可以理解为集合类的成员变量,集合类中聚合的对象就代表了这层聚合关系。如1istv码农,这个集合中聚合的“码农”对象是可有可无的,他不影响自身,这就是聚合关系。总结:空心棱形+实线=聚合关系7、依赖关系网上标准解释:通常描述一个对象在运行期间会用到另一个对象的关系。笔者通俗解释:当一个对象依赖另一个对象提供的服务时,就是依赖关系。函数方法的入参、局部变量的引用、静态方法的直接调用都属于这个范畴。一个对象中的函数方法依赖另一个对象作为实例入参的表现形式最为常见
6、,拿函数方法举例一一比如A函数方法的入参实例B,就是需要依赖过来的调用对象。总结:尖括号+虚线=依赖关系二、时序图我们在画时序图时会涉及下面7种元素:角色(ACtOr)对象(ObjeCt)生命线(1ife1ine)控制焦点(ACtiVatiOn)消息(MeSSage)自关联消息组合片段。其中前6种是比较常用和重要的元素,最后的组合片段元素不是很常用,但是比较复杂。我们先介绍前6种元素,再单独介绍组合片段元素。1 .角色(ACtor)系统角色,可以是人或者其他系统和子系统。以一个小人图标表示。2 .对象(Object)对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种:对象名和类名。
7、例如:华为手机:手机、Ioginserviceobjecti1oginService:只显示类名,不显示对象,即为一个匿名类。例如:手机、:1OginSSerVice。只显示对象名,不显示类名。例如:华为手机:、IoginserviceObjectio3 .生命线(1ife1ine)时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(对象的时间线)。以一条垂直的虚线表。4 .控制焦点(AetiVation)控制焦点代表时序图中在对象时间线上某段时期执行的操作。以一个很窄的矩形表示。5 .消息(MeSSage)表示对象之间发送的信息。消息分为三种类型。同步消息(SynChronou
8、sMessage)消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。以一条实线和实心箭头表示。异步消息(ASynChronoUSMessage)消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。以一条实线和大于号表示。返回消息(RetUrnMessage)返回消息表示从过程调用返回。以小于号和虚线表示。6 .自关联消息表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。以一个半闭合的长方形+下方实心剪头表示。土翕色三、PowerDesigner画类图
9、3.1、创建类图先建立一个项目,在项目下,建立ModeI,点击Fi1e,NewModeIVwModdToobWindowHetoJAXS-6;630豆JZA结果:田凰ConoeptugiMaDaUFIowDogram33PhyvcaIDdta自UM1CtesDQgrdma百DMMowwc4IogsaIDaUMoM图总XM1MiMWnenwnaiDM3.2、类图UM1基础主要讲解右侧工具栏(TOo1bOX)Too1boxToo1box9圃之G)Standard国000、gXSZQC1assDiagramI里因。鼠。,13&1%,JQFgSymbo1sOOGPredefinedSymbo1s3.2
10、.1、类回G)Standard冈2&00寸XSZG)C1aDiagramS。A16,jcass()FreeSymbo1sQD、口。O(3(v)PredefinedSymbo1s点击如图所示的图标,然后在PoWedesigner的中间空白区域点击,生成类图。类图有三个关键的内容,分别在GenerakAttributesOperations这三个teb页中进行设置。Genera1:在Genera1teb页中设置类的基本信息,比如:;类名、集成关系、访问修饰符等。(如果是抽象类,勾选AbStraCt选项)Attributes:在AttribUteSteb页中设置类的特性,通常是字段和属性。比如:学生
11、的:id,姓名和年龄。在AttribUteS一栏添加属性:Genera1PortsNotes1E5drdPnVata2namenameStmgPnVdte3g9*tPnVateNameCMZJDateTyPezJDomam-JAX把04HB(A聚合到B上,或者说B由A组成)与组合关系不同的是,整体和部分不是强依赖性的,即使整体不存在了,部分仍然存在。例如部门撤销以后,人员不会因此而消息,他们依然存在。或是如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。Powdersigner:实现Aggregation()C1assDiagramaA,a?Aggregation聚合表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。3.2.3.5 组合COmPOSition用实心菱形+实线箭头来表示。组合关系是用一条带实心菱形箭头的直线表示的,