UML
- UML(统一建模语言)介绍
UML(统一建模语言)介绍
面向对象软件开发需要经过OOA面向对象分析、OOD面向对象设计和OOP面向对象编程三个阶段。OOA对目标系统进行分析并寄哪里分析模型,并将之文档化,OOD用面向对象的思想将OOA的结果进行细化,得出设计模型。OOA和OOD的分析、设计结果需要统一的符号的描述、交流并记录,UML就是这种用于描述、记录OOA和OOD结果的符号表示法。
Booch是面向对象方法最早的倡导者之一,他提出了面向对象软件工程的概念。Booch1993表示法比较适合用于系统的设计和构造
Rumbaugh等人提出了面向对象的建模技术(OMT)方法,采用了面向对象的概念,并引入各种独立于语言的表示符。这种方法用对象模型、动态模型、功能模型和用例模型,共同完成对整个系统的建模,所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。
Jacobson于1994年提出了OOSE方法,其最大特点就是面向用例(Use-Case),并在用例的描述过程中引入了外部角色的概念。用例的概念是精确描述需求的重要武器,但是用例贯穿于整个开发过程,包括对系统的测试和验证。
UML统一了Booch、Rumbaugh和Jaacobson的表示方法,最终统一为大众所接受的标准建模语言。UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。
1996年10月,获取广泛支持
1997年底,OMG组织采纳了UML1.1作为基于面向对象技术的标准建模语言。一共包含:
最常用的UML图包括:用例图、类图、组件图、部署图、顺序图、活动图和状态机图等。
- 用例图
用例图用于描述系统提供的系列功能,而每个用例则代表系统的一个功能模块。用例图的主要目的是帮助开发团队对以一种可视化的方式理解系统的需求功能,用例图对系统的实现不做任何说明,仅仅是系统功能的描述。
用例图包括用例(椭圆),“角色”(人形),角色和用例之间的关系(线段)以及系统内用例之间的管理。
- 1.类图
最古老、功能最丰富、使用最广泛的UML图形。表示系统中应该包含哪些实体,各实体之间如何关联,使用三个矩形来描述,最上面的部分显示类的名称,中间部分包含类的属性,最下面部分包含类的方法。
类图除了可以表示实体的静态内部结构,还可以表示实体之间的相互关系,类之间的三种基本关系:关联(聚合、组合)、泛化(继承)、以来。
- 关联
类中的某个属性引用到另外一个实体时,就变成了关联,如仅能从一个类单方向地访问到另一个类,则被称为单向关联,如果两个类可以相互访问,则称为双向关联,一个对象能访问关联对象的数目称为多重性。
- 泛化
泛化和继承时同一个概念,都是指的子类是一种特殊的父类,类与类之间的继承关系是非常普遍的的。
- 依赖
如果一个类的改动会导致另一个类的改动,则称为两个类之间存在依赖。依赖关系使用带箭头的虚线表示,其中箭头指向被依赖的实体。依赖常见的可能原因:1.改动的类将消息发给另一个类。2.改动的类以另一个类作为数据部分。3.改动的类以另一个类作为操作参数。
- 2。组件图
显示系统中的软件对其他软件组件的依赖关系。
- 3.部署图
描述软件系统如何部署到硬件环境中,显示软件系统中不同的组件在何处物理地运行,以及他们将如何批次通信。
- 4。顺序图
描述对象之间的交互,描述消息及时间顺序。有两个维度:垂直维度以发生的时间显示消息/调用的序列,水平维度显示消息被发送到的对象实例。
- 5。活动图
活动图和状态机图被称为演化图。
活动图:用于描述用例内部的活动或方法的流程,如果除去活动图中的并行活动描述以后,它就变成了流程图。
演化图的五要素:
- 状态:状态是对象响应事件前后的不同面貌,状态是某个时间段对象所保持的稳定态,目前的软件计算都是基于稳定态的,对象的稳定态是对象的固有特征,一个对象的状态一般是有限的。有限状态的对象是容易计算的,对象的状态越多,对象的状态迁移越复杂,对象状态可以想象成对象演化过程中的快照。
- 事件:来自对象外界的刺激,通常的形式是消息的传递,只是相对对象而言发生了事件。事件是对象状态发生改变的原动力。
- 动作:动作是对象针对所发生事件所做的处理,实际上通常表现为某个方法被执行。
- 活动:活动是动作激发的后续系统行为。
- 条件:条件指事件发生所需要具备的条件。
- 激发对象状态改变的事件,通常有两种类型:
- 内部事件:从系统内部激发的事件,一个对象的方法(动作)调用,(通过事件激活)另一个对象方法(动作)。
- 外部事件:从系统边界外激发的事件,例如用户的鼠标、键盘动作。
- 6。状态机图
描述某一对象声明周期中需要关注的不同状态,并会详细描述刺激对象状态改变的事件,以及对戏那个状态改变时所采取的动作。
状态机图的符号集包括5个基本元素:
- 初始状态,它使用实心圆来绘制;
- 状态之间的转换,它使用具有带箭头的线段来绘制;
- 状态,它使用圆角矩形来绘制;
- 判断点,它使用空心圆来绘制;
- 一个或者多个终止点,它们使用内部包含实心圆的圆来绘制。