包图

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

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

理解:包图其实就是在逻辑上把一个复杂的图模块化,描述需求的高阶概述或设计的高阶概述。

-包含一些类的主要模型

-它可以组合在包中帮助模型管理

-包是一个逻辑类或其他包的集合

-我们发现可以把登记系统中的类放在三个包中

–界面、人和学校事件

类包图

理解:顾名思义,就是把相同的类,放置在相同的包中(不是特别的严谨)。

1.创建类包图,以在逻辑上组织你的设计

把一个框架的所有类放置在相同的包中。 一般把相同继承层次的类放在相同的包中。 彼此间有聚合或组合关系的类通常放在相同的包中。 彼此合作频繁的类,信息能够通过UML顺序图和UML合作图反映出来的类,通常放在相同的包中。

2.创建UML组件图,以在物理上组织你的设计

如果组件比较接近技术,例如那些通过Enterprise Java Beans (EJB)或Visual Basic的组件,应该优先选择UML组件图来描述物理设计,而不是包图。

3.包的关系

-继承关系
包间的继承,继承的包显示在母包的分支下。

-依赖关系
包间的依赖表明,从属的包的内容依赖于另一个包的内容,或机构上依赖于其他包的内容。

-从属关系
意味着该包的类可以和其他包中的类进行通信。

用例包图

创建用例包图,以组织你的需求
除了以下介绍的包原则之外,应用下列的规则来把UML用例图组织到包图里。把关联的用例放在一起∶included、extending、和inheriting的用例放在相同的包中,就像base/parent用例一样。组织用例应该以主要主角的需要为基础。

包图常见问题

1.一定要避免循环依赖的产生。

2.测试时可以以包为测试单位。

3.应该尽量把概念和语义上接近的元素包含在同一个包中。

4.对于一个包,找出哪些包内的元素是可以在包外访问的,把这些元素标记为公共的,其他所有元素都标记为受保护的或私有的。

菜鸟实战UML——包图相关推荐

  1. 菜鸟实战UML——活动图

    活动图 活动图(activity diagram)是阐明了业务用例实现的工作流程.业务工作流程说明了业务为向所服务的业务主角提供其所需要的价值而必须完成的工作,业务用例由一系列活动组成,他们共同为业务 ...

  2. 菜鸟实战UML实现图——部署图 构件图

    目录 -实现图 -部署图 -构件图 -举例 -实战机房收费系统 一.实现图 1.实现图:用来描述实现方面的信息,它主要从系统的层次来描述.如:硬件的组成和布局:软件的划分和功能实现. 2.实现图包括: ...

  3. [跟我学UML] UML包图中的包引入和包合并

    缩略语     UIS     UML Infrastructure Specification   UML基础结构规范     UML    Unifed Modeling Language     ...

  4. java 包图_九步实现UML包图创建

    本文和大家一起讨论一下UML包图的概念,包是一个UML结构,它使得你能够把诸如用例或类之类模型元件组织为组.包被描述成文件夹,可以应用在任何一种UML图上. UML包图简介 一个"包图&qu ...

  5. 第13章 逻辑架构和UML包图

    逻辑架构和层 逻辑架构是软件类的宏观组织结构,它将软件类组织为包(或命名空间).子系统和层等. 层是对类.包或子系统的分组,具有对系统主要方面加以内聚的职责.通常包括:1.用户界面.2.应用逻辑和领域 ...

  6. [跟我学UML] UML包图中的包和命名空间

    本文基于UML规范,介绍了包图中的包和命名空间.此外,通过举例来帮助读者加深理解. ...请打开附件阅读全文. 转载于:https://blog.51cto.com/yunli/186628

  7. 系统架构-UML 包图

    经过了一个上午的讨论,对于UML的包图(系统架构图)又有了更深一层的理解. 第一个图: 简单解释:UI:界面层,BLL:业务逻辑层:DAL:数据处理层.FUN:封装了常用业务逻辑. 此图不合理原因: ...

  8. 菜鸟实战UML——对象图

    对象图 对象图(Object Diagram): 是显示了一组对象和他们之间的关系.使用对象图来说明数据结构,类图中的类或组件等的实例的静态快照. 对象图和类图一样反映系统的静态过程,但它是从实际的或 ...

  9. 菜鸟实战UML——状态图

    状态图 状态图(Statechart Diagram):是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应.通常我们创建一个UML状态图是为了以下的研究目的: ...

  10. 9.1 什么是包图?

    9.1 什么是包图? 包图, UML 包图英文名字叫Package Diagram,Package的意思就是:把...打包. 包图就是对其它UML图进行"打包"的一种图,打包的目的 ...

最新文章

  1. 智能假手与机器人融合可以灵活抓取物品
  2. Spring AOP编程-传统基于aspectJ切点AOP开发
  3. datasg中数据的存储结构
  4. HDU 4535 吉哥系列故事——礼尚往来
  5. linux两台服务器 同一个地址_【网工玩Linux】搭建开源多运营商(ISP)链路负载均衡器...
  6. Servlet的文件上传
  7. 中值滤波器 ( Median Filter ) C++ 实现
  8. python定义16进制数组,十六进制字符串到python中的字节数组
  9. C/C++语法知识点汇总
  10. Excel VBA数组使用方法
  11. 正则表达式基础---转自 Python正则表达式指南 前边
  12. 1.2 安装与卸载Visual Studio 2018
  13. CodeSmith注册
  14. 西部世界第二季百度云免费在线观看_迅雷下载
  15. 【考研经验】一个苍山的不入流的学生的考研之路
  16. poj3182(bfs)
  17. 沈向洋官宣离职微软!他是微软级别最高的中国人、微软AI领导者
  18. 制作原型工具_15种顶级原型制作工具齐头并进
  19. python用matplotlib画五角星_绘图:Matplotlib
  20. 十三、linux curl详解

热门文章

  1. 访问项目,页面打开太慢解决方式
  2. device or resource busy问题处理
  3. mysql的服务被删了怎么办_三、MySQL服务构成、基本操作、误删所有用户后的恢复方法...
  4. 华为云CDN网站加速配置
  5. python 状态空间模型_R语言状态空间模型:卡尔曼滤波器KFAS建模时间序列
  6. Absolute Enable Right Click Copy 简单快速解除滑鼠右键使用限制
  7. Google Colab解压压缩包
  8. C#使用WebProxy实现代理访问webservice
  9. 网站速度对谷歌SEO优化的影响
  10. 网站性能优化三大策略