(转)uml 静态视图依赖
· 依赖
依赖表示两个或多个模型元素之间语义上的关系。它只将模型元素本身连接起来而不需要用一组实例来表达它的意思。它表示了这样一种情形,提供者的某些变化会要求或指示依赖关系中客户的变化。
根据这个定义,关联和泛化都是依赖关系,但是它们有更特别的语义,故它们有自己的名字和详细的语义。我们通常用依赖这个词来指其他的关系。 表 4–3 列出了 UML 基本模型中的一些依赖关系。
依赖关系 |
功能 |
关键字 |
访问 |
允许一个包访问另一个包的内容 |
access |
绑定 |
为模板参数指定值,以生成一个新的模型元素 |
bind |
调用 |
声明一个类调用其他类的操作的方法 |
call |
派生 |
声明一个实例可以从另一个实例导出 |
derive |
友员 |
允许一个元素访问另一个元素,不管被访问的元素是否具有可见性 |
friend |
输入 |
允许一个包访问另一个包的内容并为被访问包的组成部分增加别名 |
import |
实例化 |
关于一个类的方法创建了另一个类的实例的声明 |
instantiate |
参数 |
一个操作和它的参数之间的关系 |
parameter |
实现 |
说明和对这个说明的具体实现之间的映射关系 |
realize |
精化 |
声明具有两个不同语义层次上的元素之间的映射 |
refine |
发送 |
信号发送者和信号接收者之间的关系 |
send |
跟踪 |
声明不同模型中的元素之间存在一些连接,但不如映射精确 |
trace |
使用 |
声明使用一个模型元素需要用到已存在的另一个模型元素,这样才能正确实现使用者的功能(包括了调用、实例化、参数、发送) |
use |
表 4–3 依赖关系种类
跟踪是对不同模型中元素的连接的概念表述,通常这些模型是开发过程中不同阶段的模型。跟踪缺少详细的语义,它特别用来追溯跨模型的系统要求和跟踪模型中会影响其他模型的模型所起的变化。
精化是表示位于不同的开发阶段或处于不同的抽象层次中的一个概念的两种形式之间的关系。这并不意味着两个概念会在最后的模型中共存,它们中的一个通常是另一个的未完善的形式。原则上,在较不完善到较完善的概念之间有一个映射,但这并不意味着转换是自动的。通常,更详细的概念包含着设计者的设计决定,而决定可以通过许多途径来制定。原则上讲,带有偏移标记的对一个模型的改变可被另一个模型证实。而实际上,现有的工具不能完成所有这些映射,虽然一些简单的映射可以实现。因此精化通常提醒建模者多重模型以可预知的方式发生相互关系。
导出表示一个元素可以通过计算另一个元素来得到 ( 而被导出的元素可以被明确包含在系统中以避免花费太多代价进行迭代计算 ) 。导出、实现、精化和跟踪是抽象的依赖 — 它们将同一个潜在事物的不同形式联系起来。
使用表示的是一个元素的行为或实现会影响另一个元素的行为或实现。通常,这来自于与实现有关的一些问题,如编译程序要求在编译一个类前要对另一个类进行定义。大部分使用依赖关系可以从代码中获得,而且它们不需要明确声明,除非它们是自顶向下设计风格的系统的一部分(如,使用预定义的构件或函数库)。特别的使用关系可以被详细说明,但是因为关系的目的就为了突出依赖,所以它常常被忽略。确切的细节可以从实现代码中获得。使用的构造型包括调用和实例。调用表示一个类中的方法调用另一个类的操作;实例表示一个类的方法创建了另一个类的实例。
若干种使用依赖允许某些元素访问其他元素。访问依赖允许一个包看到另一个包的内容。引入依赖能够达到更高要求,可以将目标包内容的名字加入到引入包的命名空间内。友员依赖是一种访问依赖,允许客户看到提供者的私有内容。
绑定是将数值分配给模板的参数。它是具有精确语义的高度结构化的关系,可通过取代模板备份中的参数实现。使用和绑定依赖在同一语义层上将很强的语义包括进元素内。它们必须连接模型同一层的元素(或者都是分析层,或者都是设计层,并且在同一抽象层)。跟踪和精化依赖更模糊一些,可以将不同模型或不同抽象层的元素连接起来。
关系(一个元关系,不只限于依赖关系)实例表示一个元素(如对象)是另一个元素(如类)的实例。
依赖用一个从客户指向提供者的虚箭头表示,用一个构造型的关键字来区分它的种类,如 图 4–11 所示。
图 4–11 依赖
转载于:https://www.cnblogs.com/wskaihd/archive/2006/08/28/488227.html
(转)uml 静态视图依赖相关推荐
- (转)uml 静态视图关系和关联
· 关系 类元之间的关系有关联.泛化.流及各种形式的依赖关系,包括实现关系和使用关系(参见 表4–2 ). 关联关系描述了给定类的单独对象之间语义上的连接.关联提供了不同类间对象可以相互作用的连接.其 ...
- 7 在UML中,( )展现了运行时处理结点以及其中构件(制品)的配置,给出了体系结构的静态视图
标签: 软考初级程序员易错题,计算机基础, 面向对象基础,统一建模语言 (UML) 在UML中,( )展现了运行时处理结点以及其中构件(制品)的配置,给出了体系结构的静态视图. 问题1 A类图 B组件 ...
- UML02 - 静态视图
静态视图是 UML 的基础.模型中静态视图的元素是应用中有意义的概念,这些概念包 括真实世界中的概念.抽象的概念.实现方面的概念和计算机领域的概念,即系统中的各种 概念.举个例子,一个 ...
- 在 UML 静态结构图中使用类和对象
在 UML 静态结构图中使用类和对象 向类.组件或其他元素添加接口 在静态结构图.组件图或部署图中,将棒糖形"接口"形状(用一条直线加圆圈表示)拖到绘图页上. 将不带圆圈的端点粘附 ...
- iOS架构-cocoapods打包静态库(依赖私有库、开源库、私有库又包含静态库)(14)
前言: iOS工程架构少不了cocoapods 对第三方库的管理,它有着很好的操作性和集中管理的特性.之前的写了不少Xcode 建静态库工程打包.a 和 .framework 的文章,但是我们要先建静 ...
- 【IOC 控制反转】Android 视图依赖注入 ( 视图依赖注入步骤 | 视图依赖注入代码示例 )
文章目录 总结 一.Android 视图依赖注入步骤 二.Android 布局依赖注入示例 1.创建依赖注入库 2.声明注解 3.Activity 基类 4.依赖注入工具类 5.客户端 Activit ...
- 巧用 webpack 做页面静态资源依赖分析
原文链接 作者:梯田 前言: 所谓[静态资源依赖分析],指的是可以通过分析页面资源后,可以以 json 数据或者图表的方式拿到页面资源间的依赖关系. 比如 college-index(酷家乐大学首页) ...
- UML组件视图、部署图、包图简要说明
UML组件视图.部署图.包图简要说明 组件图 组件是系统高层的可重用的组成部件. 组件图描述软件组件,以及组件之间的关系. 组件本身是代码的物理模块,组件图则显示了代码的结构. 示例:传统后端开发模式 ...
- UML组件视图-组件图详解
UML组件视图-组件图 提示: 对UML基础还不太了解或想查阅学习其他UML图的戳这的戳这UML统一建模语言快速入门.CSDN UML建模操作教程及建模成品请戳这 UML_GitHub 组件是系统高层 ...
最新文章
- java部署工具下载_Walle部署工具-Walle(开源部署工具)下载 v2.0.1官方版--pc6下载站...
- 中科院C语言应聘机试编程题6,中科院计算所保研笔试+机试+面试经验分享
- petshop4.0 详解之一(系统架构设计)(转载)
- 你真的理解BIO、NIO、AIO的区别吗?
- 从C语言到C++的进阶之C到C++的转变(篇一)
- 计算机重做系统 d盘,重装系统后c盘变成d盘怎么办|pe装系统c盘变d盘解决方法
- 对话洪小文:微软为什么能够持续保持竞争力和创新力?
- python 获取MP4视频第一帧 | Python工具类
- 计算机应用开班培训简报,信息技术提升培训简报及总结.doc
- linux 安装memcache 到简单使用
- 国密算法—SM2介绍及基于BC的实现
- 4步教你学会使用matlab模糊控制工具箱
- 移动端网页录音上传,服务端智能语音识别
- USGS上下载的Landsat数据ENVI无法正常打开解决方法
- win7怎么显示后缀名
- 阿里巴巴2018招聘笔试题喝汽水
- Css选择器(上) 让样式无孔不入
- 如何开发一个图像识别图形增强,AI图像转换系统毕业设计毕设作品
- Postgres SQL 远程连接数据库
- PS4手柄 安卓 蓝牙 高延迟解决方案 小米红米 k20 miui
热门文章
- 搭建Zabbix分布式监控
- (C++)将整型数组所有成员初始化为0的三种简单方法
- IDEA IntelliJ 如何新建一个不用任何框架的web项目
- hung-yi lee_p18_图神经网络(cont.)
- 想转行学软件测试要注意哪些问题
- java程序猿必读的学习书籍,良心推荐!
- Java中的值传递和引用传递
- 26期20180716 iptables规则备份恢复 firewalld zone
- Androidstudio下Generate signed apk提示Error: Expected resource of type id [ResourceType]解决办法...
- C# 实现HTML转换成图片的方法