- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件建模技术 第5章 包图
第5章 包图 5 .1 包图的概念 5.2 包的表示 5.3 包图中的关系 5.4 阅读包图 5.5 创建包图 5.6 包图建模 5.1 包图的概念 1.包 包就像一个“容器”,可用于组织模型中的相关元素,以便容易理解。 将相关的各种类型的模型元素组织成组的通用机制。 包的实例没有任何语义。 仅在建模时有意义,而不必转换到可执行的系统中。 5.1 包图的概念 2.包图 描述包及其关系的图。图5-1是一个典型的包图。 包图(Package Diagram) 是维护和控制系统总体结构的重要建模工具。 5.1 包图的概念 3.包的作用 对语义上相关的元素进行分组。 提供配置管理单元。 提供并行工作的单元。 提供封装的命名空间,同一个包中,其元素的名称必须唯一。 5.1 包图的概念 3.包中的元素 包中的元素:类、接口、组件、节点、协作、用例、图以及其他包。 一个模型元素不能被一个以上的包所拥有。 如果包被撤销,其中的元素也要被撤销。 5.2 包的表示 1.包的符号表示 UML中,用文件夹符号来表示一个包。包由一个矩形表示,它包含2栏。 最常见的几种包的表示法,如图5-2所示: PackageName PackageName ClassName-1 ClassName-2 ….. PackageName 类名 Rose常用表示法 包名放在第一栏 在第二栏画出所 包含的类图形表示 第二栏列出 包含的类名 包名放在第二栏 5.2 包的表示 1.包的符号表示 嵌套包及其表示 一个包可以包含其他的包; 嵌套包可以访问自身的元素; 应尽量避免使用嵌套包,一般2-3层最好。 Library Users 嵌套包 Librarian Borrower 5.2 包的表示 1.包的符号表示 嵌套包及其表示 外部表示法 5.2 包的表示 2.包的名称 每个包必须有一个与其他包相区别的名称。 两种形式:简单名和路径。 System:Web:UI System.Web.UI 5.2 包的表示 3.包的元素 在一个包中可以拥有各种其他元素,这是一种组成关系。 每一个包就意味着一个独立的命名空间,两个不同的包,可以具有相同的元素名。 在包中表示拥有的元素时,有两种方法:一种是在第二栏中列出所属元素名,一种是在第二栏中画出所属元素的图形表示。 5.2 包的表示 4.包的可见性 公有的(public) “+” 受保护的(protected) “#” 私有的(private)“-” 5.2 包的表示 可见性 含义 前缀符号 公有的 Public 此元素可以被任何引用该包的包中的元素访问。 + 受保护的 Protected 此元素可被继承该包的包中的元素访问。 # 私有的 private 此元素只能被同一个包中的元素访问。 - 4.包的可见性 包内元素的可见性控制了包外部元素访问包内部元素的权限。 5.3 包图中的关系 包之间可以有两种关系: 引用和访问依赖:在一个包中引入另一个包输出的元素 泛化:说明包的家族 5.3 包图中的关系 1.依赖关系 使用关系《use》:说明客户包中的元素以某种方式使用提供者包的公共元素。 包含关系《import》:提供者包命名空间的公共元素被添加为客户包命名空间上的公共元素 访问关系《access》:提供者包命名空间的公共元素被添加为客户包命名空间上的私有元素。 客户 提供者 5.3 包图中的关系 1.依赖关系 ④ 跟踪关系《trace》:通常表示一个元素历史地发展成为另一个进化版本。 分析模型是设计模型的元模型,元模型的元素进化为设计模型,这时指的是模型之间的关系,不是元素之间的关系。 分析模型 设计模型 元模型 5.3 包图中的关系 2.泛化关系 包间的泛化关系与类之间的泛化关系类似。 5.4 阅读包图 阅读包图的方法如下: 了解每个包的语义及其包含元素语义。 理解包间的关系。 找到依赖复杂的包,从最复杂的包开始阅读,然后依次是简单的包。 5.4 阅读包图 举例 例子描述 分析系统工作流程: 1)通过Internet连接到股票信息服务器,获取实时的股票信息,并存入数据库中。 2)根据用户的输入和选择,从数据库中获取相应的信息,展现在屏幕中。 3)在数据的展现过程中,将需要绘制大量的图表。 举例 根据功能模块组织包: 包 分析与功能 .NET支持包 SocketClient 负责连接Internet服务器,获取实时股票信息 System.Net.Sockets DataAccess 负责从数据库读写实时股票信息 System.Data.Sqlclient UI 负责响应用户输入和选择,并展现信息 System.Windows.Fo
原创力文档


文档评论(0)