软件建模技术4.pptx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件建模技术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)所说的泛化关系,被导入的元素不被合并。如果导入的元素与合并后的包中的元素有冲突,那么,导入包中的同名元素具有优先权,被导入的元素必须被重新命名 ;在考虑如何对类进行分组并放入不同的包时,主要依据类之间的依赖关系进行分组。包中的类应该是功能相关的,在建包时,应把概念上和语义上相近的模型元素纳入一个包。依赖关系其实是耦合的一种体现,如果两个包中的类之间存在依赖关系,那么这两个包之间就有了依赖关系,也就存在耦合关系。好的设计要求体现高内聚、低耦合的特性。 ;重用等价原则 ——把类放入包中时,应考虑把包作为可重用的单元。 共同闭包原则 ——把那些需要同时改变的类放在同一个包中。 若一个类的行为或结构的改变要求另一个类做相应的改变; 删除了一个类后,另一个类成多余的; 两个类之间有大量的消息发送。 共同重用原则 ——把不会一起使用的类不要放在同一个包中。 非循环依赖原则 ——包之间的依赖关系不要形成循环。 ;绘制包图的基本步骤如下: ① 分析系统的模型元素(通常是对象类),把概念 上或语义上相近的模型元素归入同一个包。 ② 对于每一个包,标出其模型元素的可视性,确定 包内每个元素的访问属性,是公共、保护或私有。 ③ 确定包与包之间的依赖关系,特别是“引入”关 系。 ④ 确定包与包之间的泛化关系。 ⑤ 绘制包图。 ⑥ 对结果进行精化和细化。 ;组件图和

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档