java 第二章 理解面向对象

第二章 理解面向对象

2.2 UML(统一建模语言)

UML大致可以分为静态图和动态图两种

静态图 用例图 类图 包图 组件图 对象图 部署图 复合结构图

动态图 顺序图 通信图 状态机图 活动图 定时图

最常用的图包括 例图  类图 组件图 部署图 顺序图 活动图 状态机图

2.2.1  用例图

原理 用例图用于描述系统系统的一系列功能,每一个用例图表示系统的一个功能模块

表示法 以一个椭圆表示  用例的名称放在椭圆的中或者下面 角色 以一个人表示

角色和用例之间用线段表示

使用 用例图主要是在需求分析时使用

2.2.2类图

他显示了系统的静态结构 类图表示系统中应该包含哪些实体 个实体之间的关联

表示法 用三个部分的矩形来描述 最上面是类名 中间是属性 下面表示类包含的方法

使用 可以表示类的内部关系也可以表示类之间的互相关系

类之间的关系有

关联(聚合 组合)

泛化(继承)

依赖

 

关联 一个对象能访问的关联对象的数目被称为 多重性

 

聚合与组合

通常认为组合比聚合更加严格

聚合 当某一个实体类聚合成另一个实体时 该实体还可以是类一个类的部分

使用 空菱形 加箭头表示

组合 当某一个实体类组合成另一个实体时 该实体不能是类一个类的部分

使用 实心菱形 和箭头表示

1..* 表示一个到多个

 

泛化

泛化与继承是同一个概念

用 空心三角形和线段表示(类似箭头)

类实现接口 用空心的三角形和虚线表示

 

依赖

如果一个类的改动会导致另一个类的改动 则两个类之间存在依赖

使用 虚箭头表示  箭头指向被依赖的实体

依赖的原理

1.改动的类以另一个类作为数据的一部分

2.改动的类以另一个类作为操作参数

3.改动的类将消息发给另一个类

 

2.2.3 组件图

java而言 组件就是打成jar war 等文件 可以重复使用的组件

使用方式

用一个实现连接到组件的边界的半圆表示

使用位于组件内部的圆圈表示

2.2.4 部署图

部署图用于描述软件如何部署到硬件环境中,它的用途是显示软件系统不同的组件将在何处物理运行,及他们如何通信

用法 用三位立方体来表示节点

2.2.5顺序图

顺序图显示具体(或者部分用例的一部分)的用例的详细流程,并且显示流程中不同对象之间的调用关系,同事还能显示不同对象的不同调用

重点描述消息及时间顺序

 

 顺序图与两个维度

垂直维度 以发生的时间顺序显示消息/调用的次序

水平维度 显示消息被发送到的对象实例

顺序图的顶部的空表示每个类的对象 如果一个类实例想另一个类发送消息,则会绘制一条指向接收类实例的带箭头的连线 把消息/方法的名称放在连线上

还可以绘制一条指向发起类的虚线 虚线上写返回值

 

2.2.6活动图

活动图 :用于描述用例内部活动的方法的流程,如果除去活动图中的并行活动描述,他就变成流程图

状态机图 描述某一生命对象周期中需要关注的不同状态,并会详细描述刺激对象状态改变的事件,以及对象状态改变时所采取的动作

 

2.2.7 状态机图

状态机图表示某一个对象处在不同状态下和该类的状态转换信息 在系统活动期间 具有三个或者更多潜在的状态的对象才需要使用状态机图

 

初始状态 用实心圆来表示

状态之间的转化 使用带箭头的状态来描绘

状态 使用圆角矩形来表示

判断点 使用空心圆来表示

一个或者多个终止点 用实心圆来表示

你可能感兴趣的:(java,面向对象)