一、类图
类是具有相似结构、行为和关系的一组对象的描述符。类是面向对象系统中最重要的构造块。类图显示了一组类、接口、协作以及他们之间的关系。在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统。类加上他们之间的关系就构成了类图,类图中还可以包含接口、包等元素,也可以包括对象、链等实例。
类图的三个基本组件:类名、属性、方法。
类之间的关系是类图中比较复杂的内容。有泛化、依赖、关联、聚合、组合。
1、泛化
泛化定义了一般元素和特殊元素之间的分类关系,类之间的这种泛化关系也就是继承关系。
![]() |
{ "name": "张三", "cardNo": "000000000001" } |
2、依赖
对象之间最弱的一种关联方式,是临时性的关联。代码中一般指由局部变量、函数参数、返回值建立的对于其他对象的调用关系。
3、关联
关联是模型元素之间的一种语义联系,是类之间的一种联系。关联可以有方向,可以是单向关联,也可以是双向关联。
![]() |
{ "cardNo": "000000000001", "followup":{ "type": 1, "task": "随访任务" } } |
4、聚合
聚合是一种特殊的关联,聚合表示整体与部分的关系。通常在定义一个整体类后,再去分析这个整体类的组成结构。
5、组合
组合也是一种特殊的关联,也表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在。部分对象与整体对象之间具有共生死的关系。
![]() |
{ { "name": "张三", "cardNo": "000000000001" }, [ { "type": 1, "task": "随访任务" } ], { "symptom": "呕吐", "history": "高血压" } } |
聚合和组合的区别:聚合关系是“has-a”关系,组合关系是“contains-a”关系;聚合关系表示整体与部分的关系比较弱,而组合比较强;聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象。组合中一旦删除了组合对象,同时也就删除了代表部分事物的对象。
二、序列图
通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,序列图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。
序列图中包括如下元素:角色,对象,生命线,激活期和消息。
1、角色
与系统、子系统或类发生交互作用的外部用户。
2、对象
对象代表序列图中的对象在交互中所扮演的角色,位于序列图顶部。
3、生命线
生命线代表时序图中的对象在一段时期内的存在。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间的消息存在于两条虚线间。
4、消息
消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。允许实体请求其他的服务,类角色通过发送和接受信息进行通信。
三、详细设计文档模板