UML 概念 类图

下午突然不想干活了,在刷新了半小时邮箱又玩了半小时资源管理器后,决定还是看看UML,不找点事做做实在太无聊了。
于是下了本O'Reilly的Learning.UML.2.0,O'Reilly的书打发时间极佳,还不伤大脑,谁用谁知道。废话到此为止了,个猪头话唠。
 

modeling language建模语言:可以由任何能够用来描述系统的东西组成,比如伪代码、真实代码、图片、图表甚至是大段的文字描述。建模语言包含了用来表示模型的表示法和用来描述表示法的元模型。
UML notation表示法:构成建模语言的元素称为该语言的表示法,比如一个类声明(分成3块的大方盒子)就是UML表示法的一个元素。
semantics语义:语义描述了表示法的意义。比如把类图中分成3块的大方盒子理解为类声明。
meta-model元模型:元模型捕获了语义信息。简单理解的话就是元模型描述了每个表示法的元素的意义。
 

日啊,我讨厌概念!
不负责乱说:Car类声明(指UML图中的大方盒子)可以称为UML表示法的元素,它的brand属性(指UML图中的brand属性那一行)也可以称为UML表示法的元素。语义描述了大方盒子这样的元素的意义,所以我们看到大方盒子就知道他是一个类声明。而类的元模型,就包含了语义的信息,它定义了类声明应该是什么样子的,有哪些属性等等。
 

两个UML表示法元素介绍:
note:note可以用来放置任何供人阅读的信息。
stereotype构造型:stereotypes表示某种特定的用途或用意,它可以应用到几乎所有的UML表示法元素上去。stereotypes修改元素的意义,描述元素的角色。
一部分构造型有对应的图标,比如Actor对应火柴人图标,但大多数构造型都没有对应图标。
构造型的表示方式是使用对应图标或使用 <<stereotype_name>> 的形式。
一个元素可以对应多个构造型
UML定义了一系列标准构造型。
 

ClassDiagram类图

Visibility可见性:+public #protected ~package -private
注意对于protected,同包其他类是不可以访问的,与java不一致;对于package,包外继承是不可以访问的。

Attribute属性visibility Name:Type 例如:-name:String,表示字符串类型属性name,可见性为private。
multiplicity多重性attribute properties属性特性
-historicalChampion:Person[*]{not unique} ==> private Person[] historicalChampion;
    not unique指数组的项可以重复。默认特性是unique。
-createdBy:String="Adam Cock."{readOnly} ==> private final String createdBy = "Adam Cock.";

Operation操作visibility FunctionName(Parameter1:Type, Parameter2:Type):ReturnType
例如:+setName(name:String):void ==> public void setName(String name);
         +NamedNode(name:String)  ==> public NamedNode(String name);  构造函数没有返回类型。

static静态成员:加上下划线表示静态成员。

Relationships关系
UML提供了5种类关系,它们由弱到强为:

1. Dependency依赖关系:依赖关系表示一个类需要知道另一个类的存在以便使用这个类的对象。使用虚线(可能有箭头)表示。
2. Association关联关系:关联关系表示一个类以属性的形式握有另一个类的对象。使用实线(可能有箭头)表示。
单向关联与双向关联:单向关联用箭头表示。
3. Aggregation聚合关系:聚合关系表示一个类拥有另一个类。聚合关系的实现与关联关系一样,使用属性。用带空心菱形的实线表示,菱形指向拥有者。
4. Composition组合关系:组合关系表示一个类管理其组成部件,包括它们的生命周期。组合关系的实现与关联关系一样,使用属性。用带心菱形的实线表示,菱形指向拥有者。
5. Generalization泛化关系:类继承。用带三角形的实线表示,三角形指向基类。

Constraints约束
约束使用OCL(Object Constraint Language)来实现。略。

Abstract Classes抽象类:用斜体表示抽象类与抽象方法。

Interfaces接口:接口可以用<<interface>>构造型表示,也可以用圆圈图标表示。
6. Realization实现关系:实现接口。如果接口用<<interface>>构造型表示,实现关系用带三角形的虚线表示,三角形指向接口;如果接口用圆圈图标表示,实现关系用实线表示。

Templates模板

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值