包是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. Maven的安装部署(不踩雷版)

    在idea中配置maven需注意maven版本和idea版本相匹配.本人使用idea版本为2020.3,jdk1.8,maven3.6.3可以与之相匹配. 一.下载maven maven下载官网地址: ...

  2. 装有docker的虚拟机环境ping宿主机失败

    当我用docker network create 创建了一个网络后 [root@localhost ~]# docker network create kong-net 5c035564f9b4649 ...

  3. Java 线程池获取池中所有线程列表的方法

    在Java中,获取线程池中所有线程列表并不是一个直接支持的功能,因为线程池的设计通常是为了隐藏和管理底层的线程细节,从而提供更高层次的抽象和并发控制能力.然而,通过一些反射和技巧,我们仍然可以获取到线 ...

  4. ToDesk云电脑开启公测!支持AIGC、高性能渲染等场景,价格低至0.98元

    在云计算和人工智能技术飞速发展的今天,云电脑作为一种新型的计算模式,正逐渐改变着传统电脑的使用方式.近日,ToDesk云电脑宣布开启公测,以其支持AIGC(人工智能.大数据.云计算等技术的融合应用). ...

  5. redis配置启动测试

    解压安装redis tar -xzvf redisxxx.xx生成解压目录 进入解压目录:执行命令 make make install 安装成功: redis默认安装位置/usr/local/bin ...

  6. Next.js 零基础开发入门教程2 构建基础脚手架 2024最新更新中|曲速引擎 Warp Drive

    开发目标 我们将构建一个简化版本的财务仪表板,其内容包括:公共主页.登录页面.受身份验证保护的仪表板页面.用户可以添加.编辑和删除发票 这篇文章先创建一个简单的nextjs脚手架页面 安装pnpm包管 ...

  7. Issac_GYM对Go2机器人的仿真心得

    override 覆盖 torques 扭矩 1 args()参数信息等 cd /home/yyds/桌面/Gym2/legged_robot_competition-master/legged_gy ...

  8. Ubuntu安装Edge浏览器,好用的浏览器!!

    秉持着简介的原则,我这里把重要的步骤记录下来,减少废话的使用量,大大缩短你们看的时间,好吧.. 步骤 首先,使用以下命令更新您的系统: sudo apt update 然后,使用以下命令安装Micro ...

  9. 在昇腾Ascend 910B上运行Qwen2.5推理

    目前在国产 AI 芯片,例如昇腾 NPU 上运行大模型是一项广泛且迫切的需求,然而当前的生态还远未成熟.从底层芯片的算力性能.计算架构的算子优化,到上层推理框架对各种模型的支持及推理加速,仍有很多需要 ...

  10. Clickhouse SQL语法

    Insert 基本与标准 SQL(MySQL)基本一致 (1)标准 insert into [table_name] values(-),(-.) (2)从表到表的插入 insert into [ta ...