热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

附录UML元模(转)

附录UML元模(转)[more]1.UML定义文档(UMLDefinitionDocuments)UML由一系列objectManagementGroup[UML-98]出版的
附录 UML元模 (转)[@more@]


1.UML定义文档(UML Definition Documents)
  UML 由一系列object Management Group[UML-98]出版的文档定义。这些文档包含在本书所附的CD中。本章解释在这些文档描述的UML语义模型的结构。
UML使用元模型正式定义——也就是说,UML中的构成物的模型。元模型本身在UML中表达。这是元循环解释的一个例子——即用其自身来定义的一种语言。事物不是完全循环的。只有UML的一个小子集被用来定义元模型。原则上,定义的固定点可以从一个更基本的定义引导而来。实际中,不必如此费劲。
  语义文档的每个部分包含一个显示部分元模型的类图;定义在各个部分的元模型类的文字描述,以及它们的属性和联系;一系列作用在元素上由自然语言和OCL语言表达的限制;定义在各部分的UML构成物的动态语义的文本描述。所以动态语义是非正式的,但是一个完全正式的描述是不可行而且也是不可读的。
表示法在一个独立的章里进行描述,该章引用了语义章并把符号映射到元模型类上。
2.元模型结构(Metamodel Structure)
元模型分为三个基本的包(图A-1)。
* 定义了UML静态语义的基本包
* 定义了UML 动态语义的行为元素包
* 定义了UML 模型的组织结构的模型管理包
15-1.gif
图A-1。UML 元模型的包结构
3.基本包(Foundation Package)
基本包包含四个子包。
核心
核心包描述了UML的主要静态构成物。包括类元,它们的内容以及它们的内容。它们的内容包括属性,操作,方法和参数。它们的联系包括泛化,关联和依赖。也定义了几个抽象的元类,例如可泛化元素,名称空间和模型元素。这个包也定义了模板和各种依赖子类,还有组件、接点和注释。
数据类型
数据类型包定义了用于元模型的数据类型。
扩展机制
扩展机制包描述了约束、构造型和标签值机制。
4.行为元素包(Behavioral Elements Package)
行为包给三个主要视图共享的行为结构提供了一个子包,也为每个主要视图提供了一个子包。
公共行为
公共行为包描述了信号、操作和动作。它也描述了对应于各种描述的实例类。
合作
合作包描述了合作、交互、消息、类元角色和关联。
用例
用例描述了参与者和用例。
状态机
状态机包描述了状态机结构,包括状态和各种伪状态、事件、信号、转换和监护条件。它也描述了活动模型的额外的结构,例如动作状态,活动状态和对象流状态。
5.模型管理包(Model Management Package)
模型管理包描述了包、模型和子系统。它也描述了拥有关系和名称空间和包的可见性属性。它没有子包。 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-993243/,如需转载,请注明出处,否则将追究法律责任。

转:http://blog.itpub.net/10752043/viewspace-993243/



推荐阅读
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • 本文详细介绍了如何在Unity中实现一个简单的广告牌着色器,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ... [详细]
  • 在Delphi7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本。定义如下:1234 ... [详细]
  • 在尝试对 QQmlPropertyMap 类进行测试驱动开发时,发现其派生类中无法正常调用槽函数或 Q_INVOKABLE 方法。这可能是由于 QQmlPropertyMap 的内部实现机制导致的,需要进一步研究以找到解决方案。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 本文介绍了几种常用的图像相似度对比方法,包括直方图方法、图像模板匹配、PSNR峰值信噪比、SSIM结构相似性和感知哈希算法。每种方法都有其优缺点,适用于不同的应用场景。 ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • ARM汇编基础基于Keil创建STM32汇编程序的编写
    文章目录一、新建项目(1)工具介绍(2)创建项目:二、配置环境(1)配置芯片&#x ... [详细]
  • 本文总结了一些开发中常见的问题及其解决方案,包括特性过滤器的使用、NuGet程序集版本冲突、线程存储、溢出检查、ThreadPool的最大线程数设置、Redis使用中的问题以及Task.Result和Task.GetAwaiter().GetResult()的区别。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
author-avatar
强伟2502859647
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有