一、UML定义UML是统一建模语言Unified Modeling Language的缩写。它的标准定义是一种用于给面向对象软件进行可视化、详述、构造和文档化的图形化语言。特点不是程序设计语言而是用于描述、可视化、构造和文档化软件系统的语言。组成要素基本构造块事物、关系图将构造块组织成可视化表示公用机制贯穿整个语言的规则和公共机制二、事物UML 中的事物是构成模型的基本元素分为 4 大类。1. 结构事物定义UML模型中的“名词”是模型的静态部分描述概念或物理元素。包括类、接口、协作、用例、主动类、构件、制品、结点2. 行为事物定义UML模型的动态部分是模型中的“动词”描述跨越时间和空间的行为。包括交互、状态机、活动3. 分组事物定义UML模型的组织部分是由模型分解成的“盒子”。包是最主要的分组事物。特点把元素组织成组的机制结构事物、行为事物、其他分组事物都可放入包内包是概念上的仅在开发时存在不同于构件运行时存在4. 注释事物定义UML模型的解释部分用来描述、说明和标注模型的任何元素。特点依附于一个元素或一组元素之上对其进行约束或解释的简单符号三、关系UML 主要有 4 种核心关系依赖、关联、泛化和实现。1. 依赖Dependency定义一个事物独立事物发生变化会影响另一个事物依赖事物的语义。例子OrderService依赖OrderDAOOrderService调用OrderDAO的save()方法如果OrderDAO改了OrderService也要改人 依赖 手机人需要手机打电话但手机不是人的一部分只是临时使用2. 关联Association1.普通关联定义一种结构关系描述对象之间的连接一组链接。例子学生 和 课程一个学生可以选多门课一门课可以有多个学生人 和 身份证一个人对应一张身份证1对12.聚集Aggregation弱包含描述整体和部分的结构关系整体和部分生命周期不一致整体消失部分仍然存在例子公司 和 部门公司倒闭了部门可以换个公司继续存在3. 组合Composition强包含整体和部分的生命周期一致整体消失部分也消失部分不可以脱离整体存在。例子订单 和 订单项订单删除后订单项一定跟着删除房子 和 房间房子拆了房间也就不存在了关系生命周期例子聚集弱包含不一致公司 → 部门组合强包含一致订单 → 订单项3. 泛化Generalization定义特殊/一般关系子元素的对象可替代父元素的对象子元素共享父元素的结构和行为。例子猫 泛化 动物猫继承动物的属性和方法年龄、名字、吃东西学生 泛化 人学生自动拥有人的姓名、年龄属性4. 实现Realization定义一个类元指定了由另一个类元保证执行的契约。使用场景接口 和 实现它们的类或构件用例 和 实现它们的协作例子ArrayList实现List接口ArrayList 必须实现 add()、get()、size() 等方法MySQLDriver实现JDBC接口MySQLDriver必须实现connect()、execute()等方四、UML中的图UML 2.0定义了13种图分为结构图静态和行为图动态1.结构图静态视图1.类图2.对象图3.构件图构件之间的组织和依赖关系关注静态实现视图。4.部署图描述物理节点与构件的配置2.行为图动态视图1.用例图包含关系《include》一个用例包含另一个用例。扩展关系《extend》一个用例执行的时候可能会发生一些特殊的情况或可选的情况这种情况解释这个用例的扩展用例。泛化关系父类与子类的关系。2.顺序图3.活动图4.状态图五、UML五种视图从不同角度描述同一系统