结构元素

结构元素包括,类,对象,接口,用例,参与者。

类图

类图图示

     类图是UML中最基本的元素了吧?根据OO的思想“天下一切皆对象”,而类是对象的抽象。 
     左侧图示为一个类图。顶端“ClassName”表示类名 
     中间部分为该类的属性,其中分别表示为可访问性,属性名,以及属性的数据类型。 
     第三部分为该类的方法,包括方法的可访问性,方法名,方法的参数以及方法的返回值。 
     需要说明的是:

             “#”表示protected 
             “+”表示Public
             “-”表示private
                                         “i”表示internal

对象图图示
对象图

右侧图示为一对象图,该对象为类className类的一个实例对象

该图第一部分说明了该对象为className的一个实例,第二部分指定了该实例的属性值。该图指定的是一个特殊的实例的对象,如果要代表className的所有的对象可省略掉对象名,即为“:ClassName”。

接口

类图图示

左图为一个比较简单的接口事例图示。与类图差不多,该图示分为三部分,第一部分为接口名,为了更明确的标明其“接口”的身份通常以“I”开头。第二部分为属性,第三部分为方法。

用例与参与者

下图为一简单的用例视图。小人表示参与者,而椭圆表示的是用例。


用例与参与者图示

包图图示

右侧图示为一包图,该图示为一名称为Utility的工具包。

包用来组织类,被包含在包里的类一般通过如Utility::StrUtility的形式来反应该类的路径。

关系

     关系元素包括了聚集,组成,实现,继承,依赖,关联等。

关联

关联图示

     关联是类之间的联系,如篮球队员与球队之间的关联(下图所示)。其中,关联两边的"employee"和“employer”标示了两者之间的关系,而数 字表示两者的关系的限制,是关联两者之间的多重性。通常有“*”(表示所有,不限),“1”(表示有且仅有一个),“0...”(表示0个或者多 个),“0,1”(表示0个或者一个),“n...m”(表示n到m个都可以),“m...*”(表示至少m个)。
     在关联中有一种叫“限定关联”,还有一种谓之自身关联。另外,对象之间的关联就没那么复杂,只是将类的关联实例化而已。

依赖

依赖图示

依赖是表示一个类中使用了另外一个类,最常用的依赖是在类A的方法中使用了类B,那么A依赖B。如上图所示。

继承

继承图示

这里的继承是指子类对父类的关系。理解面向对象的各位对继承应该不陌生。啥也不说,看看图好了。
继承使用空心箭头表示继承的方向,用实线连接。

实现

实现图示

实现指的是类对接口的实现。接口实现的表示与继承的表示差不多,只是将实线变为了虚线。

聚集

聚集图示

一个类可能有几个部分类聚集在一起而成。如:电脑主机由CPU,主板,光驱....等组成。类与类之间是“整体-部分”的关系。

组合

组成图示

组成是强类型的聚集,每个部分体只能属于一个整体。如桌子由桌腿和桌面组成。
----------------------------------------------------------------------------------------------------------------------------------
以上为UML的基本元素的一些表示法,主要目的是供查阅。

UML 类图. 对象图. 接口图. 用例图 .包,参与者. 依赖关系. 泛化/继承关系. 关联关系 .聚合/聚集关系. 实现关系 组合关系。的更多相关文章

  1. 设计模式之UML类图以及类间关系

    类图是描述系统中的类,以及各个类之间的关系的静态视图.能够让我们在正确编写代码以前对系统有一个全面的认识.类图是一种模型类型,确切的说,是一种静态模型类型.类图表示类.接口和它们之间的协作关系. 以下 ...

  2. (转)UML实践----用例图、类图、对象图、顺序图、协作图、状态图、活动图、组件图、配置图

    面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML ...

  3. 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战

    发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...

  4. UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战

    发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...

  5. UML类图和用例图

    软件体系结构的多视图   kruchten提出了软件体系结构的4+1视图模型,其中用例图位于中心位置(4+1视图中的1). 逻辑视图   一种静态建模视图 进程视图   一种并发进程或任务视图 开发视 ...

  6. UMl类图基本认识

    1.基本认识 1) UML——Unified modeling language UML (统一建模语言), 是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果2) ...

  7. UML类图及类之间关系

    1.UML基本介绍 UML:统一建模语言,是一种用于软件系统分析和设计的语言工具 2.UML图 UML图分类: 用例图 静态结构图:类图,对象图,包图,组件图,部署图 动态行为图:交互图,状态图,活动 ...

  8. UML类图的6大关系

    <小酌重构系列>已经完成了大约1/3了,在这些文章中,我使用了一些简单的类图来描述重构策略.在之后的文章中,我可能会借助稍微复杂一些的UML类图来介绍.但是在此之前,我觉得有必要先介绍一下 ...

  9. 用MyEclipse将java文件转换成UML类图

    用MyEclipse将java文件转换成UML类图 参考: 用MyEclipse将java文件转换成UML类图 - 君临天下的博客 - CSDN博客  http://blog.csdn.net/dan ...

随机推荐

  1. jquery easyui datagrid改变某行的值

    $("#DeterminateMembers").datagrid("updateRow",{index:index,row:{fzr:"0" ...

  2. java中equal方法总结

    场景:本周在完成一个公司业务功能时,在判断是否为代叫单时调用了equal方法: PublishOrderType.HELP_ORDER.equals(valetOrderExtraInfoDO.get ...

  3. Java9相关资料(JShell简易教程等)

    资源 Java9官网下载地址 Java9官方教程 JShell(Java Shell) 参考资料: JShell User Guide Java9先睹为快:JShell动手实践 以下大部分内容均来自该 ...

  4. Winform DevExpress控件库(三) 使用NavBarControl控件定制导航栏

    NavBarControl控件:主要作用是制作包含多个选项组并且每个组里包含多个子选项的导航栏: 位于 工具箱 -> Navigation & Layout(导航栏与布局类控件) 目录下 ...

  5. JDBC线程池创建与DBCP源码阅读

    创建数据库连接是一个比较消耗性能的操作,同时在并发量较大的情况下创建过多的连接对服务器形成巨大的压力.对于资源的频繁分配﹑释放所造成的问题,使用连接池技术是一种比较好的解决方式. 在Java中,连接池 ...

  6. MAC OS X下的Linux环境

    关键字: HomeBrew,好比Windows下的Cygwin 安装Homebrew 该si胜过macport ruby -e "$(curl -fsSL https://raw.githu ...

  7. Spring常用配置(二)

    OK,上篇博客我们介绍了Spring中一些常见的配置,上篇博客中介绍到的都是非常常见的注解,但是在Spring框架中,常见的注解除了上篇博客提到的之外,还有许多其他的注解,只不过这些注解相对于上文提到 ...

  8. 没事不要在for循环期间增减迭代序列的成员

    >>> arr=[4, 4, 9, 7, 7] >>> for i,a in enumerate(arr): arr.pop(i) print(i,a) 4 0 4 ...

  9. Dynamics CRM2016 Web API之Expand related entities & $ref & $count

    本篇介绍两个关于1:N关系中通过主实体取关联子实体的api,这两个api会经常被用到而且比原来的odata方式更加方便,之前如果我们要取主实体下所有的关联实体的记录都是通过Retrieve Multi ...

  10. 关于在页面中针对不同版本的IE浏览器实现不同的JS或者CSS样式

    一般会用到<!--[if IE]>这里是正常的html代码<![endif]--> 条件注释只能在windows Internet Explorer(以下简称IE)下使用,因此 ...