`

封装图教程 - UML Package Diagram

 
阅读更多

包图显示了中型到大型项目中模型元素的排列和组织,可用于显示子系统或模块之间的结构和依赖关系。

包图示例

什么是UML中的包图?

大系统提供了特殊的挑战。为大型系统绘制一个类模型,它太大而无法理解。要理解的类之间有太多的链接。UML的一个有用的技术是处理这个问题。统一建模语言中的包有助于:

  1. 要分组元素
  2. 为分组元素提供命名空间
  3. 包可以包含其他包,从而提供包的分层组织。
  4. UML元素可以分组到包中。

下图显示了一个示例包图,用于表示业务的组成。

包装图:业务构成

试试吧!

寻找在线包装图工具?只需单击右侧的绘图按钮即可在线创建包图。Visual Paradigm Online是免费*且直观的。在开始之前,您还可以通过此Package Diagram教程了解Package Diagram。

现在画画
 

包图符号

包图用于构建高级系统。包用于组织包含图表,文档和其他关键可交付成果的大型系统。换句话说,包也可以用作其他图的一部分。

嵌套和分层包

包可以表示为具有嵌套包的层次结构。嵌套包的原子模块通常是类图。

下图给出了包含多个嵌套包的包图的示例。

包图:Java日期包

使用包图时几乎没有约束,它们如下。

  1. 软件包的名称在系统中应该是唯一的。但是,允许不同包中的类具有相同的名称。例如,允许Package :: Product&Shipping :: Product。
  2. 用户应避免使用编程语言提供的包名。例如,Java将Date作为包提供。因此,程序员应该构造名为Date的包。
  3. 包可以包括整个图表,单独的组件名称或根本没有组件。

包也可以具有完全限定的名称。下图显示了此类包的示例用法。

完全合格的包装

注意:

  1. UML,C ++,Perl,Ruby myPkg :: foo :: bar
  2. Java,C#myPkg.foo.bar

包装遏制

  1. 包显示在静态图中
  2. 显示遏制的两种等效方式: 
    包装图

依赖

依赖涉及两种子类型。它们是<< access >>和<< import >>。虽然有两种构造型,但用户可以使用自己的构造型来表示两个包之间的依赖关系类型。

<< import >> - 一个包导入其他包的功能

包导入示例

示例 - << import >>依赖项

Package Diagram导入示例

<< access >> - 一个包需要其他包的功能帮助

包图:访问

何时绘制包装图?

UML不会将包图视为一种单独的技术。通过将其他模型元素组合在同一图表上的不同包中来组合它们通常很有用。包图可以在许多方面有用,例如:

  1. 创建大量模型元素的概述
  2. 组织一个大型模型
  3. 分组相关元素
  4. 分隔名称空间

将系统分解为包的标准

  1. 不同的所有者 - 谁负责处理哪些图表?
  2. 不同的应用程序 - 每个问题都有自己明显的分区;
  3. 具有强大凝聚力的课程集群 - 例如,课程,课程描述,讲师,学生,......
  4. 或者:使用架构模式来帮助找到合适的分解,例如MVC框架

其他包裹指南

  1. 在一个包中收集具有强大内聚力的模型元素
  2. 在不同的包装中保持低耦合的模型元素
  3. 最小化不同包中的模型元素之间的关系,尤其是关联
  4. 命名空间含义:导入到包中的元素不“知道”它在导入的包中的使用方式

如何创建包图?

以下示例显示了在线购物商店的跟踪订单服务。

Track Order Service负责为客户订购的产品提供跟踪信息。跟踪序列号中的客户类型,跟踪订单服务是指系统并将当前的运输状态更新为客户。

第1步 - 确定系统中存在的包

  1. 有一个“跟踪订单”服务,它必须与其他模块交谈以了解订单详情,让我们称之为“订单处理”
  2. 在获取订单详细信息后,它必须知道运输详细信息,我们称之为“运输”
  3. 最后,如果知道订单的状态,它必须将信息更新给用户,让我们将此模块称为“UI框架”

包图:识别包

第2步 - 确定依赖关系

  1. “跟踪订单”包应该从“订单处理”获得订单详细信息,另一方面,“订单处理”还需要来自“跟踪订单”包的跟踪信息,因此,两个模块相互访问哪些足够<<访问>>双重依赖。 
    包图:识别依赖关系
  2. 要了解送货信息,“送货”需要导入“跟踪订单”以完成送货过程。 
    包图:识别导入

步骤3 - 最后,跟踪订单对UI Framework的依赖关系也映射到完成Track Order子系统的Package Diagram的图表。 
包图示例


封装图示例

包图示例 - MVC结构

包图示例:MVC结构

包图示例 - 分层结构

封装图示例:分层结构

# 免费包装图示例

可在包装图软件中编辑的免费包装图示例和模板:Visual Paradigm Online。使用模板作为起点来创建自己的包图。

分享到:
评论

相关推荐

    UML培训资料

    6. **包图(Package Diagram)**:用于组织和管理大项目的模块,展现不同组件的封装和依赖关系。 在**学习UML的过程中**,实践是关键。通过实例分析,你可以更好地理解各种图表的用途和创建方法。例如,从实际项目...

    UML工具staruml-5.0-with-cm

    9. **包图(Package Diagram)**:用于组织和管理大型项目,表示模块和子系统的封装与依赖关系。 10. **通信图(Communication Diagram)**:前身是协作图,强调对象间的交互关系,通过消息交换来展示。 StarUML的CM...

    UML建模单词汇总,很全哦

    Package Diagram 包图** - 包图展示了不同包之间的关系。 - 用于组织模型元素,如类、接口等,使其更易于管理和理解。 **6. Sequence Diagram 顺序图** - 顺序图用于描述对象间的交互序列。 - 它显示了对象之间的...

    uml中文教程pdf资料

    9. **包图(Package Diagram)**:包图用于组织模型元素,体现了模块化和分层设计的思想。在07.pdf中,可能会阐述包的创建、依赖和封装原则。 通过阅读这组PDF教程,读者可以逐步掌握UML的各种图表类型及其使用场景,...

    uml、架构设计学习资料、课件

    - **包图(Package Diagram)**:展示了系统组件的组织和封装。 - **状态图(State Diagram)**:表示对象在其生命周期内的各种状态转换。 - **活动图(Activity Diagram)**:类似于流程图,描述了系统中的行为过程...

    uml 资料汇总 题 材料

    - **包图(Package Diagram)**:组织和分组相关的类,表示模块化和封装。 **UML练习题和复习材料的重要性**: - **提升理解力**:通过做题和复习,可以深入理解UML各元素的意义和用法,提高对建模语言的掌握程度...

    UML基础与Rose建模-专业技能实训实验报告

    - 使用该工具绘制用例图、顺序图、协作图、类图、对象图、包、状态图、活动图、构件图、配置图等。 - 实践中学习如何将理论知识应用到实际项目中。 2. **了解面向对象的基本概念**: - 掌握面向对象的核心概念,...

    UML技术参考手册

    层次图用来组织和管理UML模型中的类和接口,展示它们的分组和封装关系。 **9. SQL与UML的结合** 在实际应用中,UML模型往往与SQL数据库紧密关联。UML类图可以映射到数据库表,属性对应列,关联对应外键。通过逆向...

    UML参考手册.rar

    - **图**:UML中的图包括类图、用例图、序列图、协作图、状态图、活动图等,它们分别代表不同视角下的系统模型。 2. **类图(Class Diagram)**: - 类是对象的蓝图,包含属性(Attributes)和操作(Operations)...

    uml期末复习 选择题

    - **Inheritance (继承)**: 虽然在UML用例图中不常用,但它表示一种继承关系,其中子用例继承父用例的特性。 #### 三、UML的适用范围 **6. UML的独立性** - **定义**: UML是一种独立于具体软件开发过程的建模语言,...

    UML Notion Guide

    UML中的图表主要包括类图、对象图、序列图、协作图、用例图等。每种图表都有特定的目的和应用场景,它们共同构成了一个完整的模型视图。 - **类图**:展示类、接口和它们之间的关系。 - **对象图**:显示类实例及其...

    UML參考設計

    3. **包图(Package Diagram)**:包图用于组织和管理大型系统的模块化,它表示不同组件的封装和依赖关系,有助于保持代码的可维护性和重用性。 4. **组件图(Component Diagram)**:组件图描述了软件系统中的物理组件...

    UML课件(这个还是挺全的)

    9. **包图(Package Diagram)**:包图用于组织和管理大型项目中的模型元素,通过封装和组合来管理复杂性。它显示了包(Package)之间的关系,如依赖(Dependency)、包含(Containment)和泛化(Generalization)。...

    UML中文参考手册

    - **包(Package)**:用于组织和管理模型元素,可以封装一组相关的类和接口。 **UML在软件开发中的作用**: 1. **需求分析**:用例图、活动图帮助理解用户需求,构建系统概览。 2. **设计阶段**:类图、组件图、部署...

    大二下软件工程UML课件

    10. **包图(Package Diagram)**:包图用于组织和管理大型项目中的模型元素,通过封装和依赖关系展示模块化设计。 通过深入学习和实践这些UML图,学生能够更好地理解和设计软件系统的结构和行为。老师的PPT课件将...

    uml课件

    10. **包图(Package Diagram)**:用于组织和管理大型项目,显示模块化的结构。理解包、依赖和泛化关系。 此外,由于标签中提到了"java",这表明课件可能特别关注UML在Java编程语言中的应用。在Java中,UML可以...

    UML2[1].0设计手册

    2. **更精确的模型**:在UML2.0中,模型元素的精确性得到提升,如类(Class)增加了接口(Interface)支持,组件(Component)和部署图(Deployment Diagram)增强了对分布式系统的建模能力。 3. **复合结构**:UML...

    OOAD和uml

    10. **包图(Package Diagram)**:用于组织和管理大型项目,展示模块间的依赖关系。 UML不仅仅是一种绘图工具,它还支持模型驱动的开发(Model-Driven Development,MDD),通过将模型转换为实际代码,可以提高...

    UML2建模技术详解

    4. **包图(Package Diagrams)**:强化了模块化和封装的概念,支持更细粒度的组织和管理。 5. **扩展的注解和约束机制**:允许添加自定义的元数据,增强了模型的表达力和验证能力。 通过学习和应用UML2建模技术,...

    面向對象分析與設計(UML.2.0版)1

    2. **UML图的类型**:UML 2.0版引入了多种图表,如用例图(Use Case Diagram)、类图(Class Diagram)、序列图(Sequence Diagram)、协作图(Collaboration Diagram)、状态图(State Diagram)、活动图(Activity...

Global site tag (gtag.js) - Google Analytics