【UML学习】--包图

article/2025/3/13 0:57:33

【前言】

    包图是怎么来的?

    在面向对象开发的概念里,类是构造整个系统的基本构造块。但是一个庞大的系统中包含的类是成百上千个的,而且这些类之间的关系也是阡陌交错,所以处理起来十分复杂,这时候就引入了“包”这个概念,可以说包是一种分组的构造块或者说是一个容器。


一、关于包,这些你一定要知道:

•名称:每个包都必须有一个与其它包相区别的名称。可以用简单名称和路径名称来表示。
•拥有的元素:在包中可以拥有各种其它元素,包括类、接口、构件、节点、协作、用例,甚至是其它包或图,这是一种组成关系。
•一个模型元素不能被一个以上的包所拥有,也就是说一个元素如果放到了这个包里,那它就不能再放到别的包里了。
•如果包被撤销,那么其中的元素也要被撤销。

二、包图的作用?

1)对语义上相关的元素进行分组; 
2)提供配置管理单元; 
3)在设计时,提供并行工作的单元; 
4)提供封装的命名空间,其中所有名称必须惟一

三、包的可见性:

用“+”来表示“public”,表示此元素可以被任何引用该包的包中的元素访问。
用“#”来表示“protected”,表示此元素可被继承该包的包中的元素访问。
用“-”来表示“private”,表示此元素只能被同一个包中的元素访问。

四、包与包之间的关系:

* 依赖关系:一个包中引用了另一个包中的元素。

* 泛化关系,就是继承关系,表明是一个包的家族。


五、设计包的原则?

①重用等价原则。把类放入包时,应考虑把包作为可重用的单元。
②共同闭包原则。把那些需要同时改变的类放在同一个包中。
③共同重用原则。不会一起使用的类不要放在同一个包中。
④非依赖循环原则。包之间的依赖关系不要形成循环。

六、包图绘制原则

•最小化包之间的依赖,最小化每个包中的public、protected元素的个数,最大化每个包中private元素个数
•在建模时应该避免包之间的循环依赖,也就是不能够包含相互依赖的情况。
•在考虑如何对类进行分组时,主要是根据类之间的依赖关系进行分组。在建包时,尽量把概念和语义上接近的元素包含在同一个包中。
•好的包图依然要体现高内聚低耦合的特性。


七、如何绘制包图:



【总结】


http://chatgpt.dhexx.cn/article/PCYqnyMs.shtml

相关文章

UML—Package Diagram

随着程序软件越来越复杂,一个程序往往包含了数百个类。管理这些类的有效方法就是将类进行分组,将功能相似或相关的类组织在一起。包图是一种维护和描述系统总体结构模型的重要建模工具 包的构成: 1.包的名称 2.包的元素 包自身所拥有的元素…

【UML】9种图+包图

导读:在UML的学习中,介绍了9种图,外加一个包图。这9种图和4大关系,可以说是UML的一个核心内容。我根据自己的笔记,以及查阅的一些资料,对这9种图和包图,做一个总结。 一、基本定义 1、1 总体…

MyUML Features myeclipse 中的 MYUML 的功能

MyUML Features myeclipse 中的 MYUML 的功能7 UML Diagrams: 7种图表 Use-case diagram 用况图 Class diagram 类图 Sequence diagram 顺序图 Collaboration diagram 协作图 State diagram 状态图 Activity diagram 行为图 Deployment diagram 配置图Integrated Diagram Edit…

MyUML Designer开源项目(支持UML2.2规范)第一版本即将发布

经过努力, MyUML Designer开源项目第一版本即将发布. 计划在本月发布第一个版本. MyUML Designer基于Eclipse 3.5开发, 完全实现UML2.2规范. 先贴几个截图, 本版本尽量使图形简洁和漂亮. 后续工作还在进行中. MyUML Designer Project: http://myumldesigner.googlecode.com M…

UML——包图

一、包图的含义 包图(Package Diagram)由包和包之间的关系构成,对维护和控制系统总体结构很重要。系统建模中,有大量的类、接口、组件、节点和图,有必要将这些元素进行分组,把语义相近并倾向一起变化的元素…

UML图详解(九)包图

一、概述 维护和控制系统总体结构的重要建模工具方便理解和处理整个模型设计良好的包是高内聚、低耦合的,并对其内容的访问具有严密的控制 包的内容:拥有或引用的模型元素。包的实例没有任何语义。 仅在建模时有意义,而不必转换到可执行的系…

UML包图

UML包图 基本概述 包图(Package Diagram)是UML中的组织图形,其能有效的组织好各种UML图和表达思路,其功能是组织包内元素,控制访问。 基本语法 解释: 1、包有包的名字和包之间的关系。 2、包之间的关系有三种: 1、包…

UML 之 包图

包图(Package Diagram) 包图可以是任何一种的UML图组成,通常是UML用例图或UML类图。 包是一个UML结构,它使得你能够把诸如用例或类之类模型元件组织为组。 包被描述成文件夹,可以应用在任何一种UML图上。 虽然…

UML-包图

一、什么是包图 包图是在 UML 中用类似于文件夹的符号表示的模型元素的组合。系统中的每个元素都只能为一个包所有,一个包可嵌套在另一个包中。使用包图可以将相关元素归入一个系统。一个包中可包含附属包、图表或单个元素。 一个"包图"可以是任何一种的U…

【UML】UML中的“图”集

一、基本概念 UML作为统一建模语言,是一种模型化语言,那么该模型主要是用图来表示,这时候就自然而然产生了UML图。UML主要由基本构造块、规则、公共机制组成,其中基本构造块由事物、关系、图组成。 二、基本结构 图是UML中重要的组成部分,那么UML中图主要有九种,可以从…

UML--包图详解

包图 在UML的建模机制中,模型的组织是通过包(Package)来实现的。包可以把所建立的各种模型(包括静态模型和动态模型)阻止起来,形成各种功能或用途的模块,并可以控制包中元素的可见性&#xff0…

UML之包图

包图是UML中用类似于文件夹的符号表示的模型元素的组合,系统中的每个元素都只能为一个包所有,一个包可嵌套在另一个包中,使用包图可将相关元素归入一个系统,一个包中包含附属包、图表或单个元素。简单的来说,我们可以直…

UML --Package

一、本文思维导图 二、包图的概述 包图由包和包之间的关系构成,它是维护和控制系统总体结构的重要建模工具; 对复杂系统进行建模时,包方便理解和处理整个模型;设计良好的包是高内聚、低耦合的,并对其内容的访问具…

【CSS】过渡动画

目录 过渡动画1 css 属性1.1 transform 变换&#xff08;平移旋转缩放&#xff09;1.2 animation 动画1.2.1 keyframes 1.3 transition 过渡1.4 比较 2 方式2.1 css 伪类2.2 vue <Transition> 组件2.2.1 默认名称2.2.2 自定义名称2.2.3 自定义 class2.2.4 配合 animation…

【CSS】css转换、css过渡、css动画_09

目录 ❣️ 转换 1.什么是转换 2.转换的属性 3.2D转换 (1) 位移 (2) 缩放 (3) 旋转 (4) 倾斜 4.3D旋转 ❣️ 过度 1. 指定参与过渡的css属性 2.设置过渡的出持续时长 3.设置过渡的时间曲线函数&#xff08;设置过渡的速度&#xff09; 4.过渡的延迟 5.过渡代码的…

使用vue实现css过渡和动画

一、过渡和动画的区别 过渡&#xff1a;通常用来表示元素上属性状态的变化。动画&#xff1a;通常用来表示元素运动的情况。 二、使用Vue实现基础得css过渡与动画 1. 动画 /* css */ keyframes leftToRight {0% {transform: translateX(-100px);}50% {transform: translateX(-…

CSS动画过渡

CSS动画过渡: 过渡transition,我们可以在不使用 Flash 动画或 JavaScript 的情况下&#xff0c;当元素从一种样式变换为另一种样式时为元素添加效果. 要实现这一点&#xff0c;必须规定两项内容&#xff1a;1.规定希望把效果添加到哪个 CSS 属性上&#xff0c;2.规定效果的时长…

CSS 过渡效果

简述: CSS过渡&#xff0c;就是样式发生变化时&#xff0c;可以看上去更自然&#xff0c;更柔和。想让哪个盒子有过渡样式&#xff0c;就把transition属性加在那个盒子上。 语法: 属性描述取值范围transition-property应用过渡效果的 CSS 属性名CSS属性都可以(all, width, co…

css的过渡特效

在web端&#xff0c;我们实现很多有意思的效果&#xff0c;比如&#xff1a;元素的淡入淡出、菜单滑入颜色切换等等效果。 那这些效果最简单的方式就是过渡【transitions】&#xff0c;过渡是一个变化时。css的过渡&#xff0c;可以使用‘ease’来描述这个变化的状态。 trans…

CSS transition(过渡效果)

1. transition-property transition-property 属性用来设置元素中参与过渡的属性名称&#xff0c;语法格式如下&#xff1a; transition-property: none | all | property; 参数说明如下&#xff1a; none&#xff1a;表示没有属性参与过渡效果&#xff1b;all&#xff1a;…