UML示例图 zt】的更多相关文章

UML示例图   在Visio里,包和类的关系是包含关系,将类拖入包的文件夹之后,关系就建立了,二元关联符号可以设置为:聚合.合成.接口:空心圆+直线(唐老鸭类实现了'讲人话’):依赖:虚线+箭头(动物和空气的关系):关联:实线+箭头(企鹅需要知道气候才迁移):聚合:空心四边形+实线+箭头(雁群和大雁的关系):合成:实心四边形+实线+箭头(鸟和翅膀的关系):泛化:空心三角形+实线(动物和鸟的继承关系):实现:空心三角形+虚线(实现大雁飞翔的接口):   UML类图   解释UML类图: 1.  …
概要 在"UML系列02之 UML类图(一) "中介绍了类图的基本构成--类的UML表示方法.本文是接着前文,继续对"UML的类图"中几种关系进行介绍.介绍的主要内容包括:UML类图的几种关系1. 泛化2. 实现3. 关联3.1 自关联3.2 单向关联3.3 双向关联3.4 多重性关联3.5 聚合3.6 组合4. 依赖 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3523209.html UML类图的几种关系 在UML…
UML类图的几种关系 在UML类图中,关系可以分为4种: 泛化, 实现, 关联 和 依赖.1. 泛化 -- 表示"类与类之间的继承关系".2. 实现 -- 表示"类与接口之间的实现".3. 关联 -- 表示"类与类之间的拥有关系".即,一个类是另一个类的成员.关联又包括:自关联, 单向关联, 双向关联, 多重性关联, 组合, 聚合.4. 依赖 -- 表示"类与类之间的使用关系".即,一个类是另一类的局部变量, 形式参数, 或者…
转载来源:http://blog.csdn.net/shift_wwx/article/details/79205187 可以参考:http://www.uml.org.cn/oobject/201211231.asp 一.前言 在软件开发过程中会经常整理文档,不是所有的信息都可以通过文字来表达,而换成图之后会更加的直观.有效,其中频繁使用的就是UML图.结合自己实践总结一下,希望对大家都能有所帮助. 本文中的UML图都是用visio 绘制,source code展示是Java 语言. 二.UM…
类的UML表示方法 UML介绍 类图,是UML(统一建模语言)中用于描述"类"以及"类与类"之间的示意图.它形象的描述出了系统的结构,帮助人们理解系统. 类图是在"所有的UML图"中,实用频率非常之高:掌握它对于我们软件设计,以及交流都很有帮助. 对于类图而言,它的基本单位是类.类主要由三部分组成:类名.属性.操作(函数).UML类的表示大致如下: 类名 类的名称 属性 UML类图中,属性的基本格式: 可见性 名称: 类型 [=缺省值] 可见性…
概述 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知.如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化.使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系.从而实现软件体系结构的松耦合. 意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新.[GOF <设计模式>] 结构图 图1 Observer模式结构图 生活中的例子…
什么是泛化关系?用一个例子简单的说:假设A是B和C的父类,B.C具有公共类(父类)A,说明A是B.C的一般化(概括,也称泛化),B.C是A的特殊化. 在编程上,泛化关系(Generalization)就是我们常说的继承关系,称为“is-a-kind-of”关系,泛化关系用于描述父类与子类之间的关系,父类又称作基类或超类,子类又称作派生类.在UML中,泛化关系用带空心三角形的直线来表示. 在代码实现时,使用面向对象的继承机制来实现泛化关系,如在Java语言中使用extends关键字.在C++/C#…
实现关系是用来描述接口和实现接口的类或者构建结构之间的关系,接口是操作的集合,而这些操作就用于规定类或者构建结构的一种服务. 在接口和类之间的实现关系中,类实现了接口,类中的操作实现了接口中所声明的操作.在UML中,类与接口之间的实现关系用带空心三角形的虚线来表示. UML示例图如下所示:…
依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系.可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的.临时性的.非常弱的,但是B类的变化会影响到A:比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖:表现在代码层面,为类A在某个方法中使用类B是作为类A的方法参数.方法中的局部变量.或者静态方法调用. 在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方. UML示例图如下所…
关联关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系.它体现的是两个类.或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友.这种关系比依赖更强.不存在依赖关系的偶然性.关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的,关联可以是单向.双向的.表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量. 在UML类图中,用实线连接有关联的对象所对应的类,在使用Java.C#和C+…
聚合关系是关联关系的一种特例,它体现的是整体与部分的关系,即has-a的关系,此时整体与部分之间是可分离的,它们可以具有各自的生命周期.比如计算机与CPU.公司与员工的关系等.表现在代码层面,和关联关系是一致的,只能从语义级别来区分. 在聚合关系中,成员类是整体类的一部分,即成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在.在UML中,聚合关系用带空心菱形的直线表示. UML示例图如下所示: class CentralProcessingUnit { deinit { print…
组合也是关联关系的一种特例,它体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合:它同样体现整体与部分间的关系,但此时整体与部分是不可分的,它们具有统一的生存期,整体的生命周期结束也就意味着部分的生命周期结束,部分对象与整体对象之间具有同生共死的关系,组合关系中的部分,是不能在整体之间进行共享的.比如人和眼睛,当然,有人会说现在医学发达,眼睛可以移植给别人,如果是这样的话,你可以理解人和眼睛的关系为聚合,这都是在具体的场景下来确定的.表现在代码层面,和关联关系是一致的,只能…
1.前言 继上一讲IOC模式的基础上继续本讲桥接模式,笔者感觉桥接模式是23种设计模式中桥接模式是最好用但也是最难理解的设计模式之一,23中设计模式就好武侠剧中一本武功秘籍,我们在工作过程中想要熟练运用其中的每一种设计模式就好比跟高手过招想要能运用好武侠秘籍中的每一招每一式,并且能随着对手出招的不同我们能随机应变对应的招数,这就要求我们对每一种设计模式都理解的非常深刻才能运用自如,打出组合拳的效果. 2.需求 我们在FPS类游戏中会碰到这样的需求——实现武器和角色,无论是敌人还是我方角色都能通过…
概述 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知.如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化.使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系.从而实现软件体系结构的松耦合. 意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新.[GOF <设计模式>] 结构图 图1 Observer模式结构图 生活中的例子…
实现关系是用来描述接口和实现接口的类或者构建结构之间的关系,接口是操作的集合,而这些操作就用于规定类或者构建结构的一种服务. 在接口和类之间的实现关系中,类实现了接口,类中的操作实现了接口中所声明的操作.在UML中,类与接口之间的实现关系用带空心三角形的虚线来表示. UML示例图如下所示: 返回目录…
依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系.可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的.临时性的.非常弱的,但是B类的变化会影响到A:比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖:表现在代码层面,为类A在某个方法中使用类B是作为类A的方法参数.方法中的局部变量.或者静态方法调用. 在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方. UML示例图如下所…
关联关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系.它体现的是两个类.或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友.这种关系比依赖更强.不存在依赖关系的偶然性.关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的,关联可以是单向.双向的.表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量. 在UML类图中,用实线连接有关联的对象所对应的类,在使用Java.C#和C+…
聚合关系是关联关系的一种特例,它体现的是整体与部分的关系,即has-a的关系,此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享.比如计算机与CPU.公司与员工的关系等.表现在代码层面,和关联关系是一致的,只能从语义级别来区分. 在聚合关系中,成员类是整体类的一部分,即成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在.在UML中,聚合关系用带空心菱形的直线表示. UML示例图如下所示: 示例代码如下(概要,完整源码见附件)…
组合也是关联关系的一种特例,它体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合:它同样体现整体与部分间的关系,但此时整体与部分是不可分的,它们具有统一的生存期,整体的生命周期结束也就意味着部分的生命周期结束,部分对象与整体对象之间具有同生共死的关系,组合关系中的部分,是不能在整体之间进行共享的.比如人和眼睛,当然,有人会说现在医学发达,眼睛可以移植给别人,如果是这样的话,你可以理解人和眼睛的关系为聚合,这都是在具体的场景下来确定的.表现在代码层面,和关联关系是一致的,只能…
本文主要介绍protobuf里的反射功能,使用的pb版本为2.6.1,同时为了简洁,对repeated/extension字段的处理方法没有说明. 最初是起源于这样一个问题: 给定一个pb对象,如何自动遍历该对象的所有字段? 即是否有一个通用的方法可以遍历任意pb对象的所有字段,而不用关心具体对象类型.  使用场景上有很多: 比如json格式字符串的相互转换,或者bigtable里根据pb对象的字段自动写列名和对应的value. 例如定义了pb messge类型Person如下: Person…
下载地址:百度云下载地址 编辑推荐 <深入理解Android:卷2>编辑推荐:经典畅销书<深入理解Android:卷I>姊妹篇,51CTO移动开发频道和开源中国社区一致鼎力推荐!从系统设计者的角度对Java Framework包含的重要模块和服务的源代码进行细致剖析,深刻揭示其实现原理和工作机制. 媒体推荐 市面上关于Android源码分析的书非常多,但是没有一本书的分析粒度像本书这样细致.Android系统本身非常庞大,源代码错综复杂,的确很难想象仅靠一本书就能透彻分析整个系统的…
首先看看JDK的Observer接口 public interface Observer { void update(Observable o, Object arg); } 也就一个更新的方法,这里是要写自己要处理事情的逻辑(代码干活的地方) 然后就是Observable类,因为方法过多不好阅读,所以直接看大纲 方法大概就是设置改变状态,设置观察者,通知观察者等等.... 我这里就说明下通知观察者的方法 public void notifyObservers(Object arg) { Obj…
Singleton和Double-Checked Locking设计模式,分别指的是单例模式和双重检查锁模式,它们都可以用于确保某个类只有一个对象实例化. 两个模式的区别在于:Singleton模式用在单线程应用程序中,而Double-Checked Locking模式用于多线程模式. 一.Singleton模式 UML图: 代码: package bupt.xujinliang.singletonpattern; /** * * @author jin * */ public class Si…
1.聚合关系是关联关系的一种,是强的关联关系.     2.聚合是整体和部分之间的关系,例如汽车由引擎.轮胎以及其它零件组成. 3.聚合关系也是通过成员变量来实现的.但是,关联关系所涉及的两个类处在同一个层次上,而聚合关系中,两个类处于不同的层次上,一个代表整体,一个代表部分.       4.关联与聚合仅仅从 Java 或 C++ 语法上是无法分辨的,必须考察所涉及的类之间的逻辑关系. class 引擎 { }; class 轮胎 { }; class 汽车 { protected:    …
UML(Unified Modeling Language)统一建模语言的概念已经出现了近20年,虽然并不是所有的概念都非常有实践意义,但常见的用例图.类图.序列图和状态图却实实在在非常有效,是项目中不同成员间沟通的有效载体,在此,将主要介绍之前提到的几种最常见的图示方法. Tip: RUP软件过程是Ration Unified Processs的简称,是一个不错的软件过程体系,其最佳的开发实践包括:迭代式开发,管理需求.使用基于构件爱的体系架构.可视化软件建模.验证软件质量和控制软件变更.其包…
在产品和技术领域里都有UML的技能知识,而对于产品人员的UML则更多的是指用例图,也就是我所称呼的用户流程图.在讲PRD文档写作的第二篇文章里,我提到了用户流程图的制作,实际上用户流程图是我在产品规则的初期对用例图的一种结构化的表达方式,由于以结构化的方式描述用例太抽象,缺少逻辑性表达,并且那篇文章更偏向于功能性用户流程,还不是实际意义上的用例,因此今天我补文一篇,细讲一下UML用例图和用例文档. 用例文档是由多个用例组成的一份文档,主要用于技术开发与测试使用,他是PRD中的重要辅助文档,用于讲…
包图是UML中用类似于文件夹的符号表示的模型元素的组合,系统中的每个元素都只能为一个包所有,一个包可嵌套在另一个包中,使用包图可将相关元素归入一个系统,一个包中包含附属包.图表或单个元素.简单的来说,我们可以直接将包理解为命名空间,文件夹,是用来组织图形的封装,包图可以用来表述功能组命名空间的组织层次 那么为什么会出现"包"这个概念呢?我们知道,在面向对象软件开发的视角中,类显然是构件整个系统的基本构造块,但是对于庞大的应用系统而言,其包含的类不计其数,再加上类之间阡陌交通的关联关系.…
UML(Unified Modeling Language)统一建模语言的概念已经出现了近20年,虽然并不是所有的概念都非常有实践意义,但常见的用例图.类图.序列图和状态图却实实在在非常有效,是项目中不同成员间沟通的有效载体,在此,将主要介绍之前提到的几种最常见的图示方法. RUP统一软件过程 RUP软件过程是Ration Unified Processs的简称,是一个不错的软件过程体系,其最佳的开发实践包括:迭代式开发,管理需求.使用基于构件爱的体系架构.可视化软件建模.验证软件质量和控制软件…
============================================================ 摘自: https://blog.csdn.net/tigaoban/article/details/53219774 活动图中常用的符号: 上图中,  条件与约束的符号在使用中没有见过,应该可以忽略的. 活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动,用来描述一组顺序或者并发的活动. 当用例图比较复杂时才用对其画活动图,不需要对所有用例图都画活动图. 结账…