UML(统一建模语言)基础

目录:java

1.概论c++

2.用例图数据库

3.类图编程

4.组件图浏览器

5.部署图服务器

6.顺序图函数

7.活动图spa

8.状态机图设计

 

 

1.概论对象

面向对象软件开发须要通过OOA(面向对象分析)、OOD(面向对象设计)和OOP(面向对象编程)三个阶段。

OOA对目标系统进行分析,创建分析模型,并将之文档化;OOD用面向对象的思想对OOA的结果进行细化,得出设计模型;OOA和OOD的分析、设计结果须要统一的符号来描述、交流并记录,UML就是这种用于描述、记录OOA和OOD结果的符号表示法。

UML图大体上可分为静态图动态图两种。

从图中能够看出,UML2.0包括13种正式图形:活动图、类图、通讯图、组件图、复合结构图、部署图、交互概观图、对象图、包图、顺序图、状态机图、定时图、用例图。

最经常使用的UML图包括用例图、类图、组件图、部署图、顺序图、活动图和状态机图等。

 

2.用例图

用例图用来描述系统提供的系列功能,而每一个用例则表明系统的一个功能模块。

哟用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的需求功能,用例图对系统的实现不作任何说明,仅仅是系统功能的描述。

 

3.类图

类图是最古老、功能最丰富、使用范围最普遍的UML图。类图表示系统中应该包含哪些实体,各实体之间如何关联;换句话说,它显示了系统的静态结构,类图可用于表示逻辑类,逻辑类一般就是业务人员所谈及的事务种类。

类之间有三种基本关系:

①关联(包含聚合、组合)

②泛化(与继承同一个概念)

③依赖

具体说明:

①关联(包含聚合、组合)

关联具备方向性:单向关联-带箭头;双向关联-不带箭头

聚合和组合:一般认为组合比聚合更为严格。好比,聚合:同一个学生能够同时属于多个社团;组合:同一个胳膊只能属于一我的。

注:线上数字为数量对应关系;1..*表明能够是一个到多个。

②泛化(与继承同一个概念)

继承用带空心三角形的实线表示;指向父

接口用带空心三角形的虚线表示。指向接口

③依赖

若是一个类的改动会致使另外一个类的改动,则称两个类之间存在依赖。

依赖使用带箭头的虚线表示。

一般而言,依赖是单向的。

 

依赖的常见可能缘由以下:

①改动的类将消息发给另外一个类。

②改动的类以另外一个类做为数据部分。

③改动的类以另外一个类做为操做参数。

 

4.组件图

对于现代的大型应用程序而言,一般不仅是单独一个类或单独一组类所能完成的,一般会由一个或多个可部署的组件组成。对java程序而言,可复用的组件一般打包成一个jar、war等文件;对c/c++应用而言,可用的组件一般是一个函数库,或者是一个DLL(动态连接库)文件。

组件图提供的是系统的物理视图,它的用途是显示系统中的软件对其余软件组件(例如,库函数)的依赖关系。

组件图一般包含组件,接口和port等图元。uml使用带(相似于插头)的符号的矩形来表示组件,使用圆圈表明接口,使用位于组件边界的小矩形表明port。

 

组件的接口表示它能对外提供的服务,这个接口一般有两种表现形式:

①用一条实线链接到组件边界的圆圈表示。

②使用位于组件内部的圆圈表示。

 

组件依赖于某个接口使用一条带半圆的实现来表示。

 

5.部署图

部署图用于描述软件系统如何部署到硬件环境中,他的用途是显示软件系统不一样的组件将在何处物理运行,以及他们将如何彼此通讯。

部署图中的符号包括组件图中所使用的符号元素,另外还增长了节点的概念

节点是各类计算资源的通用名称,主要包括处理器和设备两种类型,二者的区别是处理器可以执行程序的硬件构件(如计算机主机),而设备是一种不具有计算能力的硬件构件(如打印机)。

整个应用分为5个组件:Student、Administrator、应用持久层、Student数据库和UI界面组件。部署图准确地表现了各组件之间的依赖关系。除此以外,部署图的重点在物理节点上,图反映了该应用须要部署在4个物理节点上,其中客户端无需部署任何组件,直接使用客户端浏览器便可;管理者客户机上须要部署UI界面;应用服务器上须要部署Student、Administrator和应用持久层三个组件;而数据库服务器上须要部署Student数据库。

6.顺序图

顺序图显示具体用例的详细流程,而且显示流程中不一样对象之间的调用关系,同时还能够很详细地显示对不一样对象的不一样调用。

顺序图描述了对象之间的交互(顺序图和通讯图都被称为交互图),重点在于描述消息及其顺序。

顺序图有两个维度:

①垂直维度:以发生的时间顺序显示消息/调用的序列;

②水平维度:显示消息被发送到的对象实例

注:冒号前是实例,冒号后是类;

箭头表示一个类实例像另外一个类实例发送一条消息;

对于某些特别重要的消息,能够绘制一条带箭头的指向发起类实例的虚线,将返回值标注在虚线上。

 

绘制顺序图主要是帮助开发者对某个用例的内部执行清晰化,当须要考察某个用例内部若干对象行为时,应使用顺序图,顺序图擅长表现对象之间的协做顺序,不擅长表现行为的精肯定义。

通常来讲,通讯图能够描述的内容顺序图均可以描述,但顺序图比通讯图多了时间的概念。

7.活动图

活动图和状态机图都被称为演化图,其区别和联系以下:

①活动图:用于描述用例内部的活动或方法的流程,若是除去活动图中的并行活动描述,它就变成流程图。

②状态机图:描述某一对象生命周期中须要关注的不一样状态,并会详细描述刺激对象状态的事件,以及对象状态改变时所采起的动做。

演化图五要素:

①状态②事件③动做④活动⑤条件

激发状态改变的事件:①内部事件(一个对象的方法调用另外一个对象的方法)②外部事件(鼠标键盘动做)

 

8.状态机图

状态机图表示某个对象所处的不一样状态和该类的状态转换信息。

实际上,一般只对“感兴趣的”对象绘制状态图。

状态机图的符号集包含5个基本元素:

①初始状态:使用实心圆来绘制

②状态之间的转换:使用具备带箭头的线段来绘制

③状态:使用圆角矩形来绘制

④判断点:使用空心圆来绘制

⑤一个或者多个终止点:使用内部包含实心圆的圆来绘制

注:应保证对象只有一个初始状态,能够有多个终止状态;

状态机图擅长表现单个对象的跨用例行为。

相关文章
相关标签/搜索