首页 《面向对象设计定》PPT课件

《面向对象设计定》PPT课件

举报
开通vip

《面向对象设计定》PPT课件第11章面向对象设计11.1面向对象设计的准则1模块化2抽象3信息隐藏4弱耦合5强内聚6可重用11.2启发规则1设计结果应该清晰易懂使设计结果清晰、易读、易懂,是提高软件可维护性和可重用性的重要措施。用词一致使用已有的协议减少消息模式的数目避免模糊的定义从类名可以较容易地推想出它的用途2一般特殊结构的深度应适当一般说来,在一个中等规模(大约包含100个类)的系统中,类等级层次数应保持为5-9。应该使一般一特殊结构与领域知识或常识保持一致。3设计简单的类(1)避免包含过多的属性(2)有明确的定义(3)尽量简化对象之间...

《面向对象设计定》PPT课件
第11章面向对象 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 11.1面向对象设计的准则1模块化2抽象3信息隐藏4弱耦合5强内聚6可重用11.2启发规则1设计结果应该清晰易懂使设计结果清晰、易读、易懂,是提高软件可维护性和可重用性的重要措施。用词一致使用已有的协议减少消息模式的数目避免模糊的定义从类名可以较容易地推想出它的用途2一般特殊结构的深度应适当一般说来,在一个中等规模(大约包含100个类)的系统中,类等级层次数应保持为5-9。应该使一般一特殊结构与领域知识或常识保持一致。3设计简单的类(1)避免包含过多的属性(2)有明确的定义(3)尽量简化对象之间的合作关系(4)不要提供太多服务4使用简单的协议消息中的参数不要超过3个通过复杂消息相互关联的对象是紧耦合的5使用简单的服务6把设计变动减至最小服务通常一般只有3—5行源程序语句一般说来,应该尽量避免使用复杂的服务。如果需要在服务中使用CASE语句,通常应该考虑用一般一特殊结构代替这个类的可能性。设计的质量越高,设计结果保持不变的时间也越长。即使出现必须修改设计的情况,也应该使修改的范围尽可能小。11.3软件重用11.3.1概述1重用:也叫再用或复用,是指同一事物不作修改或稍加改动就多次重复使用。(1)知识重用(例如,软件工程知识的重用)。(2)方法和 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的重用(例如,面向对象方法或国家制定的软件开发 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 的重用)。(3)软件成分的重用。2.软件成分的重用级别(1)代码重用·源代码剪贴·源代码包含:提供包含(Include)库中源代码的机制。·继承(2)设计结果重用(3)分析结果重用3典型的可重用软件成分(1)项目 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 (2)成本估计(3)体系结构(4)需求模型和规格说明(5)设计(6)源代码(7)用户文档和技术文档(8)用户界面(9)数据(10)测试用例11.3.2类构件面向对象中的类是比较理想的可重用的构件,称类构件。1.可重用软构件应具备的特点(1)模块独立性强具有单一、完整的功能,且经过反复测试被确认是正确的,内部实现在外面是不可见的。(2)具有高度可塑性必须提供为适应特定需求而扩充或修改已有构件的机制,而且所提供的机制必须使用起来非常简单方便。(3)接口清晰、简明、可靠应该有详尽的文档说明2.类构件的重用方式(1)实例重用向创建的实例发送适当的消息,启动相应的服务,完成需要完成的工作。还可以用几个简单的对象作为类的成员,创建出一个更复杂的类,这是实例重用的另一种形式。(2)继承重用提供了一种对已有的类构件进行裁剪的机制(3)多态重用利用多态性不仅可以便对象的对外接口更加一般化(基类与派生类的许多对外接口是相同的),从而降低了消息连接的复杂程度,而且还提供了一种简便可靠的软构件组合机制。系统运行时,根据接收消息的对象类型,由多态性机制启动正确的方法,去响应一个一般化的消息,从而简化消息界面和软构件连接过程。11.3.3软件重用的效益1质量HP公司的研究2生产率创建计划、模型、文档、代码和数据所需花费的时间将减少。重用30%-50%提高生产率25%-40%3成本软件重用带来的净成本节省C=Cs-Cr-CdCs从头开发(没有重用)所需成本;Cr与重用相关联的成本;Cd交付给客户软件的实际成本11.4系统分解系统的主要组成部分称为子系统,通常根据所提供的功能来划分子系统。例如,编译系统可划分成词法分析、语法分析、中间代码生成、优化、目标代码生成和出错处理等于系统。子系统的数目应该与系统规模基本匹配。在划分和设计子系统时,应该尽量减少于系统彼此间的依赖性。面向对象设计模型(即求解域的对象模型),也由主题、类与对象、结构、属性、服务等五个层次组成。这五个层次一层比一层表示的细节更多。面向对象设计模型,在逻辑上都由四大部分组成。这四大部分对应于组成目标系统的四个子系统,它们分别是问题域子系统、人—机交互子系统、任务管理子系统和数据管理子系统。11.4.1子系统之间的两种交互方式1客户一供应商关系在这种关系中,作为“客户”的子系统调用作为“供应商”的子系统,后者完成某些服务工作并返回结果。使用这种交互 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ,作为客户的子系统必须了解作为供应商的子系统的接口,然而后者却无须了解前者的接口,因为任何交互行为都是由前者驱动的。2平等伙伴关系在这种关系中,每个子系统都可能调用其他子系统,因此,每个子系统部必须了解其他子系统的接口。总的说来,单向交互比双向交互更容易理解,也更容易设计和修改,因此应该尽量使用客户一供应商关系。11.4.2组织系统的两种方案1.层次组织这种组织方案把软件系统组织成一个层次系统,每层是一个子系统。在上、下层之间存在客户一供应商关系。低层子系统提供服务,相当于供应商,上层子系统使用下层提供的服务,相当于客户。2.块状组织这种组织方案把软件系统垂直地分解成系统相当于一块,每块提供一种类型的服务。利用层次和块的各种可能的组合,可以成功地由多个子系统组成一个完整的软件系统。11.5问题域部分的设计OOA的模型直接放到OOD的问题域部分,OOD阶段对OOA结果进行改动和增补。根据实现条件,对OOA产生模型的类与对象、结构、属性、操作进行组合与分解,增加必要的类、属性和关系。实现条件对问题域部分的影响编程语言硬件、操作系统及网络设施复用支持数据管理系统界面支持系统问题域的设计过程输入OOA模型,进行必要的修改逐一考察影响问题域部分设计的实现条件,对模型进行调整、补充建立分析文档和设计文档之间的映射关系问题域的设计内容及策略针对编程语言支持能力的调整增加一般类,提供共同协议为实现复用采取的设计策略提高性能为实现对象永久存储所做的修改完善对象的细节定义对象实例修改或补充主题图、交互图和详细说明针对编程语言支持能力的调整对继承的调整简单转换重新定义对象类保持分类,剥离多继承信息对多态性的调整汽车客货两用车货车客车针对单继承的调整:分解多继承,采用整体/部分结构映射汽车1,m货运客运汽车用途汽车客货两用车货车客车1,m货运客运汽车用途汽车1针对单继承的调整:分解多继承,采用实例连接映射货车客车汽车针对单继承的调整:分解多继承,展平为单继承客货两用车汽车客货两用车货车客车两种结构的变通冷藏车…………汽车…………制冷设备…………冷藏车…………汽车…………制冷设备…………仅用一般-特殊结构两种结构同用冷藏车…………汽车…………制冷设备…………仅用整体-部分结构为实现复用采取的设计策略直接复用删除可复用类的多余信息通过继承复用删除多余信息,通过继承而复用收款机ABC现钞收款机DEF现钞收款机ABCDEFXYZZXY为支持复用建立结构收款机类成为可供本领域其它系统复用的领域构件用整体-部分结构实现复用车床…………机床…………刨床…………起重机…………电动机…………钻床…………送料车…………完善对象的细节弥补OOA模型的不足解决OOA阶段推迟考虑的问题设计对象的服务设计表示关联的属性设计表示整体-部分关系的属性取消没有特殊属性的特殊类大学生研究生研究方向指导教师……学生姓名学号班级…………研究生研究方向指导教师……学生姓名学号班级…………通过增加属性简化一般-特殊结构人员…………男人…………女人……………………美国人…………日本人…………人员性别国籍…………中国人11.6人机交互部分的设计虽然好的人机交互部分不可能挽救一个功能很差的软件,但性能很差的人机交互部分将使一个功能很强的产品变的不可接受!人机交互部分的需求分析分析活动者—与系统交互的人从usecase分析人机交互分析处理异常事件的人机交互命令的组织输出信息的组织结构命令的组织(导航方式)基本命令及其命令的结构(a)线性结构(b)树形结构(c)半序网状结构(d)一般网状结构高层命令及其结构高层命令结构基本命令组合成高层命令的常见角度:按功能的相似性按命令所属的子系统人机界面的设计原则使用简便一致性启发性减少人脑记忆的负担减少重复的输入容错性及时反馈其他黄金规则在有关界面设计的著作中,TheoMandel创造了三条黄金原则:置用户于控制之下减少用户的记忆负担保持界面一致黄金规则:置用户于控制之下Mandel定义的一组允许用户操作控制的原则:以不强迫用户进入不必要的或不希望的动作的方式来定义交互方式提供灵活的交互允许用户交互可以被中断和撤消当技能级别增加时可以使交互流水化并允许定制交互使用户隔离内部技术细节设计应允许用户和出现在屏幕上的对象直接交互黄金规则:减少用户的记忆负担Mandel定义了一组设计原则,使界面能够减少用户记忆负担:减少对短期记忆的要求建立有意义的缺省定义直觉性的捷径界面的视觉布局应该基于真实世界的隐喻以不断进展的方式揭示信息缺省值黄金规则:保持界面一致用户应以一致的方式展示和获取信息所有可视信息的组织均按照贯穿所有屏幕显示所保持的设计标准输入机制被约束到有限的集合,在整个应用中被一致地使用从任务到任务的导航机制被一致地定义和实现Mandel定义了一组帮助保持界面一致性的设计原则允许用户将当前任务放入有意义的语境在应用系列内保持一致性如过去的交互模型已建立起了用户期望,除非有迫不得已的理由,不要改变它人机界面的OO设计界面支持系统窗口系统图形用户界面(GUI)可视化编程环境界面元素窗口菜单对话框图符滚动条其他人机界面的OO设计设计过程与策略选择和掌握界面支持系统硬件、操作系统及编程语言界面实现的支持级别界面风格与视感其他根据人机交互需求选择界面元素系统的启动高层命令组织结构的实现基本命令的执行详细交互过程的输入与输出异常命令的输入人机界面的OO设计设计过程与策略用OO概念表示界面元素对象和类属性和服务整体–部分结构一般–特殊结构关联消息连接应用程序主窗口人机界面中的整体―部分结构视窗1,1滚动条按钮主菜单下拉菜单工具条1,m1,11,21,m1,1CDialog《复用》对话框A用一般―特殊结构特化可复用类工具条按钮对话框11界面对象之间的关联1,m传感器图形项目传感器控制系统人机交互部分设计举例调用项目传感器状况窗口显示菜单调用菜单活动传感器项目调用项目传感器报警窗口显示菜单调用菜单活动位置传感器报警项目调用项目传感器窗口坐标11.7任务管理(控制驱动)部分的设计1.为什么要有任务管理部分任务管理部分的任务:系统如何并发执行要设计哪些控制流根据什么决定上述问题:问题域和系统责任所选择的实现条件把任务管理(控制驱动)部分作为OOD模型的一个独立组成部分来设计,可使实现条件的变化主要影响这一部分,从而隔离对其他部分的影响。与任务管理(控制驱动)部分设计有关的技术系统总体方案软件体系结构分布式系统的体系结构风格系统的并发性与任务管理(控制驱动)部分设计有关的技术—系统总体方案总体方案中所决定的下述问题是模型中任务管理(控制驱动)部分设计的基本实现条件:计算机硬件操作系统网络方案软件体系结构编程语言其他商品软件与任务管理(控制驱动)部分设计有关的技术—软件体系结构典型的软件体系结构风格:管道与过滤器风格数据抽象风格面向对象风格隐式调用风格层次风格仓库风格黑板风格解释器风格进程控制风格客户–服务器风格主程序/子程序风格与任务管理(控制驱动)部分设计有关的技术—分布式系统的体系结构风格历史上出现过的几种分布式体系结构风格:主机+仿真终端体系结构文件共享体系结构客户–服务器体系结构二层客户–服务器体系结构对等式客户–服务器体系结构三层客户–服务器体系结构瘦客户–服务器体系结构浏览器–服务器体系结构与任务管理(控制驱动)部分设计有关的技术—系统的并行性当前应用系统的并行性:分布在通过网络相连的不同计算机上的进程之间的并发在多CPU的计算机上运行的多个进程或线程之间的并发在单CPU的计算机上运行的多个进程或线程之间的并发如何设计任务管理(控制驱动)部分选择软件体系结构风格确定系统分布方案对象的分布类的分布类图的划分识别控制流以节点为单位识别控制流从用户需求出发识别控制流从usecase识别控制流参照OOA模型中的主动对象为改善性能而增加的控制流实现并行计算的控制流实现节点之间通信的控制流对其他控制流进行协调的控制流用主动对象表示控制流把任务管理(控制驱动)部分看做一个主题考虑系统中并发执行的任务的几个角度:事件驱动的任务时钟驱动的任务高优先级任务低优先级任务关键任务协调者任务把集中式的类图分散到各个节点上作为主题集中式类图节点A主题节点B主题节点C主题分布到网络的不同节点上……类图的划分1*ACBDFEG集中式类图*IJH11112222按节点划分主题1.服务器1*CBDFEGA服务器主题2.客户机客户机主题(第一种策略)HIJ*1A《副本》D《副本》2.客户机客户机主题(第二种策略)HIJ*1D《副本》传感器控制系统任务管理部分设计举例任务协调器协调任务名字描述优先级服务协调通信初始化开始准备好结束10,m传感器任务描述举例任务1名字:传感器读出。描述:该任务在需要脉冲调幅时负责读出传感器。包含:传感器.样本。优先级:中等。协调:时钟驱动,100ms的时间间隔。通信:从输入线(传感器)得到值,给雷达邮箱发送值。11.8数据管理部分的设计数据管理部分提供了数据在数据管系统中存储和检索对象的基本结构,它分离了数据管理方案的影响(不管该方案是普通文件、关系型数据库、面向对象数据库或其它方式.)如何设计数据管理部分(1)数据存放方法设计(2)相应服务的设计为每个需存储其对象的类增加一个属性和服务对象存储方案与数据接口的设计策略针对RDBMS的设计对象及对关系数据库的使用对象对象对象……应用系统数据接口RDBMS关系数据库用关系数据库存储对象对象1……类A对象与数据库表元组的不同映射方式元组1元组2….元组n表A数据库对象2对象n实例化RDBMS数据接口内存空间对象类A元组1元组2….元组n表A数据库实例化RDBMS数据接口内存空间面向对象设计实例:简化的C++类库管理系统需求描述:管理用C++语言定义的类用户能够方便地向类库中添加新类,并建立新类与库中原有类的关系用户能够通过类名从库中查询出指定的类用户能够查看或修改与指定类有关的信息用户能够从类中删除指定的类用户能够在浏览窗中方便、快速地浏览当前类的父类和子类具有“联想”浏览功能用户能查看或修改某个类的指定的成员函数的源代码本系统是一个简化的多用户系统,每个用户都可以建立自己的类库,不同类库之间互不干扰对于用户误操作或错误的输入,能提示并继续稳定运行系统易学,用户界面应是GUID的OOA阶段建立的类库管理系统对象模型类库库名类条目列表插入类条目删除类条目……1+0,n1类条目类名父类列表……设置类名添加父类……成员函数函数名访问权虚基类标志……父类名字访问权虚基类标志数据成员数据名访问权数据类型0,n20,n30,m用户拥有面向对象设计(简化的C++类库管理系统)设计类库结构两种可把类条目组织成类库的数据结构:二叉树链表:容易表示多重继承设计问题域子系统—对对象模型做补充和细化类条目(ClassEntry)类库(ClassEntryLink)父类(ClassBase)、成员函数(ClassFun)和数据成员(ClassData)类条目缓冲区(ClassEntryBuffer)类条目类名父类列表成员函数列表数据成员列表类条目类名父类链表头指针成员函数链表头指针数据成员链表头指针注释指向下一类条目指针新增数据成员新增操作设置类名添加父类删除父类更改父类添加成员函数删除成员函数更改成员函数添加数据成员删除数据成员更改数据成员查找并取出指定父类信息查找并取出指定成员函数信息查找并取出指定数据成员信息设置类名添加父类删除父类更改父类添加成员函数删除成员函数更改成员函数添加数据成员删除数据成员更改数据成员具体化类库库名类条目列表插入类条目删除类条目存储类库读出类库具体化为类库库名类链头指针插入类条目删除类条目把内存中类链表写到文件读文件并在内存建立链表按类名查找类条目并把内容复制到指定地点新增操作具体化父类名字访问权虚基类标志新增数据成员父类名字访问权虚基类标志指向下一个父类的指针成员函数函数名访问权虚基类标志返回值类型参数代码新增数据成员成员函数函数名访问权虚基类标志返回值类型参数代码指向下一个成员函数的指针数据成员数据名访问权数据类型新增数据成员数据成员数据名访问权数据类型指向下一个数据成员的指针类库(ClassEntryLink)示意图下一个ClassEntryClassEntryLinkClassEntry……ClassBaseClassDataClassFun下一个ClassBase……下一个ClassFun……下一个ClassData……类条目缓冲区(ClassEntryBuffer)为便于处理当前类,额外设置类条目缓冲区,它是从ClassEntry类派生出来的类,除继承ClassEntry中的数据成员和成员函数外,主要增加用于域窗口或类链交换数据的成员函数ClassEntryClassEntryBuffer面向对象设计(简化的C++类库管理系统)设计人机交互子系统窗口登录窗口(用户输入账号、确认/放弃)主窗口(创建/浏览/存储/退出)创建窗口(输入新类名/选择已有类名,三个分组框分别管理父类、成员函数和数据成员,每组框有:添加/编辑/删除)选择浏览方式窗口(按类名浏览/按类关系浏览)类名浏览窗口类关系浏览窗口重用:基于VC开发环境,尽可能重用MFC中类设计其它类ClassBaseCWinAppClassToolsAppCDocumentClassEntryLinkClassEntry0,MClassFunClassDataClassEntryBuffer0,n10,n20,n3OOD得出的类库管理系统对象模型Create_DataCDialogCreate_BaseCreate_FunBrowse_NameBrowse_InheritLoginClasstoolsCreate_ClassCreate_Select消息连接
本文档为【《面向对象设计定》PPT课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
希望图文
公司秉着用户至上的原则服务好每一位客户,专注课件、范文、教案设计制作
格式:ppt
大小:2MB
软件:PowerPoint
页数:77
分类:其他高等教育
上传时间:2022-05-05
浏览量:0