描述软件系统的静态信息结构,用来描述系统中各个模块之间的关系和类的详细信息,出现在详细设计过程中。
类是什么:是对真实存在的事物,一个真实客观地描述
类有名字,属性、操作
方法是行为的描述
属性是静态信息的描述
操作是行为的描述
表示方法
关系:关联(普通关联、聚合、组合)、依赖、泛华、实现
1、关联:是一种拥有关系,使一个类知道另一个类的属性和方法。
箭头指向:被拥有者
1)普通关联:
关联的名称:用以描述该关系的性质
角色:但一个类处于关联的某一端时,该类就在这个关系中扮演了一个特定的角色。角色是关联中靠近它的一端的类对另外端的类呈现的职责。
多重性:关联角色的多重性是说明一个关联的实例中有多少个相互连接的对象。
关联有单向关联和双向关联。
一个学生可以拥有1或n本课本,而课本是不可以拥有学生的所以是单向箭头
两个类之间可以有多种关联,一个类可以和多个类相互关联。也可以自身关联(一个对象可以与另一个同类的对象有链接)
这里强调一下:两个类之间的双向关联和两个类之间的多种关联。
两个类之间的双向关联指的是在同一种关联关系的情况下,存在的双向联系,并且在这种关联关系下存在的多重性。
多种关联指的是,多种关联关系
2)聚合:是一种整体和部分的关系。不存在附属关系和时间上的约束性。
箭头指向:空心菱形箭头指向整体
3)组合:存在明显的附属关系
箭头指向:实心菱形箭头指向整体
如:书与书架可以分开、不同时存在,而书页只能附属于书同时存在。
关联类:两个对象之间的链接本身可以拥有自己的属性和行为,如果把链接看做是一个类的实例,则该关联称之为关联类。
2、依赖(Dependency):是一种使用关系,即一个类的实现可能用到另一个类。说明一个事物规格说明的变化可能影响到使用它的另一个事物,但反之未必。可以使用在类、包、构建之间。
箭头指向:带箭头的虚线指向被使用者。
Client使用Supplier的东西
3、泛华(Generalization):是一种继承关系表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。
箭头指向:带三角箭头的实线,箭头指向父类。
此图是由单重继承和多重继承组成。
4、实现(Realization):是类与接口之间的关系,描述了类是接口的所有特征和行为的实现。
一个类元描述了另一个类元保证实现的契约。
箭头指向:带三角箭头的虚线,箭头指向接口。
设计软件系统:
1、分析USCase图 的用例模块。
2、考虑静态特征
绘制有哪些类图(设计类的原则找名词)
3、确定类的属性和方法
有哪些状态信息,抽象出属性
确定方法:动作操作或行为的集合
如果给出给出一个系统我们能够做到的是
抽象的到类
得到属性和方法
找出类之间关系
关系的修饰eg名称 多重性
四中关系是核心精华
用最准确的关系来描述
能用继承来描述的一定要用泛华关系
当描述接口和类的实现是一定要用实现
两类之间有结构的化一定用关联
除此之外用依赖来描述
原文:http://blog.csdn.net/u010924878/article/details/26620005