欢迎来到天天文库
浏览记录
ID:39337238
大小:513.50 KB
页数:69页
时间:2019-07-01
《包图 构件图 与部署》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10章包图、构件图与部署图(Package/Component/DeploymentDiagram)冯国奇gqfeng@mail.neu.edu.cn1为什么要包在面向对象软件开发的视角中,类显然是构建整个系统的基本构造块。但是对于庞大的应用系统而言,其包含的类将是成百上千,再加上其间复杂的关联关系、多重性等,必然是大大超出了人们可以处理的复杂度。这也就是引入了“包”这种分组事物构造块。2包的概念包是维护和控制系统总体结构的重要建模工具,有助于方便理解和处理整个模型。分解是软件开发中控制软件复杂性的重要手段。在OO方法中,需要考虑如何把相关的类放在一起
2、。把语义相近并倾向于同一变化的元素组织起来加入同一个包中,以便于理解和处理整个模型。3为什么要包包的作用是:1)对语义上相关的元素进行分组2)定义模型中的“语义边界”3)提供配置管理单元4)在设计时,提供并行工作的单元5)提供封装的命名空间,其中所有名称必须唯一4包的概念5包的表示UML中,用文件夹符号来表示一个包。包由一个矩形表示,它包含2栏。下面是最常见的几种包的表示法。PageNamePageNameClassName-1ClassName-2…..PageName类名Rose常用表示法包名放在第一栏在第二栏画出所包含的类图形表示第二栏列出包含的类名
3、包名放在第二栏System:WebUIclass嵌套包6包的表示包的名称每个包必须有一个与其他包相区别的名称。标识包名称的格式有两种:简单名和全名。其中,简单名仅包含包一个简单的名称;全名是用该包的外围包的名字作为前缀,加上包本身的名字。Rose常用表示方法中,其包名UI就是一个简单名。而包System.Web.UI才是一个完整带路径的名称,表示UI这个包是位于System.Web命名空间中的。UISystem:Web:UI简单名含路径名(全名)7包的表示包的元素在一个包中可以拥有各种其他元素,包括类、接口、构件、节点、协作、用例,甚至是其他包或图。这是一
4、种组成关系,意味着元素是在这个包中声明的,因此一个元素只能属于一个包。每一个包就意味着一个独立的命名空间,因此,两个不同的包,可以具有相同的元素名,但由于所位于的包名不同,因此其全名仍然是不同的。像类中的属性和方法一样,包中的元素也有可见性,包内元素的可见性控制了包外部元素访问包内部元素的权限。8包的表示包的可见性有3种:“+”表示“public”“#”表示“protected”“-”表示“private”9包的表示-包的构造型为了表示包的新特性,用构造型来描述包的新特征。《system》:表示整个系统。《subsystem》:表示正在建模的系统中某个独立
5、的子系统。《facade》:只是某个其它包的视图,它主要用来为其它一些复杂的包提供简略视图。《stub》:是一个代理包,它服务于某个其他包的公共内容,这通常应用于分布式系统的建模中。《framework》:用来表示一个框架的,框架是一个领域内的应用系统提供可扩充模板的体系结构模式。10包图中的关系包图中的关系有2种:依赖关系、泛化关系。1、依赖关系:分为4种。把箭尾端的包称为客户包,把箭头端的包称为提供者包。11包图中的关系《use》关系:《use》关系是一种默认的依赖关系,说明客户包(箭尾端的包)中的元素以某种方式使用提供者包(箭头端的包)的公共元素,也
6、就是说客户包依赖于提供者包。如果没有指明依赖类型,则默认为《USE》关系。《import》关系:最普遍的包依赖类型,说明提供者包的命名空间将被添加到客户包的命名空间中,客户包中的元素也能够访问提供者包的所有公共元素。《access》关系:如果只想使用提供者包中的元素,而不想将两个包合并,则应使用该关系。在客户包中必须使用路径名,才能访问提供者包中的所有公共元素。《trace》关系:想表示一个包到另一个包的历史发展,则需要使用《trace》关系来表示.12包图中的关系例如,有两个《USE》依赖,Client包将通过Server包来完成Order的存储,而Se
7、rver包使用System.Data.SqlClient包来实现数据库的存储。例如,Client包引用了(import)了Rule包,Rule包又引用了GUI包。同时,这还表示Client包间接引用了GUI包。13包图中的关系2、泛化关系包间的泛化关系类似于类间的泛化关系,使用一般包的地方,可以用特殊包代替。在系统设计中,对某一个特定的功能,有多种实现方法。例如,实现多数据库支持;实现B/S和C/S双界面。这时就需要定义一些高层次的“抽象包”和实现高层次功能的“实现包”。14泛化关系例如,说明GUI有两种风格:一种是基于WinForm的C/S风格,一种是W
8、ebForm的B/S风格。15创建包图绘制包图的基本过程主要有三个
此文档下载收益归作者所有