《第七章面向对象的系统开发方法.ppt》由会员分享,可在线阅读,更多相关《第七章面向对象的系统开发方法.ppt(40页珍藏版)》请在优知文库上搜索。
1、 第一节第一节 面向对象的基本概念面向对象的基本概念 第二节第二节 面向对象系统开发的原理面向对象系统开发的原理 第三节第三节 面向对象系统开发工具面向对象系统开发工具UML 第七章第七章 面向对象的系统开发方法面向对象的系统开发方法本节内容:本节内容:一、对象的基本概念一、对象的基本概念 二、类的基本概念二、类的基本概念 三、消息及消息传递三、消息及消息传递 四、继承的基本概念四、继承的基本概念 五、面向对象的含义五、面向对象的含义第一节第一节 面向对象的基本概念面向对象的基本概念 对象:是一个封闭实体,是由一组数据和施加对象:是一个封闭实体,是由一组数据和施加于这些数据上的一组操作封闭而成
2、的。于这些数据上的一组操作封闭而成的。如:一辆汽车是一个对象,它包含了汽车的信息如:一辆汽车是一个对象,它包含了汽车的信息(如颜色、型号、载重量等)及其操作(如启动、刹车(如颜色、型号、载重量等)及其操作(如启动、刹车等)。等)。一个窗口是一个对象,它包含了窗口的信息(如大一个窗口是一个对象,它包含了窗口的信息(如大小、颜色、位置等)及其操作(如打开、关闭等)。小、颜色、位置等)及其操作(如打开、关闭等)。构成对象的基本要素:构成对象的基本要素:1 1、标识:即是对象的名称,用来在问题域中区分其、标识:即是对象的名称,用来在问题域中区分其它对象;它对象;2 2、数据:描述对象属性的存贮或数据结
3、构,表明对、数据:描述对象属性的存贮或数据结构,表明对象的一个状态;象的一个状态;对象所包含的信息。如:窗口的宽度(form1.width),属性可以在设计对象时确定,也可以在程序运行时读取和修改(如:W=form1.width;form1.width=100)。3 3、操作:即对象的行为。分为对象自身承受的操、操作:即对象的行为。分为对象自身承受的操作和施加于其它对象的操作;作和施加于其它对象的操作;如:窗口关闭(form1.close)这种操作的过程对外是封闭的,即用户只能看到这一方法实施后的结果。这相当于事先已经设计好的各种过程,只需要调用就可以了,用户不必去关心这一过程是如何编写的,事
4、实上,这个过程已经封装在对象中,用户也看不到。对象的这一特性,即是对象的封装性4 4、接口:主要指对外接口,是指对象受理外部消、接口:主要指对外接口,是指对象受理外部消息所指定的操作名称集合。息所指定的操作名称集合。这些过程对用户是透明的,用户可以为这个过程编写自己的程序代码,以完成特定的操作。如:窗口对象在执行打开过程时,就会激活一个Active事件(过程),用户可以自己编写这一过程的代码,以便在打开这个窗口时完成一些自己所要求的任务,如打开一个数据库,对某个变量进行初始化等。消息 送回消息 接 口操作集合状态集合状态转换模块内部状态不会受外界模块内部状态不会受外界的干预而变动,也不会的干预
5、而变动,也不会干涉其他模块干涉其他模块通过信息的灵活机制,实现通过信息的灵活机制,实现对象之间动态连接,从而对象之间动态连接,从而使整个机体运转起来使整个机体运转起来对象的功能实现细节被对象的功能实现细节被“隐隐蔽蔽”,好像被一层壳保,好像被一层壳保护在对象内部护在对象内部 在现实世界中有许多在现实世界中有许多内部状态和外部行为内部状态和外部行为相似相似的对象,由这些对象构成的集合就是类。的对象,由这些对象构成的集合就是类。如:我们在窗口类的定义上,另外定义它还包含两个按钮,一个标题是确定,一个标题是取消,并且在分别按下这两个按钮后,执行OK与Cancel两个事件。这样就定义了一个新类,我们可
6、以把它叫做选择窗口类,并保存它,这样就可以直接由选择窗口生成窗口实例,而不用每次都由窗口类产生,然后再添加按钮。构成类的基本元素:构成类的基本元素:标识:类的名称,用以区分其它类;继承描述:指子类承袭的父类的名称,以及继承得到的结构与功能;数据结构:是对该类数据的组织结构的描述;操作:指该类通用功能的具体实现方法;接口:指面向其它类的统一的外部通讯协议。类与对象类与对象 对象与类的关系相当于一般程序设计语言中变量和变量所具有的类型的关系。面向对象的世界是通过面向对象的世界是通过对象与对象间彼此的相互合对象与对象间彼此的相互合作作来推动的,消息是对象之间的来推动的,消息是对象之间的通信载体通信载
7、体。消息就是用来消息就是用来请求对象执行某个处理或回答某些信请求对象执行某个处理或回答某些信息的息的要求,是连接对象的纽带。在面向对象系统中有两要求,是连接对象的纽带。在面向对象系统中有两类消息,即公有消息和私有消息。类消息,即公有消息和私有消息。例如,一个汽车对象具有行驶这项操作,那么要让汽车以时速50公里行驶,我们需传递给汽车对象行驶及时速50公里的消息,以触发这个对象13传送消息(SENDER)接受消息(RECEIVER)消息继承是指一个类(即称子类)因承袭而具有另一个类继承是指一个类(即称子类)因承袭而具有另一个类(或称父类)的能力和特征的机制或关系。(或称父类)的能力和特征的机制或关
8、系。概括来说,有继承关系的类之间应具有如下特性:概括来说,有继承关系的类之间应具有如下特性:类间具有共享特征类间具有共享特征(包括数据和程序代码的共享包括数据和程序代码的共享);类间具有细微的差别或新增部分类间具有细微的差别或新增部分(包括非共享程序包括非共享程序代码和数据代码和数据);类间具有层次结构。类间具有层次结构。继承避免了由于系统内类和对象封闭而造成数据和操继承避免了由于系统内类和对象封闭而造成数据和操作冗余的现象。其最重要的优点在于支持重用。作冗余的现象。其最重要的优点在于支持重用。面向对象面向对象=数据抽象数据抽象+数据抽象类型数据抽象类型+继承机制继承机制 面向对象是一种认识客
9、观世界的认知方法学面向对象是一种认识客观世界的认知方法学 这种认识方法将客观世界看成是由许许多多不同对象构这种认识方法将客观世界看成是由许许多多不同对象构成的,每一个对象都有自己的运动规律和内部状态,不成的,每一个对象都有自己的运动规律和内部状态,不同对象间的相互作用和通讯构成了完整的客观世界。同对象间的相互作用和通讯构成了完整的客观世界。面向对象亦是一种解决问题的思维方法面向对象亦是一种解决问题的思维方法 从组织结构模型化客观世界,将对象作为需求分析和系从组织结构模型化客观世界,将对象作为需求分析和系统设计的核心或主体,把整个问题域抽象成为相互通讯统设计的核心或主体,把整个问题域抽象成为相互
10、通讯的一组对象集合,并引用科学方法论中的分类思想,将的一组对象集合,并引用科学方法论中的分类思想,将相似或相近的一组对象聚合成类,采用各种手段将相似相似或相近的一组对象聚合成类,采用各种手段将相似的类组织起来,实现问题空间到解空间的映射。的类组织起来,实现问题空间到解空间的映射。第二节第二节 面向对象系统开发的原理面向对象系统开发的原理本节内容:本节内容:一、面向对象系统开发的方法论一、面向对象系统开发的方法论 二、面向对象系统的分析二、面向对象系统的分析 三、面向对象系统的设计三、面向对象系统的设计 四、面向对象系统的实施四、面向对象系统的实施 从宏观层面看,面向对象的系统开发方法包括从宏观
11、层面看,面向对象的系统开发方法包括分析、分析、设计、实现以及运行与维护等设计、实现以及运行与维护等四大阶段,遵循反复累四大阶段,遵循反复累增的生命周期,如图增的生命周期,如图8-48-4所示。所示。从微观层面上看,面向对象的系统开发方法是指每一从微观层面上看,面向对象的系统开发方法是指每一宏观阶段中宏观阶段中标识对象,确定对象的属性,定义对象的标识对象,确定对象的属性,定义对象的服务,以及确定对象间关系服务,以及确定对象间关系等几个步骤。等几个步骤。目目 标标 系系 统统类类 库库t时时间间分分析析设设计计分析设计 类一类一类二类二类三类三设设计计实实现现t 时时 间间运行运行维护维护分析设计
12、反复累增的生命周期反复累增的生命周期面向对象分析的基本任务:面向对象分析的基本任务:找出并规定一组根据系统的找出并规定一组根据系统的各项要求而行动和相互各项要求而行动和相互作用的问题领域的对象,作用的问题领域的对象,依据这些对象及其关系建立问题域模型依据这些对象及其关系建立问题域模型。面向对象分析的基本步骤:面向对象分析的基本步骤:问题域陈述问题域陈述 识别对象识别对象/类类 确定对象的属性确定对象的属性 确定对象的服务确定对象的服务 确定对象确定对象/类的关系类的关系 实例实例 由此可见:传统的分析产生一组过程性的文档,其着眼点是将系统看作一组功能。而面向对象的分析文档将问题看作一组相互作用
13、的实体,并确定实体之间的关系。面向对象设计阶段面向对象设计阶段 1.1.配置分析阶段确定出来的对象和类;配置分析阶段确定出来的对象和类;2.2.实现系统功能;实现系统功能;3.3.建立系统体系结构建立系统体系结构.具体任务是具体任务是:增、并、改实体对象,并识别接口对象和控制对象。增、并、改实体对象,并识别接口对象和控制对象。确定实体对象、接口对象和控制对象之间的各种关系。确定实体对象、接口对象和控制对象之间的各种关系。完善对象类结构图,组织系统的体系结构。完善对象类结构图,组织系统的体系结构。面向对象设计的基本步骤:面向对象设计的基本步骤:1.1.识别接口对象和控制对象识别接口对象和控制对象
14、 确认接口对象确认接口对象/类的准则类的准则 控制对象的识别控制对象的识别 三类对象间的关系三类对象间的关系 2.2.系统结构设计系统结构设计 3.3.结构框架内各个子系统的详细设计结构框架内各个子系统的详细设计 结构框架内各个子系统的详细设计结构框架内各个子系统的详细设计问题领域子系统的设计(主要任务是完善对象属性和问题领域子系统的设计(主要任务是完善对象属性和操作的形式规定,包括限定属性值、确定复杂服务的操作的形式规定,包括限定属性值、确定复杂服务的算法等等,进一步规范对象形式说明以便对象在物理算法等等,进一步规范对象形式说明以便对象在物理上实现)。如上实现)。如:确定各类对象的属性确定各
15、类对象的属性 代码代码 类型类型 长度长度人机交互子系统的设计(接口对象在设计初期就已经人机交互子系统的设计(接口对象在设计初期就已经规定了,此时主要确定图形用户接口的总体策略。规定了,此时主要确定图形用户接口的总体策略。外部接口子系统的设计外部接口子系统的设计数据管理子系统的设计数据管理子系统的设计 任务管理子系统的设计任务管理子系统的设计 基础对象子系统的设计基础对象子系统的设计系统实施阶段主要进行系统实施阶段主要进行 编码语言的选择;编码语言的选择;面向对象应用程序框架的构建;面向对象应用程序框架的构建;面向对象应用程序编写;面向对象应用程序编写;构建出信息系统的应用软件平台。构建出信息
16、系统的应用软件平台。本节内容:本节内容:一、一、类图及用例图类图及用例图 二、二、状态图及顺序图状态图及顺序图 三、三、活动图及协作图活动图及协作图 四、配置图及组件图四、配置图及组件图 第三节第三节 面向对象系统开发工具面向对象系统开发工具UMLUML 统一建模语言统一建模语言(Unified Modeling Language,Unified Modeling Language,简称简称UMLUML)是为面向对象开发方法设计的一种通用的可视化建模语言。是为面向对象开发方法设计的一种通用的可视化建模语言。UMLUML中使用一系列图来描述系统中使用一系列图来描述系统 描述系统的行为需求描述系统的行为需求采用采用用例图用例图 规定问题域的词库规定问题域的词库采用采用类图类图 类和对象如何相互作用类和对象如何相互作用采用采用时序图时序图、协作图协作图、状态图状态图、活动图活动图 描述系统的软件结构描述系统的软件结构采用采用类图类图和和组件图组件图 规定系统中软件的行为规定系统中软件的行为采用采用时序图时序图、协作图协作图、状态图、状态图、活动图活动图 描述运行软件的处理器和设备的拓朴描述运