软件工程理论与实践 第2版 课件 第10章 面向对象设计.pptx

软件工程理论与实践 第2版 课件 第10章 面向对象设计.pptx

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章面向对象设计本章概述 本章首先介绍面向对象设计与结构化设计的不同点,以及面向对象设计与面向对象分析的关系。然后介绍面向对象设计的过程、原则和启发规则。接着讲述系统设计,包括系统分解以及对问题域子系统、人机交互子系统、任务管理子系统、和数据管理子系统的设计。最后,对对象设计进行较为详细的阐述,包括设计类中的服务、设计类的关联和对象设计优化。本章目标:了解面向对象设计与结构化设计的不同理解面向对象设计与面向对象分析的关系理解面向对象设计的过程、原则和启发规则熟悉面向对象系统分解方法熟悉面向对象问题域、人机交互、任务管理和数据管理各子系统的设计方法掌握对象设计方法目录10.1 面向对象设计与结构化设计10.2 面向对象设计与面向对象分析的关系10.3 面向对象设计的过程与规则10.4 面向对象设计的启发规则10.5 系统设计10.6 对象设计第一节面向对象设计与结构化设计10.1 面向对象设计与结构化设计 与结构化的设计相比,面向对象的设计更符合复杂的、随机性较强和考虑并发性的系统软件设计,而不适合逻辑性很强的系统软件设计。结构化软件设计一般从系统功能入手,按照需求将系统功能分为若干个子功能模块。但是,用户的需求是在不断变化的。需求的改变往往会对功能模块产生影响,从而对整个系统产生影响,而面向对象的设计基于类、对象、封装、继承等概念,相比之下,需求的变化对系统的局部影响并不容易扩展到全局。因此,面向对象设计方法比结构化设计方法更具有优势,使用范围更广。10.1 面向对象设计与结构化设计 由于在类中封装了属性和方法,因此在面向对象的类设计中已经包含了面向过程中的过程设计。此外,与面向过程中的数据设计所不同的是,面向对象设计中的数据设计并不是独立进行的,面向对象设计中的类图相当于数据的逻辑模型,可以很容易地转换成数据的物理模型。第二节面向对象设计与面向对象分析的关系10.2 面向对象设计与面向对象分析的关系设计阶段的任务是及时把分析阶段得到的需求转变成符合各项要求的系统实现方案。与传统的软件工程方法不同的是,面向对象的方法不强调需求分析和软件设计的严格区分。实际上,面向对象的需求分析和面向对象的设计活动是一个反复迭代的过程,从分析到设计的过渡,是一个逐渐扩充、细化和完善分析阶段所得到的各种模型的过程。严格的意义上来讲,从面向对象分析到面向对象设计不存在转换问题,而是同一种表示方法在不同范围的运用。面向对象设计也不仅仅是对面向对象分析模型进行细化。10.2 面向对象设计与面向对象分析的关系面向对象分析到面向对象设计是一个平滑的过渡,即没有间断没有明确的分界线。面向对象分析建立系统的问题域对象模型,而面向对象设计是建立求解域的对象模型。都是建模过程,但二者性质有别。分析建模可以脱离系统的具体实现,而设计建模需要考虑系统的具体实现环境的约束,例如选用语言,开发人员等问题。第三节面向对象设计的过程与规则10.3.1 面向对象设计的过程(1)建立软件体系结构环境图 在软件体系结构设计开始的时候,设计应该定义与软件进行交互的外部实体(其他系统、设备和人员等)以及交互的特性。一般在分析建模阶段可以获得这些信息,并使用软件体系结构环境图对环境进行建模,描述系统的出人信息流、用户界面和相关的支持处理。一旦建立了软件体系结构的环境图,描述出所有的外部软件接口,软件架构师就可以通过定义和求精实现软件体系结构的构件来描述系统的结构。这个过程可一直迭代,直到获得一个完善的软件体系结构。在设计的初始阶段,软件架构师用软件体系结构环境图对软件与外部实体交互的方式进行建模。10.3.1 面向对象设计的过程如图所示,与目标系统(即开发软件体系结构的系统)交互的系统可以表示为:上级系统:将目标系统作为某些高层处理方案的一部分。下级系统:被目标系统所使用,并且为完成目标系统的功能提供必要的数据和处理同级系统:在对等的基础上相互作用(例如,信息要么由目标系统和同级系统产生,要么被目标系统和同级系统使用)。参与者:指通过产生和使用所需的信息,实现与目标系统交互的实体(人、设备)。每个外部实体都通过某一接口(带阴影的小矩形)与目标系统进行通信。10.3.1 面向对象设计的过程(2)软件体系结构设计 软件体系结构环境图建立之后,而且对所有的外部软件接口进行了描述,就可以进行软件体系结构设计了。软件体系结构设计可以自底向上进行,先为系统中最底层细节编程,然后逐步在更高层累计细节直至最终满足系统需求,如将关系紧密的对象组织成子系统或层;也可以自顶向下进行,通过分解功能来解决问题,尤其是使用设计模式或遗产系统时,会从子系统的划分人手;还可以自中向上下进行,先开始做系统中看来容易做的,再向相应的高层或底层扩展。至于选择哪一种方式,需要根据具体的情况来确定。当没有类似

文档评论(0)

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

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

1亿VIP精品文档

相关文档