UML part3 类图对象图

Posted 跟着金哥有肉吃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML part3 类图对象图相关的知识,希望对你有一定的参考价值。

UML part3 类图、对象图


四种关系

1. 依赖关系

①定义:依赖描述了两个模型元素之间的关系,如果被依赖的模型元素发生变化就会影响到另一个模型元素

②举例:动物有生命和水进行繁殖,动物和水,动物和氧气都是依赖关系;人需要用船过河,人和船就是依赖关系

...

中间省略了降低依赖的方法,依赖倒置,依赖注入和控制反转

详情可参考JavaEE

...

2. 关联关系

①定义:是一种结构关系,用于指明一个事物的对象和另一个事物的对象间的联系

②关联可以是单向的(带箭头),也可以是双向的(不带箭头)

③依赖与关联的区别

a. 依赖是一种弱关联

b. 依赖是一种偶然的关系,而不是必然的关系

c. 关联是类的对象之间的一种关系

d. 通俗的理解,就是一个是使用,一个是必须需要。依赖就是可以使用,例如人可以使用船过河,但人也可以用其他工具过河;关联就是必须需要,例如老师教学生,水壶装水

④特殊的关联:聚合和组合

a. 聚合关系

表示类之间整体与部分的关系,较大的事物由较小的事物组成

例如:教室和课桌,教室和椅子,键盘和计算机,鼠标和计算机

每个部分不一定属于一个整体

b. 组合关系

组合是更强形式的聚合关系

整体与部分的生命周期完全一致,每个部分只能属于一个整体

例如:人类和大脑,人类和心脏


聚合关系和组合关系示例


3. 泛化关系

①泛化即继承

②定义:表示一般事物(父类)和该事物的特殊种类(子类)之间的关系

③例如:学生和本科生,学生和研究生,动物和狗子

4. 实现关系

①定义:说明规格的接口和实现其功能的类的关系

②和java中的接口与类的关系相同

③不继承结构,只继承行为

④常见的两种表现形式


UML part3 类图、对象图

正向工程和反向工程

1. 正向工程:从UML图形生成java代码

2. 反向工程:从java代码生成UML图形

3. 正向工程和反向工程都是一种辅助手段


类图

1. 类的组成

①名称:符合命名范围

②属性:就是状态信息,例如姓名,年龄,有无翅膀等

③行为:就是能做什么,例如吃,跑,迁徙

④属性的可访问性:

公有(pubic):+

私有(private):-

保护(protected):#

实现(implementation):~

2.类图的版型(在顺序图中会用得到)

①版型(类型或构造型):用于标明或扩展现有UML元模型的含义,几乎每个UML元模型都有很多版型

②MVC框架的版型表示:


UML part3 类图、对象图

类图的版型画法以及对应的举例(*三个版型必须记住)


③边界类

a. 位于系统与外界的交界处,例如窗体、对话框、报表、与外部设备或系统交互的;类等等

b. 边界类可以通过用例确定,因为活动者必须通过边界类参与用例


UML part3 类图、对象图

边界类画法(主要画最左边的)


④实体类:保存永久信息,最终可能映射数据库中的表和字段


UML part3 类图、对象图

实体类画法(主要画最左边的)


⑤控制类:协调其他类工作和控制总体逻辑流程,一般每个用例有一个控制类。控制类会向其他类发送消息


UML part3 类图、对象图

控制类画法(主要画最左边的)

3. 类图的抽象层级

①概念类

a. 描述相关领域的概念

b. 仅包括类名,不含细节

UML part3 类图、对象图

概念类示例(主要画最左边的)

②分析类

a. 包含类的部分属性和行为

b. 不针对具体编程语言

UML part3 类图、对象图

分析类示例


③设计类

a. 针对具体编程语言

b. 考虑实现细节

UML part3 类图、对象图

设计类示例


4. 类图的使用

①类图是UML中最重要的图形,能用于各种场合

②对概念模型,分析领域模型(概念,属性,关联)

③保持类图的简单,不要试图描述所有细节



【考试画图类型题】

要点:

1.认真读题,过滤出题目中的类

2.找出题中每个类具有的属性和行为

3.分析每个类之间的关系


例题1.教室内排放着若干个课桌椅子,每个课桌旁最多摆放4把椅子,每把椅子上坐着一名学生,根据上述描述,画出相应的UML图。

分析:蓝色标的是类,这道题没有涉及属性和行为,只要把类和类的关系找好就行,涉及到数量要写在关系的线上,以教室和课桌举例,“教室内有若干个课桌”,教师对于课桌来说是1个,所以教室端是1,课桌对于教室来说是若干个,所以课桌端的数字是n;以课桌和椅子为例,“每个课桌旁最多摆放4把椅子”,说明课桌旁可以摆放的椅子数量是0到4个,所以椅子对于课桌的数量是0..4,椅子端的数字是0..4,因为“每个课桌”,所以课桌对于椅子的数量是1,所以课桌端的数字是1。因为课桌,学生和椅子都是教室中的,这三者与教室的关系是聚集关系,其他是关联关系,得出答案如下


UML part3 类图、对象图



例题2.学校下属若干院系,并能招收若干学生;每个院系下属若干老师,其中有一人为负责人;每名老师讲授课程的数量不能超过3门;每个学生至少选修一门课程,最多能选10门课程;每门课程最多能够容纳80人,若少于30人即被取消。根据上述描述,画出相应的UML图。

分析:蓝色标的是类,这道题没有涉及属性和行为,只要把类和类的关系找好就行,涉及到数量要写在关系的线上。因为院系和学校属于一个生命周期,所以学校和院系是组合关系;根据院系中有老师和学校中有学生,可以推出学校和学生是聚集关系,老师和院系是聚集关系


UML part3 类图、对象图



例题3.学生包括本科生研究生两种,研究生中的一部分利用课余时间担任助教教师包括讲师教授两种;一名助教可以为一位讲师或一位教授助课,一位讲师只能有一名助教,一位教授可以有5名助教。根据上述描述,画出相应的UML图。

分析:蓝色标的是类,这道题没有涉及属性和行为,只要把类和类的关系找好就行,涉及到数量要写在关系的线上。这题主要考泛化关系,也就是继承关系。


UML part3 类图、对象图



例题4.根据以下描述,画出相应的UML图。神州六号飞船神舟飞船系列的一种,它由轨道舱返回舱推进舱逃逸救生塔组成,航天员可以在返回舱内驾驶飞船,在轨道舱工作休息,在紧急情况下,可以利用逃逸救生塔逃生。在飞船两侧有多个太阳能电池翼,可以给飞船提供电能。根据上述描述,画出相应的UML图。

分析:蓝色标的是类,粉色标的属性和行为,这个题中不涉及属性,全部都是行为。驾驶飞船是返回舱的行为,工作和休息是轨道舱的行为,逃生是逃逸救生塔的行为,所有行为和属性在题中没有规定的情况下都设为public属性,所以前面写一个加号;前面说过依赖关系是人通过船过河,所以人和船是依赖关系,同理航天员通过轨道舱工作和休息,通过返回舱驾驶飞船,通过逃逸救生塔逃生,所以航天员和轨道舱、返回舱、逃逸救生塔都是依赖关系;神舟六号飞船由轨道舱、返回舱、推进舱、逃逸救生塔组成,所以神舟六号飞船和他们都是聚集关系;因为神州六号飞船是神舟飞船的一种,所以神州飞船是神舟六号飞船的父类,所以它们是继承关系,也就是泛化关系,由此得出答案


UML part3 类图、对象图



例题5.根据以下描述画出类图。动物生命特征,需要氧气进行繁殖新陈代谢是动物的一种,鸟拥有。其中大雁企鹅都是鸟的一种。大雁会飞翔,企鹅要根据气候变化进行迁徙唐老鸭是最著名的一只鸭子,会讲人话

分析:蓝色标的是类,粉色标的属性和行为,“动物有生命特征”,生命特征是动物的属性;“需要水和氧气进行繁殖和新陈代谢”,所以新陈代谢和繁殖都是动物的行为,水和动物,氧气和动物都是依赖关系;“鸟是动物的一种”,所以鸟和动物是继承关系,也就是泛化关系;“鸟拥有翅膀”,所以有翅膀是鸟的属性,同时翅膀和鸟与人和心脏属于同理,所以翅膀这个类和鸟这个类属于组合关系;“大雁、企鹅,鸭都是鸟的一种,所以大雁、企鹅和鸭与鸟都是继承关系,也就是泛化关系;飞翔是大雁的行为,迁徙是企鹅的行为;“唐老鸭是最著名的一只鸭子,会讲人话”,所以唐老鸭和鸭是继承关系,也就是泛化关系,讲人话是唐老鸭的行为


UML part3 类图、对象图



对象图(正常情况下不会单独出题,会用在顺序图和协作图中)

1. 对象的三种表现形式

对象名:类名

对象名在前,类名在后,用冒号来连接。对象名和类名都加下划线

:类名(*这种形式在顺序图和协作图中常见)

这是对匿名对象的表示方法,用于尚未给对象取名字的情况,冒号不能省略

对象名

省略掉类名,只有对象名,对象名必须加下划线



2.对象图和类图的区别








以上是关于UML part3 类图对象图的主要内容,如果未能解决你的问题,请参考以下文章

UML

StarUML 类图 对象图

UML中的类图及类图之间的关系

多角色都通过的软件工程UML建模九图

面向对象UML类图用例图顺序图活动图状态图通信图构件图部署图

UML类图与对象图