当前位置:文档之家› UML静态模型

UML静态模型


UML静态建模—类图与对象图
关系
关联(Association)
关联用于描述类与类之间的连接。由于对象是类的实例,因此类与 类之间的关联也就是其对象之间的关联。
泛化(Generation)
又称继承,A generalization is a relationship between a more general and a more specific element。
9.
{
10.
employee = p;
11.
}
12. }
13. class Person
14. {
15.
… (略)
16. }
UML静态建模—类图与对象图
关系—组合聚合(composition Aggregation)
如果构成整体类的部分类完全隶属于整体类,则这样 的聚合称为复合聚合。换句话说,如果没有整体类则 部分类也没有存在的价值,部分类的存在是因为有整 体类的存在。
关系—共享聚合(Shared aggregation)
1. // 主程序 2. Person p = new Person(); 3. Team t = new Team(p);
4. class Team
5. {
6.
Person employee;
7.
// Constructor
8.
public Team(Person p)
由名称、属性 、方法构成
对象是类的实例。
类之间的关系一共有四种:关联、泛化、依赖、 实现化。 包(Package) 用来分类、组织类。
关联:用于表示类的对象之间的关系。其特殊
user
形式有组成关联和聚集关联。
UML静态建模—类图与对象图
UML静态模型--类图的基本符号(2)
类图中的图符:
类:表示一个类,其中第一栏是类的名,第二 栏是类的属性,第三栏是类的操作。
包:包是一种分组机制,表示一个类图集合。
UserInfo
-userName : string(idl) -age : string(idl) +getUserName() : string +addUser() : string(idl)
关联:用于表示类的对象之间的关系。其特殊
user
形式有组成关联和聚集关联。
类图的作用
UML静态建模—类图与对象图
描述系统需要使用多少类来构造。 说明这些类彼此之间如何沟通。 提供对某个类内的属性与方法详实的描述。
类图详解(1)
UML静态建模—类图与对象图
名称部分
类的属性
类型:integer, Boolean, string, date, real, point, enumeration。 属性的可见性:public(+)、protected(#)、private(-)
依赖(Dependency)
A dependency is a relationship between elements, one independent and one dependent. A change in the independent element will affect the dependent element.
名字 = “Compaq X” 内存 = 32
对象说明举例
UML静态建模—类图与对象图
UML静态建模—类图与对象图
UML静态模型--对象图的应用场景
对象图并不象类图那样具有重要的地位,但是 利用它可以帮助我们通过具体的实例分析,更 具体直观地了解复杂系统类图的丰富内涵。 对象图还常常被用作合作图的一部分,用以展 示一组对象实例之间的动态协作关系。
软件开发培训教程
UML静态模型
张余正
zyz_163@
UML静态建模—类图与对象图
课程目标
• 了解类图、对象及它们的关系 • 了解接口、继承的设计原则 • 了解包图的应用场景
UML静态建模—类图与对象图
UML静态模型--类图
在面向对象的建模技术中,类、对象和它们之 间的关系是最基本的建模元素。对于一个想要 描述的系统,其类模型、对象模型以及它们之 间的关系揭示了系统的结构。 类图描述了系统中的类及其相互之间的各种关 系,其本质反映了系统中包含的各种对象的类 型以及对象间的各种静态关系(关联,子类 型)。
订单—类图与对象图
在大项目中,包图是一种重要工具(有专家建议,只 要你不能将整个系统的类图压缩到一张A4纸上,你就 应该使用包图);
在java中用package表示包,对应一个目录;
包的概念对测试也是特别有用的。
总结
UML静态建模—类图与对象图
类图 (Class Diagram)
UML静态建模—类图与对象图
关系--依赖(Dependency)
依赖(Dependency)是两个元素之间的语义 关系,其中一个元素的改变可以影响另一个元 素的语义。箭头表示依赖关系的方向。在下面 的图中,MyClass1 与 MyClass2 之间存在依 赖关系。MyClass2 中的改变将影响 MyClass1。
employee = new Person();
10.
}
11. }
12. class Person
13. {
14.
… (略)
15. }
UML静态建模—类图与对象图
关系--泛化(Generation)
泛化是父子关系。MyClass2 是超类,而 MyClass1 是子类。在 Java 编程语言中,通过 使用 extends 关键字来生成子类,从而实现泛 化。
类的操作
操作由操作名、参数表、返回值类型等几部分构成。 操作的可见性:public(+)、protected(#)、private(-) 语法:visibility name ( parameter-list ) : return-typeexpression { propertystring}
类图详解(2)
UML静态建模—类图与对象图
UML静态模型--类图的基本符号(1)
类图中的图符:
类:表示一个类,其中第一栏是类的名,第二 栏是类的属性,第三栏是类的操作。
包:包是一种分组机制,表示一个类图集合。
UserInfo
-userName : string(idl) -age : string(idl) +getUserName() : string +addUser() : string(idl)
多重性 1 0..* 或者 * 1..* a..b a,b
意义 一个,并且只有一个 零、一、或者更多 一个或者多个 a 和 b 之间 a 或者 b
UML静态建模—类图与对象图
关系—聚合(aggregation)
聚合是关联的特例。如果类与类之间的关系具有整体与部分的 特点,则把这样的关联称为聚合。 聚合的类型:
UML静态建模—类图与对象图
UML静态模型-对象图
作者
名字:String 年龄:Integer
0..1
Uses
类图
计算机
1..*
名字:String 内存:Ineger
小王:作者
名字 = “王小影” 年龄 = 32
小王的工作PC: 计算机
名字 = “Dell486” 内存 = 64
对象图
小王的工作PC: 计算机
共享聚合(Shared aggregation) 组合聚合(Composition Aggregation)
UML静态建模—类图与对象图
关系—共享聚合(Shared aggregation)
如果聚合关系中的处于部分方的对象,同时参与了多 个处于整体方对象的构成,则该聚合称为共享聚合。
UML静态建模—类图与对象图
UML静态建模—类图与对象图
关系—实现(Realization Relationship)
实现是接口与实现类之间的关系。在 Java 语言中, 可以通过使用 implements 关键字实现一个接口的 方式来表示实现关系。
UML静态建模—类图与对象图
关于接口和继承的两个重要设计原则
针对接口编程而不要针对实现。
UML静态建模—类图与对象图
关系—组合聚合(composition Aggregation)
1. // 主程序
2. Team t = new Team();
3. class Team
4. {
5.
Person employee;
6.
// Constructor
7.
public Team()
8.
{
9.
UML静态模型—什么包图
包是类的集合。 包图所显示的是类的包以及这些包之间的依赖 关系。 如果两个包中的任意两个类之间存在依赖关 系,则这两个包之间存在依赖关系。 包的依赖是不传递的。
UML静态建模—类图与对象图
UML静态模型—包图应用举例
订单获取 界面
AWT
邮件发送 清单界面
订单获取 应用
邮件发送 清单应用
客户只需要知道定义接口的接口/抽象类。因此,避 免了在子系统间实现依赖性,因为客户不知道实现 该接口的类。
优先使用类组合而不是类继承。
因为类继承暴露了父类,所以可以用对象组合代替 它,通过组装或组合对象,或者获得更复杂的功 能,可以获得新的功能。组件不会妨碍对象的接 口,并且不会破坏封装。
UML静态建模—类图与对象图
实现(Refinement)
实现是接口与实现类之间的关系。在 Java 语言中,可以通过使用 implements 关键字实现一个接口的方式来表示实现关系。
UML静态建模—类图与对象图
关系--关联(Association)
相关主题