面向对象的分析与设计课件设计篇.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《面向对象的分析与设计课件设计篇.ppt》由会员分享,可在线阅读,更多相关《面向对象的分析与设计课件设计篇.ppt(131页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象的分析与设计课件设计篇现在学习的是第1页,共131页OOD模型框架模型框架从两个侧面来描述从两个侧面来描述人人机机交交互互部部分分数数据据接接口口部部分分控制驱动部分控制驱动部分问题域问题域部分部分从一个侧面看:从一个侧面看:OODOOD模型包括几个主要部分?模型包括几个主要部分?一个核心加三个外围一个核心加三个外围需需 求求 模模 型型辅辅 助助 模模 型型类类 图图模模型型规规约约从另一侧面看:从另一侧面看:OODOOD模型每个部分模型每个部分如何用如何用OOOO概念表达?概念表达?采用与采用与OOAOOA相同的概念及相同的概念及模型组织方式模型组织方式回顾回顾现在学习的是第2页,
2、共131页问题域部分设计问题域部分设计输入输入OOA模型模型人机交互部分设计人机交互部分设计控制驱动部分设计控制驱动部分设计数据接口部分设计数据接口部分设计构件化与系统部署构件化与系统部署向向OOP输出输出OOD模型模型OOD过程过程现在学习的是第3页,共131页将将OOA模型搬到模型搬到OOD作为作为OOD的基础的基础人人机机交交互互部部分分数数据据接接口口部部分分控制驱动部分控制驱动部分问题域问题域部分部分OOA模型模型按编程语言、网络、按编程语言、网络、操作系统、复用支操作系统、复用支持等实现条件进行持等实现条件进行必要的调整必要的调整11.1 什么是问题域部分什么是问题域部分问题域部分
3、是问题域部分是OOD模型的四个组成部分之一,由来自问题域的模型的四个组成部分之一,由来自问题域的对象构成,是在对象构成,是在OOA模型基础上,按照具体的实现条件进行必要的修模型基础上,按照具体的实现条件进行必要的修改、调整和细节补充而得到的。改、调整和细节补充而得到的。第第11章章问题域部分的设计问题域部分的设计现在学习的是第4页,共131页人人机机交交互互部部分分数数据据接接口口部部分分控制驱动部分控制驱动部分OOA模型模型编程语言、网络、操编程语言、网络、操作系统、复用支持等作系统、复用支持等实现条件实现条件OOD过程从从MDAMDA的观的观点看问题点看问题域部分的域部分的产生产生问题域问
4、题域部分部分现在学习的是第5页,共131页11.2 实现条件对问题域部分的影响实现条件对问题域部分的影响编程语言编程语言语言的实现能力语言的实现能力硬件、操作系统及网络设施硬件、操作系统及网络设施 对象分布、并发、通信、性能对象分布、并发、通信、性能复用支持复用支持 根据复用支持对模型做适当调整,以实现复用根据复用支持对模型做适当调整,以实现复用数据管理系统数据管理系统 为实现对象的持久存储,对问题域部分做某些修改为实现对象的持久存储,对问题域部分做某些修改界面支持系统界面支持系统问题域部分与人机界面之间的消息传输问题域部分与人机界面之间的消息传输现在学习的是第6页,共131页设计准备设计准备
5、保留保留OOA文档文档复制复制OOA文档,作为文档,作为OOD的输入的输入根据需求的变化和发现的错误进行修改根据需求的变化和发现的错误进行修改设计内容与策略设计内容与策略(本节的重点)(本节的重点)针对编程语言支持能力的调整针对编程语言支持能力的调整 增加一般类以建立共同协议增加一般类以建立共同协议 实现复用实现复用提高性能提高性能 为实现对象持久存储所做的修改为实现对象持久存储所做的修改 完善对象的细节完善对象的细节 定义对象实例定义对象实例 对辅助模型、模型规约的修改和补充对辅助模型、模型规约的修改和补充建立建立OOD文档文档与与OOA文档的映射文档的映射11.3 设计过程设计过程现在学习
6、的是第7页,共131页1、按编程语言调整继承与多态、按编程语言调整继承与多态起因:起因:OOA强调如实地反映问题域,强调如实地反映问题域,OOD考虑实现问题,考虑实现问题,如果语言不支持多继承或多态,就要进行对模型调整如果语言不支持多继承或多态,就要进行对模型调整多继承模式多继承模式狭义菱形狭义菱形广义菱形广义菱形(1)多继承化为单继承)多继承化为单继承现在学习的是第8页,共131页方法方法1 1:简单转换:简单转换(a a)一般方法一般方法或或A AC C111111B BA AC CB B1A AC CB B(c c)不合适的例子不合适的例子?职员职员学员学员在职学员在职学员职员职员学员学
7、员在职学员在职学员1111(b b)合适的例子合适的例子汽车汽车制冷设备制冷设备冷藏车冷藏车或或111111汽车汽车制冷设备制冷设备冷藏车冷藏车汽车汽车制冷设备制冷设备冷藏车冷藏车(d d)转换产生信息重复转换产生信息重复A AA AB BC CD D?B BC CD D现在学习的是第9页,共131页方法方法2 2:重新定义对象类,化解多继承:重新定义对象类,化解多继承职员职员学员学员在职学员在职学员人员人员职员身份职员身份学员身份学员身份人员人员10.110.1职员身份职员身份学员身份学员身份身份身份人员人员10.2现在学习的是第10页,共131页不适当的方法增加程序代码不适当的方法增加程序
8、代码职员职员学员学员人员人员在职学员在职学员方法方法3 3:保持分类,剥离多继承信息:保持分类,剥离多继承信息职员职员学员学员人员人员在职学员在职学员职员信息职员信息学员信息学员信息11111111现在学习的是第11页,共131页(2 2)取消多态性)取消多态性(a)(b)多边形线条色线型边数顶点坐标绘图填充正多边形*顶点坐标*绘图矩形边数*顶点坐标*绘图多边形线条色线型正多边形绘图矩形顶点坐标绘图不规则多边形绘图边数顶点坐标边数顶点坐标填充现在学习的是第12页,共131页2、增加一般类以建立共同协议、增加一般类以建立共同协议增加根类:增加根类:将所有的类组织在一起将所有的类组织在一起提供全系
9、统通用的协议提供全系统通用的协议例:提供创建、删除、复制等操作例:提供创建、删除、复制等操作增加其他一般类:增加其他一般类:提供局部通用的协议提供局部通用的协议例:提供持久存储及恢复功能例:提供持久存储及恢复功能现在学习的是第13页,共131页 B B C CE E A A属性属性操作操作D DF F1 1*属性属性操作操作属性属性操作操作属性属性操作操作属性属性操作操作属性属性操作操作例:例:ObjectObject复用复用现在学习的是第14页,共131页3 3、实现复用的设计策略、实现复用的设计策略如果已存在一些可复用的类,而且这些类既有分析、设计如果已存在一些可复用的类,而且这些类既有分
10、析、设计时的定义,又有源程序,那么,复用这些类即可提高开发时的定义,又有源程序,那么,复用这些类即可提高开发效率与质量。效率与质量。目标:尽可能使复用成分增多,新开发的成分减少目标:尽可能使复用成分增多,新开发的成分减少当当前前所所需需的的类类的的信信息息比比可可复复用用类类定定义义的的信信息息直接复用直接复用 通过继承复用通过继承复用 删除可复用类的多余信息删除可复用类的多余信息删除多余信息,通过继承而复用删除多余信息,通过继承而复用现在学习的是第15页,共131页例:例:车辆序号颜色式样出厂年月序号认证车辆序号厂商式样序号认证可复用的类问题域部分的类 复用复用 车辆序号厂商式样序号认证可复
11、用的类现在学习的是第16页,共131页4、提高性能、提高性能(1)调整对象分布)调整对象分布(2)缩短对象存取时间)缩短对象存取时间设立缓冲区设立缓冲区甲机甲机乙机乙机sendcallcallsend类类A类类A类类B类类C类类B类类C甲机甲机乙机乙机现在学习的是第17页,共131页(3)合并通讯频繁的类)合并通讯频繁的类流速调节器流速调节器指定流速指定流速流速调节流速调节流速探测器流速探测器当前流速当前流速流速探测流速探测取当前流速取当前流速流速控制器流速控制器指定流速指定流速当前流速当前流速流速调节流速调节流速探测流速探测合并前合并前合并后合并后(4)增加属性以减少重复计算)增加属性以减少
12、重复计算call现在学习的是第18页,共131页(5)降低算法的计算复杂性)降低算法的计算复杂性(6)细化对象的分类)细化对象的分类 二次曲线二次曲线绘图绘图 二次曲线二次曲线 抛物线抛物线绘图绘图 双曲线双曲线绘图绘图 椭圆椭圆绘图绘图 现在学习的是第19页,共131页(7)将复杂对象化为整体)将复杂对象化为整体-部分结构部分结构帧帧5 5、为数据存储管理增补属性与操作、为数据存储管理增补属性与操作在数据接口部分设计中介绍在数据接口部分设计中介绍背景背景前景前景显示显示显示显示1 1*1 11 1现在学习的是第20页,共131页6 6、完善对象的细节、完善对象的细节OOD在在OOA模型基础上
13、所做的主要工作,不能用模型基础上所做的主要工作,不能用“细化细化”二字二字概括,但细化是不可缺少的概括,但细化是不可缺少的(1)完善与问题域有关的属性和操作)完善与问题域有关的属性和操作在在OOA阶段允许不详尽,阶段允许不详尽,OOD必须加以完善必须加以完善(2)解决)解决OOA阶段推迟考虑的问题,包括:阶段推迟考虑的问题,包括:因封装原则而设立的对象操作因封装原则而设立的对象操作与与OOD模型其他部分有关的属性和操作模型其他部分有关的属性和操作(3)设计类的每个操作)设计类的每个操作必要时用流程图或者活动图表示必要时用流程图或者活动图表示(4)设计表示关联的属性)设计表示关联的属性区分多重性
14、的区分多重性的3种情况,决定属性设置在哪一端种情况,决定属性设置在哪一端(5)设计表示聚合的属性)设计表示聚合的属性区分组合与松散的聚合区分组合与松散的聚合对于组合,用嵌套对象实现对于组合,用嵌套对象实现对于松散的聚合,采用与关联相同的策略对于松散的聚合,采用与关联相同的策略现在学习的是第21页,共131页7、定义对象实例定义对象实例在逻辑上,一个类的对象实例是:在逻辑上,一个类的对象实例是:问题域中所有可用这个类描述的实际事物问题域中所有可用这个类描述的实际事物在物理上,一个类的对象实例可以是:在物理上,一个类的对象实例可以是:内存中的对象变量内存中的对象变量文件的一个记录,或数据库表的一个
15、元组文件的一个记录,或数据库表的一个元组一个类的对象实例可以分布到不同的处理机上一个类的对象实例可以分布到不同的处理机上对每一台处理机对每一台处理机说明在它之上创建的每一个(或组)内存对象说明在它之上创建的每一个(或组)内存对象说明在它之上保存的外存对象说明在它之上保存的外存对象类的对象实例说明:类的对象实例说明:处理机:处理机:,内存对象:内存对象:(n元数组)元数组)外存对象:外存对象:现在学习的是第22页,共131页8、修改或补充辅助模型及模型规约、修改或补充辅助模型及模型规约包图包图类的增减、拆分、合并以及各个类之间关系的变化类的增减、拆分、合并以及各个类之间关系的变化顺序图顺序图操作
16、与消息操作与消息活动图活动图操作流程操作流程其他模型图其他模型图状态机图、定时图、交互概览图、组合结构图状态机图、定时图、交互概览图、组合结构图模型规约模型规约类的属性、操作及其对外关系的修改或细化类的属性、操作及其对外关系的修改或细化现在学习的是第23页,共131页建立与建立与OOA文档的映射文档的映射指出指出OOA模型中的哪模型中的哪个(或哪些)类演化为个(或哪些)类演化为OOD模型中的哪个(或哪模型中的哪个(或哪些)类些)类现在学习的是第24页,共131页12.1 什么是人机交互部分什么是人机交互部分人机交互部分是人机交互部分是OOD模型的外围组成部分之一,是系统中负责人机交互模型的外围
17、组成部分之一,是系统中负责人机交互的部分。其中所包含的对象(称作界面对象)构成了系统的人机界面。的部分。其中所包含的对象(称作界面对象)构成了系统的人机界面。现今的系统大多采用图形方式的人机界面现今的系统大多采用图形方式的人机界面形象、直观、易学、形象、直观、易学、易用,远远胜于命令行方式的人机界面,是使软件系统嬴得广大用户易用,远远胜于命令行方式的人机界面,是使软件系统嬴得广大用户的关键因素之一。的关键因素之一。但开发工作量大,成本高。近但开发工作量大,成本高。近30年出现了许多支持图形用户界面开年出现了许多支持图形用户界面开发的软件系统,包括:发的软件系统,包括:窗口系统(如窗口系统(如X
18、 Window,News););图形用户界面(图形用户界面(GUI)(如)(如OSF/Motif,Open Look););可视化开发环境(如可视化开发环境(如Visual C+,Visual Basic,Delphi)统称统称界面支持系统界面支持系统。人机交互部分既取决于需求,又与界面支持系统密切相关。人机交互部分既取决于需求,又与界面支持系统密切相关。第第12章章人机交互部分的设计人机交互部分的设计现在学习的是第25页,共131页人机界面的开发不仅是设计和实现问题,也包括分析问题对人机交互需求的分析。人机界面的开发也不纯粹是软件问题,它还需要心理学、美学等许多其它学科的知识。把人机交互部分
19、作为系统中一个独立的组成部分进行分析和设计,有利把人机交互部分作为系统中一个独立的组成部分进行分析和设计,有利于隔离界面支持系统的变化对问题域部分的影响于隔离界面支持系统的变化对问题域部分的影响控制驱动部分控制驱动部分问题域问题域部分部分数数据据接接口口部部分分人人机机交交互互部部分分X-Window人人机机交交互互部部分分OSF/Motif人人机机交交互互部部分分Visual C+现在学习的是第26页,共131页12.2 人机交互部分的需求分析人机交互部分的需求分析对使用系统的人进行分析对使用系统的人进行分析以便设计出适合其特点的交互方式和界面表现形式以便设计出适合其特点的交互方式和界面表现
20、形式对人和机器的交互过程进行分析对人和机器的交互过程进行分析核心问题是人如何命令系统,以及系统如何向人提交信息核心问题是人如何命令系统,以及系统如何向人提交信息(1)分析与系统交互的人(参与者)分析与系统交互的人(参与者)人对界面的需求,不仅在于人机交互的内容,而且在于他们对人对界面的需求,不仅在于人机交互的内容,而且在于他们对界面表现形式、风格等方面的爱好。界面表现形式、风格等方面的爱好。前者是前者是客观需求客观需求,对谁都一样,对谁都一样后者是后者是主观需求主观需求,因人而异,因人而异分析工作包括分析工作包括列举所有的人员参与者列举所有的人员参与者调查研究调查研究区分人员类型区分人员类型统
21、计(或估算)各类人员的比例统计(或估算)各类人员的比例了解使用者的主观需求了解使用者的主观需求现在学习的是第27页,共131页(2)从用况分析人机交互)从用况分析人机交互用况的构成用况的构成参与者的行为和系统行为按时间顺序交替出现,左右分明。参与者的行为和系统行为按时间顺序交替出现,左右分明。形成交叉排列的段落。形成交叉排列的段落。每个段落至少含有一个输入语句或输出语句;每个段落至少含有一个输入语句或输出语句;有若干纯属参与者自身或系统自身的行为陈述;有若干纯属参与者自身或系统自身的行为陈述;可能包含一些控制语句或括号。可能包含一些控制语句或括号。抽取方法:抽取方法:删除所有与输入、输出无关的
22、语句删除所有与输入、输出无关的语句删除不再包含任何内容的控制语句与括号删除不再包含任何内容的控制语句与括号剩下的就是对一项功能的人机交互描述剩下的就是对一项功能的人机交互描述现在学习的是第28页,共131页收款员收款输入开始本次收款的命令;作好收款准备,应收款总数置为0,输出提示信息;for 顾客选购的每种商品 do 输入商品编号;if 此种商品多于一件 then 输入商品数量 end if;检索商品名称及单价;货架商品数减去售出数;if 货架商品数低于下限 then 通知供货员请求上货end if;计算本种商品总价并打印编号、名称、数量、单价、总价;总价累加到应收款总数;end for;打印
23、应收款总数;输入顾客交来的款数;计算应找回的款数,打印以上两个数目,收款数计入账册。(b)删除与输入输出无关的陈述收款输入开始本次收款的命令;作好收款准备,应收款总数置为0,输出提示信息;for 顾客选购的每种商品 do 输入商品编号;if 此种商品多于一件 then 输入商品数量 end if;检索商品名称及单价;货架商品数减去售出数;if 货架商品数低于下限 then 通知供货员请求上货end if;计算本种商品总价并打印编号、名称、数量、单价、总价;总价累加到应收款总数;end for;打印应收款总数;输入顾客交来的款数;计算应找回的款数,打印以上两个数目,收款数计入账册。(a)一个用况
24、的例子收款员收款(人机交互)输入开始本次收款的命令;输出提示信息;for 顾客选购的每种商品do 输入商品编号;if 此种商品多于一件then 输入商品数量end if;打印商品编号、名称、数量、单价、总价;end for;打印应收款总数输入顾客交来的款数打印交款数及找回款数;(c)得到人机交互描述例:例:现在学习的是第29页,共131页人机交互的细化人机交互的细化输入的细化输入的细化输入步骤的细化输入步骤的细化输入设备的选择输入设备的选择输入信息表现形式的选择输入信息表现形式的选择输出的细化输出的细化输出步骤的细化输出步骤的细化输出设备的选择输出设备的选择输出信息表现形式的选择输出信息表现形
25、式的选择输入与输出相比,输入在人机交互中起到主导作用输入与输出相比,输入在人机交互中起到主导作用一次输入,广义地称为对系统的一条一次输入,广义地称为对系统的一条“命令命令”现在学习的是第30页,共131页(3)分析处理异常事件的人机交互)分析处理异常事件的人机交互(4)命令的组织)命令的组织不受欢迎的命令组织方式:不受欢迎的命令组织方式:一条命令含有大量的参数和任选项一条命令含有大量的参数和任选项系统有大量命令,不加任何组织和引导系统有大量命令,不加任何组织和引导基本命令:基本命令:使用一项独立的系统功能的命令。使用一项独立的系统功能的命令。命令步:命令步:基本命令交互过程中所包含的具体输入步
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 分析 设计 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内