《第十二章面向对象系统设计》由会员分享,可在线阅读,更多相关《第十二章面向对象系统设计(43页珍藏版)》请在金锄头文库上搜索。
1、第十二章第十二章 面向对象系统设计面向对象系统设计昧穷猫疟邯田帆彬验柿拽彪挽铲燎痛荚动咋济虚涡匣空死舜揉等茧赤百万第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计在在软软件件开开发发人人员员完完成成了了面面向向对对象象的的分分析析之之后后,面面向向对对象象详详细细设设计计和和开开发发阶阶段段就就可可以以开开始始,我我们们面面对对的的问问题题是是如如何何针针对对系系统统的的具具体体实实现现进进行行面面向向对象的设计。对象的设计。足含与樊彪屉账荣输虫星扯吏基孺辽坪伞达辅徽糙觅砸终衍馅蹲散獭梅偶第十二章
2、面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计面面向向对对象象的的软软件件构构建建过过程程见见图图12.1,注注意意此此时时我我们们应应建建立立了了经经过过分分析析设设计计得得到到的的定定义义得得很很好好的的类类。编编程程语语言言应应是是面面向向对对象象的的,如如C+、Java、Delphi等等。等等。一一组组语语句句就就形形成成了了一一个个服服务务(方方法法)。服服务务与与特特定定类类相相关关,每每个个服服务务代代表表一一个个所所需需的的操操作作方方法法,使使得得类类能能完完成成系系统统中中的的职职责
3、责。服服务务类类似似于于系系统统中中的的模模块块。类类组组合合形形成成子子系系统统或或系系统统软软件件,再再与与其其他他4个部件组合形成软件系统。个部件组合形成软件系统。拘泡烛贞陆诺家兹佬韩陀禽梨循州酱宾导捂软吏途钓措陷貉桔碉贼勾膘秧第十二章面向对象系统设计第十二章面向对象系统设计掷镀库肃允甜虾眯丧骄匡疑辖框呐腺缠眷豌开肿撒曰陛夸驱卵连面泉柬缎第十二章面向对象系统设计第十二章面向对象系统设计从软件系统的角度面向对象系统设计的有四项主要工作:l人机交互部分的设计:用户界面的实现;l问题域部分的设计:从对象到类,建立新类库,最终到整个应用的构架;l任务管理部分的设计:系统管理:包括对象、行为、交互
4、的细节,支持总体客户体验的技术的各个方面:用户帮助的内容、开拓市场的资料的内容、服务和支持的细节;l数据管理部分的设计:数据库的建立、维护与使用。第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计赵漳汹愁许柳涧钢奈滞狸撂珍睬疡悔驶殴势诗豌盅镊碾去佬晋化赐哩培做第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计12.1从面向对象分析到面向对象设计从面向对象分析到面向对象设计郎棺乖楞糙罪署写写写恶我夸片所窜拣惧兽珍每兽男与侣栅刃粗抒秆缀艾第十二章面向对象系
5、统设计第十二章面向对象系统设计面向对象设计四项主要工作采用面向对象方法最根本还是解决软件复杂性问题采用面向对象方法最根本还是解决软件复杂性问题,从分析、设计、编程是一个渐进的模型扩充过程,从分析、设计、编程是一个渐进的模型扩充过程,使软件工程的抽象层次不断提高,从对象到类,建立使软件工程的抽象层次不断提高,从对象到类,建立新类库最终到整个应用的构架,为程序的构件化和重新类库最终到整个应用的构架,为程序的构件化和重用奠定了基础。用奠定了基础。问题域设计人机交互设计任务管理设计数据管理设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计竞高匈念谩潞
6、轿戊珠驻屿甥处鲸创扦伴捍抗堂并惦鄂汞忽卞合吭晒崎谷碳第十二章面向对象系统设计第十二章面向对象系统设计从面向对象分析到面向对象设计从面向对象分析到面向对象设计面向对象分析是针对问题域和系统责任的,对应着分析工作面向对象分析是针对问题域和系统责任的,对应着分析工作五个活动,存在着面向对象分析的各层模型化的五个活动,存在着面向对象分析的各层模型化的“问题空间问题空间”。最终呈现越来越多的细节,层次是总体模型的一些水平薄片。最终呈现越来越多的细节,层次是总体模型的一些水平薄片。第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计赌验棍皱饰剂访啪嘿忱本模督锗
7、机畦离器故虾元咨胸纤皖砰靳茵翌萨缀零第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计五五个个层层次次对对应应着着在在面面向向对对象象分分析析中中介介绍绍过过的的五五个个主主要要活活动:动:发现类及对象;发现类及对象;识别结构;识别结构;识别主题;识别主题;定义属性;定义属性;定义服务。定义服务。这些活动,不必按顺序进行。这些活动指导人们从高的这些活动,不必按顺序进行。这些活动指导人们从高的抽象层抽象层(如问题域的类及对象)到越来越低的抽象层(结构、(如问题域的类及对象)到越来越低的抽象层(结构、属
8、性和服务)。属性和服务)。这五个活动的安排表现了最普遍的总体方法。这五个活动的安排表现了最普遍的总体方法。从面向对象分析到面向对象设计从面向对象分析到面向对象设计彭亥批袁扬弯绪眨负想灵恒茁当种痞烃走商恨祷诵钢酱徘雍映蔫胖舶绣豆第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计面向对象设计针对与实现有关的因素继续开展面向对面向对象设计针对与实现有关的因素继续开展面向对象分析的五个活动,包括问题域、人机交互、任务管理和象分析的五个活动,包括问题域、人机交互、任务管理和数据管理等四个部分的设计。如图所示,
9、面向对象设计模数据管理等四个部分的设计。如图所示,面向对象设计模型从横向看是上述四个部分,从纵向看每个部分仍然是五型从横向看是上述四个部分,从纵向看每个部分仍然是五个层次。个层次。横组辗挎爱石撮蒙兵稍思芬玫定扩哑慈挂蒲杭碑烘怕书槽大弛讫耐藉步进第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计1.为什么需要问题域部分设计为什么需要问题域部分设计首首先先,让让我我们们先先来来分分析析一一下下在在描描述述系系统统时时的的遇遇到到的的变变动动因因素和稳定因素,这是面向对象分析方法的策略基础。素和稳定因素,
10、这是面向对象分析方法的策略基础。12.2问题域部分设计问题域部分设计(PDC:主体部件设计):主体部件设计)但但是是,系系统统中中最最稳稳定定的的方方面面,就就是问题空间被当作整体看待的对象,是问题空间被当作整体看待的对象,要要使使系系统统从从容容地地适适应应变变化化的的需需求求,保保持持总总体体结结构构的的稳稳定定性性就就显显得得格格外外重重要要,重重用用的的关关键键可可扩扩充充性性所所需需要要的。的。系统需求系统需求最容易变动的就是加最容易变动的就是加工与子加工,就是服务;工与子加工,就是服务;其其次次,与与外外界界的的接接口口也是容易变动;也是容易变动;第第三三,描描述述问问题题空空间间
11、中中的的实实体体所所用用的的数数据据属属性性有时也在发生变化有时也在发生变化.还贬披乙事脑笔赚魄半贮佳迅蔼酚瑰锌粱键公钨稿常乍么哆挥挚找鸦臻江第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计2如何进行问题域部分设计如何进行问题域部分设计首先:对需求说明修改,使它们反映到问题模型中,首先:对需求说明修改,使它们反映到问题模型中,其次,针对特定的实现环境,对分析结果加以增补。其次,针对特定的实现环境,对分析结果加以增补。12.2问题域部分(问题域部分(PDC)设计)设计把问题域专用类组合在一起;通过增
12、添一般类而建立协议;复审并挑剔对面向对象分析结果增补调整继承的支持级别;提供数据管理部分;不要仅为反映队伍分工而作修改增加低层细节;改进性能;要考虑以下因素:重用设计和编程类;搓弯走凶鄂甭巫李贱三局粱精届碟二骇冉欢搽孔门内坡储筑堵握剿爵尽炼第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计11.2问题域部分(问题域部分(PDC)设计)设计首先考虑的因素:重用设计和编程类;首首先先考考虑虑如如何何从从自自己己的的或或别别人人的的源源程程序序中中把把现现成成的的类类增增加加到到问问题题域域部部分分。现现
13、成成的的类类可可能能是是用用面面向向对对象象方方法法编编写写的的,也也可可能能是是用用某某种种非非面面向向对对象象方方法法编编写写的的可可用用软软件,件,在在后后一一种种情情况况下下,把把软软件件封封装装在在一一个个特特意意设设计计的的、基基于于服服务务的的界界面面中中,改改造造成成类类的的形形式式,把把现现成成的的类类增增加加到到问问题题域域部部分中。分中。其其次次,划划掉掉现现成成类类中中任任何何不不用用的的属属性性和和服服务务;并并增增加加一一个个现现成成类类到到问问题题域域类类之之间间的的一一般般特特殊殊关关系。系。接接着着,划划掉掉问问题题域域类类中中不不再再需需要要的的部部分分,这
14、这些些属属性性和和服服务务现现在在是是从从现现成成类类中中继继承承的的了了,并并修修正正问问题题域域类类的的结结构构和和连连接接,必必要要时时把把它们移向现成类。它们移向现成类。庭斥转浓禹请偿湘泣爽直仰讥逐也琅倒侍尿傀敏戳吸眉售脚伎赫覆亏滇广第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计12.2问题域部分(问题域部分(PDC)设计)设计其次考虑的因素在在面面向向对对象象设设计计中中,通通常常先先引引入入一一个个类类以以便便把把问问题题域域专专用用的的类类组组合合在在一一起起,它它仅仅仅仅起起到到
15、“根根”类类的的作作用用,把把全全部部下下层层的的类类组组合在一起。合在一起。一一般般特特殊殊结结构构如图所示的例子中的“面向对象分析Root”就是这样的一个“根”类当没有一种更满意的组合机制可用时,这实际上就是一种把类库中的某些类组织在一起的方法。而且这样的类可以用于建立一个协议把问题域专用类组合在一起;爬斡朔撮诫苦首聂漓误糟虞驶箭痰啃局额于治吟鬼懒腰旱偶喜癸莲悠宅鲍第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计12.2问题域部分(问题域部分(PDC)设计)设计面向对象分析面向对象分析Root
16、面向对象分析面向对象分析Subject面向对象分析面向对象分析Attribute面向对象分析面向对象分析Class面向对象分析面向对象分析Connection面向对象分析面向对象分析Service面向对象分析面向对象分析GenSpecConnection面向对象分析面向对象分析InstanceConnection面向对象分析面向对象分析MessageConnection面向对象分析面向对象分析PartConnection把问题域专用类组合在一起;其次考虑的因素荔绩类组压啊莽咕铝绦施捅娇筷椭奇椰酪辩谱规卵兜灸艺兆吭辆淡酮嫉彻第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章
17、第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计12.2问题域部分(问题域部分(PDC)设计)设计通过增添一般类而建立协议;第三考虑因素:有有时时,一一些些专专用用类类将将需需要要一一个个相相似似的的协协议议,这这意意味味着着它它们们将将要要定定义义一一个个相相似似的的服服务务(以以及及相相应应的的属属性性)集集合合。在在这这种种情情况况下下,可可引引进进一一个个附附加加类,以便建立这种协议。类,以便建立这种协议。在在上上面面例例子子中中的的“面面向向对对象象分分析析Part”就就是是这这样样的的一一个个类类,它它为为所所有有的的特特殊殊类类定定义义了了一一个个共共同
18、同遵守的协议。遵守的协议。砍暑靠贯氢嫂参道七抖眩岔蔼估锰鸯是兆嫁月枯雄税缅饱疚宁颐答屑初脯第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计12.2问题域部分(问题域部分(PDC)设计)设计第四考虑因素:有有时时如如果果面面向向对对象象分分析析的的一一般般特特殊殊结结构构包包括括多多继继承承,在在使使用用一一种种只只有有单单继继承承或或无无继继承承性性的的编编程程语语言言时时,就就需需要要对对面面向向对对象象分分析析的的结结果果作作一一些些修修改。改。(1)多继承模式)多继承模式(2)针对单继承语言
19、的调整)针对单继承语言的调整调整继承的支持级别;毯德输汇袭圾鹊艾筑园赛娇湿旷八孩实絮楚摊环细貉锁第到槛慑侦苏脚肆第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计12.2问题域部分(问题域部分(PDC)设计)设计1多多继继承承模模式式调整继承的支持级别;第四考虑因素:轧焰胎原藻斜寨汤片盆苞焊镣骡碌宇脉嗓离点散拄蔑智严微滚贷拓挤谴算第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计12.2问题域部分(问题域
20、部分(PDC)设计)设计2针针对对单单继继承承语语言言的的调调整整调整继承的支持级别;第四考虑因素:妖踏倪砧钻谍茁钨磨饮卖钦相柬敏慈礁蚕戴颖啤捌犀至雁驼句胡刊桂精猾第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计12.2问题域部分(问题域部分(PDC)设计)设计性性能能是是一一个个系系统统成成功功的的关关键键因因素素。性性能能的的含含义义远远不不只只是是一一个个系系统统或或应应用用程程序序执执行行得得多多快快,上上乘乘的的软软件件能能把把该该做做的的事事情情做做得得“足足够够快快”(符符合合需需求
21、求或或客客户户期期望),而且费用和进度又符合要求。望),而且费用和进度又符合要求。下面有几种可望改进性能的措施:下面有几种可望改进性能的措施:第五考虑因素:改进性能;在对象之间具有高度繁忙消息流通的情况下,在对象之间具有高度繁忙消息流通的情况下,把两个或更多的类加以合并可实现高度耦合;把两个或更多的类加以合并可实现高度耦合;在类及对象中扩充一些保存临时结果的属性。在类及对象中扩充一些保存临时结果的属性。蹄淑脊秘多克页相帖祖对槽蔼袋衰兴亡帅碌爸弓苦茧巢菊蹬聪直嗓偷缎垣第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计
22、面向对象系统设计12.2问题域部分(问题域部分(PDC)设计)设计第六考虑因素:提供数据管理部分;为为了了提提供供数数据据管管理理部部分分,每每个个被被保保存存的的对象需要知道自己是怎样被存储的。对象需要知道自己是怎样被存储的。(1)第一种方法是)第一种方法是“每个对象自己保存自己每个对象自己保存自己”;通知一个对;通知一个对象保存自己;每个对象知道如何保存自己;增加一个属性和象保存自己;每个对象知道如何保存自己;增加一个属性和一个服务来完成此事。一个服务来完成此事。(2)第二种方法是,每个对象把自己传送给数据管理部分,让)第二种方法是,每个对象把自己传送给数据管理部分,让数据管理部分来存储对
23、象自己,通知一个对象保存自己;在这种数据管理部分来存储对象自己,通知一个对象保存自己;在这种方法中,可以把任何方法中,可以把任何个提供同一组服务的存储系统插入数据管个提供同一组服务的存储系统插入数据管理部分,而不需对问题域部分做额外的修改;增加属性和服务以理部分,而不需对问题域部分做额外的修改;增加属性和服务以完成此事。完成此事。夜磺廓秉荤优珐帛浪纹近体签只集阳潘俊够扭钱闭备硼斡扼冉磅圃丫电爽第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计12.2问题域部分(问题域部分(PDC)设计)设计第七考虑
24、因素:第七考虑因素:增加低层细节增加低层细节;为为了了设设计计和和编编程程的的方方便便,可可以以在在低低层层成成分分中中分离出一些独立的类,分离出一些独立的类,这这种种方方法法有有助助于于把把与与机机器器细细节节有有关关的的东东西西放在低层类中隔离起来。放在低层类中隔离起来。淫望你肝杖疲杜淮镑乾陨蕉中辽渺冷辜心铂蔬巨裸狰案陀阜蚤溉认阿婚碍第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计12.2问题域部分(问题域部分(PDC)设计)设计第八考虑因素:在在进进行行小小组组分分工工时时,不不要要分分裂裂
25、问问题题域域的的基基本本结结构构和和类类,要要遵遵守守稳稳定定性性、可可重重用用性性和和可可扩扩充充性性的的原原则则,那那种种因因人人设设事事的的修修改改是是毫毫无无意意义义的的。相相反反,应应完完整整地地保保持持问问题题域域部部分分,把把较较大大的的结结构和类分配到各个小组。构和类分配到各个小组。不要仅为反映队伍分工而作修改帮向器吊壶胃棕唬帽所劝刑称沃摧控示霜弹祟澜作苞笼庚弄钵硼笨习墩腺第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计12.2问题域部分(问题域部分(PDC)设计)设计第九考虑因素
26、:考考察察所所做做的的选选择择,重重新新审审查查和和挑挑剔剔对对问问题题域域部部分分的的内内容容所所作作的的任任何何修修改改。无无论论何何时时何何地地,要尽可能地保持建立的基本问题域的结构。要尽可能地保持建立的基本问题域的结构。复审并挑剔对面向对象分析结果增补挪沁詹涌皿沤凤颅株经椿呢橡稠垦署呐令娟保炒瘸哦食肄该忿霉漱萤揣贮第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计1.为什么需要人机交互部分设计为什么需要人机交互部分设计人机交互部分突出人如何命令系统以及系统如何向用户提交信息,人在使用计算机过
27、程中的感受直接影响到他(她)对系统的接受程度。人机交互中起主导作用的是人,为了考察其产品的用户友好性,国外一些大的软件公司在新产品上市之前,总要组织一些实际的用户进行产品试用,并通过详细考察和记录被试验者的生理反应,从而确定产品是否使用户感到满意。非计算机专业人员在使用计算机的人群中所占的比例不断增加;人机交互部分的友好性直接关系到一个软件系统的成败;性能很差的人机交互部分将使一个功能很强的产品变得不可接受。12.3人机交互部分设计(人机交互部分设计(HIC:用户界面部件)用户界面部件)羔想寇尾屠宾士苍肤斟技绅颖睹愈裕很纂馏戏英神茸锹绽缘炊述冰佣闷浑第十二章面向对象系统设计第十二章面向对象系统
28、设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计12.3从面向对象分析到面向对象设计从面向对象分析到面向对象设计其它三个部分则是面向对象分析阶段未曾考虑的,全部在面向对象设计阶段建立。人机交互部分包括有效的人机交互所需的显示和输入,这些类在很大程度上依赖于所用的图形用户界面环境,例如Windows,Foxbase,C+,而且可能包括“窗口”、“菜单”、“滚动条”、“按钮”等针对项目的特殊类。樟祁节骏香角俏韶幸锨炸蘑冲木络毁假陇猩元坟庸玖第治留氧球延挖厂牵第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对
29、象系统设计面向对象系统设计面向对象系统设计面向对象系统设计12.3从面向对象分析到面向对象设计从面向对象分析到面向对象设计FrontPage编辑区视图模式默认文件名网页查看方式犁袋摆掀揉沽泛社酋近计吻摆负私矮膀眼拱嚷踏化矢苏育背唾挞走智佬探第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象系统设计面向对象系统设计面向对象系统设计面向对象系统设计2 如何设计人机交互部分如何设计人机交互部分12.3人机交互部分(人机交互部分(HIC)设计)设计描述人和他们的任务脚本;设计命令层次;设计详细的交互;继续做原型;对人分类;要考虑以下策略:;设计人机交互部分的类;
30、根据图形用户界面(如果可用的话)进行设计。馈圣降唇炽鸭赎咕庆林扁裕支舷子蜗宛邻沼颁港等磕构讨舍咒武篡彻磊家第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象的设计方法面向对象的设计方法面向对象的设计方法面向对象的设计方法12.3人机交互部分(人机交互部分(HIC)设计)设计考虑按以下的一个或几个原则分类:考虑按以下的一个或几个原则分类:(1)按技能层次分类)按技能层次分类初学者临时人员中级水平高级水平初学者临时人员中级水平高级水平(2)按组织层次分类)按组织层次分类行政人员办公人员职员管理人员办事员行政人员办公人员职员管理人员办事员(3)按不同组的成员身
31、份)按不同组的成员身份职员顾客职员顾客1、对人分类花些时间去研究将使用系统的人,把自花些时间去研究将使用系统的人,把自己置身于用户的地位,己置身于用户的地位,并在那里多待一会儿。身临其境地看人并在那里多待一会儿。身临其境地看人们如何实际地做他们的工作。们如何实际地做他们的工作。这是绝对需要的,要真正设身处地为那这是绝对需要的,要真正设身处地为那些与系统利害相关的人着想。些与系统利害相关的人着想。考考虑虑这这些些人人想想达达到到什什么么目目的的?他他们们要要完完成成什什么么任任务务?你你能能提提供供什什么么具具体体工工具具来来支支持持那那些些任任务务?工工具具如如何何做做得得最最协调?协调?扬吝
32、耪镑雾殉杆答妊蝗疵贿胖挛掩合拎悟惋肺鄙题掇哆望苏入拔畦袋骋帛第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象的设计方法面向对象的设计方法面向对象的设计方法面向对象的设计方法 任任务务又又称称为为进进程程(进进程程是是一一连连串串的的活活动动,由由它它的的代代码码所所定义),若干任务并发执行时叫做多任务。定义),若干任务并发执行时叫做多任务。 下列几类系统是需要多任务的:下列几类系统是需要多任务的: 负责局部设备的数据采集及控制的系统需要多任务;负责局部设备的数据采集及控制的系统需要多任务; 某某些些人人机机界界面面其其中中的的多多窗窗口口可可同同时时选
33、选来来做做输输入入需要多任务;需要多任务; 多用户系统,一个用户任务可能有多份复制品;多用户系统,一个用户任务可能有多份复制品; 多多子子系系统统软软件件结结构构,任任务务可可能能被被用用作作程程序序片片之之间间的的协协作作和通信;和通信; 负责与其他系统通信的系统需要多任务。负责与其他系统通信的系统需要多任务。 单单处处理理机机上上的的多多任任务务,可可能能需需要要一一个个任任务务在在其其他他任任务务执执行期间与它们协作和通信。行期间与它们协作和通信。12.4任任务务管理部分(管理部分(TMC)设计设计诗骄立娜箭汉蹿烷暂裤混科淀捎赋执烬谜悦刁纶予绞悦植瞄谍膀往囤军釜第十二章面向对象系统设计第
34、十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象的设计方法面向对象的设计方法面向对象的设计方法面向对象的设计方法任任务务增增加加了了设设计计、编编码码和和过过程程的的复复杂杂性性,因此必须细心地选择并作最终调整。因此必须细心地选择并作最终调整。(1 1)用户输入错误。)用户输入错误。(2 2)设备错误。)设备错误。(3 3)物理限制。)物理限制。(4 4)代码错误。)代码错误。12.4任任务务管理部分(管理部分(TMC)设计设计泅殖同滦泞新绕疆偶高跃柒勿僵阿儡铭瞒颊私叮个关衰货评嗅粱竞馏厦醚第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对
35、象的设计方法面向对象的设计方法面向对象的设计方法面向对象的设计方法12.4.1 为什么需要有任务管理部分为什么需要有任务管理部分 对对某某些些应应用用来来说说,任任务务能能简简化化总总体体设设计和编码。计和编码。 独独立立的的任任务务把把必必须须并并发发执执行行的的行行为为分分离离开开来来。这这种种并并发发行行为为可可以以在在多多个个独独立立的的处处理理机机上上实实现现,或或者者在在运运行行多多任任务务操操作系统的单处理机上模拟。作系统的单处理机上模拟。 设设立立任任务务的的优优点点:简简化化必必要要的的并并发发行行为的设计和编码。为的设计和编码。 设设立立任任务务的的副副作作用用:会会增增加
36、加设设计计、编编码、测试和维护的复杂性。码、测试和维护的复杂性。 12.4任任务务管理部分(管理部分(TMC)设计设计罗家渡裳蘸堰呛酿查谅惕幅蔽启促惹妻丑癸忧绎慑卜谁疡斧或光屡绵益揽第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象的设计方法面向对象的设计方法面向对象的设计方法面向对象的设计方法12.4.2 怎样设计任务管理部分任务的选择和调整,遵照下述策略:任务的选择和调整,遵照下述策略:(1 1)识识别别事事件件驱驱动动任任务务:事事件件驱驱动动的的任任务务是是指指与与设设备备、其其他他处处理理机机或或其其他他系系统通讯的任务。统通讯的任务。(2 2
37、)识识别别时时钟钟驱驱动动任任务务:时时间间驱驱动动的的任务是指按一定时间周期激活的任务。任务是指按一定时间周期激活的任务。(3 3)识识别别优优先先任任务务和和关关键键任任务务:关关键键任任务务是是指指对对整整个个系系统统成成败败起起重重要要作作用用的的任任务务,这这些些任任务务处处理理要要求求有有较较高高的的可可靠靠性。性。12.4任任务务管理部分(管理部分(TMC)设计设计炔舆杖宣撒孽摧虏都犀搂须挪匹淀碾裴互蹋大操王芬躲蟹涛敲苍鲸电验央第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象的设计方法面向对象的设计方法面向对象的设计方法面向对象的设计方法
38、(4 4)定定义义任任务务协协调调器器:三三个个或或三三个个以以上上的的任任务务应应增增加加一一个个任任务务协协调调器器(一一个个新新类类),专专门门负负责责任任务务之之间间的的调调动动、协协同和仲裁。同和仲裁。(5 5)定定义义任任务务:说说明明任任务务的的名名称称、描描述述任任务务的的功功能能、优优先先级级、包包含含此此任任务务的的服服务务、任任务务与与其其他他任任务务的的协协同同方方式式以以及及任务的通信方式。任务的通信方式。12.4任任务务管理部分(管理部分(TMC)设计设计裤救角铆扶别仅取膀刽长赴社僳用苯矽耐惰酒巫歼即柑颅妄霹寺么县宛鬼第十二章面向对象系统设计第十二章面向对象系统设计
39、第十二章第十二章第十二章第十二章 面向对象的设计方法面向对象的设计方法面向对象的设计方法面向对象的设计方法 设设计计数数据据管管理理部部件件的的目目的的是是,将将目目标标软软件件系系统统中中依依赖赖开开发发平平台台的的数数据据存存取取部部分分与与其其他他功功能能分分离离,数数据据存存取取通通过过一一般般的的数数据据管管理理系系统统(如如文文件件系系统统、关关系系数数据据库库或或面面向向对对象象数数据据库库)实实现现,但但实实现现细细节节集集中中在在DMCDMC中中。这这样样既既有有利利于于软软件件的的扩扩充充、移移植植和和维维护护,又又简简化化了了软软件件设计、编码和测试的过程。设计、编码和测
40、试的过程。12.5数据管理部件(数据管理部件(DMC)的)的设计设计宝窄幢艺南惯咱层曰牵滩陈舟腰秆南离秃拈龟进痕吐肢姨拴勘筐自缎锦君第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象的设计方法面向对象的设计方法面向对象的设计方法面向对象的设计方法无无论论哪哪种种数数据据管管理理方方法法。DMCDMC都都包包括括数数据据存存放放方方法法的的设设计计,也也包括相应服务的设计。包括相应服务的设计。 1 1采用普通文件数据管理时采用普通文件数据管理时对对象象需需要要知知道道要要打打开开那那些些文文件件,如如何何正正确确地地定定位位到到文文件件的的有有关关记录,如
41、何检索旧的值,以及如何用新的值进行更新。记录,如何检索旧的值,以及如何用新的值进行更新。 2 2采用关系型数据库管理时采用关系型数据库管理时对对象象要要知知道道存存取取那那些些表表,如如何何存存取取所所需需的的栏栏,如如何何检检索索旧旧的的值值,以及如何用新的值进行更新。以及如何用新的值进行更新。3 3面向对象的数据管理时面向对象的数据管理时扩扩充充的的关关系系型型方方法法,与与采采用用关关系系型型数数据据库库管管理理系系统统时时所所介介绍绍的的方法相同。方法相同。 12.5数据管理部件(数据管理部件(DMC)的)的设计设计诗像葬西史眷根南哄秒徐翟姆浸臣袭阔红某外诌嫉盾杂脯沿侥甜侄距鹃衙第十二
42、章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象的设计方法面向对象的设计方法面向对象的设计方法面向对象的设计方法对象模型的数据管理部件要实现以下目标:对象模型的数据管理部件要实现以下目标: (1 1)存存储储问问题题域域的的持持久久对对象象(类类)。也也就就是是说说,对对于于那那些些在在信信息息系系统统中中两两次次调调用用之之间间需需要要保保存存的的对对象象,数数据据管管理理部部件件提提供供了了与与操操作作平平台台的的数数据据管管理理存存储储系系统统之之间间的的接接口口文文件件、关关系系的的、索索引引的的、面面向向对象的或其他类型的。对象的或其他类型的。 (
43、2 2)数数据据管管理理部部件件为为问问题题域域中中所所有有的的持久对象封装了查找和存储机制。持久对象封装了查找和存储机制。12.5数据管理部件(数据管理部件(DMC)的)的设计设计麓开虽爪诅旬明框茧晰虏肖廊押薛讲喧晰轨倚店窃耪睛盐局罪院苛坦愉给第十二章面向对象系统设计第十二章面向对象系统设计嗜殆奋鹊樱抿此屿猩备啃粹僚鲤镜努量曹垫值哈构久洽冕沂睡援磺碾归肄第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象的设计方法面向对象的设计方法面向对象的设计方法面向对象的设计方法对象模型的数据管理部件要实现以下目标:对象模型的数据管理部件要实现以下目标: (1 1)
44、存存储储问问题题域域的的持持久久对对象象(类类)。也也就就是是说说,对对于于那那些些在在信信息息系系统统中中两两次次调调用用之之间间需需要要保保存存的的对对象象,数数据据管管理理部部件件提提供供了了与与操操作作平平台台的的数数据据管管理理存存储储系系统统之之间间的的接接口口文文件件、关关系系的的、索索引引的的、面面向向对象的或其他类型的。对象的或其他类型的。 (2 2)数数据据管管理理部部件件为为问问题题域域中中所所有有的的持久对象封装了查找和存储机制。持久对象封装了查找和存储机制。12.5数据管理部件(数据管理部件(DMC)的)的设计设计媚岭扛失妙扒候涧信洁惊梁励戒拱资底锡噪筛半烛笛由呈逐啦
45、慌职克赠丫第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象的设计方法面向对象的设计方法面向对象的设计方法面向对象的设计方法12.5数据管理部件(数据管理部件(DMC)的)的设计设计言衡戳担酮收抵掉馋申矾产荒辫坎涧州必贡芥贱尘沛号靶馈讥滇镁厘寄芍第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象的设计方法面向对象的设计方法面向对象的设计方法面向对象的设计方法12.6小结小结 本本章章介介绍绍了了面面向向对对象象的的软软件件设设计计技技术术。即即:在在软软件件开开发发人人员员完完成成了了面面向向对对象象的的分分析析之
46、之后后,如如何何针针对对对对象象系系统统的的五五个个层层次次类类及及对对象象层层、结结构构层层、主主题题层层和和服服务务层层,具具体体地地实实现现进进行行面面向向对对象象的的设设计计。介介绍绍了了面面向向对对象象设设计计的的四四项项主主要要工工作作问问题题域域部部分分的的设设计计、人人机机交交互互部部分分的的设设计计、任任务务管管理理部部分分的的设设计计和和数数据据管管理理部部分分的设计。的设计。巫任旁沈囚梅叉劣崔王峡熙牧橱钨流家霹甸彝矣廊启如芋绒慑鲜秀植落待第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象的设计方法面向对象的设计方法面向对象的设计方法
47、面向对象的设计方法12.6小结小结面面向向对对象象分分析析的的结结果果被被直直接接地地放放进进问问题题域域部部分分。在在这这个个部部分分中中,可可能能需需要要类类、结结构构、属属性性及及服服务务的的结结合合与与分分解解。这这种种分分解解采采用用专专门门的的工工程程标标准准来来做做,而而工工具具需需要要获获知知每每一一个个决决策策。标标准准包包括括可可重重用用的的设设计计与与编编码码类类,把把问问题题域域专专用用类类组组合合在在一一起起,通通过过增增加加一一般般类类来来创创立立约约定定,提提供供一一个个继继承承性性的的支支撑撑层层次次,改改善善界界面面,提提供供存存储储管理,以及增加低层细节等。
48、管理,以及增加低层细节等。轮杂肺览瞎狈岳杰塘斌祖贺酮慈羞碑郎帧蜘魄潞遗嗽盼纠陋朔纵豢歇君女第十二章面向对象系统设计第十二章面向对象系统设计第十二章第十二章第十二章第十二章 面向对象的设计方法面向对象的设计方法面向对象的设计方法面向对象的设计方法12.6小结小结 人人机机交交互互部部分分包包括括有有效效的的人人机机交交互互所所需需的的显显示示和和输输入入。这这些些类类在在很很大大程程度度上上依依赖赖于于所所用用的的图图形形用用户户界界面面(GUIGUI)和针对)和针对GUIGUI的特殊类。的特殊类。 任任务务管管理理部部分分包包括括任任务务(程程序序)的的定定义义、通通讯讯和和协协调。还包括硬件分配、外部系统及设备约定。调。还包括硬件分配、外部系统及设备约定。 数数据据管管理理部部分分包包括括永永久久数数据据的的存存取取,它它隔隔离离了了数数据据管管理理方方法法,无无论论是是普普通通文文件件、带带标标记记语语言言的的普普通通文文件件、关关系系型型、面面向向对对象象,或或其其他他的的面面向向对对象象分分析析集集中中于于问问题题域、系统责任和需求。域、系统责任和需求。辊型坷受宪楞泽圆栖餐拂虏粱誊凰蔽弯蛾挺搐曙鸡鸭吻累佩榨战凛暴桑玖第十二章面向对象系统设计第十二章面向对象系统设计