第7章包图7.1概述7.2包7.3包之间的关系7.4包图建模技术7.5实例——图书馆管理系统的包图7.1概述维护和控制系统总体结构的重要建模工具。方便理解和处理整个模型7.2包将多个元素组织为语义相关组的通用机制。包的内容:拥有或引用的模型元素。包的实例没有任何语义。仅在建模时有意义,而不必转换到可执行的系统中。7.2包7.2.1名称7.2.2拥有的元素7.2.3可见性7.2.4引入与输出7.2.5标准元素7.2.1名称每个包必须有一个与其他包相区别的名称。两种形式:简单名和路径名。7.2.2拥有的元素拥有是一种组成关系。包拥有的元素:类、接口、组件、节点、协作、用例、图以及其他包。一个模型元素不能被一个以上的包所拥有。如果包被撤销,其中的元素也要被撤销。一个包形成了一个命名空间。7.2.3可见性可见性的类型:①公有的(public)“+”②受保护的(protected)“#”③私有的(private)“-”7.2.4引入与输出①引入(import):允许一个包中的元素可以单向访问另一包中的元素②输出(export):包的公共部分7.2.4引入与输出7.2.5标准元素构造型用途虚包(façade)描述一个只引用其他包内元素的包框架(framework)描述一个主要由模式组成的包桩(stub)描述一个作为另一个包的公共内容代理的包子系统(subsystem)描述一个表示正在建模中的整个系统的一个独立部分的包系统(system)描述一个表示正在建模中的整个系统的包7.3包之间的关系包之间可以有两种关系:①引入和访问依赖:在一个包中引入另一个包输出的元素②泛化:说明包的家族7.4包图建模技术7.4.1对成组的元素建模7.4.2对体系结构视图建模7.4.1对成组的元素建模①浏览特定体系结构视图中的建模元素,找出由在概念和语义上相互接近的元素所定义的组块。②把每一个这样的组块放到一个包中。③对每一个包找出可以在包外访问的元素,将这些元素标记为公有的,把其他的元素标记为受保护的或私有的。如果不确定时,就隐藏该元素。④确定包与包之间的依赖关系,特别是引入依赖。⑤确定包与包之间的泛化关系,以及包的多重性和重载。7.4.2对体系结构视图建模①找出问题语境中一组有意义的体系结构视图。②找出对于可视化、详述、构造和文档化每个视图的语义来说充分必要的元素(和图),并将它们放到合适的包中。③如有必要,将这些元素进一步地组合到它们自己的包中。④不同视图中的元素之间通常存在依赖关系。7.5实例——图书馆管理系统的包图7.5.1使用RationalRose绘制包图的步骤7.5.2图书馆管理系统的包图7.5.1使用RationalRose绘制包图的步骤1.创建包2.修改包的属性3.增加包的信息4.添加包之间的输入依赖5.删除包7.5.2图书馆管理系统的包图