UML全称是Unified Modeling Language,直译是“统一建模语言”,简单理解就是一组有特殊用途的、国际化的“象形文字”。
UML图有好多种,大致分为两类:结构型和行为型,分别对应静态分析和动态分析。下面先介绍本人认为常用的,不常用的后面会简单提一下。
| 图 | 类别 | 用途 |
|---|---|---|
| 类图 | 结构型 | 描述软件中的类,类中包含属性、方法 |
| 构件图 | 结构型 | 也称组件图,描述软件功能块构成、和第三方系统的交互接口 |
| 部署图 | 结构型 | 描述软件部署在各个物理设备上,以及它们之间的连接关系 |
| 活动图 | 行为型 | 类似流程图,从开始到结束、有顺序、有分支 |
| 状态机图 | 行为型 | 类似流程图,在流程执行过程中,伴随着状态切换 |
| 顺序图 | 行为型 | 描述类接口之间的调用先后顺序 |
| 用例图 | 行为型 | 描述软件需求 |
1)类图

2)构件图

3)部署图

4)活动图

5)状态机图


6)顺序图

7)用例图


包图、对象图、通信图、时序图
在项目中,每个人所处的位置不同、层次不同,所对应的关注点也不同,经常出现开发者(乙方)做出的东西不是用户(甲方)想要的。
甲方分为:高层领导(一把手)、中层领导(科长、股长)、基层用户(科员、职员)
已方分为:高层领导(总经理)、销售人员、项目经理、架构师、程序员、测试工程师、实施工程师
甲方:自己少花钱、乙方要多做事,需求会经常变,需要乙方随机应变
乙方:自己少干点,甲方要多出钱,需求一点别变,需要甲方考虑充分。
甲方:有钱就是爹,有奶就是娘;
乙方:人的想法总是变化的,客户改需求,不能称为“瞎改”,而叫做“持续进化、螺旋式前进”,我们要理解,不要抱怨,不能做“刻舟求剑”的项目。
1)甲方
高层领导:目标明确、指定预算、期望很高;
中层领导:目标基本明确,为满足高层领导的要求,从严把握需求,目标偶尔会偏离;
基层用户:目标基本不清楚,作为实际使用者,常常抱怨产品垃圾;
2)乙方
高层领导:对需求有高层次的理解,不在乎细节,想办法压缩成本,尽可能完成项目;
销售人员:对需求没有概念,常常为了签单,做出让项目组无法完成的承诺;
项目经理:对需求最清楚,同时也是对UML最熟悉的人;
架构师:对需求基本清楚,想的太多,容易做出过度设计;迫于压力,容易做出粗糙的设计;
程序员:对需求没有全局观,对考虑自己负责的部分,容易做出不是客户想要的东西;
测试工程师:对需求的理解往往只针对程序员,关注的细节和甲方的目标之间有差异;
实施工程师:可以直接了解到甲方基层用户的需求,但是往往反馈的意见被忽略。