类图

UML之对象图

耗尽温柔 提交于 2020-02-29 05:41:48
UML之对象图 对象图——ObjectDiagram 对象图:是显示了一组对象和他们之间的关系。 使用对象图来说明数据结构。类图中的类或组件等的实例的静态快照。对象图和类图一样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。 对象图的描写叙述 对象图显示某时刻。对象和对象之间的关系。 一个对象图可看成一个类图的特殊用例,实例和类可在当中显示,对象也和合作图相联系,合作图显示处于语境中的对象原型(类元角色)。 对象图是类图的实例。差点儿使用与类图全然同样的标识,他们的不同点在于对象图显示类的多个对象实例。而不是实际的类。 一个对象图是类图的一个实例。 因为对象存在生命周期,因此对象图仅仅能在系统某一时间段存在。 使用ER画对象图,选择Object例如以下图: 对象图的表示法 对于对象图来说无需提供单独的形式。 类图中就包括了对象,所以仅仅有对象而无类的类图就是一个"对象图",然而。"对象图"这条短语在刻画各方面特定使用时很实用。 对象图的含义 对象图显示对象集及其联系。代表了系统某时刻的状态。 它包括带有值的对象,而非描写叙述符。当然,在很多情况下对象能够是原型,用合作图可显示一个可多次实例化的对象及其联系的整体模型,合作图包括对象和链的描写叙述符(类元角色和联系角色),假设合作图实例化,则产生了对象图。 对象图不显示系统的演化过程,为此目的。可用带消息的合作图

UML静态视图——类图、对象图、包图

雨燕双飞 提交于 2020-02-29 05:40:42
绘画类的最重要的图是抽象类。让我们回顾一下类的基本内容。 一、分类 1、类的概念: 面向对象编程的类是一个基本概念。类是具有相同特性的、办法、集合语义和一组对象的关系。 2、类分类: 实体类:保存要放进永久存储的信息 边界类:位于系统与外界的交界处。 包含全部的窗口、报表、打印机等硬件接口以及与其它系统的接口。 控制类:负责协调其它类的工作。一般每一个用例都有一个控制类。 3、类的表达方式: 二、类图 类图是我们最经常使用的一种图,类图更直观的使我们了解一个系统的体系结构,类图通过图形化的方式描写叙述了系统的设计部分。 类图能够从它的构成、可见性、范围、抽象类、多重性、属性和操作充分理解。 画类图的步骤: (1)、抽象出类 (2)、确定类的属性和方法,对于方法的确定,要找到它的运行者 (3)、确定类与类之间的联系 类图的用途: (1)、对系统的词汇建模 (2)、对简单协作建模 (3)、对逻辑数据库模式建模 三、包图 包图用于描写叙述系统给的分层结构。是包和包之间的关系构成。它是维护和控制系统整体结构的重要建模工具。 包的作用:——逻辑上把一个复杂的图模块化 ——组织源码 包中的元素:类、接口、构件、用例、其它包等 若包被撤销。则当中的元素也被撤销了 包与包之间的关系:泛化、细化、依赖(经常使用) 常见问题: 避免循环依赖产生 測试时能够以包为測试单位

uml类图(Class Diagram)中类与类之间的关系及表示方式

蓝咒 提交于 2020-02-28 23:00:58
类之间大体分为5种关系: 1,依赖关系(Dependency) 单向,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类,是一种“use a”关系 如果A依赖于B,则B表现为A的局部变量,方法参数,静态方法调用等 2,关联关系(Association) 单向或双向(通常我们需要避免使用双向关联关系),是一种"has a"关系,如果A单向关联B,则可以说A has a B,通常表现为全局变量 3,聚合关系(Aggregation) 单向,关联关系的一种,与关联关系之间的区别是语义上的,关联的两个对象通常是平等的,聚合则一般不平等,有一种整体和局部的感觉,实现上区别不大 Class由Student组成,其生命周期不同,整体不存在了,部分依然存在,当前Team解散了,人还在,还可以加入别的组 4,组合关系(Composition) 单向,是一种强依赖的特殊聚合关系 Head,Body,Arm和Leg组合成People,其生命周期相同,如果整体不存在了,部分也将消亡 5,继承关系(Inheritance) 类实现接口,类继承抽象类,类继承父类都属于这种关系 可以分得更细: 实现(Realization):类实现接口属于这种关系 泛化(Generalization):即"is a"关系,类继承抽象类,类继承父类都属于这种关系 来源: oschina 链接: https://my

UML类图(Class Diagram)中类与类之间的关系及表示方式

偶尔善良 提交于 2020-02-28 22:57:01
类之间大体分为5种关系: 1,依赖关系(Dependency) 单向,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类,是一种“use a”关系 如果A依赖于B,则B表现为A的局部变量,方法参数,静态方法调用等 public class Person { public void doSomething(){ Card card = new Card();//局部变量 .... } } public class Person { public void doSomething(Card card){//方法参数 .... } } public class Person { public void doSomething(){ int id = Card.getId();//静态方法调用 ... } } 2,关联关系(Association) 单向或双向(通常我们需要避免使用双向关联关系),是一种"has a"关系,如果A单向关联B,则可以说A has a B,通常表现为全局变量 public class Person { public Phone phone; public void setPhone(Phone phone){ this.phone = phone; } public Phone getPhone(){ return phone; } } 3

UML类图关系

两盒软妹~` 提交于 2020-02-28 09:43:08
类间关系综述 1纵向 1)继承父类 2)实现父类接口 2横向 1)类成员对象,引用,指针。 2)类中成员函数的对象,引用,指针。 3关系规范 1)泛化 2)实现 3)关联: ---普通关联A-A ---聚合关联Has-a ---组合关联Contain-a ---依赖关联 Use-a ---------------------------------------------detail----------------------------------------------- Generalization(泛化) 1)泛化关系 是一种 继承 关系 , 表示一般与特殊的关系 , 它指定了子类如何特化父类的所有特征和行为。实际上就是一种扩展。 2)箭头指向: 带三角箭头的实线,箭头指向父类。 3)类图关系 Interface Realization(实现) 1)实现关系 是一种类与接口的关系,表示类是接口所有特征特征和行为的实现 2)箭头指向 带三角箭头的虚线,箭头指向接口。 3)类图关系          Association(关联) 关联关系 是一种拥有的关系,它使一个类知道另一个类的属性和方法,强调的是一种A-A的关系。关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。 在代码层面,通常体现为成员变量的关系。 箭头及指向

UML类图

你。 提交于 2020-02-28 09:42:47
UML即 统一建模语言(Unified Modeling Language) ,它是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。 类图描述了我们软件系统中类与类的关系 我们定义一个简单的person类, public class Person { private String name; private int age =1; public String getName() { return name; } public int getAge() { return age; } public void setName(String name) { this.name=name; } public void setAge(int age) { this.age=age; } } 这个Person类很简单,定义了两个字段name和age其中age有一个初始化值1,另外定义name和age的set、get方法。很简单,然后我们来看下这个类在UML类图中是如何表示的: 可以看到我们画了一个矩形,然后从上到下分割成三格,第一格为类名,第二格为类中字段属性,这里属性的表达也是有一定格式的,如下: 权限 属性名 :类型[

【二】、UML基础知识——图图解乾坤

蓝咒 提交于 2020-02-28 09:17:22
【二】、UML基础知识 UML概述 UML是一个 通用的可视化建模语言 ,不同于编程语言,它 通过一些标准的图形符号和文字来对系统进行建模 。用于 对软件进行描述、可视化处理、构建软件系统的文档 。是一套 总结了以往建模技术的经验并吸收了当今最优秀成果的标准建模方法 。 UML的结构 视图 用户视图 :以用户的观点表示系统的目标,它是所有视图的核心,该视图描述系统的需求。 结构视图 :表示系统的静态行为,描述系统的静态元素,如包、类与对象,以及它们之间的关系。 行为视图 :表示系统的动态行为,描述系统的组成元素,如对象在系统运行时的交互关系。 实现视图 :表示系统中逻辑元素的分布,描述系统中的文件以及它们之间的关系。 环境视图 :表示系统中物理元素的分布,描述系统中的硬件设备以及它们之间的关系。 图 用例图 类图 、对象图、包图、组合结构图 状态图、活动图、顺序图、通信图、定时图、交互概览图 组件图 部署图 模型元素 模型元素包括 事物以及事物与事物之间的关系 事物是UML的重要组成部分,它代表任何可以定义的东西 事物之间的关系把事物联系在一起,组成有意义的结构模型 每一个模型元素都有一个与之相对应的图形元素 同一个模型元素可以在不同的UML图中使用 但无论在哪个图中,同一个模型元素都保持相同的意义和符号 通用机制 UML提供的通用机制为模型元素 提供额外的注释、语义和其他信息

UML类图详解

巧了我就是萌 提交于 2020-02-27 13:06:38
类的UML图示 在UML中,类使用包含 类名 、 属性 和 方法 且带有分隔线的矩形来表示,如定义一个Employee类,它包含属性name、age和email,以及方法modifyInfo(),在UML类图中该类如图1所示: 在UML类图中,类一般由三部分组成: (1) 第一部分是 类名 (2) 第二部分是类的 属性 (Attributes):即类的成员变量。一个类可以有任意多个属性,也可以没有属性 UML规定属性的表示方式为: 可见性 名称:类型 [ = 缺省值 ] 其中: “可见性” 用符号+、-和#表示 : public + private - protected # (3) 第三部分是类的 方法 (Operations): UML规定操作的表示方式为: 可见性 名称(参数列表) [ : 返回类型] 其中: “可见性”的定义与属性的可见性定义相同。 方法的示意图参考图2 标题类与类之间的关系(1) 1. 关联关系 关联关系又可进一步分为单向关联、双向关联和自关联。 (1)单向关联 我们可以看到,在UML类图中单向关联用一个 带箭头的直线 表示。 上图表示每个顾客都有一个地址,这通过让Customer类持有一个类型为Address的成员变量类实现。 应的Java代码片段如下: public class Customer { private Address address ;

怎么用IDEA快速查看类图关系

人走茶凉 提交于 2020-02-26 11:51:36
做Java开发的,现在普遍都用上idea了。可以说,idea是当之无愧的Java开发神器。如果,你现在还没用idea,那肯定是你还没有感受过它的强大。 好了,话不多说,今天的主题主要是教大家怎么通过idea快速的查看一个类的类图关系,即一个类继承了哪些类,实现了哪些接口,以及接口有哪些子接口和实现类。 一、类关系 以一个阻塞队列LinkedBlockingQueue为例: 1)通过 Ctrl+Shift+N 找到这个类。 2)进到类里,在类名上面右键单击,选择 Diagrams -> Show Diagram 。(当然也可以选择第二个Popup,不过是以弹窗的形式展现的类图) 3)这样,就可以看到当前类的完整类图关系。当然,如果类图比较复杂,电脑看不全,可以放大窗口,然后选择下边这个自适应按钮,自适应内容。 二、接口关系 此外,如果想看接口有哪些实现类,可以在类图上边的某个接口单击右键选择 Show Implementations。 以 BlockingQueue为例。 可以看到,会展示当前接口所有的子接口和实现类。(我这里边显示多了个1,不知道是什么鬼,点击也没反应,不管啦,没啥影响) 如果,想把所有子接口和实现类添加到类图上面,可以Ctrl+A全选。但是,不建议这样做。因为,类图关系肯定会非常复杂,一下子添加进去几十个类,根本就看不清,而且也没必要。我就不演示了

软件开发中会遇到的几种实用图例

▼魔方 西西 提交于 2020-02-26 05:05:09
一、背景 大家应该在从事软件开发领域工作时间有一段时间之后,就开始有画图的意识,不管是懵懂的学别人还是想更好的让其他人理解自己的一个观点。所谓“一图胜千言”,我们身处于软件开发这个水很深且要求精确的复杂领域里,要想把事情做好,最基本的是要把事情想明白,其次还要让相关的人能够明白你要说的东西,进行协作。 特别对于一位架构师来说,能否画得一手好图尤其重要,因为相关的干系人数较多,要让不同领域的人能够达成一个统一的认识,是一件不太容易但也是必须要做好的事情。 二、图为了解决什么问题 软件开发涉及的流程是:需求 --> 开发 --> 测试 --> 发布上线。 作图本身是个设计的工作,是个前期工作。那么从软件开发的整个生命周期来说,用到的图的地方是在前期的需求、开发阶段较多。在软件开发这个非常抽象的领域,只要涉及到多人协作,那么通过文字来进行交流叙述是非常晦涩难懂的,需要沟通好几遍才能理解达成一致也是比较常见的情况。那么我们画图,就是为了把不适合用言语表述的内容通过作图的方式呈现出来,让相关协作者有一个共同的具象的参照物。这个参照物可以有它的额外价值,是对软件长期价值的延伸,一份一致、清晰的设计图,可以给后续的软件迭代提供非常有帮助的决策依据。当然保证设计图与系统的一致本身也是件费精力的事情。 三、不同流程中适合运用的图 用例图 用例图是UML交互图中的一种,是指由参与者(Actor)、用例