当前位置: 首页 > news >正文

UML概况

1 UML的建筑块

 

组成UML有三种基本的建筑块:
1
、事物(Things
2
、关系(Relationships
3
、图(Diagrams
事物是UML中重要的组成部分。关系把事物紧密联系在一起。图是很多有相互相关的事物的组。

1.1   UML的事物

UML中有始终类型的事物:

1、结构事物(Structural things
2
、动作事物(Behavioral things
3
、分组事物(Grouping things
4
、注释事物(Annotational things
这些事物是UML模型中最基本的面向对象的建筑块。它们在模型中属于最静态的部分,代表概念上等或物理上的元素。

1.1.1结构事物。

总共有七种结构化事物。首先是类(class),类是描述具有相同属性、方法、关系和语义的对象的集合。一个类实现一个或多个接口。在UML 中类被画为一个矩型,通常包括它的名字、属性和方法。
 

Window

Origin Size

Open()
Close()
Move()
Display()

 
 

 1-1

 

 


第二种是接口(interface),接口是指类或组件提供特定服务的一组操作的集合。因此,一个接口描述了类或组件的对外的可见的动作。一个接口可以实现类或组件的全部动作,也可以只实现一部分。接口在UML 中被画成一个圆和它的名字。
第三种是协作(collaboration),协作定义了交互的操作,是一些角色和其它元素一起工作,提供一些合作的动作,这些动作比元素的总和要大。因此,协作具有结构化、动作化、维的特性。一个给定的类可能是几个协作的组成部分。这些协作代表构成系统的模式的实现。协作在UML 中用一个虚线画的椭圆和它的名字来表示。第四种是use caseuse case是描述一系列的动作,这些动作是系统对一个特定角色执行,产生值得注意的结果的值。在模型中use case通常用来组织动作事物。Use case是通过协作来实现的。在UML 中,use case画为一个实线椭圆,通常还有它的名字。 
第五种是活动类(active class),活动类是这种类,它的对象有一个或多个进程或线程。活动类和类很相象,只是它的对象代表的元素的行为和其他的元素是同时存在的。在UML 中活动类的画法和类相同,只是边框用粗线条。
   

EventManager

Suspend()
Flush()

第六种是组件(component),组件是物理上或可替换的系统部分,它实现了一个接口集合。在一个系统中,你可能会遇到不同种类的组件,例如COM+ JAVA BEANS。组件在UML中用如下的图表示:
第七种是结点(node),结点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。一个组件集合一般来说位于一个结点,但有可能从一个结点转到另一个结点。结点通常用如下的图形表示:

 
类、接口、协作、use case、活动类、组件和结点这七个元素是在UML 模型中使用的最基本的结构化事物。系统中还有这七种基本元素的变化体,如角色、信号(某种类),进程和线程(某种活动类),应用程序、文档、文件、库、表(组件的一种)。
 

1.1.2 动作事物

 

动态事物是UML 模型中的动态部分。它们是模型的动词,代表时间和空间上的动作。总共有两种主要的动作事物。
第一种是ineractioninteraction是由一组对象之间在特定上下文中,为达到特定的目的而进行的一系列消息交换而组成的动作。 interaction中组成动作的对象的每个操作都要详细列出,包括消息、动作次序(消息产生的动作),连接(对象之间的连接)。在UML 中消息画成带箭头的直线,通常加上操作的名字。

第二种是状态机(state machine),状态机由一系列对象的状态组成。在UML 中状态表示为下图: 
interaction
和状态机是UML 模型中最基本的两个动态事物元素,它们通常和其他的结构元素、主要的类、对象连接在一起。
 

1.1.3 分组事物

 

分组事物是UML 模型中组织的部分,可以把它们看成是个盒子,模型可以在其中被分解。总共只有一种分组事物,称为包(package)。
包是一种将有组织的元素分组的机制。结构事物、动作事物甚至其他的分组事物都有可能放在一个包中。与组件(存在于运行时)不同的是包纯粹是一种概念上的东西,只存在于开发阶段。 

1.1.4 注释事物

 

注释事物是UML模型的解释部分。 

1.1.5 UML中的关系

UML中有四种关系:
1.    
依赖(Dependencies 
 
2.   
关联(Association
   
3.        
一般化(generalization 
  
4.      
实现(realuzation)  
 

1.1.6 UML中的图

1、类图(class diagram
2
、对象图(class diagram
3
Use case diagram
4
Sequence diagram
5
Collaboration diagram
6
Statechart diagram
7
Activity diagram
8
Compomnent diagram
9
Deployment diagram

 

 

转载于:https://www.cnblogs.com/f3201203/archive/2009/07/24/1530151.html

相关文章:

  • 引入类别解决所有键盘遮挡输入框的问题(iOS Object-C)
  • 对付CC攻击不必动用防火墙df
  • [原创]Fluent NHibernate之旅
  • httpclient Accept-Encoding 乱码
  • 爱人?亲人?
  • iOS 图片保存到系统相册
  • 什么是E1-E1的帧结构-由PCM编码介绍E1
  • 从JDBC程序看为什么需要Mybatis
  • 用心生活,用心感悟!
  • Linux驱动技术(八) _并发控制技术
  • 跟我一起学Visual Studio 2005(18):Crystal Report篇之公式详解 (Level 200)
  • 稳扎稳打Silverlight(35) - 3.0控件之ChildWindow, SaveFileDialog, HeaderedItemsControl
  • log4j2的配置使用
  • PDF文档加密、解密工具
  • DEDECMS判断栏目ID代码,判断栏目ID输出相应的内容
  • Angularjs之国际化
  • ES学习笔记(12)--Symbol
  • Flannel解读
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • jquery ajax学习笔记
  • nodejs实现webservice问题总结
  • Redash本地开发环境搭建
  • 初探 Vue 生命周期和钩子函数
  • 京东美团研发面经
  • 日剧·日综资源集合(建议收藏)
  • 深度学习中的信息论知识详解
  • 时间复杂度与空间复杂度分析
  • 实战|智能家居行业移动应用性能分析
  • 用Python写一份独特的元宵节祝福
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • ​香农与信息论三大定律
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #单片机(TB6600驱动42步进电机)
  • #预处理和函数的对比以及条件编译
  • (2022 CVPR) Unbiased Teacher v2
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (C语言)球球大作战
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (附源码)ssm码农论坛 毕业设计 231126
  • (六)vue-router+UI组件库
  • (五)Python 垃圾回收机制
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)linux 命令大全
  • (转)Windows2003安全设置/维护
  • .NET Core WebAPI中封装Swagger配置
  • .net FrameWork简介,数组,枚举
  • .NET MVC第五章、模型绑定获取表单数据
  • ??如何把JavaScript脚本中的参数传到java代码段中