用例图与类图

用例图(包含、扩展)  类图(泛化(继承关系)、实现、关联《聚合、组合》、依赖)

一、用例图

用例图中元素包括:参与者、用例。

       1、 参与者表示与应用程序或系统进行交互的用户或外部系统,用小人表示。

        2、用例表示对系统提供的服务进行描述,用椭圆表示。

        3、用例图中涉及的关系:包含、扩展、泛化、关联,其中包含用《include》表示,扩展用《extend》表示,包含和扩展都是虚线箭头,包含是指向被分解出来的功能用例,扩展是指向基础用例。如下图所示


包含《include》 

                                                            

《extend》

二、类图

类图中最基本元素就是类和接口,类图是显示类、接口及它们之间静态结构和关系的图。

        1、类图的三层结构:第一层为类名,第二层为属性名,第三层为方法名

        2、类图中的关系:关联关系(聚合、组合)、依赖及一般关系,这几种都是静态关系。

                2.1 一般关系:泛化(实线三角)、实现(虚线三角)

    

泛化


实现

                2.2 关联关系:关联可以是单向也可以是双向的,单向的话需要有一个实线箭头,双向是可以不用箭头的,类与类之间的连接,它使一个类知道另一个类的属性和方法。


相当于下面的java代码:

class Driver{

  priavte Car car;//在Driver类中出现了一个类型为Car的实例变量

}

class Car{

}

在每一关联的端点还可以有一个基数,表名一端的类可以有几个实例,n..m中间只有两个点,不多不少。


            2.3 聚合和组合

        聚合和组合是关联关系中强关联关系,聚合关系中的属性是可以共享的,就相当于一个显示器并不是只对应一个主机,它这个显示器可以作为不同主机的外设。与关联关系一样,聚合也是通过实例变量来实现的 。在聚合中,整体没有了,部分依然可以使用。聚合是一个空心菱形指向整体。


聚合

        组合和聚合不一样的就是组合的关联性更强,整体与部分是不可拆的,没有了整体,部分也是不能存活的,是不可共享的,照正常来说一般,人死了,它的四肢也就死了。组合是一个实心菱形指向整体。


组合

        2.4 依赖 

       依赖关系总是单向的,依赖关系表示一个依赖于另一个类的定义。


依赖

与关联关系不一样,Person类中并没有Car和House类的属性。Car和House的实例以参数的方式存入buy()方法中去。

java代码:

        class Person{

       public void buy(Car car){

      ......

     }

     public void buy(House house){

      ......

     }

         }

一般而言,依赖关系体现在java语言中为局部变量、方法的参数,以及对静态方法的调用。换言之,一个类A的某一个局部变量类型是另一类B,那么类A就依赖于类B。如果一个方法的参量是另一类B,那么这个方法所在的类A依赖于类B。或者如果一个类A调用另一个类B的静态方法,那么类A依赖于类B。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 前言 1.2UML概述 1.2.1 UML简介 UML (Unified Modeling Language...
    虎三呀阅读 10,355评论 0 6
  • EA介绍:EA是一个对于软件系统开发有着极好支持的CASE软件,他可以支撑系统开发的全过程。 用例图: 用例图各部...
    柳清檀阅读 12,940评论 0 0
  • 软件建模 软件建模的作用是把源于现实世界的问题转化为计算机可以理解和实现的过程。 软件建模的实现过程是从需求入手,...
    青春猪头少年_阅读 865评论 0 0
  • 在UML 2.0的13种图形中,类图是使用频率最高的UML图之一。Martin Fowler在其著作《UML Di...
    雷雷_zll阅读 13,393评论 0 14
  • 一、首先了解类图各个区域代表的含义 假设现在有孙悟空和猪八戒两个类,可以看到他们有共同的属性和方法,孙悟空则多了特...
    D_8d82阅读 9,254评论 0 0