第5课 面向对象系统设计与行为建模.pptVIP

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5课 面向对象系统设计与行为建模

UML系统建模及系统分析与设计 王欣 张毅 编著 中国水利水电出版社 第5章 面向对象系统设计与行为建模 教学目的 1. 掌握交互图和状态机图的表示方法。 2. 掌握顺序图和通信图的区别。 3. 掌握顺序图、通信图、状态机图的建模步骤。 4. 清楚在实际的建模中什么时候该使用顺序图、通信图和状态机图等。 5.1 面向对象系统设计概述 系统设计是问题求解及建立解答的高级策略,必须制定解决问题的基本方法。系统设计要决定系统功能的软件和硬件的分配问题。 系统的高层结构形式包括子系统的分解、它的固有并发性、子系统分配给硬软件、数据存储管理、资源协调、软件控制实现、人机交互接口等。 用面向对象方法设计软件,原则上也是先进行总体设计(即系统设计),然后再进行详细设计(即对象设计),当然,它们之间的界限非常模糊,事实上是一个多次反复迭代的过程。 5.1.1 面向对象系统体系结构设计 设计阶段先从高层入手,然后细化。 ⑴ 系统分解。每次分解的各子系统数目不能太多,最底层子系统称为模块。 ⑵ 确定并发性。分析模型、现实世界及硬件中不少对象均是并发的。 ⑶ 处理器及任务分配。各并发子系统必须分配给单个硬件单元。 ⑷ 数据存储管理。 ⑸ 全局资源的处理。 ⑹ 选择软件控制机制。 ⑺ 人机交互接口设计。 5.1.2系统对象设计 系统对象设计主要是对分析模型进行整理,生成设计模型提供给OOP作为开发依据。 OOD包括:架构设计、用例设计、子系统设计、类设计等。 架构设计的侧重点在于系统的体系框架的合理性,保证系统架构在系统的各个非功能性需求中保持一种平衡; 子系统设计一般是采用纵向切割,关注的是系统的功能划分; 类设计是通过一组对象、顺序图展示系统的逻辑实现。 1. 面向对象设计的准则 ⑴ 模块化。 ⑵ 抽象。 ⑶ 信息隐藏。 ⑷ 低耦合。 一般地对象之间的耦合可分为交互耦合和继承耦合。 ① 交互耦合。尽量降低消息连接的复杂程度,应该尽量减少消息中包含的参数个数,降低参数的复杂程度,减少对象发送(或接收)的消息数。 ② 继承耦合。与交互耦合相反,应该提高继承耦合程度。 1. 面向对象设计的准则 ⑸ 高内聚。在面向对象设计中存在3种内聚,即服务内聚、类内聚和一般—特殊内聚。 ① 服务内聚。一个服务应该完成一个且仅完成一个功能。 ② 类内聚。设计类的原则是,一个类应该只有一个用途,它的属性和服务应该是高内聚的。 ③ 一般——特殊内聚。一般说来,紧密的继承耦合与高度的一般——特殊内聚是一致的。 ⑹ 可重用。类构件有3种重用方式,分别是实例重用、继承重用和多态重用。 ① 2. 面向对象设计的启发规则 ⑴ 设计结果应该清晰易懂。使设计结果清晰、易懂、易读是提高软件可维护性和可重用性的重要措施。 ① 用词一致。 ② 使用已有的协议。 ③ 减少消息模式的数目。 ④ 避免模糊的定义。 ⑵ 一般——特殊结构的深度应适当。类等级层次数应保持为7±2。 ⑶ 设计简单类。 2. 面向对象设计的启发规则 ⑷ 使用简单的协议。一般来说,消息中参数不要超过3个。 ⑸ 使用简单的操作。面向对象设计出来的类中的操作通常都很小,一般只有3至5行源程序语句,可以用仅含一个动词和一个宾语的简单句子描述它的功能。 ⑹ 把设计变动减至最小。在设计的早期阶段,变动较大,随着时间推移,设计方案日趋成熟,改动也越来越小了。中的峰值与出现设计错误或发生非预期变动的情况相对应。峰值越高,表明设计质量越差,可重用性也越差。 5.1.3 面向对象系统设计优化 面向对象系统设计优化的方式有:提高优先级;提高效率技术和增加继承等。 1.确定优化级 系统的各项质量指标并不是同等重要的,设计人员须确定各项质量指标的相对重要性(即确定优先级),以便在优化设计时制定折衷方案。 最糟糕的情况是,没有站在全局高度正确确定各项质量指标的优先级,以致系统中各个子系统按照相互对立的目标做了优化,这将导致系统资源的严重浪费。 2.优化设计时提高效率技术 ⑴ 增加冗余关联以提高访问效率。 ⑵ 调整查询次序。 ⑶ 保留派生属性。 通过某种运算而从其他数据派生出来的数据,是一种冗余数据,通常把这类数据“存储”(或称为“隐藏”)。 在计算它的表达式中,如果希望避免重复计算复杂表达式所带来的开销,可以把这类冗余数据作为派生属性保存起来。 派生属性既可以在原有类中定义,也可以定义新类,并用新类的对象保存它们。 每当修改了基本对象之后,所有依赖于它的、保存派生属性的对象也必须相应地修改。 3.建立良好的继承结构 ⑴ 抽象与具体。在设计类继承时,很少使用纯粹自顶向下的方法。通常的作法是,首先创建一些满足具体用途的类,然后对它们进行归纳,一旦归纳出一些通用的类以后,往往可以根据需要再派生出具体类。在进行了一些具体化(即门化

文档评论(0)

wangyueyue + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档