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] 多重性
类图的绘制暂时写到这,类图绘制如果遇到问题都会再该篇博客中进行补充