包是UML模型的组织结构,也是UML项目的配置管理结构。包存在多个层级,除了顶层包,所有包隶属于一个且仅隶属于一个上层包。在项目不同阶段实际推进与配置过程中,通常以不同层级的包为单位进行check-in、check-out、打标签及建立基准。许多项目会在计划的时间点进行正式的官方评审,例如系统需求评审(SRR)、系统设计评审(SDR)、初步设计评审(PDR)、关键设计评审(CDR)或测试准备评审(TRR)。在这些活动就是对保存在不同包中的阶段性模型进行评审,并对其建立基准,以便项目可以输出阶段性成果并为下一阶段建立输入,必要时可以回顾与审查该基准。

如果以建模类型而论,存在概念化、需求分析、分析、设计等模型,使用这些模型时,可根据项目的方法论进行调整。在这些不同类型的模型中,由于是对同一事物的建模,必然存在一些相同名称的元素,但是模型作为包,也是命名空间,因此不同模型中使用相同名称的元素,这不会带来问题。而从元素本身所描述对象的角度来说,在不同模型中使用相同名称也是合理的。

在实际工作中,很多人在使用UML建模时对各模型或图表的前后逻辑关系感到困惑,或者只是单纯地堆砌各类图表,其最可能的根本原因是所采用的项目方法论中缺少不同阶段建模要求。通常当我们构建一个系统时,要对这个系统建模,形成“系统模型”。在最简单的情况下,系统建模至少要先建立“分析模型”,然后根据分析模型建立“设计模型”,分析模型与设计模型(及其他模型)共同构成系统模型。

可以为包指定版型(构造型)«model»表明当前包是一个模型,系统模型与分析模型、设计模型的关系可用下图表示:



包的版型(构造型)除«model»外,其他可用的版型(构造型)简述如下:

  • «ModelLibrary»

    版型(构造型)“«ModelLibrary»”表示其大部分内容被其他包或模型使用。通常,我们使用«ModelLibrary»包来包含系统中其他包可以使用的公共类型、单元、实用工具或其他内容。«ModelLibrary»包应被标记为公开可见,并可能将其“导入”到顶级包中——这将确保«ModelLibrary»包被系统中所有包可见且可访问。
  • «Framework»

    类似于«ModelLibrary»包,版型(构造型)为“«Framework»”的包包含了许多共享的基础设施和架构元素。«Framework»包通常包括事件和错误处理程序、消息传递、日志记录、自检、内置测试、诊断和安全执行等内容。
  • «Profiles»

    形式上«Profiles»包与标准包类似,只是具有«Profiles»的版型(构造型),但«Profiles»包通常包含适合于帮助执行项目方法论或制度的“元类”。我们可以在«Profiles»包中创建、删除元类或版型(构造型),在项目实际操作中通常只允许一人对«Profiles»包进行修改,当然,«Profiles»包必须对项目中的所有人可见。一般情况下,创建«Profiles»包难度很大,并且可能会引入可移植性等问题。

UML之模型、包及包的版型(构造型)的更多相关文章

  1. UML-类图,包图

    UML构造设计模型   一.类图  二.包图   三.组件图   四.部署图   一.类图     1.类:类由三格表示:类名,类的属性,类的操作              类名: 首字母大学     ...

  2. UML精粹4 - 对象图,包图,部署图,用例

    对象图object diagram 对象图是某个时间点上的对象在系统中的快照,也经常被称为实例图.一般在展示组合对象结构时比较有用.例如 组合结构的类图 一个时刻的对象图 包图package diag ...

  3. UML从需求到实现----包图

    上接:UML中图出现顺序 上回讲到用例图,UML中各个图之间的关系.接着根据UML建模中图出现的顺序来总结包图. 用例图确定以后.用户的需求基本上就确定了.接下来要根据用户的要求去设计系统.建模的顺序 ...

  4. UML九种图 之 包图和对象图

    前言     对象图和包图依然是对系统的静态的描写叙述.UML九种图加上包图,事实上是十幅图. 包图     1.构成           2.包中的元素      类.接口.用例.构件.其他包等.( ...

  5. 网络_OSI模型_数据包传输

    2017年1月12日, 星期四 网络_OSI模型_数据包传输 1.  网络_源主机_局域网_交换机_路由器_目标主机 2. OSI7七层_TCP/IP精简 OSI 7层:       应用层     ...

  6. UML 基本模型元素

    目录 1. 结构模型元素 (1)类(class) (2)接口(interface) (3)协作(collaboration) (4)用例(use case) (5)活动类(active class) ...

  7. 关于war包 jar包 ear包 及打包方法

    关于war包 jar包 ear包 及打包方法 war包:是做好一个web应用后,通常是网站打成包部署到容器中 jar包:通常是开发的时候要引用的通用类,打成包便于存放管理. ear包:企业级应用 通常 ...

  8. linux包之包管理命令rpm-yum

    背景 YUM(Yellow dog Updater, Modified)为多个Linux发行版的前端软件包管理器,例如 Redhat RHEL, CentOS & Fedora. YUM通过调 ...

  9. R语言︱常用统计方法包+机器学习包(名称、简介)

    一.一些函数包大汇总 转载于:http://www.dataguru.cn/thread-116761-1-1.html 时间上有点过期,下面的资料供大家参考基本的R包已经实现了传统多元统计的很多功能 ...

  10. Java.lang 包 util 包等各个包详解

    java.lang 该包提供了 Java 编程的基础类,例如 Object.Math.String.StringBuffer.System.Thread 等,不使用该包就很难编写 Java 代码了. ...

随机推荐

  1. ProxyPin 抓包,原来可以这么简单!

    ​ 你是否还在为网络请求的抓包发愁?其实,ProxyPin 可以让抓包操作变得异常简单!不需要复杂的设置,也不用繁琐的配置,轻松几步就能实现.让我们一起来看看吧! 抓包操作常用于测试网络请求.分析接口 ...

  2. manim边做边学--数轴

    数轴是数学中的一个基本概念,它规定了原点.正方向和单位长度的直线. Manim中的NumberLine就是一个专门用来表示数轴的对象,它允许用户设置数轴的范围.间隔和显示长度等参数,从而灵活地在动画中 ...

  3. python多线程应用-批量下载视频课程(宠医堂)

    #!/usr/bin/env python # -*- coding: UTF-8 -*- ''' @Name: cyt_record_download @IDE:PyCharm @Author:qt ...

  4. 去哪儿旅行携手 HarmonyOS SDK | 告别繁琐,常用信息秒级填充

    背景 去哪儿旅行作为行业内领先的一站式在线旅游平台,多年来在日益加剧的市场竞争中积极寻求创新,凭借其优质的服务深受消费者青睐.2024年,去哪儿旅行适配HarmonyOS NEXT版本, 升级用户服务 ...

  5. Python获取jenkins job信息

    pip install Python-jenkins  如果只是想获取到jenkins的全局变量(比如job url),使用jenkins全局变量就能做到. https://www.jb51.net/ ...

  6. Cargo deny安装指路

    本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议.转载请注明来自 唯你 简介 cargo deny 是一个 Rust 工具,用于检查项目依赖项的许可证.安全性和其他合规性问题. ...

  7. getPropByPath:根据字符串路径获取对象属性 : 'obj[0].count'

    function getPropByPath(obj, path, strict) { let tempObj = obj; path = path.replace(/\[(\w+)\]/g, '.$ ...

  8. pyenv: no such command `virtualenv'

    当执行 pyenv virtualenv 3.6.10 env_3.6.10 命令创建新的python环境时提示 pyenv: no such command `virtualenv' larryma ...

  9. 【踩坑日记】uni-app相机抽帧,相机被多次初始化问题

    缘起:最近频繁接到使用我们AI运行识别插件用户的反馈,部分机型在uni中抽几帧后,就不再帧的了.开始以为又是小程序的API兼容的问题(确有机型出现过抽帧兼容性问题),后面越来越多的反馈在原生下无问题, ...

  10. 初步学习Nuxt3

    Nuxt3 用于制作ssr 网页 支持vue3 所有的语法,并且支持了TypeScript, vite+vue3+composition api + ts.SPA单页面应用不能进行SEO优化,SSR应 ...