收藏 分享(赏)

面向对象系统分析与设计.ppt

上传人:dzzj200808 文档编号:3231125 上传时间:2018-10-08 格式:PPT 页数:28 大小:358KB
下载 相关 举报
面向对象系统分析与设计.ppt_第1页
第1页 / 共28页
面向对象系统分析与设计.ppt_第2页
第2页 / 共28页
面向对象系统分析与设计.ppt_第3页
第3页 / 共28页
面向对象系统分析与设计.ppt_第4页
第4页 / 共28页
面向对象系统分析与设计.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、面向对象系统分析与设计 Object-Oriented Systems Analysis and Design,河北农业大学信息科学与技术学院 滕桂法 教授,第四章 面向对象编程,分析、设计、编程的流程分析、设计、编程的关系 设计项目从静态构造、动态行为、功能处理、物理因素来考虑各个阶段都是以静态构造为中心模型 阶段间的距离各阶段距离小。分析和设计比设计和编程的距离要大。,面向对象编程,程序的处理分配,文件分配,程序的处理分配,文件分配,-,物理模型,操作的设计部, 编程部,处理的流程 (处理IPO),处理的输入输出数据(处理的I/O),功能模型,操作的调用 (表明),对象间的消息通信时点,对

2、象状态,对象间的消息通信顺序,对象的状态,动态模型,类定义, 事例定义,类的静态构造 ,事例的静态构造,对象(类)的静态构造,静态模型,编程,设计,分析,阶段,面向对象编程,对象模型,动态模型,功能模型,类定义, 类间关系,主要事件的 流程(表明),针对操作的 数据输入输出,分析模型,编程,从分析模型到编程的实现,充分利用3个模型,面向对象编程,从分析得到的抽象数据的实现,用户接口,窗口,利用,分析,编程,class Window private:int xPos, yPos;bool isVisibile; public:show();hide();move(int direction,in

3、t amount); ;,数据类型,类定义,操作函数群,分析的抽象数据类型和编程的抽象数据类型,面向对象编程,从分析得到的抽象数据的实现,分析,编程,class Window private:int xPos, yPos;bool isVisibile; public:show();hide();move(int direction,int amount); ;,分析的封装化和编程的封装化,窗口xposyposisVisibleshow()hide()move(),分析中的原则: 属性隐蔽、操作公开,编程中:private,public关键词指定隐蔽和公开,面向对象编程,从分析得到的继承的实现

4、,分析,编程,class Window private:int xPos, yPos; public: move(); ;class ResizableWindow:public Window private:int xSize,ySize; public:resize(); ;,分析的继承和编程的继承,窗口xposyposmove(),可变窗口xSizeySizeresize(),is-a,面向对象编程,从分析得到的消息通信的实现,分析,编程,分析的消息通信和编程的消息通信,用户接口,窗口,Show, Hide, Move,class Window private:int xPos, yPo

5、s;bool isVisible; public:show();hide();move(int directuion,int amount); ;Window theTarget;theTarget.show();theTarget.move();theTarget.hide();,消息通信,面向对象编程,从分析得到的状态的实现,改变状态的处理和不改变状态的处理,确认大小,检查字符串,清空,追加,清空,追加,确认大小,检查字符串,:改变状态的处理,:不改变状态的处理,初期状态,字符串登录状态,存在的4种问题(之一),功能中心的弊病编 程-过程语言开发分析设计-以功能为中心把握问题事 实:“事物

6、的结构” 比 “功能”自然分析设计以“事物的结构”为中心并非不是最佳方法而是,用过程语言开发不能实现系统分析 vs 用户要求 产生差异,存在的4种问题(之二),数据与行为分离的弊病过程性语言:数据的访问没有限制程序员:可自由的更新和参照但要求对数据构造全部理解缺乏限制数据变更所进行的处理的范围通过某一特制函数来访问某一重要数据由于没有制约这种违反原则的手段 现状是规则不彻底,存在的4种问题(之三),重复开发的弊病费事:不易于扩展已有处理或数据结构仅一部分的修改也得全部拷贝再 实施修改,这样就重复具有类似程序的处理或数据。错误难免:因为是复制的,所以原有错误就有可能重复出现出现修改两处同样的错误

7、的现象(因前后没有逻辑关系),存在的4种问题(之四),利用顺序靠默契的弊病数据和处理是分离的,所以即使是操作同一数据的处理之间,也没有表示他们有联系的手段,也没有表示他们的处理顺序的手段。处理的使用者需推测程序的提供者所想象的利用顺序来利用这些处理 为了解决这些问题,出现了面向对象方法,利用过去方法未能解决的问题,利用过去方法 未能解决的问题,利用面向 对象方法解决,(1)重视编程、功能为主,(2)数据与处理的分离,(3)类似软件的重复开发,(4)利用顺序以默契为前提,(2)封装化,(1)抽象化,(3)继承,(4)状态,基本概念(抽象化),抽象化功能中心事物中心(不仅解决编程而且整个系统开发问

8、题)OO法:数据+行为 = 一个对象单位可以记述对象之间消息的传递不是将现实原封不动的表示为对 象,而是仅着重问题的重要侧面,或者说是强调所注目的问题的侧面,这就叫抽象化对象就具有了表示数据和操作以及处理什么如何么处理的手段, 抽象化是OO的特征之一,Enlarge Rotate Isequal Show,面向对象,以 前,抽象化,数据+行为,数据+行为,数据+行为,现实,事物中心,现实,事物中心,抽出重要的侧面(性质),自然的联想,联想的转换,计算机,计算机,系统开发,系统开发,功能中心,事物中心,基本概念(抽象化),抽象化的效果-把握对象容易化(3个),功能中心变成事物中心,着眼于事物的构

9、造,仅将重要的侧面模型化,对于变更较安定,自然地表示现实,分析的焦点明确化,具有相同性质的对象再抽象成类(Class),将类再抽象成抽象的类,这样就可以掌握事物的构造体系了,基本概念(封装),封装(信息隐蔽)数据与处理的分离数据为中心的处理一体化对象所有的数据从外部是不可视的,仅通过行为才可以对对象数据进行操作。这样的情形比喻成“封装”或叫“信息隐蔽”。见下图示例。,以 前,需要的文件在何处 放回何处好,用户定,需要的文件在何处 放回何处好,由管理人员安排,面向对象,用 户 (操作),用 户 (操作),文件箱(数据),文件箱(数据),管理人员(操作),封装的效果对象的用户与提供者之间的责任分担

10、明确化。对象的用户没有必要知 用户易道对象的内部数据构造 于利用对象的提供者即使改变 便于提供内部数据构造,对用户 者修改也没有影响,基本概念(封装),基本概念(封装),封装(encapsulation)是将相关的概念组成一个单元,其后可以通过一个名称来引用它。 面向对象封装(object-oriented)是将表示状态的操作和属性包装成一个对象类型,使得对状态的访问或修改只能通过封装提供的接口进行。 状态保持: 调用后,其状态或值仍保留(见后叙)。,基本概念(继承),继承重复开发再利用上一级类在向下一级类传递的同时。还可以追加上级类中没有的新的性质,引入了“继承”机制。这样,不仅解决了前后不

11、一致或矛盾的现象,而且提供了已有资源的有效的再利用和提高开发效率的手段。,基本概念(继承),超类、子类有类C,后发现类D除了一些额外的属性和操作外与类C几乎是一样的,怎么办?(1)简单地复制C的所有属性和操作,然后将其放到D中。(维护麻烦、复制成本增加)(2)继承 让类D向类C“请求使用其操作”继承(从C到D)是指类D在类C中隐式地定义其每个属性和操作,跟这些属性和操作是在类D中定义一样。C称为D的超类;D称为C的子类。,超 类,子 类,显示器 键盘 软驱,显示器 键盘 软驱,鼠标 喇叭,显示器 键盘 软驱,触摸板,新定义,计算机,笔记本电脑,台式机,继承部分,新定义,新定义,继承部分,基本概

12、念(继承),继承的效果揭示了类似构成元素间的理论关系,部件可以体系化,差异编程(仅定义与上层概念不同的部分),已有代码和扩展代码的分离,部件的易修改性,部件的易扩展性,部件的易检索性,基本概念(状态),状态面向对象方法就是把数据及其对操作处理这些数据的一系列行为定义成对象单位。但是,具体对象中这些行为的可用与否,实际上是由内部的数据的值来决定的。也就是说,通过特定的内部数据值,将对象分成多个不同的“状态”,在每个对象状态里,明确可利用的行为。通过执行行为,可以表现状态的迁移,这样就可以在设计书里明确行为的执行顺序。提供者可以靠“状态”向使用者传递正确的“行为的利用顺序”。(下图所示),面向对象,打开,关闭,读,写,初始状态,关闭,打开,打开状态,读出,写入,打开,读,关闭,o.k.,N.G.,有关对象利用的约定,函数的利用顺序 靠两者的默契,提供者,利用者,打开,关闭,读,写,从前,文件对象,明文化,保证正确动作 没有必要保证误动作,程序1,程序2,如果能按调用顺序,就能保证正确动作,操作文件的函数集合,基本概念(状态),状态(迁移图)的效果着眼于状态,通过作成状态迁移图,可以使对象的提供者和利用者的共通约定明文化。提供者:没有必要保证约定以外的情况下的 对象的正确动作。利用者:按照约定,对象的正确动作就能得到保证。,RETURN,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报