<七>面向对象分析之UML核心元素之包

简介: 一:基本概念         ---->包是一种容器,如同文件夹一样。它将某些信息分类。形成逻辑单元        ---->包是UML非常常用的一个元素,它最主要的作用就是容纳并为其他元素分类。包可以容纳任何UML元素,例如用例,业务实体,类图等,也包括子包。

一:基本概念
 
        ---->包是一种容器,如同文件夹一样。它将某些信息分类。形成逻辑单元
        ---->包是UML非常常用的一个元素,它最主要的作用就是容纳并为其他元素分类。包可以容纳任何UML元素,例如用例,业务实体,类图等,也包括子包。
        ----->UML认为好的分包具有高内聚,低耦合的性质。
        ----->分包好坏手有包之间的依赖关系来评判的。事实上在UML里,包之间的关系定义也只有依赖关系。
        ----->什么是依赖?如果A事物发生变化,B事物必然变化,我们称B依赖于A。反之则无依赖关系。

二:分包指导性原则

        ---->如果将元素分为三个包A,B,C,那么被分入同一个包中的那些元素应当是相互联系紧密,甚至不可分割的。同时这些元素又具有某些相同的性质,使得包可以抽象出来一些接口来代表包内的事物与包外事物交互,以避免包外的事物频繁地直接访问包内元素。这时我们A,B,C三个包具有高内聚的性质。
        ---->包的最理想的情况是修改A,B,C三个包中任意一个包的元素,其他的任何一个包中的内容都不受影响。这时我们称A,B,C三个包之间无依赖关系或松耦合关系,他们之间可以保持消息通信。
        ---->如果实际情况难以做到完全解除依赖关系,那么至少应当保证包之间的依赖关系不会被传递。例如B依赖于A,C依赖于B,当A修改导致B要做出修改时,C不会受到影响。如果做不到这一点,当一个包发生变动时将会引起大范围的连锁反应。
        ---->包之间的依赖关系应当是单向的。应当尽量避免双向依赖和循环依赖。如果A依赖于B,而B又依赖于A,我们称这是一种双向依赖关系。如果A依赖于B,B依赖于C,而C有依赖于A。我们称这是一种循环依赖关系。双向依赖和循环依赖都是不好的分包。
        ----->什么是依赖传递?如果A=B,B=C。由此可以确定A=C,这称之为依赖关系可传递。如果A是B的朋友。B是C的朋友。但不能确定A也是C的朋友。


三:包的分类

        ---->包最主要的用途是分类元素,但在UML中对包也可以进行一些版型定义,让包表达一些特定的含义。常用的包的版型。
        ----->领域包    

 
       ----->子系统
 
        ---->组织结构



        ---->层


        ---->除了上述版型之外,我们可以自己定义需要的版型从特定的角度对包进行分类元素。









相关文章
|
5月前
|
测试技术 uml 容器
UML之包图(Package Diagram)
UML之包图(Package Diagram)
166 1
|
16天前
|
测试技术 uml
『软件工程13』浅谈面向对象方法,统一建模语言UML
该文章介绍了面向对象方法的基本概念及其在软件工程中的应用,并详细探讨了统一建模语言(UML)的各种图示及其在系统设计中的作用。
『软件工程13』浅谈面向对象方法,统一建模语言UML
|
5月前
|
测试技术 uml
UML面向对象建模题库
UML面向对象建模题库
79 0
|
数据库 uml 容器
UML之旅—面向对象技术
面向对象技术,在我们学习VB的时候就有提到过,刚学习的UML中也重点介绍了面向对象技术,以后还会用到这种面向对象的思想去实现程序之路,所以就简单总结一下自己对于面向对象技术的理解!
UML基础与应用之面向对象
UML基础与应用之面向对象
72 0
UML——包图
对复杂系统进行建模时,经常需要处理大量的类、接口、组件、节点和图,这时就有必要将这些元素进行分组,把那些语义相近并倾向于一起变化的元素组织起来加入同一包,这样方便理解和处理整个模型,同时也便于轻松地控制这些元素的可见性,使一些元素在包外可见,一些元素是隐藏在包内的。
|
数据可视化 uml
UML——概述(什么是UML?UML有什么作用?面向对象技术)
我们要先理解模型,模型就是对现实的简化,把复杂系统变成小的系统,采用“逐个击破”的原则逐一解决。
UML——概述(什么是UML?UML有什么作用?面向对象技术)
|
uml Python
将python源码自动生成UML图——扩张包Graphviz+Pyreverse
将python源码自动生成UML图——扩张包Graphviz+Pyreverse
548 0
|
设计模式 数据可视化 测试技术
UML总结 面向对象技术 、Rational Rose 界面
UML总结 面向对象技术 、Rational Rose 界面