uml图

第三次个人作业——UML图

拜拜、爱过 提交于 2020-03-23 16:04:11
这个作业属于哪个课程 软件工程 这个作业要求在哪里 第三次个人作业 这个作业的目标 普通用户可以通过欢迎登录页面进入游戏、修改密码以及注销帐户,通过注册页面进行注册,进入游戏后可以开始比赛,查看自己的历史比赛以及查看排行榜。 管理员可以重置用户密码,删除用户,删除比赛记录以及查看所有人的比赛记录。 要求画出管理员和用户的用例图。可以附有文字解释。 作业正文 如下 其他参考文献 面向对象的程序分析 学习笔记: 建模的四个目的: 帮助我们按照需要对系统进行可视化 允许我们详细说明系统的结构和行为 给出了一个指导我们构造系统的模板 对我们所做出的决策进行文档化 UML可表示类之间的四种关系 1.关联:类元之间的一种结构关系,是对象间具有特定语义关系的抽象。 2.泛化:一般性类元(成为超类或父类)和它的特殊性类元(称为子类)之间的一种关系。 3.实现:一个类元保证了另一个类元的执行。 4.依赖:一个类元使用另一类元的信息和服务。 用例图: 来源: https://www.cnblogs.com/Mangnolia/p/12552626.html

类的六大关系之组合关系

烈酒焚心 提交于 2020-03-15 02:39:50
废话少说,直接上工程目录 对应的UML图 代码: package com.waibizi; /** * 说明:是整体与部分的关系,但部分不能脱离整体而独立存在。逻辑上能用"has a"表示。 * * 代码体现:成员变量。 * @author 歪鼻子 * */ @SuppressWarnings("all") public class Computer { private Mouse mouse = new Mouse(); private Moniter moniter = new Moniter(); public Mouse getMouse() { return mouse; } public void setMouse(Mouse mouse) { this.mouse = mouse; } public Moniter getMoniter() { return moniter; } public void setMoniter(Moniter moniter) { this.moniter = moniter; } } 来源: https://www.cnblogs.com/waibizi/p/12078865.html

UML图中聚合、组合、关联、依赖、泛化的强弱关系

让人想犯罪 __ 提交于 2020-03-14 02:37:45
一、泛化 1、说明 泛化是一种继承关系,如果一个类A的所有属性和操作能被另一个类B所继承,则类B不仅可以包含自己独有的属性,而且可以包含类A的属性和操作。继承是类与类或者类与接口之间最常见的关系。 2、例图 3、表现 父类 父类实例=new 子类(); 4、代码 [csharp] view plain copy print ? <span style= "font-family:KaiTi_GB2312;font-size:24px;"> class Animal{}; class Tiger: public Animal{}; class Dog: public Animal{}; Animal * pAnimal= new Dog;</span> 泛化中子类直接继承了父类的属性和操作所以它的关系最强 二、关联 1、说明 对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系 2、例图 3、表现 关联关系时使用实例变量来实现的 4.代码 [csharp] view plain copy print ? <span style= "font-family:KaiTi_GB2312;font-size:24px;"> public class Company { private Employee employee() {

类与类之间的关系UML模型图

帅比萌擦擦* 提交于 2020-03-12 19:34:09
关联、依赖、聚合、组合、泛化、实现 类之间可能存在以下几种关系:关联(association)、依赖(dependency)、聚合(Aggregation,也有的称聚集)、组合(Composition)、泛化(generalization,也有的称继承)、实现(Realization)。 1、关联 是指两个类之间存在某种特定的对应关系,例如客户和订单,一个订单只能属于某个客户,一个客户可能会有多张订单。根据方向,分为单向和双向。根据对应的数量分为一对一、一对多、多对多等。对应的UML图如下所示: 关联关系用实线+箭头表示。 Customer和Order是双向一对多关联关系,那么在Customer中应该有Order的集合,在Order中应该Customer的属性。 2、依赖 依赖指的是类之间的调用关系。类A访问类B的属性或方法,或者类A负责实例化类B,那么就说类A依赖于类B。和关联关系不同的是,无需在类A中定义类B类型的属性。 例如自行车和打气筒,自行车通过打气筒来充气,那么就需要调用打气筒的充气方法。对应的UML图如下所示:     类A            类B 依赖关系用虚线+箭头表示。上图显示Bicycle和Pump是依赖关系,Bicycle依赖于Pump。 打气筒并不属于某个特定的自行车,一个打气筒可以为多个自行车提供充气的服务

C++不常用设计模式梳理

僤鯓⒐⒋嵵緔 提交于 2020-03-12 04:58:22
C++常用设计模式的相关博文到这里就整理的差不多了,我们实际工作中常用的设计模式就是我前面整理的那些。GoF所提到的23种设计模式还有一些我没有整理到,包括:享元模式、建造者模式、外观模式、中介者模式、备忘录模式、迭代器模式、职责链模式、访问者模式、命令模式、解释器模式。这些模式因为各种各样的原因在我们的工作中很少会遇到,所以这篇博文就先对这些剩下的模式做一个简单的介绍。 1,享元模式 定义:运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。 UML图: 我的理解: 第一次看到享元模式的定义我就很蒙圈,首先是它的英文名称叫flyweight,翻译成轻量级我觉得更合适一点。其次是啥叫细粒度?其实不就是一些轻量级(更直接的一点的说法就是对象sizeof()得出来的结果很小)的对象嘛。那么多少这些对象可以称为大量呢?假设我们某个类的对象a使用sizeof()得出来的结果50个字节。那20*1024个a对象的大小差不多就是1M,除了一些网络游戏应用我想不出哪些地方会用到这么多的对象,反正我工作中是遇不到这么多的对象创建。享元模式给出的解决方法其实就是UML图中红色的部分。这个方法非常的经典,很多地方都可以使用这个方法,比如:线程池、内存池等等。因此掌握这个方法非常重要! 其核心思想就是:维护一个对象池

类与类关系的UML图与代码表现

冷暖自知 提交于 2020-03-07 11:06:15
本文转自: http://www.iteye.com/topic/37302 类与类之间的关系对于理解面向对象具有很重要的作用,以前在面试的时候也经常被问到这个问题,在这里我就介绍一下。 类与类之间存在以下关系: (1)泛化(Generalization) (2)关联(Association) (3)依赖(Dependency) (4)聚合(Aggregation) UML图与应用代码例子: 1.泛化(Generalization) [泛化] 表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的,与继承或实现的方法相反。 [具体表现] 父类 父类实例=new 子类 () [UML图](图1.1) 图1.1 Animal类与Tiger类,Dog类的泛化关系 [代码表现] class Animal{} class Tiger extends Animal{} public class Test { public void test() { Animal a= new Tiger(); } } 2.依赖(Dependency) [依赖] 对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。 [具体表现] 依赖关系表现在 局部变量 , 方法的参数 ,以及对

UML关系图

走远了吗. 提交于 2020-03-06 08:18:43
UML   Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。UML中类与类,已经类与接口,接口与接口的关系有:泛化(generalization),关联(association),依赖(dependency),实现(realization)这几种。主要是关联关系的细化需要注意强弱,由若到强分别是 依赖 < 关联 < 聚合 < 组合。 泛化(generalization)   泛化(generalization)关系时指一个类(子类、子接口)继承另外一个类(称为父类、父接口)的功能,并可以增加它自己新功能的能力,继承是类与类或者接口与接口最常见的关系,在Java中通过关键字extends来表示。 实现(realization)   实现(realization)是指一个class实现interface接口(一个或者多个)

UML 中关系图的解说

岁酱吖の 提交于 2020-03-06 08:18:24
最近在教软件工程项目实践,就又仔细了解了下 UML 中各种关系的意义,虽然有点简单,但是有些概念还是经常被混淆的,写在这里是为了加深印象。 关系列表: 继承关系 (Generalization) ; 实现关系 (Realization) ; 依赖关系 (Dependency) ; 关联关系 (Association) ; 有方向的关联 (DirectedAssociation) ; 聚合关系 (Aggregation) ; 组合关系 (Composition) ; 继承关系( Generalization ): Class B 继承与 Class A 继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系之一;在 Java 中此类关系通过关键字 extends 明确标识,在设计时一般没有争议性; 实现关系( Realization ): Class A 实现了 Interface A 实现指的是一个 class 类实现 interface 接口(可以是多个)的功能;实现是类与接口之间最常见的关系之一;在 Java 中此类关系通过关键字 implements 明确标识,在设计时一般没有争议性; 依赖关系( Dependency ): ClassA 依赖于 ClassB 可以简单的理解

UML图及C#代码实现

江枫思渺然 提交于 2020-03-06 08:11:59
UML图及C#代码实现 表达方式 关系 代码实现 泛化(继承)(Generalization) 继承关系 Student:Person (java Extentend) 实现(Realization) 接口实现 轮船:交通工具 (java implements) 组合/合成(Composition) 整体与部分 部分不能离开整体而存在 Mouth mouth = new Mouth() 聚合(Agregation) 整体与部分 部分可以离开整体而存在 Car(Engine engine) Car() 构造函数 关联(Association) 拥有关系 一个类知道另一个类的方法和属性 Customer customer 类属性 依赖(Dependency) 使用关系 一个类的实现需要一个类的辅助 构造函数(Car car) 来源: https://www.cnblogs.com/zh672903/p/10809316.html

UML建模之类图&包图&对象图

微笑、不失礼 提交于 2020-03-01 14:56:10
类图 类图Class diagram通过显示出系统的类以及这些类之间的关系来表示系统。类图是静态的-它们显示出什么可以产生影响但不会告诉你什么时候产生影响。 下面是一个顾客从零售商处预定商品的模型的类图。中心的类是Order。连接它的是购买货物的Customer和Payment。Payment有三种形式:Cash,Check,或者Credit。订单包括OrderDetails(line item),每个这种类都连着Item。 UML类的符号是一个被划分成三块的方框:类名,属性,和操作。抽象类的名字,像Payment是斜体的。类之间的关系是连接线。 类图有三种关系。 关联association-表示两种类的实例间的关系。如果一个类的实例必须要用另一个类的实例才能完成工作时就要用关联。在图中,关联用两个类之间的连线表示。 聚合aggregation-当一个类属于一个容器是的一种特殊关系。聚合用一个带菱形的连线,菱形指向具有整体性质的类。在我们的图里,Order是OrderDetails的容器。 泛化generalization-一个指向以其他类作为超类的继承连线。泛化关系用一个三角形指向超类。Payment是Cash,Check和Credit的超类。 一个关联有两个尾端。每个尾端可以有一个角色名role name来说明关联的作用。比如