- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机科学与通信工程学院 betts-li@ 面向对象技术 第4讲 包图与实现视图 内容提要 包图 实现图 组件图 配置图 包图概述 在面向对象软件开发的视角中,类显然是构建整个系统的基本构造块。但是对于庞大的应用系统而言,其包含的类将是成百上千,再加上复杂的类间关系,必然是大大超出了人们可以处理的复杂度。这也就是引入了“包”这种分组事物构造块。 包图概述 包的作用是: 对语义上相关的元素进行分组; 定义模型中的“语义边界”; 提供配置管理单元; 设计时,提供并行工作的单元; 提供封装的命名空间,其中所有名称必须惟一。 包图之间的依赖关系展现了应用程序高层的组织结构 包的表示 包的图形表示 包的表示 名称 拥有的元素 可见性 引入与输出 包的表示 名称 每个包必须有一个与其他包相区别的名称。 两种形式:简单名和路径名 包的表示 拥有的元素 拥有是一种组成关系。 包拥有的元素:类、接口、组件、节点、协作、用例、图以及其他包。 一个模型元素不能被一个以上的包所拥有。 如果包被撤销,其中的元素也要被撤销。 一个包形成了一个命名空间。 包的表示 可见性 可见性的类型: 公有的(public) “+” 受保护的(protected) “#” 私有的(private)“-” 包的表示 引入与输出 引入(import): 允许一个包中的元素可以单向访问另一包中的元素 输出(export): 包的公共部分 包的表示 引入与输出 包之间的关系 包之间可以有两种关系: 引入和访问依赖: 在一个包中引入另一个包输出的元素 泛化: 说明包的家族 包图建模技术 阅读包图 包图建模技术 包图建模技术 对成组的元素建模 对体系结构视图建模 包图建模技术 对成组的元素建模 浏览特定体系结构视图中的建模元素,找出由在概念和语义上相互接近的元素所定义的组块。 把每一个这样的组块放到一个包中。 对每一个包找出可以在包外访问的元素,将这些元素标记为公有的,把其他的元素标记为受保护的或私有的。如果不确定时,就隐藏该元素。 确定包与包之间的依赖关系,特别是引入依赖。 确定包与包之间的泛化关系,以及包的多重性和重载。 包图建模技术 对体系结构视图建模 找出问题语境中一组有意义的体系结构视图。 找出对于可视化、详述、构造和文档化每个视图的语义来说充分必要的元素(和图),并将它们放到合适的包中。 如有必要,将这些元素进一步地组合到它们自己的包中。 不同视图中的元素之间通常存在依赖关系。 包图的设计原则 内聚性原则 可以帮助开发者决定如何把类划分到包中; 粒度 包图的设计原则 内聚性原则 重用-发布等价原则(REP) 重用的粒度就是发布的粒度 共同重用原则(CRP) 一个包中的所有类应该是重用的。如果重用了包中的一个类,那么就要重用包中的所有类。 共同封闭原则(CCP) 包中的所有类对于同一种性质的变化应该是共同封闭的。一个变化若对一个封闭的包产生影响,则将对该包中的所有类产生影响,而对于其他包则不造成任何影响。 包图的设计原则 耦合性原则:稳定性 无环依赖原则(ADP) 在包的依赖关系图中不允许存在环 包图的设计原则 耦合性原则:稳定性 无环依赖原则(ADP) 包图的设计原则 耦合性原则:稳定性 无环依赖原则(ADP) 包图的设计原则 耦合性原则:稳定性 无环依赖原则(ADP) 包图的设计原则 耦合性原则:稳定性 稳定依赖原则(SDP) 朝着稳定的方向进行依赖 包图的设计原则 耦合性原则:稳定性 什么是稳定性 韦伯斯特词典:不容易被移动 要使一个软件包难以改变,一个肯定可行的方法是让许多其他的软件包依赖于它。具有很多输入依赖关系的包是非常稳定的,因为要使所有依赖于它的包能够相容于对它所作的所有更改,往往需要非常大的工作量。 稳定性度量 Ca输入耦合度,依赖于该包内的类的数目; Ce输出耦合度,依赖于该包外的类的数目; 不稳定性 I=Ce/(Ca+Ce) I=0表示该包具有最大的稳定性; I=1表示该包具有最大的不稳定性。 包图的设计原则 耦合性原则:稳定性 SDP规定一个包的I度量值应该大于它所依赖的包的I度量值,即I度量值应该顺着依赖的方向减少。 包图的设计原则 耦合性原则:稳定性 稳定抽象原则(SAP) 包的抽象程度应该与其稳定程度一致。 包图的设计原则 耦合性原则:稳定性 抽象性度量 Nc包中类的总数; Na包中抽象类的数目; 抽象性度量A=Na/Nc A=0意味着包中没有任何抽象类; A=1意味着包中只包含抽象类。 包图的设计原则 耦合性原则:稳定性 主序列 包图的设计原则 耦合性原则:稳定性 到主序列距离D=|A+I-1|/sqrt(2)
您可能关注的文档
最近下载
- 2021锅炉受热面高温纳米陶瓷识别涂层技术规范.docx VIP
- 企业员工安全生产教育培训及考核记录表( 年度).doc VIP
- 2025年中考数学几何模型归纳训练专题44 圆中的重要模型之定角定高模型、米勒最大角模型解读与提分精练(全国通用)(解析版).docx VIP
- 高中信息技术粤教版必修二教学计划.docx VIP
- 青岛版(六三制)四年级科学下册活动手册含答案.docx VIP
- 一例直肠癌术后乙状结肠造口皮肤黏膜分离的案例分享PPT.pptx
- 程序设计基础第2次形考-浙江电大形成性测评系统复习资料.docx VIP
- 不动产登记代理人《不动产登记代理实务》考前通关必练题(附答案).doc VIP
- 不动产登记代理人_《不动产权利理论与方法》考前通关必练题(附答案).doc VIP
- 《医养结合机构护理员服务规范》(编制说明编写要求).docx
文档评论(0)