《面向对象的系统开发方法优秀课件.ppt》由会员分享,可在线阅读,更多相关《面向对象的系统开发方法优秀课件.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象的系统开面向对象的系统开发方法发方法第1页,本讲稿共37页u 现代信息系统体系结构庞大、现代信息系统体系结构庞大、数据量大,运用传统的系统开发方法数据量大,运用传统的系统开发方法及工具已难以满足用户的要求,需有及工具已难以满足用户的要求,需有新的方法论来指导系统开发过程。面新的方法论来指导系统开发过程。面向对象技术的出现为信息系统开发方向对象技术的出现为信息系统开发方法的研究带来了新的希望。法的研究带来了新的希望。第2页,本讲稿共37页第二章第二章管理信息系统概论管理信息系统概论第一节第一节面向对象的基本概念第二节第二节面向对象开发方法基本原理第三节第三节面向对象的系统开发工具第3页,
2、本讲稿共37页9.1 9.1 面向对象的基本概念面向对象的基本概念u 1 1、标识:即是对象的名称,用来在问题域中区分其、标识:即是对象的名称,用来在问题域中区分其他对象。他对象。u2 2、数据:描述对象属性的存储或数据结构,它表明、数据:描述对象属性的存储或数据结构,它表明了对象的一个状态。了对象的一个状态。u3 3、操作:即对象的行为。分为两类:一类是对象自身承、操作:即对象的行为。分为两类:一类是对象自身承受的操作,及操作结果修改了自身原有属性状态;另一类受的操作,及操作结果修改了自身原有属性状态;另一类是施加于其他对象的操作,即将产生的输出结果作为消息是施加于其他对象的操作,即将产生的
3、输出结果作为消息发送的操作。发送的操作。u4 4、接口:主要指对外接口,是指对象受理外部消、接口:主要指对外接口,是指对象受理外部消息所指定的操作名称集合。息所指定的操作名称集合。对象的特征第4页,本讲稿共37页 消息消息 送回消息送回消息 接 口操作集合状态集合状态转换9.1 9.1 面向对象的基本概念面向对象的基本概念 对象的自动机表示第5页,本讲稿共37页1 1、模块独立性、模块独立性、模块独立性、模块独立性2 2、动态连接性、动态连接性3 3 3 3、易维护性、易维护性模块内部状态不会受外界的干预而变模块内部状态不会受外界的干预而变动,也不会干涉其他模块动,也不会干涉其他模块通过信息的
4、灵活机制,实现对象之通过信息的灵活机制,实现对象之间动态连接,从而使整个机体运间动态连接,从而使整个机体运转起来转起来对象的功能实现细节被对象的功能实现细节被“隐蔽隐蔽”,好,好像被一层壳保护在对象内部像被一层壳保护在对象内部9.1 9.1 面向对象的基本概念面向对象的基本概念 对象的特点第6页,本讲稿共37页 对象划分的基本原则是:寻求大系统中事物的对象划分的基本原则是:寻求大系统中事物的共性,将所有共同的系统成分确定为一个对象。共性,将所有共同的系统成分确定为一个对象。9.1 9.1 面向对象的基本概念面向对象的基本概念 对象的识别第7页,本讲稿共37页类定义了一大组大体上相似的对象。类定
5、义了一大组大体上相似的对象。1、标识:类的名称,用以区分其他类2、继承描述:指子类承袭的父类的名称,以及承袭得到的结构与功能3、数据结构:是对该类数据的组织结构的描述4、操作:指该类通用功能的具体实现方法5、接口:指面向其他类的统一的外部通讯协议9.1 9.1 面向对象的基本概念面向对象的基本概念 类第8页,本讲稿共37页 9.1 9.1 面向对象的基本概念面向对象的基本概念 面向对象的世界是通过对象与对面向对象的世界是通过对象与对象间彼此的相互合作来推动的,消息是象间彼此的相互合作来推动的,消息是对向之间的通信载体。对向之间的通信载体。消息第9页,本讲稿共37页1 1、同一对象可以接收不同形
6、式的多个消息,、同一对象可以接收不同形式的多个消息,产生不同响应。产生不同响应。2 2、一条消息可以发送给不同的对象,消息的、一条消息可以发送给不同的对象,消息的解释完全由接收对象完成,不同的对象对相解释完全由接收对象完成,不同的对象对相同形式的消息可以有不同的解释。同形式的消息可以有不同的解释。3 3、与传统程序的调用不同,对于传来的消息,、与传统程序的调用不同,对于传来的消息,对象可以返回相应的回答信息,也可以不返对象可以返回相应的回答信息,也可以不返回,即消息响应不是必须的。回,即消息响应不是必须的。9.1 9.1 面向对象的基本概念面向对象的基本概念 消息的特点第10页,本讲稿共37页
7、 当一个消息发送给某个对象时,包含要当一个消息发送给某个对象时,包含要求接收对象去执行某些活动的信息,接收求接收对象去执行某些活动的信息,接收到消息的对象经过解释予以响应,对象间到消息的对象经过解释予以响应,对象间的这种相互合作需要一个机制协助进行,的这种相互合作需要一个机制协助进行,这样的机制称为这样的机制称为“消息传递消息传递”。9.1 9.1 面向对象的基本概念面向对象的基本概念 消息的传递机制第11页,本讲稿共37页传送对象消息 接 口接收对象 9.1 9.1 面向对象的基本概念面向对象的基本概念 消息的传递机制第12页,本讲稿共37页对象的消息模式的处理能力即所谓的对象的消息模式的处
8、理能力即所谓的“方法方法”(MethodMethod),方法是实现消息具体功能的),方法是实现消息具体功能的手段,在手段,在C+C+中方法称为成员函数。中方法称为成员函数。9.1 9.1 面向对象的基本概念面向对象的基本概念 方 法第13页,本讲稿共37页继承是指一个类(即称子类)因承袭继承是指一个类(即称子类)因承袭而具有另一个类(或称父类)的能力而具有另一个类(或称父类)的能力和特征的机制或关系。继承是一种联和特征的机制或关系。继承是一种联结类的层次模型,允许并鼓励类的重结类的层次模型,允许并鼓励类的重用。用。9.1 9.1 面向对象的基本概念面向对象的基本概念 继承(inheritanc
9、e)第14页,本讲稿共37页1 1、类间具有共享特征(包括数据和、类间具有共享特征(包括数据和程序代码的共享);程序代码的共享);2 2、类间具有细微的差别或新增部分、类间具有细微的差别或新增部分(包括非共享程序代码和数据);(包括非共享程序代码和数据);3 3、类间具有层次结构。、类间具有层次结构。9.1 9.1 面向对象的基本概念面向对象的基本概念 继承类的特征第15页,本讲稿共37页 数据抽象数据抽象+数据抽象类型数据抽象类型+继承机制继承机制 9.1 9.1 面向对象的基本概念面向对象的基本概念 面向对象的含义第16页,本讲稿共37页 9.2 9.2 面向对象系统开发方法的原理面向对象
10、系统开发方法的原理反复累增的生命周期t时间设计实现维护 类 库 目标系统 运行类一类二类三 分析 设计 分析设计 分析设计t时间第17页,本讲稿共37页(一)问题域陈述(一)问题域陈述(二)识别对象(二)识别对象/类类(三)确定对象的属性(三)确定对象的属性(四)确定对象的服务(四)确定对象的服务(五)确定对象(五)确定对象/类的关系类的关系 9.2 9.2 面向对象系统开发方法的原理面向对象系统开发方法的原理 面向对象开发方法的过程第18页,本讲稿共37页1 1、对实体对象进行增、并、改,并、对实体对象进行增、并、改,并识别接口对象和控制对象。识别接口对象和控制对象。2 2、确定实体对象、接
11、口对象和控制对、确定实体对象、接口对象和控制对象之间的各种关系。象之间的各种关系。3 3、完善对象类结构图,组织系统的、完善对象类结构图,组织系统的体系结构。体系结构。9.2 9.2 面向对象系统开发方法的原理面向对象系统开发方法的原理 面向对象系统设计的一般步骤第19页,本讲稿共37页(1 1)静态联系。)静态联系。(2 2)消息联系。)消息联系。9.2 9.2 面向对象系统开发方法的原理面向对象系统开发方法的原理 对象之间的关系第20页,本讲稿共37页1 1、问题领域子系统的设计。主要任务是完、问题领域子系统的设计。主要任务是完善对象属性和操作的形式规定,包括限定善对象属性和操作的形式规定
12、,包括限定值、确定复杂服务的算法等等,进一步规值、确定复杂服务的算法等等,进一步规范对象形式说明以便对象在物理上实现。范对象形式说明以便对象在物理上实现。2 2、人机交互子系统的设计。接口对象在设、人机交互子系统的设计。接口对象在设计初期就已经规定出来,此时主要确定图计初期就已经规定出来,此时主要确定图形用户接口的总体策略。形用户接口的总体策略。9.2 9.2 面向对象系统开发方法的原理面向对象系统开发方法的原理 系统结构设计第21页,本讲稿共37页3 3、外部接口子系统的设计,主要处理两种、外部接口子系统的设计,主要处理两种情况:一是与现存的非面向对象或面向对象情况:一是与现存的非面向对象或
13、面向对象系统的交往,二是与现存的面向对象的(分)系统的交往,二是与现存的面向对象的(分)系统的集成。系统的集成。4 4、数据管理子系统的设计。数据管理子系、数据管理子系统的设计。数据管理子系统是连接问题域子系统与外部数据库管理系统是连接问题域子系统与外部数据库管理系统的桥梁。统的桥梁。9.2 9.2 面向对象系统开发方法的原理面向对象系统开发方法的原理 系统结构设计第22页,本讲稿共37页5 5、任务管理子系统的设计。在设计多任务、任务管理子系统的设计。在设计多任务并行系统时,才有任务管理问题。譬如,多并行系统时,才有任务管理问题。譬如,多窗口同时接受输入,在多用户系统中存在的窗口同时接受输入
14、,在多用户系统中存在的用户任务复本,等等。用户任务复本,等等。6 6、基础对象子系统的设计。基础对象是实、基础对象子系统的设计。基础对象是实现应用系统所需的基础构造体,如串、数组、现应用系统所需的基础构造体,如串、数组、队、栈、结构、树等。队、栈、结构、树等。9.2 9.2 面向对象系统开发方法的原理面向对象系统开发方法的原理 系统结构设计第23页,本讲稿共37页面向对象系统设计阶段结束时,系统的体系结构已完面向对象系统设计阶段结束时,系统的体系结构已完善,包括用什么样的用户接口以及数据库存取的管理善,包括用什么样的用户接口以及数据库存取的管理等方面的战略决策,系统的对象等方面的战略决策,系统
15、的对象/类结构图和系统对象类结构图和系统对象间动态连接、控制、约束及物理数据存储等亦趋于完善,间动态连接、控制、约束及物理数据存储等亦趋于完善,系统发展将过度到实施阶段。在系统实施阶段主要进行系统发展将过度到实施阶段。在系统实施阶段主要进行编码语言的选择、面向对象应用程序框架的构建,面向编码语言的选择、面向对象应用程序框架的构建,面向对象应用程序编写等,构件出信息系统的应用软件平台。对象应用程序编写等,构件出信息系统的应用软件平台。9.2 9.2 面向对象系统开发方法的原理面向对象系统开发方法的原理 面向对象的系统实施第24页,本讲稿共37页 作为一种可视化的建模语言,作为一种可视化的建模语言
16、,UMLUML为系统开发为系统开发人员提供了标准的、易于理解的表达方式用于构人员提供了标准的、易于理解的表达方式用于构建系统蓝图,并提供了便于不同的开发人员共享建系统蓝图,并提供了便于不同的开发人员共享和交流设计结果的有效机制。在和交流设计结果的有效机制。在UMLUML支持下,系统支持下,系统分析员、客户、程序员和其他系统开发人员能够分析员、客户、程序员和其他系统开发人员能够相互理解,并以一致的方式来组织系统的设计过相互理解,并以一致的方式来组织系统的设计过程。程。9.2 9.2 面向对象的系统开发工具面向对象的系统开发工具 UML工具的产生第25页,本讲稿共37页面向对象建模语言出现于面向对
17、象建模语言出现于2020世纪世纪7070年代中期。到年代中期。到19941994年,这些建模语言增加到了年,这些建模语言增加到了5050多种。多种。2020世纪世纪9090年代中期,年代中期,Grady BoochGrady Booch、James James RunbaughRunbaugh和和Ivar jacabsonIvar jacabson等三人在原有各自进行等三人在原有各自进行的面向对象分析与设计方法学研究的基础上,开始的面向对象分析与设计方法学研究的基础上,开始相互借鉴与合作,共同推出了标准建模语言相互借鉴与合作,共同推出了标准建模语言UMLUML。19951995年开始,许多公司
18、纷纷支持年开始,许多公司纷纷支持UMLUML标准,逐渐形标准,逐渐形成成UMLUML联盟。联盟。9.2 9.2 面向对象的系统开发工具面向对象的系统开发工具 UML工具的发展第26页,本讲稿共37页UMLUML语义的描述基于语义的描述基于UMLUML的精确元模型定义,元模的精确元模型定义,元模型为型为UMLUML的所有元素在语法和语义上提供了简单、一的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得致、通用的定义性说明,使开发者能在语义上取得一致,消除因人而异的表达方法所造成的影响。此一致,消除因人而异的表达方法所造成的影响。此外,外,UMLUML还支持对元模型
19、的扩展定义。还支持对元模型的扩展定义。定义定义UMLUML符号的表示法为开发者或开发工具使用这符号的表示法为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。些图形符号和文本语法为系统建模提供了标准。9.2 9.2 面向对象的系统开发工具面向对象的系统开发工具 UML的内容第27页,本讲稿共37页类图几乎是所有面向对象开发方法的支柱。类图几乎是所有面向对象开发方法的支柱。类图示例类图示例洗衣机(类名称)洗衣机(类名称)型号(类属性)型号(类属性)漂洗(类操作)漂洗(类操作)9.2 9.2 面向对象的系统开发工具面向对象的系统开发工具 类 图第28页,本讲稿共37页 对象(对象(O
20、bjectObject)是类的实例,具有具体属)是类的实例,具有具体属性值和行为。例如,某个洗衣机的品牌可能性值和行为。例如,某个洗衣机的品牌可能是是“海尔海尔”,型号为,型号为“XDL500XDL500”,序列号为,序列号为“OL57774OL57774”,一次最多洗涤重量为,一次最多洗涤重量为1616磅的衣磅的衣物。物。UMLUML中,对象图可以看作是类图的一个实中,对象图可以看作是类图的一个实例,对象之间的链(例,对象之间的链(LinkLink)是类之间的关联)是类之间的关联的实例。的实例。9.2 9.2 面向对象的系统开发工具面向对象的系统开发工具 对 象 图第29页,本讲稿共37页
21、用例(用例(Use CaseUse Case)这一概念是第二代面向对象技)这一概念是第二代面向对象技术的标志,是从用户的观点对系统行为或系统使用术的标志,是从用户的观点对系统行为或系统使用场景的描述。一个用例是用户与计算机之间的一次场景的描述。一个用例是用户与计算机之间的一次典型交互作用。典型交互作用。洗衣服 洗衣机用户UML用例图图示用例图图示 9.2 9.2 面向对象的系统开发工具面向对象的系统开发工具 用 例 图第30页,本讲稿共37页 在任何给定的时刻,一个对象总处于某一在任何给定的时刻,一个对象总处于某一特定的状态。比如,一部电梯可以处于上升、特定的状态。比如,一部电梯可以处于上升、
22、停止或下降状态。洗衣机可以处于浸泡、洗停止或下降状态。洗衣机可以处于浸泡、洗涤、漂洗、脱水或关机等状态,一个状态图涤、漂洗、脱水或关机等状态,一个状态图包括一系列的状态以及状态之间的转移。包括一系列的状态以及状态之间的转移。9.2 9.2 面向对象的系统开发工具面向对象的系统开发工具 状 态 图第31页,本讲稿共37页 对象之间要发生交互,且这些交互要经历一定对象之间要发生交互,且这些交互要经历一定的时间阶段。时序图所表达的则是这种对象之间的时间阶段。时序图所表达的则是这种对象之间的基于时间的动态交互关系,着重体现对象消息的基于时间的动态交互关系,着重体现对象消息传递的时间顺序。时序图存在于两
23、个轴:水平轴传递的时间顺序。时序图存在于两个轴:水平轴表示不同的对象,垂直轴表示时间。图中的对象表示不同的对象,垂直轴表示时间。图中的对象用一个带有垂直虚线的矩形框表示,并标有对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。名和类名。9.2 9.2 面向对象的系统开发工具面向对象的系统开发工具 顺 序 图第32页,本讲稿共37页UMLUML的时序图图示的时序图图示的时序图图示的时序图图示洗涤缸 排水管注水管注入净水停止注入净水停止保持静止旋转洗涤排污水旋转洗涤排污水旋转甩干停止 9.2 9.2 面向对象的系统开发工具面向对象的系统开发工具第33页,本讲稿共37页 活动图的应用非常广泛,
24、既可用来活动图的应用非常广泛,既可用来描述操作(类的方法)的行为,也可描述操作(类的方法)的行为,也可以描述用例和对象内部的工作过程。以描述用例和对象内部的工作过程。活动图是由状态图变化而来的,它们活动图是由状态图变化而来的,它们各自用于不同的目的。各自用于不同的目的。9.2 9.2 面向对象的系统开发工具面向对象的系统开发工具 活 动 图第34页,本讲稿共37页 UMLUML协作图表达方式为完成系统的工作目协作图表达方式为完成系统的工作目标,系统中相互合作的对象间的交互关系标,系统中相互合作的对象间的交互关系和链接关系。虽然时序图和协作图都用来和链接关系。虽然时序图和协作图都用来描述对象间的
25、交互关系,但侧重点不一样。描述对象间的交互关系,但侧重点不一样。时序图着重体现交互的时间顺序,协作图时序图着重体现交互的时间顺序,协作图则着重体现交互对象间的静态链接关系。则着重体现交互对象间的静态链接关系。9.2 9.2 面向对象的系统开发工具面向对象的系统开发工具 协 作 图第35页,本讲稿共37页 UMLUML活动图图示洗涤缸旋转洗洗涤缸旋转洗涤涤1515分钟分钟排污水排污水重新注入净水重新注入净水内部计时器内部计时器洗涤缸洗涤缸注水管注水管2 旋转洗涤旋转洗涤停止 9.2 9.2 面向对象的系统开发工具面向对象的系统开发工具第36页,本讲稿共37页 组件图与配置图与整个计算机密切组件图与配置图与整个计算机密切相关。相关。UMLUML用组件图表示信息系统的用组件图表示信息系统的软件结构,由于现代软件开发多是基软件结构,由于现代软件开发多是基于构件的,这种开发方式对群组开发于构件的,这种开发方式对群组开发由为重要,由为重要,UMLUML的配置图显示信息系的配置图显示信息系统的物理体系结构。统的物理体系结构。9.2 9.2 面向对象的系统开发工具面向对象的系统开发工具 组件图与配置图第37页,本讲稿共37页
限制150内