UML静态图——类图

1、类图

类图是描述类、接口、协作以及他们之间关系的图,显示系统中各个类的静态结构。该图主要支持系统的功能需求,也就是系统要提供给最终用户的服务。是系统分析师以支持软件系统的功能需求为目的设计静态图时使用的。

2、类图元素——类

类是对一组具有相同属性、操作、关系和语义的对象的描述。对象是类的实例,类是对象的模板,类定义了一组有着状态和香味的对象。一个类可以实现一个或多个接口。

类由矩形表示:分为3个部分:名称、属性、操作。如图所示

① 类名称——分为简单名称和路径名称。

简单名称:单独的名称不包含冒号的字符串

路径名称:冒号前面类所在的包的名称,后面的是类的名称。包名和类名之间使用的是双冒号

② 属性——描述类在软件系统中代表的事务所具备的特征

公有用“+”表达,私有用“-”表达,受保护的“#”表达

③ 操作——是对类的对象所能做的事务的抽象。

公有用“+”表达,私有用“-”表达,受保护的“#”表达,包内公有“~”

3、类图元素——接口

接口:多个操作签名一起指定一个行为。在程序运行的时候,其他对象课可以只依赖于此接口,而不需要在改类的其他任务信息。

① 接口用一个带有名称的小圆圈表示的,并且通过一条实线与模块元素相连接

② 当一个接口是在某个特定类中实现的,使用该接口的类通过一个依赖关系(一条带有箭头的虚线)与该接口连接。依赖类需要依赖于指定接口中的那些操作,而不依赖接口实现类中的其他部分。

例子:唐老鸭是能讲话的鸭子,实现了讲人话的接口

4、类图元素——关系

(1)、依赖关系——连个或多个模型元素之间语义上的关系,将模型本身连接起来而不需要用一组实例来表达他的意思。

对于提供者的某些更改可能会影响或提供消息给其他元素,即客户以某种形式依赖于其他类元。

关联、实现、泛化都是依赖关系,但是有自己特别的语义。

例子:动物会依赖氧气

分为四种基本依赖关系:

① 使用依赖:表示客户使用提供者提供的服务以实现他的行为

依使用赖关系:使用、调用、参数、发送、实例化

② 抽象依赖:表示客户与提供者之间的关系,依赖于在不同抽象层次上的事物

抽象依赖关系:跟踪、精化、派生

③ 授权依赖:提供者通过规定客户的权限,可以控制和限制对其内容访问的方法

授权依赖:访问、导入、友元(允许一个元素访问另一个元素,不管被访问的元素是否具有可见性)

④ 绑定依赖:用于绑定模块以创建新的模型元素

(2)、泛化关系——一种存在于一般元素和特殊元素之间的分类关系。特殊元素与一般元素兼容,且包含附加的信息,允许使用一般元素的地方都可以用特殊元素的一个实例来代替,反过来不成立。

例子:

(3)、关联关系——是一组具有共同结构特征、行为特征、关系和语义的连接。

例子:学生和大学的关系

单向箭头是单向关联,如果是一条直线是双向关联。

6个用于关联的修饰:

① 名称——关联可以有一个名称来描述关系之间的关系。上图的关联名称为:Study in

② 角色——关联两端的类在这个关系中扮演着一个角色。上图学生扮演的角色为Learner,大学扮演的角色为Teacher

③ 多重性——是一种约束,是指有多少对象可以参与该关联,可以表示一个取值范围、特定值、无限定的范围或一组离散值

修饰 语义
0 恰为0
0..1 0或1
0...n 0或更多
1 恰为1
1..n 1或更多
n 0或更多

上述关联关系的多重性:学生(1..n):大学(n)

④ 聚合——表示整体和部分关系的关联,就是一组元素组成了更大、更复杂的单元。

比如:书和书架的关系

⑤ 组合——是聚合关系的一种,也被称为强聚合。

比如:菜单、按钮和窗口的关系

菜单和按钮不能脱离窗口独立存在。

⑥ 导航性——一个对象通过链进行导航访问另一个对象。在关联关系上加箭头表示导航方向。

只要一个方向上可以导航的关联称为单向关联,用一条带箭头的实线表示。

在两个方向上都可以导航的关联为双向关联。

(4)、实现关系——将一种模型元素与另一种模型元素连接起来,比如接口和类。

5、我的机房类图

我还是跟我的用例图想的一样,机房收费系统的使用用户有一般用户、操作员、管理员,他们都是依赖电脑在上面操作的。

猜你喜欢

转载自blog.csdn.net/make_1998/article/details/87878352