- 用例图 (Use Case Diagram)
用例图描述了系统与外部用户(参与者)之间的交互。它主要用于捕捉系统的功能需求。
-
主要元素:用例(Use Case)、参与者(Actor)、关联(Association)、系统边界(System Boundary)。
-
用途:描述系统的功能及其与外部环境的交互。
- 类图 (Class Diagram)
类图显示了系统的类及其属性、方法,以及类之间的关系(如继承、实现、关联等)。
-
主要元素:类(Class)、属性(Attribute)、方法(Operation)、关系(Relationships)。
-
用途:描述系统的静态结构和类之间的关系。
- 对象图 (Object Diagram)
对象图是类图的实例化,展示了在特定时间点上系统中对象及其关系的状态。
-
主要元素:对象(Object)、链接(Link)。
-
用途:描述特定时刻系统的状态,帮助理解类图中的类及其实例化后的行为。
- 顺序图 (Sequence Diagram)
顺序图展示了对象之间的交互顺序,强调消息传递的时间顺序。
-
主要元素:生命线(Lifeline)、激活(Activation)、消息(Message)。
-
用途:描述系统中对象之间的交互顺序,特别是用例执行过程中的消息流。
- 通信图 (Communication Diagram)
通信图展示了对象之间的交互,但强调的是对象间的结构组织,而不是时间顺序。
-
主要元素:对象(Object)、链接(Link)、消息(Message)。
-
用途:描述系统中对象之间的交互结构,展示对象如何通过链接互相发送消息。
- 状态图 (State Diagram)
状态图描述了对象在其生命周期内的状态变化以及状态之间的转换条件。
-
主要元素:状态(State)、转换(Transition)、事件(Event)。
-
用途:描述对象的状态变化过程,特别是复杂对象的生命周期。
- 活动图 (Activity Diagram)
活动图展示了系统或业务流程中的活动顺序,强调控制流和数据流。
-
主要元素:活动(Activity)、动作状态(Action State)、决策节点(Decision Node)、合并节点(Merge Node)、初始节点(Initial Node)、终止节点(Final Node)。
-
用途:描述业务流程或操作流程中的活动序列,适用于流程建模和逻辑控制。
- 组件图 (Component Diagram)
组件图展示了系统的物理组件及其依赖关系。
-
主要元素:组件(Component)、接口(Interface)、依赖(Dependency)。
-
用途:描述系统的模块化结构,展示组件之间的依赖关系。
- 部署图 (Deployment Diagram)
部署图展示了系统在物理硬件上的部署情况,包括硬件节点和软件组件的映射。
-
主要元素:节点(Node)、组件(Component)、连接(Connection)。
-
用途:描述系统的硬件架构和部署环境,展示软件组件在硬件上的部署情况。
总结
UML 提供的这 9 种图表各有其特定的用途和视角,涵盖了从需求分析到系统设计的各个阶段。通过结合使用这些图表,开发者可以全面而详细地描述和设计复杂的软件系统。