UML 图例

对UML不是很了解,简单地了解一下UML设计中有的图例及基本作用。首先对UML中的各个图的功用做一个简单介绍:

1、用例图
    描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。
2、类图
    类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。
3、对象图
    与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。它描述的不是类之间的关系,而是对象之间的关系。
4、活动图
    描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。
5、状态图
    描述类的对象所有可能的状态,以及事件发生时状态的转移条件。可以捕获对象、子系统和系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的补充。
6、序列图(顺序图)
    序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。
7、协作图

    和序列图相似,显示对象间的动态合作关系。可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图;这两种图合称为交互图。

8、构件图 (组件图)
    描述代码构件的物理结构以及各种构建之间的依赖关系。用来建模软件的组件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。在组件图中,构件时软件单个组成部分,它可以是一个文件,产品、可执行文件和脚本等。
9、部署图 (配置图)
    是用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和测试人员。

-------------------------------------------------------------------------------------------------------------

一:这九种模型图各有侧重,

1:用例图侧重描述用户需求,

2:类图侧重描述系统具体实现;

二:描述的方面都不相同,

1:类图描述的是系统的结构,

2:序列图描述的是系统的行为;

三:抽象的层次也不同,

1:构件图描述系统的模块结构,抽象层次较高,

2:类图是描述具体模块的结构,抽象层次一般,

3:对象图描述了具体的模块实现,抽象层次较低。

 

在有的文献书籍中,将这九种模型图分为三大类:

结构分类、动态行为和模型管理:

1:结构分类包括用例图、类图、对象图、构件图和部署图,

2:动态行为包括状态图、活动图、顺序图和协作图,

3:模型管理则包含类图。

    然后转一篇blog对各个图做一个比较详细的说明和举例:
**********************************************************
UML(2009-04-11 12:18:57)
标签:uml 状态图 类图 it   分类:软件设计
http://blog.sina.com.cn/s/blog_5f240fc40100cnm2.html
**********************************************************
UML(统一建模语言):是面向对象的可视化建模的一种语言。是数据库设计过程中,在E-R图(实体-联系图)的设计后的进一步建模。
UML中有3种构造块:事物、关系和图,事物是对模型中最具有代表性的成分的抽象;关系是把事物结合在一起;图聚集了相关的的事物。具体关系图标如下:

uml01.jpg

说明:
构件事物是名词,是模型的静态部分。
行为事物是动态部分,表示行为。
分组事物是组织部分。
注释事物是解释部分。
依赖:一个事物变化会引起另一个事物变化。
聚集:特殊的关联,描述整体与部分的组合关系。
泛化:是一种特殊与一般的关系,如子元素(特殊)与父元素(一般),箭头指向父元素。
实现:类元之间的关系,其中一个类元指定了由另一个类元保证执行的契约。一般用在接口和实现他们的类之间或用例和实现它们的协作之间。
UML提供9种视图:类图、对象图,用例图,序列图、协作图,状态图、活动图,构件图和部署图。

在UML系统开发中有三个主要的模型:
功能模型: 从用户的角度展示系统的功能,包括用例图。
对象模型: 采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图。
动态模型: 展现系统的内部行为。 包括序列图,活动图,状态图。

下面具体说明:

1.类图:描述一组对象、接口、协作等事物之间的关系。如下图(摘自网络):
点击查看原始尺寸
注:#表示protected,+表示Public,-表示private

 

2.对象图:描述一组对象之间的关系,是具有具体属性值和行为的一个具体事物,其是类图中所建事物实例的静态快照,其与类图的主要区别是一个是抽象的,而对象图是具体的。如下图(摘自网络):
点击查看原始尺寸

3.用例图:描述一组用例、参与者以及它们之间的关系,其展示的是该系统在它的外面环境中所提供的外部可见服务。如下图(摘自网络):
点击查看原始尺寸

4.交互图:包括序列图顺序图)和协作图,两者对应,顺序图是强调消息时间顺序,有对象生命线和控制焦点。协作图是强调接收和发送消息的对象的结构组织,有路径和顺序号。如下图(摘自网络):
序列图:
uml05.jpg
协作图:
点击查看原始尺寸

5.状态图:展示了一个状态机,由状态、转换、事件和活动组成。强调事件行为的顺序。如下图(摘自网络):
点击查看原始尺寸
6.活动图:是一种特殊的状态图,实现一个活动到另一个活动的流程。如下图(摘自网络):
点击查看原始尺寸
7.构件图和部署图:构件图展示一组构件之间的组织和依赖关系,并以全局的模型展示出来。部署图是构件的配置及描述系统如何在硬件上部署。如下图(摘自网络):
点击查看原始尺寸
                                                                <如有不足,请指正>

 

------------------------------------------------------------------------------------------
    找齐这么多的图真的不容易啊,我试了一下太麻烦就放弃了,对这个作者表示钦佩。

    好了,其他如果需要更具体的介绍,可以看下面这个地址,说的比较详细: http://www.cnblogs.com

转载于:https://www.cnblogs.com/ITEagle/archive/2010/03/18/1689248.html

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

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

相关文章

python计数器函数_Python计数器Counter

老男孩教育的PYTHON自动化开发课程自2013年第1期到现在已经走到了第12期&#xff0c;2年半的时间里&#xff0c;我们每一期都在对课程细节进行不同程度的优化&#xff0c;课程总时长也从最开始的2个月延长至第12期的五到六月&#xff0c;更新内容足足翻了一倍多&#xff0c;我们…

从物理服务器拷贝文件到容器,docker容器与物理机的文件传输—docker cp命令

ocker cp :用于容器与主机之间的数据拷贝。语法docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATHOPTIONS说明&#xff1a;-L :保持源目标中的链接实例将主机./vern目录拷贝到容器hssme的/home/cloudera目录下。docker c…

idea代码样式模板_阿里p3c(代码规范,eclipse插件、模版,idea插件)

阿里p3c一、说明代码规范检查插件p3c&#xff0c;是根据《阿里巴巴Java开发手册》转化而成的自动化插件。(高级黑&#xff1a;P-3C“Orion”&#xff0c;反潜巡逻机&#xff0c;阿里大概取p3c先进&#xff0c;监测&#xff0c;发现潜在问题的意思)二、源码地址下载下来之后为&a…

ajax require 用法,require.js使用方法整理

一、使用原因1、实现js异步加载&#xff0c;避免网页失去响应&#xff1b;2、管理模块之间的依赖性&#xff0c;便于代码编写和维护&#xff1b;二、使用说明1.加载require.js加载这个文件&#xff0c;也可能造成网页失去响应。解决办法有两个&#xff0c;一个是把它放在网页底…

根据数据库中的值用js设置RadioButtonList选中与否

function setcheck(id,ddd)//id表示控件ID号,ddd表示值{var radiolist id; for(var i0;i<document.getElementById(radiolist).rows.length;i) { for(var x0;x<document.getElementById(radiolist).rows[i].cells.length;x) { if(document.getElementById…

服务器与本地文件共享文件夹,云服务器对本地服务器共享文件夹

云服务器对本地服务器共享文件夹 内容精选换一换当您成功创建私有镜像后&#xff0c;镜像的状态为“正常”&#xff0c;您可以使用该镜像创建服务器实例或云硬盘&#xff0c;也可以将镜像共享给其他帐号&#xff0c;或者复制镜像到其他区域。私有镜像的生命周期如图1所示。远程…

rocksdb原理_教你玩转MyRocks/RocksDB—STATISTICS与后台线程篇

0. Intro在facebook的MySQL版本(以下称为MyRocks)中&#xff0c;RocksDB是可选的存储引擎。相比于InnoDB引擎&#xff0c;RocksDB的一个重要的优势是它使用更少的磁盘空间。在生产系统中&#xff0c;特别是用户数在亿级以上的互联网应用&#xff0c;磁盘空间是其中比较大的成本…

有效需求分析的基本流程

今天工作不算太忙&#xff0c;本来下午是要开会&#xff0c;由于这周的idea比较少&#xff0c;就把AT会议移到下周一起开&#xff0c;所有今天没有什么忙的&#xff0c;只是开了简单的idea评审会议&#xff0c;同时对组内的一些问题进行简单的整理&#xff0c;本来想整理出好的…

PHP Socket 编程

让我们以一个简单的例子开始---一个接收输入字符串,处理并返回这个字符串到客户端的TCP服务.下面是相应的代码: PHP 代码: -------------------------------------------------------------------------------- <? // 设置一些基本的变量 $host "192.168.1.99";…

服务器可否替代手机芯片,基于ARM的处理器能取代桌面处理器吗?

科技的发展速度太快了&#xff0c;从手机进入智能时代开始&#xff0c;手机处理器的速度也越来越快了&#xff0c;以前人们办公都是在电脑端进行的&#xff0c;随着手机的功能越来越多&#xff0c;手机处理器速度越来越快&#xff0c;已经有一小部分的工作可以在手机上完成了。…

tr闭包_嵌套函数及闭包

这篇文章其实是要讲闭包的一些初级应用&#xff0c;但是为了将闭包&#xff0c;我们还是从嵌套函数开始说吧&#xff0c;纵使所有的JavaScript函数都可以说是闭包&#xff0c;但是只有当一个嵌套函数被导出到它所定义的作用域之外时&#xff0c;这种闭包才是有趣的。【嵌套函数…

转]从一个男人关注的事情上 可以看出他的修养和抱负

一、拥有自信和风度 男人到了二十几岁后&#xff0c;就要开始学着用心去经营自己了&#xff0c;它体现在自己的思想与涵养上。自信是一个男人最重要的品质&#xff0c;自信的男人就你像一只在暴风雨中战斗的海鸥。海鸥所要说的只有一句话“让暴风雨来的再猛烈些吧”&#xff0…

python歌星大奖赛_在歌星大奖赛中,有10个评委为参赛选手打分,分数为1到100分。...

/*********************************************************************************** 功能描述&#xff1a; 求一个比赛的选手成绩** 作 者&#xff1a; 郭强生** 修改日期&#xff1a; 2012-08-06** 备 注&#xff1a; 在歌星大奖赛中&#xff0c;有10…

投资最重要的事读后感_《投资最重要的事》读书笔记

《投资最重要的事》读书笔记《投资最重要的事》作者详细阐述了“第二层次思维”、价格/价值关系、耐心等待机会、以及多元化投资等概念&#xff0c;对自身的决策以及偶尔的失误做出了坦诚的评价&#xff0c;为读者进行批判性思考、风险评估、建立投资策略提供了宝贵的经验教训&…

VS2010 RTM

Visual Studio 2010 已经RTM并且在Msdn subscription提供了下载和试用版本&#xff0c;为了迎接这一产品&#xff0c;我在这个周末格式化了系统分区重新安装了Windows 7 x64。 在最新的Visual Assist配合下&#xff0c;整个IDE较之之前的版本更加舒适。 比如&#xff0c;选中的…

python搭建分布式集群_利用python的dask搭建分布式集群

一、dask介绍优势&#xff1a;dask内部自动实现了分布式调度、无需用户自行编写复杂的调度逻辑和程序&#xff1b;通过调用简单的方法就可以进行分布式计算、并支持部分模型的并行化处理&#xff1b;内部实现的分布式算法&#xff1a;xgboost、LR、sklearn的部分方法等用一句话…

【J2EE设计模式】模型-视图-控制器模式(MVC模式)

MVC将用户接口分割成3个截然不同的部分。 一、视图 状态无关的组件&#xff0c;从模型中读取数据&#xff0c;简单的把模型中的值转化为对客户端有用的格式。 二、控制器 协调请求处理&#xff0c;将用户输入转变为模型更新和视图 。它就像一个主管&#xff0c;首先策划要做哪些…

HttpURLConnection简单用法

HttpURLConnection为javaAPI提供的一种Rest访问的方式。其支持对Post,Delete,Get,Put等方式的访问。 以下为对于HttpURLConnection对Post等方式访问的一段代码。 view plaincopy to clipboardprint? 1. package com.sw.study.urlConnection; 2. 3. import java.io.Bu…

天勤python_天勤量化策略库:菲阿里四价策略

文章策略均基于开源免费&#xff0c;简单强大的Python量化开发包——天勤量化(TqSdk)实现菲阿里四价策略故事在2000年7月&#xff0c;日本举办了首次“ROBBINS-TAICOM期货冠军比赛”&#xff0c;总共比赛历时半年。从第一周起&#xff0c;一位名叫Fairy(菲阿里)的先生便位居首位…

个人宣传画

转载于:https://www.cnblogs.com/yellowyu/archive/2010/04/19/1715735.html