UML(统一建模语言)是一种广泛使用的建模语言,用于软件工程中的系统设计。UML 2是UML的一个重要版本,它扩展了原有的功能,提供了更加丰富和灵活的建模能力。UML 2的结构可以分为两部分:基础结构(Infrastructure)和上层结构(Superstructure)。
基础结构(Infrastructure)
UML 2的基础结构提供了整个建模语言的核心概念和机制。它定义了UML的元模型,即模型的模型,这些元模型构成了UML语言的基础。基础结构中包括的核心概念有:
- 核心元素:包括基本的建模概念如类(Class)、关联(Association)和泛化(Generalization)。这些是构建更复杂模型的基本构件。
- 包(Packages):用于组织模型元素,支持模型的模块化和重用。
- 类型和模板:支持创建可重用的模型模板。
- 注释和约束:允许对模型元素添加额外的语义描述和约束条件。
上层结构(Superstructure)
上层结构在基础结构的基础上,进一步定义了更为具体和复杂的建模元素和图表,以支持各种不同的系统分析和设计任务。上层结构中包括了如下几个部分:
- 类和对象图:描述系统中的类及其实例(对象),显示类的属性、操作以及类之间的关系。
- 用例图:描述系统的功能需求及其用户(行为者)之间的交互。
- 序列图和协作图:描述对象间的交互和消息传递。
- 状态机图:描述对象状态的变化和触发这些变化的事件。
- 活动图:描述业务流程或操作的步骤。
- 组件图和部署图:描述系统的物理架构,包括软件组件在硬件上的部署。
UML 2通过这样的结构化设计,不仅支持软件开发的各个阶段,包括需求分析、系统设计、实现、测试和维护,还能适应不同的开发方法论,如敏捷开发和传统的瀑布模型。UML 2的这种灵活性和综合性使它成为软件工程中最核心的标准之一。