Visio工具 UML的建模

UML描述模型的内容有三种 分别是  事物、关系和图


事物有:类,接口,用例,组件,结点,交互,包,注释等


类:




类分为三部分,顶部为 类名,中间为 属性,下层为 方法


在属性或方法前面有三种符号分别是:+,-,#;代表属性或方法的可见性级别;


+ public     -    private         # protected



类名:如果是抽象类,类名用斜体表示。非抽象类用正体显示


属性: 可见性(+-#)属性名[:类型][=默认值] 如: +eye:int=2


方法: 可见性(+-#) 方法名([参数名:类型][,参数名:类型])


接口




用例:




UML的关系


关联关系,泛化关系,依赖关系,实现关系


关联关系:



关联关系是有方向的 分为 双向关联和单向关联,双向关联 用一个双向实线箭头表示,单向关联 用一个单向实线箭头表示。上图为一个单向关联,类的表式形式为:


class 企鹅{
            
private 气候 qh;
}


关联关系包含 聚合关系和合成关系

聚合关系:


聚合关系是一种弱的拥有关系,代表B对象可以拥有A对象,但A对象不是B对象的一部分。聚合关系用一个空心棱形和一条实线表示。
如:雁群拥有好多大雁,但是大雁不是雁群的一部分。


合成关系


 


合成关系是一种强的拥有关系,表示A对象必须拥有B对象,B对象作为A对象的一部分存在。体现了严格 的局部与整体的关系。合成关系用一个实心棱型和一条实线组成。
如:鸟,必须要有翅膀,翅膀作为鸟的一部分存在,不能单独存在




泛化关系:




泛化关系,相当于继承关系。表示,在父类出现的地方可以用子类来代替,但是反过来则不成立。泛化描述的是 IS A
……的关系。泛化的两种主要用途是:子类重写父类 多态,子类扩展父类 继承
泛化关系用一个空心三角和一条实线表示。
如图:在出现动物的地方我们可以用鸟这个对象,但是如果在出现鸟对象的地方我们则不能用动物对象来替代。


依赖关系




依赖关系表示当对象A发生变化时,对象B也随着变化,则叫做B依赖A。依赖关系用虚线箭头表示。
常用于:做为一个方法的参数(B对象要用A对象做参数),做为方法的返回值(B对象返回A对象),方法中的调用(B对象中调用A对象)。


如上图中:动物的新陈代谢要用氧气和水,代码为
class 动物{
public void
新陈代谢(氧气,水){}


实现关系




实现关系不继承结构,只继承行为。实现关系用来定义接口与实现接口之间的关系。
实现关系常用于接口的实现,用例与实现用例的协作时间。实现关系用一条虚线和一个空心三角组表示或用空心圆加实线表示。


一个完成的UML图


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php获取qzonetoken,QQ一键登录实现

首先,登录QQ互联平台获取QQ一键登录所需的Appkey和Appsecret。2、下载QQ登录用的SDK软件包,可以上QQ互联官方网下载。这里用的是Connect_PHP_SDK_for_OAuth2_V1.1.zip3、在登录页面放置QQ登录的图标。如functiontoQzoneLogin(){varAwindow.open("oa…

生物系统学中的进化树构建和分析R工具包V.PhyloMaker2的介绍和详细使用

V.PhyloMaker2是一个R语言的工具包,专门用于构建和分析生物系统学中的进化树(也称为系统发育树或phylogenetic tree)。以下是对V.PhyloMaker2的一些基本介绍和使用说明: 论文介绍:V.PhyloMaker2: An updated and enla…

互联网加大赛历届作品_匠心筑梦 ——家具漆服务系统2020年度涂装大赛成功举办...

时进九月,秋分将至,天气逐渐微凉,展辰新材家具漆2020年度涂装大赛进入最终评审阶段。大赛历时3个月,国内5大区域一百多位技术能手提交了参赛作品,经过层层筛选,最终入围作品175件,是历届参赛作品…

面对女人的喋喋不休时,男人内心的真实想法

1 笑而不语2 击了掌你就是我的狗了。。。。3 每次看猫咪背对着自己舔毛,总有一种饿的感觉。。4 你看对面的那个小朋友可不可爱,快去抱抱他~5 猫咪三明治,感觉很好吃的样子!6 看剧的时候真的不能开弹幕!你点的每个赞&am…

VHDL 整数 小数 分数 分频

1 --Description: 带复位功能的加法计数器2 library IEEE;3 use IEEE.STD_LOGIC_1164.ALL;4 use IEEE.STD_LOGIC_ARITH.ALL;5 use IEEE.STD_LOGIC_UNSIGNED.ALL;6 7 entity ripple is8 generic (width: integer : 4);9 port( clk, rst: in std_logic; 10 cnt: out …

Dapr牵手.NET学习笔记:绑定

绑定有点像订阅发布,但又不一样,绑定更简单,绑定输出(调用方)-绑定输入(被调用方)。本例是用docker compose编排,并且用rabbitMQ来支持,因为rabbitMQ支持输入和输出绑定。…

名人名言-伟人篇

千载一圣,犹旦暮也;五百年一贤,犹比也。〖南北朝〗颜之推 人才者,求之者愈出,置之则愈匮。〖清〗魏源 天才者,或数十年而一出,或数百年而一出,而又 须济之以学问,助之以德…

(笔试题)和0交换的排序

题目: 一个整数组里包含0-(n-1)的排列 (0到(n-1)恰好只出现一次),如果每次只允许把任意数和0交换,求排好顺序至少交换多少次。 思路: 这是组合数学中的圈问题,可以把数组中的位置关系看成图的拓扑关系。 例…

pytorch 加载模型_福利,PyTorch中文版官方教程来啦(附下载)

PyTorch 中文版官方教程来了。PyTorch 是近期最为火爆的深度学习框架之一,然而其中文版官方教程久久不来。近日,一款完整的 PyTorch 中文版官方教程出炉,读者朋友从中可以更好的学习了解 PyTorch 的相关细节了。教程作者来自 pytorchchina.co…

为什么睡觉时身体突然抖一下?答案吓到我了!

全世界只有3.14 % 的人关注了爆炸吧知识不知你有没有过这样的经历:即将进入甜美梦乡,突然就像触电般地抖了一下,或者不由自主猛地踢一下,瞬间被惊醒!这到底是啥情况?网上的答案五花八门:有人说缺…

Dapper防sql注入,同一条SQL支持多种数据库

前言防SQL注入&#xff0c;常用的方案是使用Dapper执行SQL的参数化查询。例如&#xff1a;using (IDbConnection conn CreateConnection()) {string sqlCommandText "SELECT * FROM USERS WHERE IDID";Users user conn.Query<Users>(sqlCommandText, new { …

java怎么打印进制,java编程思维_007打印二进制,八进制,十六进制

java编程思想_007打印二进制,八进制,十六进制package wzs.test2;//打印二进制,八进制,十六进制public class Test{public static void main(String[] args){System.out.println("0-20二进制.");for (int i 0; i < 20; i){System.out.print(i ":" Int…

基于css3的鼠标滑动按钮动画之CSS--续

2019独角兽企业重金招聘Python工程师标准>>> btn2 /*--按钮1--*/ .container1 {width:200px;display:block;margin:20px auto;position:relative;font-family:droid arabic kufi; } .con_down1 {display:block;cursor:pointer;background-color:#F6EB96;width:190px…

rabbitmq入门_Rabbit MQ 入门

Rabbit MQ是一个通用的消息中间件&#xff0c;支持AMQP&#xff0c;STOMP&#xff0c;MQTT等多种协议安装#在OSX下可以使用如下命令来安装 rabbitmqbrew install rabbitmq基本命令#ls -al ~/rabbitmq/3.7.14/sbin/total 1104drwxr-xr-x 10 jet admin 320 May 19 14:35 .d…

HDOJ1860 ( 统计字符 ) 【水题】

Problem : 1860 ( 统计字符 ) Judge Status : AcceptedRunId : 5940488 Language : C Author : qq1203456195Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta 1 #include <stdio.h>2 #include <string.h>3 char f[6],c[81];4 in…

94年出生,她们如今都是985高校博士生导师!

全世界只有3.14 % 的人关注了爆炸吧知识鱼羊 萧萧 发自 凹非寺量子位 报道 | 公众号 QbitAI94年出生、博士研究方向与材料相关、目前都成了985重点高校的博士生导师。拥有相同经历的两个女生&#xff0c;概率有多大&#xff1f;就在今年&#xff0c;26岁的夏娟和李晟曼&#xf…

IBM沃森为存储系统开发人员带来的启发

前一段时间&#xff0c;IBM 沃森参加了CBS的益智节目《危险边缘》(Jeopardy)&#xff0c;这是他在全国观众面前首次亮相。确切地说&#xff0c;站在中央舞台选手答题台后面的IBM沃森实际上 是不断闪烁的虚拟头像。尽管如此&#xff0c;摆在沃森面前的答题按钮却是如假包换的&am…

01Prism WPF 入门实战 - 项目准备

1.概要这一系列将进行PrismWPF技术的实战讲解。实战项目内容选型为Email邮件收发的客户端&#xff08;WeMail&#xff09;&#xff0c;项目结构简单方便大家理解。相关技术&#xff1a;C#、WPF、Prism软件开发环境&#xff1a;VS2019 、 .NET5 、 windows11需掌握技能&#xf…

php上传文件程序,php 文件上传程序(二款简单文件上传程序)_PHP教程

if(!$uploadaction):?>文件上载界面else:?>文件上载代码$uploadaction0;echo "good!";$timelimit60; /*设置超时限制时间 缺省时间为30秒 设置为0时为不限时 */set_time_limit($timelimit);if(($uploadfile !"none" )){$uploadpathaddslashes(dirn…

预定义变量 - PHP手册笔记

原文:预定义变量 - PHP手册笔记预定义变量将所有的外部变量表示成内建环境变量&#xff0c;并且将错误信息表示成返回头。超全局变量是在全部作用域中始终可用的内置变量。在函数或方法中无需执行global $variable&#xff0c;就可以访问它们。 $GOBALS引用全局作用域中可用的全…