UML类图和时序图

      在软件开发中,软件的需求设计和架构设计影响软件的好坏和生命周期,编写一个清晰直观的设计文档对软件的开发和维护有重要作用,今天总结一下软件设计>>详细设计中用到的类图时序图。为后面的设计模式做一个铺垫

一、类图

     类图主要描述类的信息和类之间的关系,分为类图类关系图

     1、类图

        在java中用一下图形表示,一般包含3个组成部分。第一个是类名;第二个是属性(attributes);第三个是该类提供的方法( 类的性质可以放在第四部分;如果类中含有内部类,则会出现第五个组成部分)。类名部分是不能省略的,其他组成部分可以省略。以学生为例:

       

      2、类关系图

         实际开发过程中的类不是独立存在的,类之间有着多种关系。类与类之间主要有6种关系,包括依赖关联聚合组合继承实现。他们的耦合度是依次增强的。这些关系在数据库设计过程中体现尤为明显

    2.1 依赖关系(dependecy)

        依赖关系主要体现在两个独立的对象之间存在关联关系,但是这种关系不太强烈,它是一种临时性的关系,通常在运行期间产生,并且随着运行时的变化; 依赖关系也可能发生变化

         依赖关系是用一套带箭头的虚线表示的;如下图表示学生依赖于书和食物;他描述一个对象在运行期间会用到另一个对象的关系;通常体现为类构造方法及类方法的传入参数,

        

    2.2 关联关系(association)

        关联关系和依赖关系很相似,但是关联关系描述对象之间的关系更强烈而且是静态的,不会在运行时发生任何变化。

        关联关系 是用一套带箭头的实线表示的;如下图的学生依赖教室,通常体现是将一个类的对象作为另一个类的成员变量。注意:这种关联关系有可能是双向的,也就是数据库中所说的多对多的关系

                

   2.3 聚合关系(aggregation)

        聚合关系的对象之间存在着一种 "拥有包容关系,体现的是A对象可以包容B对象,但是B对象不是A对象的一部分。他们之间是“整体-个     体”的关系。

        聚合关系使用一套带空心菱形的实线表示;主要体现成员对象通常作为构造方法、Setter方法或业务方法的参数注入到整体对象中,如下图:

        

     2.4 组合关系(composition)

         聚合关系的对象之间存在着一种 "强拥有关系,描述的是A对象由B对象组成。他们之间是“整体-部分”的关系,单独存在没有任何意义。

          组合关系使用带实心菱形的直线表示;通常是讲一个对象作为另一个对象的属性进行注入,如下图:

         

    2.5 继承关系(Generalization

        继承关系也叫泛化关系,描述的是is A,通过继承关系来重写类中的方法

        继承关系使用一套到三角符号的直线表示,在java中用extends体现。

        

   2.6 实现关系(Implementation)

        实现关系表现在类的层次关系上,类实现一个接口,来实现接口中的方法。

        实现关系使用一套带三角的虚线表示。

        

二、序列图




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章