包是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. day11-基本运算符

    运算符 java语言支持如下运算符: 优先级 ( 多敲,多练习 ) 算术运算符:+,-,*,/,%(模运算:取余),++,--  package operator; ​ public class De ...

  2. uni-app H5 腾讯地图无法导航

    uni-app 打包H5腾讯地图无法导航 具体使用扫描二维码查看 前言: 最近几天用uni-app开发安卓和iOS应用,打包成APP安装包后,APP内做地图导航没有问题,APP内使用的是高德地图:但是 ...

  3. 安装了多个python版本指定pip安装目录

    #检查库安装的目录import os import numpy as np import pandas as pd print(os.path.dirname(np.__file__)) print( ...

  4. Xor-FWT 的另一种理解方式

    Xor-FWT 的另一种理解方式 学习 \(\text{Fennec's Algorithm}\) 的额外收获,顺手记录一下. 假设我们要求两个长度为 \(n\) 的数组的异或卷积,为方便起见令 \( ...

  5. 一些很好用的SVN功能

    1.checkout 1.1 只checkout部分目录和文件 目的:有时候项目的文件很多,但是只会关心其中的某几个文件,就可以只checkout这几个文件,可以缩短checkout时间且减少其他文件 ...

  6. 微软憋大招:SQL Server + Copilot = 地表最强AI数据库!

    微软憋大招:SQL Server + Copilot = 地表最强AI数据库! 微软布局代码AI霸主地位 微软在人工智能领域的布局引人注目,尤其在代码生成领域,微软通过Copilot展现出了强大的竞争 ...

  7. ThreeJs-01开发环境搭建

    写在前面,好久不见各位,之前一段时间因为一些事情有点忙,但从未停止学习的脚步,也屯了很多笔记,会在未来的时间慢慢发出来,从今天开始一起进入WebGis,threeJs目前大前端发展的一个方向开始学习, ...

  8. Spring AOP实现原理与CGLIB应用

    AOP(Aspect Orient Programming),也就是面向方面编程,作为面向对象编程的一种补充,专门用于处理系统中分布于各个模块(不同方法)中的交叉关注点的问题,在 Java EE 应用 ...

  9. Yacc笔记

    语义动是一个C语句的序列 $$ 表是和相应产生式头的非终结符号关联的属性值 $i  表示和相应产生式体中第 i 个文法符号(终结符或非终结符号)关联的属性值 按照产生式规约时会执行关联的语义动作 对于 ...

  10. 从Delphi到Lazarus——安装最新版的Lazarus

    0.前言 在这篇文章里将会介绍以下内容: 下载最新版的Lazarus安装程序 安装Lazarus 安装整合IDE界面的软件包 编译运行你的第一个测试程序 结束语 1.下载最新版的Lazarus安装程序 ...