uml

Difference between association and dependency?

泄露秘密 提交于 2019-12-17 07:01:17
问题 In a UML class diagram, what is the difference between an association relationship and a dependency relationship? From what I know, an association is a stronger relationship than a dependency, but I'm not sure how it is stronger. Any example would be more than welcome :) 回答1: What is the difference between dependency and association?: In general, you use an association to represent something like a field in a class. The link is always there, in that you can always ask an order for its

What's the best UML diagramming tool? [closed]

前提是你 提交于 2019-12-17 04:37:12
问题 As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. Closed 7 years ago . Locked . This question and its answers are locked because the question is off-topic but has historical significance. It is not

UML简单介绍-如何看懂UML(一)

冷暖自知 提交于 2019-12-17 00:25:59
在计算复杂的数学题时,我们必然会打草稿计算 在绘画课中,我们可以素描出来看到的事物 那么在程序设计中呢? 如何描绘传达你脑海中的关于这个程序 ,设计的蓝图草稿 ? OOP的程序设计中,最多的自然是类、接口层次接口的设计 简单的设计,可能在脑海中想象下就过了,比如A继承B 但是复杂的呢? 对于OOP程序设计中,类的层次、关系设计如何描绘? 用文字么? A继承B A实现C,A中有一个D的引用 显然,图形化的方式更加直观,简洁 那么到底如何表示OOP中的事物与关系?每个人有每个人的书写方式,如何进行交流? 你画了一个三角形说这是一个接口,我花了一个圆形,跟你讲这个是接口?这其中的问题不言而喻。 UML起源 1997年, OMG 组织(Object Management Group对象管理组织)发布了 统一建模语言(Unified Modeling Language,UML) UML 是一种为面向对象开发系统的产品进行说明、可视化、和编制文档的标准语言 UML 作为一种模型语言,它使开发人员专注于建立产品的模型和结构 UML 是不同于其他常见的编程语言,如Java等,它是一种绘画语言,用来做软件蓝图 UML 提出了一套 统一的,标准的建模符号 首先它提供了一套建模符号,用于类的层次结构设计 另外,统一的也就意味着只要按照标准构图,就可以无障碍的通过UML图进行沟通 计算机软件的世界里面

[UML]UML 教程

本秂侑毒 提交于 2019-12-16 23:22:46
统一建模语言(UML)已经迅速变成建立面向对象软件的事实标准。本教程提供了Enterprise Architect支持的13种UML图的技术概览。UML 2 详细的语义解释请看新的 UML 2 教程 。 首先... 什么是UML? OMG组织规范声明 : "统一建模语言(UML)是一种图形化的语言,用于软件密集系统要素的可视化、制定规范、构建对象和编写文档。UML提供了一种标准的方式来描述系统的设计图,既包括概念方面,例如业务过程和系统功能,也包括具体事务,如编程语言语句,数据库图示和可重用的软件组件。 这里着重指出的是UML是一种说明性的“语言”,而不是一种方法或程序。UML通常用来定义软件系统与细化、编写、构造系统中的要素,是“写”设计图的语言。UML可以用不同的方式来支持软件开发方法(例如:统一软件开发过程)-但是它本身并不指定某种方法或过程。 UML 定义了下列领域的标注和语义: - 用户交互或 用例模型 -描述系统和用户之间的界定和交互。在某些方面对应于一个需求模型。 - 交互或通信模型 -描述系统中的对象彼此之间如何进行交互以完成工作。 - 状态或 动态模型 -状态图表描述随着时间变化,类所呈现的状态和条件。活动图则描述系统即将执行的工作流程。 - 逻辑或类模型 - 描述构成系统的类和对象。 - 物理 组件模型 - 描述构成系统的软件(有时也包含硬件)。 -

认识UML工具

删除回忆录丶 提交于 2019-12-16 23:22:01
摘要 :本文并不会介绍具体的某种UML工具如何操作,总结了一些我使用UML工具的心得体会,希望对大家有帮助! 作者 :张传波 软件知识园地基地 正文 : 常见的可以绘制UML的工具有:Rose、XDE、Visio、Enterprise Architeture、JUDE、StarUML,其中可免费使用的是JUDE、StarUML,其他几种都是需要购买license的。 我与任何 UML工具 厂商没有利益关系(至少目前是这样),为避免广告的嫌疑,本小节并不会具体介绍某一种或几种UML工具的细节,也不会说我用得最多的是哪个 软件 。况且介绍具体一个UML软件是如何操作,这是没啥必要的,这样只会浪费本书的篇幅,增加书的售价而已。我相信只要你稍加研究,你是可以很快上手的。 我使用过不少UML软件,我会简单介绍我的一些心得体会,希望这些体会能帮助你更快上手、更快找到适合你自己或贵公司的软件。 1. 开始向导 很多UML软件喜欢一启动就显示一个开始向导,似乎这样的设计能让你很快入手,但这样的向导往往会让新手很困惑,这是这些向导的第一个问题!而第二个问题是:向导显示了各种模板,用这些模板建立了一系列内容框架,这些内容框架会让你很头晕。第三个问题是:实际工作中这些模板基本没用,我不喜欢这些模板建立的内容框架,我基本上会删除掉全部甚至大部分模板建立的内容。 对于开始向导,我的建议是:大致看看就OK了

UML统一建模语言

安稳与你 提交于 2019-12-16 14:00:55
UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。 UML的书籍推荐:《UML distilled》、《UML和模式应用》、《UML用户指南》、《UML对象设计与编程》、《UMLOracle8建模》、《大象-Thinking_in_UML》 UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。 UML图分为静态视图和动态视图: 静态图分为:用例图,类图,对象图,包图,构件图,部署图。 动态图分为:状态图,活动图,协作图,序列图。 1、用例图(UseCase Diagrams):   用例图主要回答了两个问题:1、是谁用软件。2、软件的功能。从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。   2、类图(Class Diagrams):     用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现

关于UML

本秂侑毒 提交于 2019-12-16 10:02:26
写在设计模式之前,我为什么要写UML(Unified Modeling Language 统一建模语言)呢?主要是为接下来的设计模式考虑的,每一篇设计模式我都会从UML图,案例,应用三个方面来写,力求更通俗易懂的理解每一个设计模式,学以致用;设计模式的随笔博文中主要参考了《图解设计模式》一书,希望看到我博文的朋友多多支持,共同进步。话不多说,我们正式开始。 UMlL是让系统可视化、让规格和设计文档化的表现方法 一:类图 用于表示类、接口、实例之间的静态关系 1、类、类的层级结构、可见性 abstract class ParentClass { public int field1; protected short field2; byte field3; private long field4; abstract void methodA(){ // } public void methodB(){ // } } class ChildClass extends ParentClass{ static float field1; private double field2; void methodA(){ // } static void methodC(){ // } } 说明如下: (1)长方形代表着类,被划分为三个区域,分别代表着类名、字段名、方法名 (2)抽象类或则会抽象方法

UML时序图(Sequence Diagram)

拟墨画扇 提交于 2019-12-16 04:45:11
文章目录 什么是时序图 时序图的元素 角色(Actor) 对象(Object) 生命线(LifeLine) 控制焦点(Activation) 消息(Message) 自关联消息 认识时序图六种元素 时序图解释: 组合片段 常用组合片段举例 抉择(Alt) 选项(Opt) 循环(Loop) 并行(Par) 时序图的绘制工具 时序图的绘制步骤 时序图的绘制技巧: 练习事例 什么是时序图 时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。 让我们来看一看visio2016对时序图的的解释。 时序图的元素 我们在画时序图时会涉及7种元素:角色(Actor)、对象(Object)、生命线(LifeLine)、控制焦点(Activation)、消息(Message)、自关联消息、组合片段。其中前6种是比较常用和重要的元素,剩余的一种组合片段元素不是很常用,但是比较复杂。我们先介绍前6种元素,在单独介绍组合片段元素。 角色(Actor) 系统角色,可以是人或者其他系统,子系统。以一个小人图标表示。 对象(Object) 对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种: 1 对象名和类名。例如:华为手机:手机、loginServiceObject:LoginService。 2

(UML)统一建模语言简介(关系详解)

百般思念 提交于 2019-12-15 13:38:16
统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。 统一建模语言能为软件开发的所有阶段提供模型化和可视化支持。而且融入了软件工程领域的新思想、新方法和新技术,使软件设计人员沟通更简明,进一步缩短了设计时间,减少开发成本。它的应用领域很宽,不仅适合于一般系统的开发,而且适合于并行与分布式系统的建模。 UML 从目标系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等 9 种图。 本教程主要介绍软件 设计模式 中经常用到的类图,以及类之间的关系。另外,在实验部分将简单介绍 UML 建模工具的使用方法,当前业界使用最广泛的是 Rational Rose。使用 Umlet 的人也很多,它是一个轻量级的开源 UML 建模工具,简单实用,常用于小型软件系统的开发与设计。 类、接口和类图 1. 类 类(Class)是指具有相同属性、方法和关系的对象的抽象,它封装了数据和行为,是面向对象程序设计(OOP)的基础,具有封装性、继承性和多态性等三大特性。在 UML 中,类使用包含类名、属性和操作且带有分隔线的矩形来表示。 (1) 类名(Name

五分钟读懂UML类图

限于喜欢 提交于 2019-12-15 01:14:08
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一、类的属性的表示方式 在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个Employee类,它包含name,age和email这3个属性,以及modifyInfo()方法。 那么属性/方法名称前加的加号和减号是什么意思呢?它们表示了这个属性或方法的可见性,UML类图中表示可见性的符号有三种: · + :表示public · - :表示private · #:表示protected(friendly也归入这类) 因此,上图中的Employee类具有3个私有属性和一个公有方法。 实际上,属性的完整表示方式是这样的: 可见性 名称 :类型 [ = 缺省值] 中括号中的内容表示是可选的 二、类的方法的表示方式 上图中我们已经看到了方法的表示形式。实际上,方法的完整表示方式如下: 可见性 名称(参数列表) [ : 返回类型] 同样,中括号中的内容是可选的。 比如在下图的Demo类中,定义了3个方法: · public方法method1接收一个类型为Object的参数,返回值类型为void · protected方法method2无参数,返回值类型为String ·