辛星解读UML的概念

第一,UML的概念

UML是Unified   Modeling   Language的缩写,翻译成中文就是统一建模语言,当然也可以翻译为标准建模语言,它是一种面向对象的建模语言,它是运用统一的、标准化的标记和定义来实现对软件系统进行面向对象的描述和建模。它为软件开发的所有阶段提供模型化和可视化的支持,包括从需求分析到规格、构造和配置。这是一种图形化的语言,它通过几种图形来代替语言的描述。

第二,UML的构成

UML分为三部分:基本构造快、规则、机制

基本构造块又分为事物、关系、图

第三,事物

事物包含结构事物、行为事物、分组事物和注记事物等几类。

首先看结构事物,它是UML模型的静态部分,它描述概念或者物理模型。它也是最广泛的一类,它可以是Class,此时它是具有相同属性和操作对象的集合。它还可以是Interface,也就是一组操作规范。它还可以是Collaboration,也就是描述一组事务相互作用的集合。还可以是Use case,它表示系统的一部分,它是一组动作的集合。它还可以是Activity  class,也就是主动类。它还可以是Componet,此时它表示系统中的物理存在元素。它还可以是Nodes,此时表示运行时存在的物理元素。

然后就是行为事物,它是UML图中的动态行为,它描述时间、空间上的行为。它通常是一个Interface,它用于实现某一个功能的一组动作集合。也可以是State  mechanism,表示事务或者交互在声明周期内的状态集合。

然后就是分组事物,它是UML图的组织部分,它通常是Packages,它表示把元素组织成组。

最后就是注记事物,它是UML中的解释部分,它通常是Notes,它通常对图符、惯性进行说明。

第四,关系

UML中存在的关系主要是关联、依赖、泛化这三种关系。首先说关联,它可以分为普通关联、聚合和组合。而普通关联又分为单向关联和双向关联。

所谓关联,可以理解为事物间存在的结构关系。而依赖则是一种使用的关系,被依赖的事物发生变化会影响到依赖的事物。比如类A的参数或者类A的方法中需要用到类B,那么我们可以说类A依赖类B。而泛化则是一般到特殊的关系,比较好理解。我们从多个模块中抽出相同的子模块,作为公共部分,也是泛化的一种表现。

第五,图

UML中最重要的可视化图形语言,包含九种图。这九种图分别是:

(1)用例图,站在用户的角度去看问题,它体现出系统给用户提供的功能。

(2)类图,系统的静态结构的体现,描写了系统中的类和类之间的关系。

(3)包图,将系统中的纷繁杂乱的类、关系根据逻辑组织成包。

(4)状态图:描述了类或者对象在系统中的所有状态。

(5)活动图:描述了类或者对象完成系统功能的一系列活动。

(6)时序图:从消息发生顺序方面描述了系统中对象之间交互的关系。

(7)协作图:从对象组织结构方面描述了系统中对象之间的交互关系。

(8)构件图:描述了系统的物理组成部分。

(9)部署图:描述了系统在实际环境中的运行部署情况。

第五,规则

我们不能简单的把UML的构造块随机的放在一起,UML有一套自己的规则,这些规则描述了一个结构良好的模型看起来应该像什么。

UML的主要规则如下:

(1)命名:为事物、关系和图起名。

(2)范围:给一个名称以特定含义的语境,类似于类的作用域

(3)可见性:访问权限控制,比如public、private、protected等等。

(4)完整性:事物如何正确、一致的相互联系

(5)执行:运行或者模拟动态模型的含义是什么

第六,机制

(1)规格说明:UML不只是一种图形语言,实际上它的图形表示法的每部分的背后都有一个规格说明,这个规格说明提供了对构造块的语法和语义的文字描述。UML中的图形表示法只是用来对系统进行可视化,UML的规格说明用来描述系统的细节。UML的规格说明提供了一个语义底板,它只包含了一个系统的各个模型的所有部分,并且各个部分互相关联并且保持一致。

(2)修饰:UML表示法中的每一个元素都有一个基本符号,我们可以把修饰细节加到这个符号上。

(3)通用划分,通常包括  ①类/对象二分法   类是一个抽象,对象则是这个抽象的一个具体形式。   ②接口/实现二分法      接口声明了一个契约,而实现则表示了对该契约的具体实施,它负责如实的实现接口的完整语义。

(4)扩展机制:对UML图示符号的扩展。

时间: 2024-12-22 09:39:57

辛星解读UML的概念的相关文章

辛星解读UML建模中的用例图

第一,用例图概念 要了解用例图,首先了解下用例,也就是use  case.什么是用例呢,简单来说就是在确定项目需求时,不展现系统内部结构的情况下对系统功能的描述,不过一个use  case描述的是整个系统功能的一部分,这一部分一定要是在逻辑上相对完整的功能流程. 用例图是UML用例建模的一种,也是UML建模的基础,它主要用于描述用户或者系统内部的功能需求与行为.灵活的使用用例图,可以让描述的需求或者行为清晰的表达其该有的含义. 用例图是从系统的外部看系统的功能的,它并不描述系统内部对功能的具体实

辛星解读uml建模中的构件图

第一,构件图的概念 构件是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口.构件代表系统中的一部分物理实施,它包括软件代码(源代码.二进制代码或者可执行代码)或者其等价物(比如脚本或者命令文件).每个构件可以单独实现一定的功能,也可以为其他构件提供使用接口. 第二,构件图的要素 构件图通常分为:执行文件.文件.库.表.文档 (1)执行文件:源码编译后的结果,可以直接运行 (2)文件:信息存储体 (3)库:类库,动态链接库,数据库 (4)表:数据库中的表 (5)文档:文

辛星解读UML建模中的状态图

第一,状态图的概念 状态图,也叫做状态机图,它表示一个模型元素在其生命期间的状况.从该模型元素的开始状态起,响应事件,执行某些动作,引起状态转移到新状态,又在新状态下响应事件,执行动作,引起转移到另一个状态,如此连续,直到终结状态. 一句话来说就是:源状态在经历了某个事件之后进入目标状态. 第二,状态图包含的要素 状态图包含三个要素:状态.事件.组合状态 (1)状态:状态名字,进入动作,退出动作,状态中发生的活动(状态内活动,状态向外发送的活动) (2)事件:使状态发生变化的某时刻发生的动作,或

辛星解读UML建模中的活动图

第一,活动图的概念 活动图是可以理解为一个流程图,它用来描述活动的序列,从一个活动到另一个活动的控制流. 活动图的作用是描述用例的具体操作. 第二,活动图的要素 (1)活动:命令的执行或者活动的进行,使用圆角矩形表示 (2)状态:主要是开始状态和结束状态 (3)转移:活动之间,活动与状态的切换,使用箭头 (4)判断:对同一个动作或者状态进行判断,然后选择要执行的下一步操作,使用菱形表示 (5)同步条:用于并行执行的活动图中.它们是成都出现的,并行活动开始和结束都有一跟同步条来表示分歧和汇合.粗线

2014年辛星解读Javascript之DOM快速入门

在Javascript的知识中,有一个所谓的DOM,即文档对象模型,我们可以通过它来访问HTML文档的元素,当网页被加载的时候,浏览器会去创建DOM,有了这个DOM,我们可以使用Javascript去改变页面中HTML元素和属性,改变CSS样式,能够对页面中的事件作出响应. 首先就是查找一个HTML元素,我们可以通过三种方式来做到,即通过id.标签名和类名,通过id是使用getElementById方法,它是doucument的一个方法,通过标签名则可以使用getElementsByTagNam

2014年辛星解读Javascript之用DOM动态操纵HTML元素

关于DOM,我们了解了可以用DOM操纵HTML的一些属性和样式,还可以为HTML元素绑定事件等等,那么接下来,我们将涉及到用DOM来动态的创建.删除HTML等一些操作,我的核心思路还是重实战,因此,代码示例是肯定少不了的. 不过在使用DOM动态操纵HTML元素之前,我们还是先了解一下DOM树,下面是我从网上找的一个DOM树的图片,它的截图如下: 如果大家学习过"树"这种数据结构,就会很好理解,一个父节点可以包含N个子节点,这些子节点可能是div.p等标签,也可以是属性,还可以是中间的文

辛星解读之php中的重点函数第一节之数组函数

这里我已经写好它的pdf版本了,比本博客更加适合阅读.首先说一下它在百度网盘的下载地址把:百度网盘下载 ,如果左边连接跪了,可以在浏览器中输入:http://pan.baidu.com/s/1qW5AYzM 来下载.然后说一下它在csdn的下载地址,是免积分的奥,下载地址:csdn资源下载处 ,如果连接不起作用,可以在浏览器输入:http://download.csdn.net/detail/xinguimeng/7697309  来手动下载. 好,我们知道php中函数还是很多的,正是这些函数为

2014年辛星解读CSS第八节 使用背景图片

这应该是系统CSS的教程的最后一节了,为什么呢,因为到这一节,我感觉基础知识就已经讲完了,接下来的就是无穷的实战,而实战是很难用知识去讲出来的,靠的是积累,拼的是经验,这些都不是讲出来的. 好,我们下面来说一下用CSS添加背景图片的方式把,它在background属性中指定,可以用url("图片路径")的方式来指定背景图片,如果是repeat,则图片在横向和纵向上平铺,如果是no-repeat,则背景图像不会平铺,只显示一次,如果是repeat-x,那么就在水平方向平铺,如果是repe

2014年辛星解读Javascript之DOM之冒泡和捕获

上篇博客提到了Javascript事件绑定函数的三个參数.第一个是一个event.第二个是一个function.第三个是一个布尔变量.它用于指定事件传递的顺序,分为冒泡和捕获两种方式,接下来我们将揭开它的神奇面纱,彻底的解读它. 首先看例如以下代码: <html> <body> <div id = "demo"><p id = "tag">辛星</p></demo> <script typ