软件建模技术4
包图;●包图(Package Diagram)
●包图(Package Diagram)也是一种结构型 UML图,它用于显示包与包之间的依赖关系,可以放入包图中的元素和关系有:包(package)、所有可打包元素(packageable element)、依赖(dependency)、元素导入(element import)、包导入(package import)、包合并(package merge)。
●一个包表示一个命名空间,用于将语义相关的元素组织在一起。包可以包含其它的包,以及其它的可打包元素,如:类、用例、组件等。
;;
;可见性;●元素导入关系:元素导入关系是一种有向关系,用带开放箭头的虚线表示。它从一个要导入元素的包指向一个要被导入的具体元素,如所示。如果被导入的元素在命名空间中的可见性为public,则在关系中用关键字 “?import?”来说明,如果它的可见性是 private 的则用关键字“?access?”来表示。元素导入的含义为将某些元素引入到新的命名空间中作为其成员,但和包中自身所拥有的元素相比,被导入的元素只是一种引用,也就是说如果要对这些导入的元素作修改的话,只能在它们的源包中进行修改。;●包导入关系:包导入关系的表示法与元素导入关系类似,不同的是它指向的是一个要被导入包。包导入的含义是:一旦某个包某导入到新的命名空间后,那么这个包中的元素就可以被该命名空间中的元素直接访问,而不再需要通过限定名的方式来访问它们。
;users;;包的access关系和import关系的区别:
如果包users被导入到另一个包Z中,如果users和security是access的关系,则Z中的元素是看不到包security中的元素Credentials和IdentityVerifier的,即包security中的元素Credentials和IdentityVerifier对包Z中的元素来说,其可见性是private
如果包users和包security是import的关系,那么,包Z中的元素是可以见到包security中的元素Credentials和IdentityVerifier的,也就是说,包security中的元素Credentials和IdentityVerifier对包Z中的元素来说,其可见性是public
;●包合并关系:包合并关系是一种包与包之间的有向关系,用带开放箭头的虚线表示,它从源包指向目标包,再加上一个关键字“?merge?”,用于表示目标包中的内容被源包中的内容扩展。它类似于类图中的泛化关系,从概念上表示源元素将目标元素的特性添加到自己身上,从而得到一个由两组特性组合之后的新元素。
;包的合并关系有一些规则:
包中的私有成员能被任何其他包合并
如果合并的包中的类与被合并包中的类重名或具有相同的类型,那么在合并后的包中将存在一个泛化关系来建模合并的包与被合并包中的这些类
也可以仍然使用被合并包的名字加类名的方式引用被合并包中的类
合并包和被合并包中的类都会保持原样不变的被添加到合并包中
即使被合并包还不存在子包,子包也将被添加到合并包中
如果被合并的包中有一个子包与合并包中的子包同名,那么这两个子包之间还会合并一次
任何与被合并包具有导入关系的包都将作为合并包的导入包,与合并后的包建模为导入关系,就是说,不会产生规则(2)所说的泛化关系,被导入的元素不被合并。如果导入的元素与合并后的包中的元素有冲突,那么,导入包中的同名元素具有优先权,被导入的元素必须被重新命名
;在考虑如何对类进行分组并放入不同的包时,主要依据类之间的依赖关系进行分组。包中的类应该是功能相关的,在建包时,应把概念上和语义上相近的模型元素纳入一个包。依赖关系其实是耦合的一种体现,如果两个包中的类之间存在依赖关系,那么这两个包之间就有了依赖关系,也就存在耦合关系。好的设计要求体现高内聚、低耦合的特性。
;重用等价原则
——把类放入包中时,应考虑把包作为可重用的单元。
共同闭包原则
——把那些需要同时改变的类放在同一个包中。
若一个类的行为或结构的改变要求另一个类做相应的改变;
删除了一个类后,另一个类成多余的;
两个类之间有大量的消息发送。
共同重用原则
——把不会一起使用的类不要放在同一个包中。
非循环依赖原则
——包之间的依赖关系不要形成循环。
;绘制包图的基本步骤如下:
① 分析系统的模型元素(通常是对象类),把概念
上或语义上相近的模型元素归入同一个包。
② 对于每一个包,标出其模型元素的可视性,确定
包内每个元素的访问属性,是公共、保护或私有。
③ 确定包与包之间的依赖关系,特别是“引入”关
系。
④ 确定包与包之间的泛化关系。
⑤ 绘制包图。
⑥ 对结果进行精化和细化。
;组件图和
您可能关注的文档
- 跨线桥施工安全应急预案.doc
- 跨越专项方案.doc
- 跨国公司03.ppt
- 跳皮筋教材.doc
- 跨文化沟通(日本).doc
- 蹦跳的汉字.ppt
- 身边的科技PPT.ppt
- 足浴PPT.ppt
- 路桥国际样板引路策划方案.doc
- 车标故事--罗孚.doc
- Unit 3 Lesson 11 I Like the Four Seasons in Beijing北京版(2024)英语三年级下册.pptx
- Unit 7 How do you feel ?Part A 接力版(2024)英语三年级下册.pptx
- Unit6 Time to eat. Story time 三年级英语下册(join in外研剑桥英语2024).pptx
- 2.3 平面镜(课件)苏科版物理八年级上学期.pptx
- Unit 4 Healthy food Part A人教PEP版(2024)英语三年级下册(1).pptx
- 蓝白华侨城地产工作汇报.pptx
- 简约线条商务通用PPT模板.pptx
- 2024年第二季度投资工作汇报.pptx
- 中国航天日:扬帆起航,逐梦九天.pptx
- 销售指标汇报通用PPT模板.pptx
最近下载
- 第一节_任丘碳酸盐岩油藏概念.doc
- PN8213 65w氮化镓充电器芯片可代换NCP1342.pdf VIP
- 横河(Yokogawa)Daqstation DX1000 DX1000N使用说明书(中文).pdf VIP
- 自考00015英语(二)高频词汇.pdf VIP
- 浙江省护理病历书写规范.ppt
- (高清版)B-T 20147.4-2023 色度学 第4部分:CIE 1976 L a b颜色空间.pdf VIP
- 2023年菏泽医学专科学校单招语文考试试题及答案解析.docx VIP
- 木工设备操作说明书.pdf VIP
- 船舶液压舵机.ppt VIP
- 预包装食品标签通则测试题及答案.docx VIP
原创力文档

文档评论(0)