PowerDesigner系列--类图的绘制

参考:https://www.cnblogs.com/x-ll123/p/9129856.html

https://www.cnblogs.com/liuling/archive/2013/05/03/classrelation.html

https://blog.csdn.net/shuzhupeng/article/details/101222738

https://www.cnblogs.com/ganqiyin/p/3156991.html

https://blog.csdn.net/xing930408/article/details/76856173

一、点击【File】 ---> 【New Model…】

二、依次点击【model types】 -- >【Object-Oriented Model】-- >【Class Diagram】选择java。再点击【ok】

三、工具栏textbox说明

 

类与类之间的关系

  • 泛化即继承:generalization
  • 实现:realization
  • 依赖:dependency
  • 关联:Association
  • 聚合:Aggregation
  • 组合:composition

类与类之间的关系详解

1、继承关系:继承是指一个类(称为子类、子接口)继承另外一个类(父类、父接口)的功能,并在子类中可以添加自己的功能,在Java中通过extends明确标识,在设计时一般没有争议性,在UML类图中,继承用带空心的三角箭头实线表示,从子类指向父类,或者子接口指向父接口

2、实现关系:实现指的是一个类实现interface接口(可以是多个)的功能,实现是类与接口中最常见的关系。在Java中此类关系通过关键字implements明确标识,在设计时一般没有争议性。在UML类图中,实现用一条带空心三角箭头的虚线表示,从类指向实现接口

3、依赖关系:简单的将,依赖就是一个类A使用到了类B,而这种关系是具有偶然性的、临时的、非常弱,但类B的变化会影响到类A,比如某人要过河,需要借用一条船,此时人与穿的关系就是依赖,表现在代码层面,为类A的某个方法中使用到了类B。在UML类图设计中,依赖关系由类A指向类B的带箭头的虚线表示

4、关联关系:关联体现的是两个类之间语义级别的一种强依赖关系,比如我和我的朋友,这种关系比依赖更强,不存在依赖关系的偶然性和临时性,一般是长期的,而且双方的关系一般是平等的,关联可以是单向的,也可以是双向的。在代码层面,就是类A中对类B进行的声明,类B为类A的全局变量。在UML类图设计中,关联关系用关联A指向被关联B的带箭头实线表示,在关联的两端可以标注关联双方的角色和多重性标记

5、聚合关系:聚合关系是关联关系的一种特例,它体现的整体与部分的关系,即has-a的关系,此时整体与部分是可以分离的,它们可以具有各自的声明周期,部分可以属于多个整体对象,也可以由多个整体对象共享。比如计算机与CPU、公司与员工的关系等,比如一个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动力攻击潜艇等。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。在UML类图设计中,聚合关系以空心菱形加实线箭头表示。

 

6、组合关系:组合关系也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分之间的关系,但此时整个与部分是不可分的,整体的生命周期结束,那么意味着部分的生命周期也结束。比如人和人的大脑。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。在UML类图设计中,组合关系以实心菱形加实线箭头表示。

七、总结     对于继承、实现这两种关系没多少疑问,它们体现的是一种类和类、或者类与接口间的纵向关系。其他的四种关系体现的是类和类、或者类与接口间的引用、横向关系,是比较难区分的,有很多事物间的关系要想准确定位是很难的。前面也提到,这四种关系都是语义级别的,所以从代码层面并不能完全区分各种关系,但总的来说,后几种关系所表现的强弱程度依次为:组合>聚合>关联>依赖

 

给类图中的方法添加参数

1、点击【Operations】 ,再双击下图红框部分

2、选择Parameters 。往类图方法中添加参数

类图的多重性(multiplicity)说明:

通常在关联、聚合、组合中使用。就是代表有多少个关联对象存在。使用数字..星号(数字)表示。

 

有点扎心。英语比较差,对类图中常用单词的整理

designer   [dɪˈzaɪnə(r)]  设计者;构思者

oriented  [ˈɔːrientɪd]  朝向 面向的

Object Oriented 面向对象

diagram   [ˈdaɪəɡræm]  图表

generate  [ˈdʒenəreɪt]  生成

general [ˈdʒenrəl] 常规的,一般的、

comment [ˈkɒment] 评论 备注

stereotype  [ˈsteriətaɪp]  刻板印象,老一套

cardinality  基数

domain  [dəˈmeɪn] 范围,定义域

display  [dɪˈspleɪ] 显示

Ports   [pɔːts]  端口

generalization  [ˌdʒenrəlaɪˈzeɪʃn] 泛化 ,一般的

realization[ˌriːəlaɪˈzeɪʃn]  实现

dependency [dɪˈpendənsi] 依赖, 附属国

Association [əˌsəʊsiˈeɪʃn] 关联、联想

Aggregation[ˌæɡrɪˈɡeɪʃn] 聚合

composition [ˌkɒmpəˈzɪʃn] 组合

multiplicity[ˌmʌltɪˈplɪsəti] 多重性

 

类图的绘制暂时写到这,类图绘制如果遇到问题都会再该篇博客中进行补充