uml

think in UML(二)

耗尽温柔 提交于 2020-02-28 09:54:44
基础篇——在学习中思考! 在大概了解了 UML 之后就该系统的学习 UML 的主要建模元素了,一个个实例帮助我们更好的理解这些元素的重要性并运用相关知识解决实际问题。 在 UML 里有一个概念叫版型,有些书里也称为类型、构造型。版型只是 UML 的一种扩展手段,本身并不涉及太多的思想和方法,而是在建模的不同阶段,为了区分视图之间的不同观点,会采用不同的图示来表示。 以人为本是当代的流行词汇, UML 建模也是以人为本的。参与者在建模过程中是处于核心地位的, actor 是在系统之外与子同交互的某人或某事。系统之外的定义说明在参与者和系统之间有一个明确的边界,赞誉这只可能存在于边界之外,边界之内的人和事物都不是参与者。在查找参与者的过程中,可以询问以下问题以帮助确定参与者: (1)谁是负责提供、使用或删除信息? (2)谁将使用此功能? (3)谁对某个特定的功能感兴趣? (4)在组织的什么地方使用系统? (5)谁负责支持和维护系统? (6)系统有哪些外部资源? (7)其他还有那些系统需要与该系统交互? 查找参与者时请注意,参与者一定是直接并且主动的向系统发出动作并获得反馈的,否则就不是参与者。此时可以理解刚开始举的例子“小王到银行去开户,向大厅经历询问了办理手续,填写了表单,交给柜台职员,拿到了银行存折。”在这个场景中,小王是参与者,而经理和柜台职员及其他事物都在系统边界以内

UML核心元素--用例

我是研究僧i 提交于 2020-02-28 09:54:20
定义:用例定义了一组用例实例,其中每个实例都是系统所执行的一些列操作,这些操作生成特定主角 可以观测的值 。一个完整的用例定义由参与者、前置条件、场景、后置条件构成。 1、理解用例: 用例就是参与者希望通过系统达到的愿望。一个系统的功能性是由一些对系统有愿望的参与者要做的一些事构成的,事情完成后就达成了参与者的一个愿望,当全部参与者的所有愿望都能够通过用例来达到,那么这个系统就被确定下来了。捕捉功能性需求就是用例的作用。 2、特征: (1)用例是相对独立的; (2)用例的执行结果对参与者来说是可观测的和有意义的; (3)用例必须由参与者发起。不存在没有参与者的用例,用例不应该自动启动,也不应该主动启动另一个用例; (4)用例必然是以动宾短语形式出现的; (5)一个用例就是一个需求单元、分析单元、设计单元、开发单元、测试单元,甚至部署单元。 3、区分用例和功能: 第一,功能是脱离使用者的愿望存在的,而用例不是; 第二,功能是孤立的,给一个输入,通过计算机就有一个固定的输出,例如,按下开关灯就亮;而用例是系统性的,它需要描述谁在什么情况下通过什么方式开灯的结果是什么; 第三,非要从功能的角度解释的话,用例可以解释为一系列完成一个特定目标的“功能”的组合。 4、业务用例: 业务用例是用例版型中的一种,用于需求阶段的业务建模。严格的说,业务建模与计算机系统建模无关,它只是业务领域的一个模型

UML图

烂漫一生 提交于 2020-02-28 09:43:30
1 类图 (1) UML箭头方向: 从子类指向父类。定义子类时需要通过extends关键字,因此子类一定知道父类但父类不知道子类。 (2) 空心三角+实线: 继承; 虚线: 实现。空心三角:继承或实现。实线表继承很结实;虚线比较虚只是简单实现某个接口。 (3) 箭头+实线: 关联, +虚线: 依赖。实线:关系比较稳定,关联关系通常一个类中有另一个类作为属性。虚线:临时用一下,一般是一个类用另一个类作为参数或返回值。 (4) 空心菱形 :聚合, 实心: 组合。菱形:表示一个空的容器,空心就是许多相同的东西放在一起,因此就是汇聚合在一起聚合,内部的每个单独实体的生命周期可以不同。实心:关系比较强,生死与共,共同组成一个整体,内部生命周期相同。 对于组合有下图所示: 上图中组合可以认为一个鸟包含两个翅膀实例。 2 时序图 3 具体类图 + :public - :private # :protected ~ :default(包权限) 下划线:static。注意方法中study()为斜体表示抽象方法,因此有一个小错误方法也应该为抽象方法也应该为斜体的。方法名:类型,表示返回值的类型。 4 类关系 0 来源: https://www.cnblogs.com/youngao/p/11341210.html

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绘图工具yEd

自闭症网瘾萝莉.ら 提交于 2020-02-28 07:14:46
工具官网 : 下载页面 yEd有点儿类似visio,功能上还是弱一些,不过是 免费 的。支持简单的 uml 和流程图绘制。 下载页面有不同版本选择,我用的是java 3.19版本,需要 预安装java 8及以上版本 。 下载后,解压至目录,然后通过 java 命令运行 java -jar yed.jar 1.新建绘图板 2.找到uml工具位置 在右上角有个Palette框,找到UML即可,拖动图标至中央 3.UML图标怎么用 1)拖动图标至绘图板中央 鼠标移至边角,出现斜箭头,拖动可以改变图标大小 2)右键图标,有Properties标签 3) Attributes和Methdos:如果属性和方法为空,建议加上空格,这样会产生分隔线,效果会更好看 Omit Details:隐藏Attributes和Methdos的显示效果,建议取消勾选 3DEffects:3D效果,导致边框消失,建议取消勾选 来源: CSDN 作者: 云川之下 链接: https://blog.csdn.net/m0_45406092/article/details/104532158

UML学习(一)-----用例图

自古美人都是妖i 提交于 2020-02-28 04:52:43
1、什么是用例图   用例图源于Jacobson的OOSE方法,用例图是需求分析的产物,描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。它的主要目的就是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系以及系统各个功能之间的关系。它通过用例(Use Case)来捕获系统的需求,再结合参与者(Actor)进行系统功能需求的分析和设计。 2、用例图的组成   用例图有四部分组成:用例(Use Case)、参与者(Actor)、系统边界、关联 2.1 参与者    在一个系统开发前,我们必定首先要确定系统的用户,系统的用户就是系统的参与者。除此以外,我们还会想打,我们开发的系统与其他的系统有什么关联?因此,系统的参与者可分为两类,一类是人,包括系统的使用者、维护者等,另外一类是其他系统。 2.2 用例   用例(Use Case)是参与者(Actor)可以感受到的系统服务或功能单元。   任何用例都不能在缺少参与者的情况下独立存在。同样,任何参与者也必须要有与之关联的用例,所以识别用例的最好方法就是从分析系统参与者开始,在这个过程中往往会发现新的参与者。   用例是有粒度的,用例的粒度指的是用例所包含的系统服务或功能单元的多少。用例的粒度越大,用例包含的功能越多,反之则包含的功能越少。 2.3 系统边界   

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 ;

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

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