UML(Unified Modeling Language,统一建模语言),是一种面向对象的建模语言。主要作用在帮助用户对软件系统进行面向对象的描述和建模,它可以描述整个软件开发过程从需求分析直到最终的实现和测试。
标准UML建模语言的内容可以由5类图定义:
1. 用例图:从用户角度描述系统功能,并指出各功能的操作者。
2. 静态图:包括类图、对象图和包图。其中类图描述系统中类的静态结构,不仅定义系统中的类,而且表示类之间的联系及类的内部结构。类图描述的是一种静态关系,在系统的整个生命周期中都是有效的。对象图是类图的实例,使用与类图几乎完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类,一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一段时间内存在。包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。
3. 行为图:描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。
4. 交互图:描述对象间的交互关系,包括时序图和合作图。其中时序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图和时序图相似,显示对象之间的动态合作关系,两者可以转化。如果强调对象之间消息施行时间和顺序,则使用时序图;如果强调对象之间上下级关系,则选择合作图。
5. 实现图:包括组件图和配置图。其中组件图描述代码部件的物理结构以及各组件之间的依赖关系。一个组件可能是一个资源代码组建、一个二进制组建或一个可执行组件。组件图有助于分析和理解部件之间的相互影响程度。配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备以及他们之间的连接关系,也可以显示连接的类型及部件之间的依赖性。
标准UML建模语言为OOA和OOD提供了可能,借助于UML,相信广大的OO程序员可以快速准确地分析和设计系统,设计出具灵活性和扩展性与一体的软件。