UML is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system (OMG definition).
UML is a language, not a methodology. Methodologies can use it to visualize, specify, construct and document the artifacts they produce.
UML defines a notation and a meta-model:
Notation – are the graphical elements in models.
Meta-model – model that describes another model, are the concepts that define a syntactically correct model.
UML metamodel is defined using Meta Object Facility (MOF), a meta-metamodel that is another OMG standard.
XML Metadata Interchange (XMI), another OMG standard, provides a mapping from MOF to XML.
**UML(统一建模语言)简介**
UML(Unified Modeling Language)是一种图形化语言,用于可视化、指定、构建和记录软件密集型系统的工件。它由对象管理组(OMG)定义,不是一个方法论,但可以被各种方法论用来可视化、规范、构造和文档化它们产生的工件。UML包含两大部分:符号表示(Notation)和元模型(Meta-model)。
符号表示是模型中的图形元素,元模型则描述了另一个模型,定义了一个语法正确的模型概念。UML的元模型是通过Meta Object Facility(MOF)来定义的,MOF是一个元元模型,也是OMG的一个标准。XML Metadata Interchange(XMI)是另一个OMG标准,提供了从MOF到XML的映射,使得数据交换变得更加便捷。
**UML的历史**
UML的发展历程可以追溯到1997年,当时是面向对象设计(OOD)、面向对象分析(OOA)、面向对象软件工程(OOSE)的合并,最终在2003年形成了UML 2.0版本,随后在2007年更新为UML 2.1.1版本。
**UML在ILOG中的应用**
ILOG利用UML进行多种不同的用途,如草图绘制、蓝图设计以及作为编程语言。在ILOG产品和服务(PS)中,UML的主要目标是促进沟通。了解受众并根据需要调整UML工件。然而,对于ILOG PS,高级UML使用和模型驱动架构(MDA)通常并不实际。
**常用的UML图表**
ILOG常使用的UML图表包括:
- **用例图(Use Case Diagram)**:描绘系统与用户之间的交互,展示了系统提供的功能。
- **类图(Class Diagram)**:描述类、接口以及它们之间的关系,是静态结构的表示。
- **序列图(Sequence Diagram)**:展示了对象间交互的时间顺序,强调消息的传递顺序。
- **活动图(Activity Diagram)**:类似流程图,表示一个系统或组件的控制流和工作流程。
- **状态图(State Diagram)**:表示一个对象在其生命周期中的行为和状态变化。
- **组件图(Component Diagram)**:展示软件系统中组件的物理组织和依赖关系。
**其他建模技术**
除了UML,还有许多其他建模技术,如业务流程建模(Business Process Modeling),可以与UML互补,共同构建更完整的系统模型。ILOG推荐结合使用这些技术以获得更全面的视角。
**总结**
UML作为一种强大的建模语言,不仅提供了丰富的图形元素来表达复杂的系统结构,还具有标准化的元模型和数据交换格式,使得不同工具和平台之间能够共享模型信息。在实践中,UML的应用方式多样,可以根据项目需求和团队沟通的需要灵活运用。