UML08-包图-11章_第1页
UML08-包图-11章_第2页
UML08-包图-11章_第3页
UML08-包图-11章_第4页
UML08-包图-11章_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、UML系统建模-活动图桂林电子科技大学信息科技学院 刘芳芳第11章 包图 01包图的基本概念02在项目中使用包图 模型需要有自己的内部组织结构 能够将一个大系统进行分解,降低系统的复杂度; 许多个项目开发小组同时使用某个模型而不发生过多的相互牵涉规划合理的包能够反映系统的高层架构 系统由子系统和它们之间的依赖关系组合而成 包之间的依赖关系概述了包的内容之间的依赖关系。 面向对象程序设计常用的三层结构面向对象程序设计常用的三层结构用户界面层业务逻辑层数据访问层MVC架构model模型view视图control控制器包图(Package Diagram)是一种维护和描述系统总体结构的模型的重要建模

2、工具,通过对图中各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。包图可以用于对系统的功能功能或代码代码进行组织包图的基本概念包对自身所包含的内部元素的可见性也有定义,使用关键字private、protected或public来表示。private定义的私有元素对包外部元素完全不可见protected定义的被保护的元素只对那些与包含这些元素的包有泛化关系的包可见;public定义的公共元素对所有引入的包以及它们的后代都可见。包的命名和可见性 包包A中元素的可见性中元素的可见性包包B中元素的访问权限中元素的访问权限+若若B引用了引用了A,则则B中的任何元素可以访问中的任何元素可以

3、访问A中可见性是中可见性是+的元素的元素#若若B继承了继承了A,则则B中的任何元素可以访问中的任何元素可以访问A中可见性是中可见性是#的元素的元素-可见性是可见性是-的元素,只能被同一个包中的其它元素访问的元素,只能被同一个包中的其它元素访问在Rational Rose 2003中,支持四种包的构造型:CORBAModule包业务用例模型包业务设计包业务分析模型包(Common Object Request Broker Architecture)公共对象请求代理体系结构包的构造型和子系统系统是组织起来以完成一定目的的连接单元的集合,由一个高级子系统建模,该子系统间接包含共同完成现实世界目的的

4、模型元素的集合。一个系统通常可以用一个或多个视点不同的模型描述。系统使用一个带有构造型“system”的包表示,在Rational Rose 2003中,内部支持的二种系统。 包的构造型和子系统包可以拥有其他包作为包内的元素,子包又可以拥有自己的子包,这样可以构成一个系统的嵌套结构,以表达系统模型元素的静态结构关系。包的嵌套可以清晰的表现系统模型元素之间的关系,但是在建立模型时包的嵌套不宜过深,包的嵌套的层数一般以2到3层为宜。包的嵌套包之间的关系总的来讲可以概括为依赖关系和泛化。二个包之间存在着依赖关系通常是指这二个包所包含的模型元素之间存在着一个和多个依赖。对于由对象类组成的包,如果二个包

5、的任何对象类之间存在着如何一种依赖,则这二个包之间就存在着依赖。包的依赖联系同样是使用一根虚箭线表示,虚箭线从依赖源指向独立目的包。包的联系 包之间的关系总的来讲可以概括为依赖依赖和泛化泛化关系。 依赖关系依赖关系通常是指这二个包所包含的模型元素之间模型元素之间存在着一个和多个依赖。 包间的依赖关系可从独立元素间的依赖关系导出 包的依赖联系同样是使用一根虚箭线表示,虚箭线从依赖源指向独立目的包。包的联系依赖和泛化 引入引入(import)(import)依赖依赖是最常见的依赖关系 允许一个包中的元素存取另一个包中的公共元素包的联系引入依赖(import)包之间的泛化联系与对象类之间的泛化关系类

6、似(继承)泛化关系类似(继承) 泛化联系表达的是一般和特殊关系,特殊性包必须遵循一般性包的接口 一般性包可以只是定义接口,而由多个特殊性包来实现泛化联系的表示与类图中类之间的泛化关系类似,用实线加空心三角形箭头,由特殊性包指向一般性包包的联系泛化关系 描述需求的高层次概况 描述设计的高层次概况 在逻辑上把一个复杂的系统模块化 组织源代码包图的意义最小化包之间的依赖,最小化包之间的依赖,最小化最小化每个包中的每个包中的public、protected元素的个数元素的个数最大化最大化每个包中每个包中private元素个数元素个数 在建模时应该避免包之间的循环依赖,也就是不能够包含相在建模时应该避免

7、包之间的循环依赖,也就是不能够包含相互依赖的情况,对于这种情况应进行分析:互依赖的情况,对于这种情况应进行分析: 包图绘制原则三、 在项目中使用包图分析企业进存销管理系统,我们采用MVC架构进行包的划分。可以在逻辑视图下确定三个包,分别为模型包、视图包和控制包。模型包是对系统应用功能的抽象,在包中的各个类封装了系统的状态。视图包是对系统数据表达的抽象,在包中的各个类对用户的数据进行表达,并维护与模型中的各个类数据的一致性。控制包是对用户与系统交互事件的抽象,它把用户的操作编程系统的事件,根据用户的操作和系统的上下文调用不同的数据。三、 在项目中使用包图在考虑如何对类进行分组并放入不同的包时,主

8、要依据类在考虑如何对类进行分组并放入不同的包时,主要依据类之间的依赖关系进行分组。之间的依赖关系进行分组。包中的类应该是功能相关的,在建包时,应把概念上和语包中的类应该是功能相关的,在建包时,应把概念上和语义上相近的模型元素纳入一个包。义上相近的模型元素纳入一个包。依赖关系其实是耦合的一种体现,依赖关系其实是耦合的一种体现,好的设计要求体现高内好的设计要求体现高内聚、低耦合的特性。聚、低耦合的特性。设计包时,应遵循以下原则:设计包时,应遵循以下原则:重用等价原则重用等价原则共同闭包原则共同闭包原则共同重用原则共同重用原则非循环依赖原则非循环依赖原则重用等价原则重用等价原则 把类放入包中时,应考虑把包作为可重用的单元。共同闭包原则共同闭包原则 把那些需要同时改变的类放在同一个包中。若一个类的行为或结构的改变要求另一个类做相应的若一个类的行为或结构的改变要求另一个类做相应的改变;改变;删除了一个类后,另一个类成多余的;删除了一个类后,另一个类成多余的;两个类之间有大量的消息发送。两个类之间有大量的消息发送。共同重用原则共同重用原则 不会一起使用的类不要放在一个包中,避免无辜影响 如果元素如果元素A依赖于包依赖于包P中的某个元素中的某个元素B,则表示,则表示A会依赖于会依

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论