面向对象软件工程设计1

上传人:wm****3 文档编号:52248589 上传时间:2018-08-19 格式:PPT 页数:52 大小:273KB
返回 下载 相关 举报
面向对象软件工程设计1_第1页
第1页 / 共52页
面向对象软件工程设计1_第2页
第2页 / 共52页
面向对象软件工程设计1_第3页
第3页 / 共52页
面向对象软件工程设计1_第4页
第4页 / 共52页
面向对象软件工程设计1_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《面向对象软件工程设计1》由会员分享,可在线阅读,更多相关《面向对象软件工程设计1(52页珍藏版)》请在金锄头文库上搜索。

1、44过渡到设计过渡到设计44问题论域中的问题问题论域中的问题44定义用户界面定义用户界面44任务管理问题任务管理问题44数据库设计数据库设计面向对象的设计n n引言和讨论引言和讨论n n设计策略设计策略n nSBSSSBSS的的OODOOD问题问题n n要点要点引言和讨论引言和讨论n n在传统的开发模式中,分析和设计采用不同在传统的开发模式中,分析和设计采用不同 的表示、不同的用语、不同的的表示、不同的用语、不同的CASECASE工具等工具等 。 n n在面向对象开发模式中,在面向对象开发模式中,分析和设计之间的分析和设计之间的 界限是模糊的界限是模糊的。是面向对象方法的一个有意。是面向对象方

2、法的一个有意 识的深思熟虑的特征。识的深思熟虑的特征。n n通常,通常,分析分析涉及涉及系统做什么系统做什么,设计设计则涉及则涉及需需 求如何实现求如何实现。 n n分析通常建立在分析通常建立在“ “完美的完美的” ”技术的假设之上,技术的假设之上, 而对于设计,则通常涉及具体的实现环境,而对于设计,则通常涉及具体的实现环境, 包括系统的运行硬件平台、操作系统、使用包括系统的运行硬件平台、操作系统、使用 的编程语言等。的编程语言等。 OOD表示法表示法n nOODOOD涉及到实现,它的表示涉及涉及到实现,它的表示涉及任务任务、模块模块 、处理器处理器、队列队列,以及其它,以及其它硬件硬件/ /

3、软件软件等。等。n n用用图形表示图形表示表达设计。表达设计。n n假定假定:OODOOD的表示法应尽可能地接近的表示法应尽可能地接近OOAOOA表表 示法示法。n n问题:问题:利用利用OOAOOA模型描述的需求,软件工程模型描述的需求,软件工程 师应当如何策划面向对象的设计?从哪儿开师应当如何策划面向对象的设计?从哪儿开 始着手?采取什么步骤?应该得出什么类型始着手?采取什么步骤?应该得出什么类型 的体系结构或结构?的体系结构或结构?OODOOD策略策略OODOOD的良好准则的良好准则n n制定评价准则的目的是使得我们能够以一种制定评价准则的目的是使得我们能够以一种 客观的方法来对一个设计

4、作出评价,看它是客观的方法来对一个设计作出评价,看它是 否可以被接受,还是应当拒绝或应当修改。否可以被接受,还是应当拒绝或应当修改。n n以往评价一个项目的设计时,常用效率、完以往评价一个项目的设计时,常用效率、完 备性、灵活性等指标来衡量。备性、灵活性等指标来衡量。n n老的设计方法老的设计方法, , 如结构化设计方法,有它自己如结构化设计方法,有它自己 的一套完善的设计准则。其中最著名、最重的一套完善的设计准则。其中最著名、最重 要的概念是模块的耦合、内聚性。而针对要的概念是模块的耦合、内聚性。而针对 OODOOD的准则与它们很类似,其中有一些准则的准则与它们很类似,其中有一些准则 在本质

5、上与老的方法相同,有些具有面向对在本质上与老的方法相同,有些具有面向对 象的独特特点。象的独特特点。其它问题其它问题n n用用OODOOD方法产生的设计还不是软件的最终成方法产生的设计还不是软件的最终成 品。品。必须将这个设计翻译成语言程序必须将这个设计翻译成语言程序,然后,然后 对产生的代码进行测试对产生的代码进行测试。n n编程语言对设计过程及设计者的设计思想都编程语言对设计过程及设计者的设计思想都 将产生巨大的影响。将产生巨大的影响。n n连面向对象的方法也会受到编程语言的影响连面向对象的方法也会受到编程语言的影响 。一些商品化的。一些商品化的OODOOD形式就受到形式就受到AdaAda

6、、EiffelEiffel 、C+C+、SmalltalkSmalltalk、JavaJava等语言的影响。等语言的影响。设计策略设计策略n n采用什么样的表示法来表达和描述设计,这采用什么样的表示法来表达和描述设计,这 是一个很重要的问题。是一个很重要的问题。n n从这个角度来看,标准体系结构的表示法就从这个角度来看,标准体系结构的表示法就 类似于一本食谱类似于一本食谱“ “若想要制作意大利面条,首若想要制作意大利面条,首 先应准备先应准备, , , , 样的原料,然后再按照下样的原料,然后再按照下 列步骤列步骤” ”。n n有了这个食谱,并不能保证制作一定能够成有了这个食谱,并不能保证制作

7、一定能够成 功,因为制作过程中还需要个人的经验、判功,因为制作过程中还需要个人的经验、判 断以及人的感觉。断以及人的感觉。n n但有了食谱,就不会陷入盲目,知道该如何但有了食谱,就不会陷入盲目,知道该如何 办,有了成功的条件和依据。办,有了成功的条件和依据。OODOOD体系结构体系结构n n最早最早SmalltalkSmalltalk公司提出了一种称之为公司提出了一种称之为MVCMVC (Model(Model- -ViewView- -Controller)Controller)的的结构。将结构。将OODOOD 体系结构分为三个主要成分:体系结构分为三个主要成分: 模型模型(Model)(M

8、odel) : : 为底层应用建立模型的类为底层应用建立模型的类 和对象;和对象; 视图视图(View)(View) : : 为用户提供与模型有关的类为用户提供与模型有关的类 接口视图的类和对象;接口视图的类和对象; 控制器控制器 (Controller)(Controller) : : 用于控制(或同步用于控制(或同步 )其他类的行为的类和对象。)其他类的行为的类和对象。MVCMVC模型模型n n这里提出的这里提出的OODOOD体系结构与体系结构与MVCMVC结构类似,结构类似, 但增加了一个成分:但增加了一个成分:数据库管理部分数据库管理部分。模型模型视图视图控制控制 器器OODOOD模型

9、的体系结构模型的体系结构类与对象层属性层属性层服务层结构层主题层问题 论域 部分人机 交互 部分任务 管理 部分数据 管理 部分主题服务消息属性实例连接类边界实例边界n n这个体系结构中使用的类和对象与这个体系结构中使用的类和对象与OOAOOA模型模型 中的一样,然后中的一样,然后围绕着这些类和对象围绕着这些类和对象,又加又加 入了另外一些类和对象入了另外一些类和对象,用来处理与实现有,用来处理与实现有 关的活动,如任务管理关的活动,如任务管理( (TMCTMC) )、数据管理数据管理 ( (DMCDMC) )以及人机交互以及人机交互( (HICHIC) )。n n以往的开发方法在设计阶段基本

10、上废弃了分以往的开发方法在设计阶段基本上废弃了分 析模型,并以一个新的设计模型重新开始。析模型,并以一个新的设计模型重新开始。 但但OODOOD方法与以往方法不同,它以方法与以往方法不同,它以OOAOOA模型模型 为设计的雏形。为设计的雏形。n n由于由于OOAOOA和和OODOOD采用相同的基本图形表示法采用相同的基本图形表示法 ,更容易体现,更容易体现OOAOOA与与OODOOD工作的连续性和无工作的连续性和无 缝隙性缝隙性。SBSS的的OOD问题问题n n对对Small BytesSmall Bytes系统系统没有实时要求没有实时要求,可以不要可以不要 任务管理部分任务管理部分( (TM

11、CTMC) )。但。但HICHIC和和PDCPDC是需要的是需要的 。n n关于关于DMCDMC的设计的设计:从原始的问题陈述可知,:从原始的问题陈述可知, 用户当前已有的订阅系统使用的是一个基于用户当前已有的订阅系统使用的是一个基于 文件的数据库。文件的数据库。n n如果有其它应用也在使用这个数据库,而且如果有其它应用也在使用这个数据库,而且 这些应用不能改动,只有继续使用这个既存这些应用不能改动,只有继续使用这个既存 的数据库。就要用到的数据库。就要用到DMCDMC。n n如果如果SBSSSBSS是这个数据库的唯一用户,可以用是这个数据库的唯一用户,可以用 一个一个OODBMSOODBMS

12、替代这个数据库。替代这个数据库。nPDC部分可以不做太多的改动。原始的OOA 模型可以原样照搬到设计体系结构的PDC部 分来。n对于HIC,要精心设计窗口和屏幕,为用户 提供友好的GUI。人机交互的另一问题是格 式和协议。新的订阅、续订以及赠阅的格式 是什么样?具有智能辅助和联机文档的帮助 工具又是什么样?n数据库的一致性问题:如每一个订阅都必须 与一个确定的收件人对应,这就是限制或事 务规则。如何保证这种一致性?nSBSS的初始化活动和结束活动也需要考虑。要点要点n n从从OOAOOA转到转到OODOOD需要需要在在OOAOOA模型的基础上模型的基础上 加入实现方面的限制加入实现方面的限制。

13、n nOOAOOA模型需要用实现技术和环境方面的详细模型需要用实现技术和环境方面的详细 的规格说明来加以补充。的规格说明来加以补充。n nSBSSSBSS相对较小,相对较小,安全性安全性可能不是主要问题可能不是主要问题 。但对一个大的系统,可能需要对特定用户。但对一个大的系统,可能需要对特定用户 做身份确认,限制他们的操作权限。做身份确认,限制他们的操作权限。n n可复用性的考虑是:可否在其他应用中使用可复用性的考虑是:可否在其他应用中使用 SBSSSBSS中的对象?如中的对象?如“ “地址地址” ”对象。对象。n nOODOOD模型类似于构造蓝图模型类似于构造蓝图。OODOOD模型以最模型以

14、最 完整的形式全面地定义了如何用特定的实现完整的形式全面地定义了如何用特定的实现 技术建立起一个目标系统。技术建立起一个目标系统。n n在在OOAOOA模型和模型和OODOOD模型中使用了共同的表模型中使用了共同的表 示法示法。这有助于从分析到设计的转换,并有。这有助于从分析到设计的转换,并有 助于在当前的设计和实现中维护助于在当前的设计和实现中维护OOAOOA模型。模型。n n与与OOAOOA模型一样,模型一样,OODOOD 模型也有模型也有 5 5 层结构层结构 ,又被划分成了,又被划分成了 4 4 个组成部分。个组成部分。这些组成部这些组成部 分把实现技术隐藏起来分把实现技术隐藏起来,使

15、之与系统的基本使之与系统的基本 问题论域行为分离开来问题论域行为分离开来。这种策略能够帮助。这种策略能够帮助 提高产品的可复用性,有助于产品的升级换提高产品的可复用性,有助于产品的升级换 代。代。n n引言和讨论引言和讨论nSBSS的的PDCn n要点要点引言和讨论引言和讨论n n与与OOAOOA模型一样,模型一样,OODOOD中各部分的构造是中各部分的构造是 不断循环反复的,而不是一个一个相继顺序不断循环反复的,而不是一个一个相继顺序 构造的。构造的。n n首先复制首先复制OOAOOA模型为模型为OODOOD模型的问题论域模型的问题论域 部分,然后根据上一章所标识的各种问题,部分,然后根据上

16、一章所标识的各种问题, 对这个部分进行修改。对这个部分进行修改。 可复用的设计编程方面的类可复用的设计编程方面的类 FF根据需要,把从类库或其它来源得到的可用根据需要,把从类库或其它来源得到的可用 的既存类增加到问题解决方案中去。的既存类增加到问题解决方案中去。 FF标明既存类中不需要的属性和操作。标明既存类中不需要的属性和操作。FF增加从既存类到增加从既存类到OOAOOA类之间的泛化类之间的泛化- -特化关特化关 系,尽可能继承既存类的属性和方法。系,尽可能继承既存类的属性和方法。 FF把把OOAOOA类中因继承既存类而成为多余的属性类中因继承既存类而成为多余的属性 和操作标出。和操作标出。 FF修改修改OOAOOA类的结构和连接。类的结构和连接。 加入泛化类以建立类间协议加入泛化类以建立类间协议 FF有时某些有时某些OOAOOA类要求一组类似的服务。此时类要求一组类似的服务。此时 ,以这些,以这些OOAOOA类为子类,定义一个父类。类为子

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号