最新十二章节面向对象系统设计PPT课件.ppt
《最新十二章节面向对象系统设计PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新十二章节面向对象系统设计PPT课件.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、十二章节面向对象系统设计十二章节面向对象系统设计第十二章第十二章 面向对象系统设计面向对象系统设计 在软件开发人员完成了面向对象在软件开发人员完成了面向对象的分析之后,面向对象详细设计和开的分析之后,面向对象详细设计和开发阶段就可以开始,我们面对的问题发阶段就可以开始,我们面对的问题是如何针对系统的具体实现进行面向是如何针对系统的具体实现进行面向对象的设计。对象的设计。第十二章第十二章 面向对象系统设计面向对象系统设计 五个层次对应着在面向对象分析中介绍过的五个主要活五个层次对应着在面向对象分析中介绍过的五个主要活动:动:发现类及对象;发现类及对象;识别结构;识别结构;识别主题;识别主题;定义
2、属性;定义属性;定义服务。定义服务。这些活动,不必按顺序进行。这些活动指导人们从高的这些活动,不必按顺序进行。这些活动指导人们从高的抽象层抽象层(如问题域的类及对象)到越来越低的抽象层(结构、(如问题域的类及对象)到越来越低的抽象层(结构、属性和服务)。属性和服务)。这五个活动的安排表现了最普遍的总体方法。这五个活动的安排表现了最普遍的总体方法。 从面向对象分析到面向对象设计从面向对象分析到面向对象设计第十二章第十二章 面向对象系统设计面向对象系统设计 面向对象设计针对与实现有关的因素继续开展面向对面向对象设计针对与实现有关的因素继续开展面向对象分析的五个活动,包括问题域、人机交互、任务管理和
3、象分析的五个活动,包括问题域、人机交互、任务管理和数据管理等四个部分的设计。如图所示,面向对象设计模数据管理等四个部分的设计。如图所示,面向对象设计模型从横向看是上述四个部分,从纵向看每个部分仍然是五型从横向看是上述四个部分,从纵向看每个部分仍然是五个层次。个层次。 第十二章第十二章 面向对象系统设计面向对象系统设计 1. 为什么需要问题域部分设计为什么需要问题域部分设计首先,让我们先来分析一下在描述系统时的遇到的变动因首先,让我们先来分析一下在描述系统时的遇到的变动因素和稳定因素,这是面向对象分析方法的策略基础。素和稳定因素,这是面向对象分析方法的策略基础。 12.2问题域部分设计问题域部分
4、设计 (PDC:主体部件设计):主体部件设计)问题域部分问题域部分(PDC)设计)设计 但是,系统中最稳定的方面,就但是,系统中最稳定的方面,就是问题空间被当作整体看待的对象是问题空间被当作整体看待的对象, 要使系统从容地适应变化的需求要使系统从容地适应变化的需求,保持总体结构的稳定性就显得格,保持总体结构的稳定性就显得格外重要,重用的关键外重要,重用的关键可扩充性所需可扩充性所需要的。要的。系统需求系统需求 最容易变动的就是加最容易变动的就是加工与子加工,就是服务;工与子加工,就是服务; 其次,与外界的接口其次,与外界的接口也是容易变动;也是容易变动; 第三,描述问题空间第三,描述问题空间中
5、的实体所用的数据属性中的实体所用的数据属性有时也在发生变化有时也在发生变化.第十二章第十二章 面向对象系统设计面向对象系统设计2 如何进行问题域部分设计如何进行问题域部分设计 首先:对需求说明修改,使它们反映到问题模型中,首先:对需求说明修改,使它们反映到问题模型中, 其次,针对特定的实现环境,对分析结果加以增补。其次,针对特定的实现环境,对分析结果加以增补。 12.2问题域部分(问题域部分(PDC)设计)设计问题域部分问题域部分(PDC)设计)设计把问题域专用类组合在一起;通过增添一般类而建立协议;复审并挑剔对面向对象分析结果增补调整继承的支持级别;提供数据管理部分;不要仅为反映队伍分工而作
6、修改增加低层细节;改进性能;要考虑以下因素:重用设计和编程类;第十二章第十二章 面向对象系统设计面向对象系统设计 11.2问题域部分(问题域部分(PDC)设计)设计问题域部分问题域部分(PDC)设计)设计首先考虑的因素:重用设计和编程类;首先考虑如何从自己的首先考虑如何从自己的或别人的源程序中把现或别人的源程序中把现成的类增加到问题域部成的类增加到问题域部分。分。 现成的类可能是现成的类可能是用面向对象方法编写的,用面向对象方法编写的,也可能是用某种非面向也可能是用某种非面向对象方法编写的可用软对象方法编写的可用软件,件,在后一种情况下,把软在后一种情况下,把软件封装在一个特意设计件封装在一个
7、特意设计的、基于服务的界面中,的、基于服务的界面中,改造成类的形式,把现改造成类的形式,把现成的类增加到问题域部成的类增加到问题域部分中。分中。其次,划掉现成其次,划掉现成类中任何不用的类中任何不用的属性和服务;并属性和服务;并增加一个现成类增加一个现成类到问题域类之间到问题域类之间的一般特殊关的一般特殊关系。系。接着,划掉问题接着,划掉问题域类中不再需要域类中不再需要的部分,这些属的部分,这些属性和服务现在是性和服务现在是从现成类中继承从现成类中继承的了,并修正问的了,并修正问题域类的结构和题域类的结构和连接,必要时把连接,必要时把它们移向现成类它们移向现成类。第十二章第十二章 面向对象系统
8、设计面向对象系统设计 12.2问题域部分(问题域部分(PDC)设计)设计问题域部分问题域部分(PDC)设计)设计其次考虑的因素在面向对象设在面向对象设计中,通常先计中,通常先引入一个类以引入一个类以便把问题域专便把问题域专用的类组合在用的类组合在一起,它仅仅一起,它仅仅起到起到“根根”类类的作用,把全的作用,把全部下层的类组部下层的类组合在一起。合在一起。一般特殊结一般特殊结构构 如图所示的例子中的“面向对象分析Root”就是这样的一个“根”类当没有一种更满意的组合机制可用时,这实际上就是一种把类库中的某些类组织在一起的方法。而且这样的类可以用于建立一个协议把问题域专用类组合在一起;第十二章第
9、十二章 面向对象系统设计面向对象系统设计 12.2问题域部分(问题域部分(PDC)设计)设计问题域部分问题域部分(PDC)设计)设计面向对象分析面向对象分析Root面向对象分析面向对象分析Subject面向对象分析面向对象分析Attribute面向对象分析面向对象分析Class面向对象分析面向对象分析Connection面向对象分析面向对象分析Service面向对象分析面向对象分析GenSpecConnection面向对象分析面向对象分析InstanceConnection面向对象分析面向对象分析MessageConnection面向对象分析面向对象分析PartConnection 把问题域专
10、用类组合在一起;其次考虑的因素第十二章第十二章 面向对象系统设计面向对象系统设计 12.2问题域部分(问题域部分(PDC)设计)设计问题域部分问题域部分(PDC)设计)设计通过增添一般类而建立协议;第三考虑因素: 有时,一些专用类将需要一个相似的协议,这有时,一些专用类将需要一个相似的协议,这意味着它们将要定义一个相似的服务(以及相应意味着它们将要定义一个相似的服务(以及相应的属性)集合。在这种情况下,可引进一个附加的属性)集合。在这种情况下,可引进一个附加类,以便建立这种协议。类,以便建立这种协议。 在上面例子中的在上面例子中的“面向对象分析面向对象分析Part”就是这就是这样的一个类,它为
11、所有的特殊类定义了一个共同样的一个类,它为所有的特殊类定义了一个共同遵守的协议。遵守的协议。第十二章第十二章 面向对象系统设计面向对象系统设计 12.2问题域部分(问题域部分(PDC)设计)设计问题域部分问题域部分(PDC)设计)设计第四考虑因素: 有时如果面向对象分析的一般特有时如果面向对象分析的一般特殊结构包括多继承,在使用一种只有殊结构包括多继承,在使用一种只有单继承或无继承性的编程语言时,就单继承或无继承性的编程语言时,就需要对面向对象分析的结果作一些修需要对面向对象分析的结果作一些修改。改。(1)多继承模式)多继承模式(2)针对单继承语言的调整)针对单继承语言的调整调整继承的支持级别
12、;第十二章第十二章 面向对象系统设计面向对象系统设计 12.2问题域部分(问题域部分(PDC)设计)设计问题域部分问题域部分(PDC)设计)设计1多多继继承承模模式式调整继承的支持级别;第四考虑因素:第十二章第十二章 面向对象系统设计面向对象系统设计 12.2问题域部分(问题域部分(PDC)设计)设计问题域部分问题域部分(PDC)设计)设计2针针对对单单继继承承语语言言的的调调整整调整继承的支持级别;第四考虑因素:第十二章第十二章 面向对象系统设计面向对象系统设计 12.2问题域部分(问题域部分(PDC)设计)设计问题域部分问题域部分(PDC)设计)设计 性能是一个系统成功的关键因素。性能的含
13、义性能是一个系统成功的关键因素。性能的含义远不只是一个系统或应用程序执行得多快,上乘的软远不只是一个系统或应用程序执行得多快,上乘的软件能把该做的事情做得件能把该做的事情做得“足够快足够快”(符合需求或客户(符合需求或客户期望),而且费用和进度又符合要求。期望),而且费用和进度又符合要求。下面有几种可望改进性能的措施:下面有几种可望改进性能的措施:第五考虑因素:改进性能;在对象之间具有高度繁忙消息流通的情况下,在对象之间具有高度繁忙消息流通的情况下,把两个或更多的类加以合并可实现高度耦合;把两个或更多的类加以合并可实现高度耦合;在类及对象中扩充一些保存临时结果的属性。在类及对象中扩充一些保存临
14、时结果的属性。第十二章第十二章 面向对象系统设计面向对象系统设计 12.2问题域部分(问题域部分(PDC)设计)设计问题域部分问题域部分(PDC)设计)设计第六考虑因素:提供数据管理部分;为了提供数据管理部分,每个被保存为了提供数据管理部分,每个被保存的对象需要知道自己是怎样被存储的。的对象需要知道自己是怎样被存储的。(1)第一种方法是)第一种方法是“每个对象自己保存自己每个对象自己保存自己”;通知一个对;通知一个对象保存自己;每个对象知道如何保存自己;增加一个属性和象保存自己;每个对象知道如何保存自己;增加一个属性和一个服务来完成此事。一个服务来完成此事。(2)第二种方法是,每个对象把自己传
15、送给数据管理部分,让)第二种方法是,每个对象把自己传送给数据管理部分,让数据管理部分来存储对象自己,通知一个对象保存自己;在这种数据管理部分来存储对象自己,通知一个对象保存自己;在这种方法中,可以把任何方法中,可以把任何个提供同一组服务的存储系统插入数据管个提供同一组服务的存储系统插入数据管理部分,而不需对问题域部分做额外的修改;增加属性和服务以理部分,而不需对问题域部分做额外的修改;增加属性和服务以完成此事。完成此事。 第十二章第十二章 面向对象系统设计面向对象系统设计 12.2问题域部分(问题域部分(PDC)设计)设计问题域部分问题域部分(PDC)设计)设计第七考虑因素:第七考虑因素:增加
16、低层细节增加低层细节; 为了设计和编程的方便,可以在低层成分中为了设计和编程的方便,可以在低层成分中分离出一些独立的类,分离出一些独立的类, 这种方法有助于把与机器细节有关的东西这种方法有助于把与机器细节有关的东西放在低层类中隔离起来。放在低层类中隔离起来。第十二章第十二章 面向对象系统设计面向对象系统设计 12.2问题域部分(问题域部分(PDC)设计)设计问题域部分问题域部分(PDC)设计)设计第八考虑因素:在进行小组分工时,不要分裂问题域的基本结在进行小组分工时,不要分裂问题域的基本结构和类,要遵守稳定性、可重用性和可扩充性构和类,要遵守稳定性、可重用性和可扩充性的原则,那种因人设事的修改
17、是毫无意义的。的原则,那种因人设事的修改是毫无意义的。相反,应完整地保持问题域部分,把较大的结相反,应完整地保持问题域部分,把较大的结构和类分配到各个小组。构和类分配到各个小组。 不要仅为反映队伍分工而作修改第十二章第十二章 面向对象系统设计面向对象系统设计 12.2问题域部分(问题域部分(PDC)设计)设计问题域部分问题域部分(PDC)设计)设计第九考虑因素: 考察所做的选择,重新审查和挑剔对问题域考察所做的选择,重新审查和挑剔对问题域部分的内容所作的任何修改。无论何时何地,部分的内容所作的任何修改。无论何时何地,要尽可能地保持建立的基本问题域的结构。要尽可能地保持建立的基本问题域的结构。
18、复审并挑剔对面向对象分析结果增补第十二章第十二章 面向对象系统设计面向对象系统设计1. 为什么需要人机交互部分设计为什么需要人机交互部分设计人机交互部分突出人如何命令系统以及系统如何向用户提交信息,人在使用计算机过程中的感受直接影响到他(她)对系统的接受程度。 人机交互中起主导作用的是人,为了考察其产品的用户友好性,国外一些大的软件公司在新产品上市之前,总要组织一些实际的用户进行产品试用,并通过详细考察和记录被试验者的生理反应,从而确定产品是否使用户感到满意。 非计算机专业人员在使用计算机的人群中所占的比例不断增加; 人机交互部分的友好性直接关系到一个软件系统的成败; 性能很差的人机交互部分将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 十二 章节 面向 对象 系统 设计 PPT 课件
限制150内