<七>面向对象分析之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中对包也可以进行一些版型定义,让包表达一些特定的含义。常用的包的版型。
        ----->领域包    

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

        ---->层

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

时间: 2024-09-20 11:37:03

<七>面向对象分析之UML核心元素之包的相关文章

&lt;四&gt;面向对象分析之UML核心元素之用例

一:基本概念        --->用例定义了一组用例实例,其中每个实例都是系统所执行一系列操作,这些操作生成特定主角可以观测的值.        --->所谓用例,就是一件事情,要完成这件事情,需要一系列活动,而做一件事情可以有很多不同的办法和步骤,也可能遇到各种各样意外情况.因此这件事情是由很多不同情况的集合构成的.在UML中称之为用例场景.一个场景就是一个用例的实例.               --->一个系统的功能性是由一些对系统有愿望的参与者要做的一些事情构成的,事情完成后就

&lt;五&gt;面向对象分析之UML核心元素之边界

一:基本概念        ---->边界在UML图符里的定义只是一个简单的矩形,四个边决定了边界的内外.参与者,用例和边界相生相克.        ---->边界是一个很重要的概念,和封装的概念师出同门.面向对象,任何一个对象都有一个边界.        --->在收集需求时,我们总要先假定一个范围边界.在这个边界内寻找需求,而找到的需求集合又决定了最终边界的大小.在需求出来之前,我们必须先设想一个边界,这个边界的大小是不确定的,随着需求的明确,边界也逐步变得明朗.但是问题出在确定需求

&lt;十&gt;面向对象分析之UML核心元素之关系

关系        --->在UML中关系是非常重要的语义,它抽象出对象之间的联系,让对象构成特定的结构.        一,关联关系(association)         --->关联关系是用一条直线表示的.        --->描述不同类的对象之间的结构关系.它在一段时间内将多个类的实例链接在一起,这与依赖关系是不同的.依赖关系通常表示两个实例之间的临时关联关系.        --->单行关联关系,A知道B的存在,B不知道A的存在.比如UML建模中,参与者知道用例的存在

&lt;三&gt;面向对象分析之UML核心元素之参与者

一:版型        --->在UML里有一个概念叫版型.有些书里也称类型,构造型.        --->这个概念是对一个UML元素基础定义的扩展.在同一个元素基础定义的基础上赋予特别的含义,使得这个元素适用于特定的场合.        --->例如(1)用例:的版型有:"业务用例","业务用例实现"                      (2)类:的版型有:"接口","边界类","实体类&

&lt;十二&gt;面向对象分析之UML核心元素之节点和设备

节点,设备 一:概念        ---->是带有至少一个处理器,内存以及可能还带有其他设备的处理元素.在实际工作中,一般说来服务器,工作站或者客户机都可以称为一个节点.        ---->节点就是应用程序的部署单元.        ---->节点元素特别用于部署图,描述应用程序在物理结构上是如何部署在应用环境中的,是一种包括软,硬件环境在内的拓扑结构描述.        --->在笔者看来,UML中定义的节点所能表达的信息并不够充分,对于应用环境的拓扑结构来说仅仅描述节点

&lt;六&gt;面向对象分析之UML核心元素之业务实体

一:基本概念          ---->业务实体类(class)的一种版型.特别用于在业务建模阶段建立领域模型.业务实体是业务模型中非常重要的一个因素,它为问题领域中的关键概念建立概念化的理解.是人们认识问题领域的重要手段.如果说参与者和用例描述了我们在这个问题领域中达到的什么样的目标,那么业务实体就描述了我们使用什么来达到业务目标以及通过什么记录这个业务目标.        ---->官方定义:业务实体代表业务角色执行业务用例处理或使用的"事物".        ---

&lt;十一&gt;面向对象分析之UML核心元素之组件

组件一:概念        --->组件是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口.        --->组件代表系统中的一部分物理实施.包括软件代码(源代码,二进制代码或可执行代码)或其等价物(如脚本或命令文件)        --->在UML的定义中,组件之间唯一的关系就是依赖.在Rose中,组件视图中允许的唯一链接也是依赖关系,而依赖意味着一个组件的修改会导致依赖于它的其他组件的修改.        --->在笔者看来,一个组件应当是一个

《面向对象分析与设计》一1.6关于统一建模语言UML

1.6关于统一建模语言UML UML最初是在多种面向对象分析与设计方法相互融合的基础上形成的,后来发展成为也可以用于业务建模以及其他非软件系统建模的语言.它于1997年11月被对象管理组织(Object Management Group)采纳为建模语言规范,随后被产业界和学术界广泛接受. UML定义了建立系统模型所需要的概念并给出了表示法,但它并不涉及如何进行系统建模.因此它只是一种建模语言,而不是一种建模方法.UML是独立于开发过程的,也就是说它可以适用于不同的开发过程. UML 2.4规范由

UML面向对象分析与建模-【6】状态图

  一.概述 在一般的面向对象技术中,状态图又称为状态迁移图.描述了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的迁移.大多数面向对象技术都使用状态图来描述一个对象在其生命周期中的行为. 二.状态 在所有动态图(序列图.协作图.状态图.活动图)中,消息是作为对象间的一种通信方式来表示的.消息包括简单消息.同步消息和异步消息.可以将一个简单消息和同步消息合并成一个消息. 在UML中,对于状态的定义着重于对象行为的规则,状态描述了一个对象生命周期中的一个时间段.它可以用三种附加方