第4章 面向对象的技术_第1页
第4章 面向对象的技术_第2页
第4章 面向对象的技术_第3页
第4章 面向对象的技术_第4页
第4章 面向对象的技术_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、4 面向对象的思想最初出现于挪威奥斯陆大学和挪面向对象的思想最初出现于挪威奥斯陆大学和挪威计算机中心共同研制的威计算机中心共同研制的Simula 67Simula 67语言中,随着的语言中,随着的Smalltalk-76Smalltalk-76和和8080语言推出,面向对象的的程序设语言推出,面向对象的的程序设计方法得到了比较完善的实现。计方法得到了比较完善的实现。 此后,面向对象的概念和应用已超越了程序设计此后,面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统,交互式界面,分和软件开发,扩展到如数据库系统,交互式界面,分布式系统,网络管理结构和人工智能等领域。布式系统,网络

2、管理结构和人工智能等领域。 面向对象的技术已成为软件开发的一种新方法,面向对象的技术已成为软件开发的一种新方法,新技术新技术。(Object-Oriented Software Development)法法是一种是一种 把面向对象的思想应用于软件开发过程,把面向对象的思想应用于软件开发过程,指导开发活动的系统方法。指导开发活动的系统方法。问题空间问题空间( (现实世界现实世界) )解空间解空间( (软件系统软件系统) ) 1 1. .对软件开发过程所有阶段进行对软件开发过程所有阶段进行综合考虑。综合考虑。 使问题空间与解空间具有一致使问题空间与解空间具有一致性性, ,降低复杂性。降低复杂性。

3、2 2. .软件生存期各阶段所使用的方软件生存期各阶段所使用的方法、技术具有高法、技术具有高 度的连续性,用符合人类认识度的连续性,用符合人类认识世界的思维方式世界的思维方式 来分析、解决问题。来分析、解决问题。实体实体1 1实体实体2 2实体实体n n对象对象1 1对象对象n n对象对象2 23 3. . 将将OOAOOA、OODOOD、OOPOOP有机地集成在有机地集成在一起。有利于系统的稳定性一起。有利于系统的稳定性. . OOAOOA(Object-Oriented AnalysisObject-Oriented Analysis OODOOD(Object-Oriented Desi

4、gnObject-Oriented Design) OOPOOP(Object-Oriented ProgramObject-Oriented Program) 以对象为中心各种构造系统以对象为中心各种构造系统, ,而不而不是以功能为中心是以功能为中心, ,能很好地适应需求能很好地适应需求变化。变化。4. 4. 具有良好的可重用性具有良好的可重用性 由于对象所具有的封装性和信息隐由于对象所具有的封装性和信息隐蔽,具有很强的独立性。蔽,具有很强的独立性。 理解面向对象的基本概念对于学习和掌握面向理解面向对象的基本概念对于学习和掌握面向对象的开发方法是十分重要的。对象的开发方法是十分重要的。4.1

5、.2 4.1.2 面向对象的基本概念面向对象的基本概念对象对象(Object) 类(类(ClassClass)消息消息(Information)( (Polymorphism)Polymorphism)继承(继承(InheritanceInheritance)对客观存在的事物的描述统称为对象。对客观存在的事物的描述统称为对象。 对象可以是事、物、或抽象概念对象可以是事、物、或抽象概念 ,是将一组,是将一组数据和使用该数据的一组基本操作或过程封装在一数据和使用该数据的一组基本操作或过程封装在一起的实体起的实体。 类又称对象类类又称对象类一组具有相一组具有相同属性和相同操作的对象的集合。同属性和相

6、同操作的对象的集合。在一个类中,每个对象都是类的实例在一个类中,每个对象都是类的实例(instance) ,它们都可以使用类中提供的函数。,它们都可以使用类中提供的函数。类具有属性类具有属性,用数据结构来描述类的属性,用数据结构来描述类的属性,类具有操作,类具有操作,它是对象的行为的抽象,操作实现它是对象的行为的抽象,操作实现的过程称为方法的过程称为方法(method) ,方法有方法名,方法,方法有方法名,方法体和参数。体和参数。 几何对象几何对象颜色颜色位置位置移动(移动(deltadelta:矢量)矢量)选择(选择(P:P:指针型)指针型): :布尔型布尔型旋转旋转( (角度角度) )图图

7、4.1 4.1 对象类的描述对象类的描述人人姓姓 名名: :字符串字符串年年 龄龄: : 整整 型型改换工作改换工作改换地址改换地址文件文件文件名文件名文件大小文件大小最近更新日期最近更新日期打印打印( (人人) )张红兵张红兵2828改做绘图员改做绘图员改为人民路改为人民路8 8号号( (人人) )李军李军2424改做程序员改做程序员无无图图4.2 4.2 对象的描述对象的描述类名类名属性属性运算运算 对象对象 类类 继承是使用现存的定义作为基础,建立新定义的继承是使用现存的定义作为基础,建立新定义的技术。技术。是父类和子类之间共享数据结构和方法的机制是父类和子类之间共享数据结构和方法的机制

8、,这是类之间的一种关系。,这是类之间的一种关系。 继承性分:继承性分: 单重继承:一个子类只有一个父类。即子类只继承单重继承:一个子类只有一个父类。即子类只继承一个父类的数据结构和方法。一个父类的数据结构和方法。 多重继承:一个子类可有多个父类。继承多个父类多重继承:一个子类可有多个父类。继承多个父类的数据结构和方法。的数据结构和方法。基类基类子类子类A A子类子类B B图 4.4 继承性描述现存类定义现存类定义父类父类( (基类基类) )新类定义新类定义子类子类( (派生类派生类) )继继 承承图 4.3 继承性 互相联系、互相联系、协同工作等协同工作等对象之间的联系可表示为对象间的对象之间

9、的联系可表示为对象间的消息传递,即对象间的通讯机制。消息传递,即对象间的通讯机制。 一个消息应该包含以下信息:消息名、接收消一个消息应该包含以下信息:消息名、接收消息对象的标识、服务标识息对象的标识、服务标识 、消息和方法、输入信、消息和方法、输入信息、回答信息。息、回答信息。在对象的操作中当一个消息发送在对象的操作中当一个消息发送给某个对象时,消息包含接收对象给某个对象时,消息包含接收对象去执行某种操作的消息。去执行某种操作的消息。多态性多态性(Polymorphism)是指相同的操作或函数、是指相同的操作或函数、过程作用于不同的对象上并获得不同的结果。过程作用于不同的对象上并获得不同的结果

10、。 即相同的操作的消息发送给不同的对象时,每个即相同的操作的消息发送给不同的对象时,每个对象将根据自己所属类中定义的操作去执行,产生不对象将根据自己所属类中定义的操作去执行,产生不同的结果。同的结果。 例如:例如: “绘图绘图”操作,作用在操作,作用在“椭圆椭圆” 和和“矩矩形形” 上,画出不同的图形。上,画出不同的图形。使用虚函数可实现动态联编,不使用虚函数可实现动态联编,不同联编可以选择不同的实现,这便是同联编可以选择不同的实现,这便是多态性。继承是动态联编的基础,虚多态性。继承是动态联编的基础,虚函数是动态联编的关键。函数是动态联编的关键。多态性的实现举例多态性的实现举例( (1)1)在

11、基类中,定义成员函数为在基类中,定义成员函数为虚函数虚函数(virtual)(virtual);(2)(2)定义基类的公有定义基类的公有(publicpublic)派派生类;生类;(3)(3)在基类的公有派生类中在基类的公有派生类中“重重载载”该虚函数;该虚函数;(4)(4)定义指向基类的指针变量,定义指向基类的指针变量,它指向基类的公有派生类的对象。它指向基类的公有派生类的对象。重载虚函数不是一般的重载函重载虚函数不是一般的重载函数,它要求函数名、返回类型、参数数,它要求函数名、返回类型、参数个数、参数类型和顺序完全相同。个数、参数类型和顺序完全相同。例如:下面是实现例如:下面是实现“多态性

12、多态性” 的一个例子的一个例子#include #include class figure class figure / /定义基类定义基类 protected: protected: double x,y; double x,y; public: public: void set_dim(double i; double j=0) void set_dim(double i; double j=0) x=i; y=j; x=i; y=j; virtual void show_area() virtual void show_area() / /定义虚函数定义虚函数 cout“No area

13、computation define ”; cout“No area computation define ”; cout“for this class.n”; coutset_dim(10.0,5.0);p-set_dim(10.0,5.0); p-show_area(); p-show_area(); p=&c; / p=&c; / 指向园形对象指向园形对象 p-set_dim(9.0); p-set_dim(9.0); p-show_area(); p-show_area(); void main()void main() figure figure * *p; /p;

14、/定义指向基类的指针变量定义指向基类的指针变量 triangle t; / triangle t; / square s; / square s; / 定义基类的公有派生类的对定义基类的公有派生类的对象象 circle c; / circle c; / p=&t; / p=&t; / 指向三角形对象指向三角形对象 p-set_dim(10.0,5.0); p-set_dim(10.0,5.0); p-show_area(); p-show_area();所谓所谓是指生存期可以超越程序的执行时是指生存期可以超越程序的执行时间而长期存在的对象。间而长期存在的对象。 目前,大多数目前

15、,大多数OOPL不不支持永久对象,如果一个支持永久对象,如果一个对象要长期保存,必须依靠于文件系统或数据库管理对象要长期保存,必须依靠于文件系统或数据库管理系统实现,程序员需要作对象与文件系统或数据库之系统实现,程序员需要作对象与文件系统或数据库之间数据格式的转换,以及保存和恢复所需的操作等烦间数据格式的转换,以及保存和恢复所需的操作等烦琐的工作。琐的工作。 为了实现永久对象,使上述烦琐工作由系统自动为了实现永久对象,使上述烦琐工作由系统自动完成,需要较强的技术支持;需要一个基于永久对象完成,需要较强的技术支持;需要一个基于永久对象管理系统管理系统OMS(object management s

16、ystem),能够描述能够描述和处理永久对象的编程语言。和处理永久对象的编程语言。4.3 4.3 面向对象的分析面向对象的分析 面向对象分析面向对象分析OOAOOA( (Object-Oriented Analysis) )的目标是完成对所求解问题的目标是完成对所求解问题的分析,确定系统的分析,确定系统“作什么作什么”,并建,并建立系统的立系统的模型。模型。基本概念基本概念: : 问题域问题域( (problem domain) problem domain) 被开发系统的被开发系统的应用领域。应用领域。 系统责任系统责任(system responsibilities) (system re

17、sponsibilities) 所开发所开发的系统应具备的职能。的系统应具备的职能。4.3.1 面向对象分析的特点面向对象分析的特点 1. 1. 确定问题域和系统责确定问题域和系统责任困难任困难 2. 2. 充分交流的问题解决充分交流的问题解决得不好得不好 3. 3. 很难适应需求的不断很难适应需求的不断变化变化 4. 4. 难以满足复用要求难以满足复用要求应性;应性;4. 4.支持软件复用。支持软件复用。 运用面向对象的方法,对问题运用面向对象的方法,对问题域和系统责任进行分析和理解,建域和系统责任进行分析和理解,建立分析模型。立分析模型。 1.1.分析问题域,分析问题域,确定类和对象确定类

18、和对象; 2. 2. 定义类或对象属性和操作,确定义类或对象属性和操作,确定其结构;定其结构; 3. 3. 建立系统中类或对象之间的静建立系统中类或对象之间的静态联系和动态联系。态联系和动态联系。4.3.3 OOA的分析过程的分析过程获取用户基本需求获取用户基本需求标识类和对象标识类和对象定义类的结构和层次定义类的结构和层次表示类表示类( (对象对象) )间的关系间的关系为对象行为建模为对象行为建模图4.6 OOA分析过程4.3.4 OOA模型模型对象层对象层特征层特征层关系层关系层交交互互图图主主题题图图详详 细细 说说 明明基本模型基本模型 (类图)(类图)图4.7 OOA模型与详细说明基

19、本模型是一个类图基本模型是一个类图( (class diagram)class diagram),是以直观的方式表达系统最重要的是以直观的方式表达系统最重要的信息。信息。OOAOOA基本模型的三个层次分基本模型的三个层次分别描述了:系统中应设哪几类对象别描述了:系统中应设哪几类对象,每类对象的内部构成,对象与外,每类对象的内部构成,对象与外部的关系。部的关系。4.3.4 OOA模型模型对象层对象层特征层特征层关系层关系层交交互互图图主主题题图图详详 细细 说说 明明基本模型基本模型 (类图)(类图)主 题主 题 ( ( s u b j e c t )s u b j e c t ) 又 称 为

20、子 系 统又 称 为 子 系 统( (subsystemsubsystem) )是将一些联系密切的类是将一些联系密切的类组织在一起的类的集合。按照粒组织在一起的类的集合。按照粒度控制原则,将系统组成几个主度控制原则,将系统组成几个主题,便于理解。题,便于理解。4.3.4 OOA模型模型对象层对象层特征层特征层关系层关系层交交互互图图主主题题图图详详 细细 说说 明明基本模型基本模型 (类图)(类图)交互图交互图( (interaction diagram) interaction diagram) 是是Use Use casecase与系统成分之间的对照图。与系统成分之间的对照图。主题图和交互

21、图又称为补充模型。主题图和交互图又称为补充模型。4.3.4 OOA模型模型对象层对象层特征层特征层关系层关系层交交互互图图主主题题图图详详 细细 说说 明明基本模型基本模型 (类图)(类图)详细说明详细说明按照分析方法所要求按照分析方法所要求的格式,对分析模型进行说明的格式,对分析模型进行说明和解释。主要以文字为主。和解释。主要以文字为主。OODOOD(Object-Oriented DesignObject-Oriented Design)问题。问题。OODOOD与与OOAOOA没有明显的分没有明显的分界,采用相同的符号。界,采用相同的符号。4.4 4.4 面向对象的设计面向对象的设计 将分

22、析将分析模型划分为若干子系统,模型划分为若干子系统,子系统应该具有良好的接口,子系统子系统应该具有良好的接口,子系统内的类相互协作。标识问题本身的并内的类相互协作。标识问题本身的并发性,为子系统分配处理器。发性,为子系统分配处理器。保险单保险单填写界面填写界面系统内部系统内部保险单保险单客户客户数据库界面数据库界面(abstract)abstract)Oracle Oracle 界面界面SybasecSybasec界面界面图4.8 包图表示的子系统子系统的分解是关键,可以有分层和分块:子系统的分解是关键,可以有分层和分块:将软件系统组织为层次结构,每层是一个子系统。将软件系统组织为层次结构,每

23、层是一个子系统。分层结构又分为封闭式和开放式。分层结构又分为封闭式和开放式。垂直分块是将系统分解为若干个相对独立的、弱耦垂直分块是将系统分解为若干个相对独立的、弱耦合的子系统。每个子系统相当于一个块,每块实现一类服务合的子系统。每个子系统相当于一个块,每块实现一类服务。常常使用分层和分块的混合结构,如图所示:常常使用分层和分块的混合结构,如图所示:应用程序包人机对话控制窗口图形仿真程序包屏幕图形点阵图形操作系统计算机硬件图4.9 混合结构 在面向对象的系统中,模块、数在面向对象的系统中,模块、数据结构及接口等都集中体现在对象和据结构及接口等都集中体现在对象和对象层次结构中。对象层次结构中。 对

24、象设计是为每个类的属性和操对象设计是为每个类的属性和操作进行详细设计,包括属性和操作,作进行详细设计,包括属性和操作,它们的数据结构和实现算法。它们的数据结构和实现算法。 设计连接类与它的协作者之间设计连接类与它的协作者之间的消息规约的消息规约( (specification of the messages)specification of the messages)。主要考虑提高效率和建立良好的主要考虑提高效率和建立良好的继承结构。继承结构。4.4.2 OOD模型模型CodaCoda方法方法, Booch, Booch方法和方法和 OMTOMT方法方法 随着面向对象开发方法的发随着面向对象开

25、发方法的发展,逐渐形成了几种主要的流展,逐渐形成了几种主要的流派:派: Coda Coda方法方法 Booch Booch方法方法 OMT OMT方法方法 OOSEOOSE方法方法4.5 几种典型的面向对象的方法一、一、Coda/Yourdon方法方法 由由OOA,OOD构成构成 建立问题域的分析模型。该模建立问题域的分析模型。该模型由型由5 5个层次组成:即主题层、对个层次组成:即主题层、对象层、结构层、属性层和服务层象层、结构层、属性层和服务层。 要建立要建立4 4个组元的设计模型:个组元的设计模型:问题域组元、人机交互组元、任问题域组元、人机交互组元、任务管理组元和数据管理组元。务管理组

26、元和数据管理组元。 该方法的特点是该方法的特点是:简单、易:简单、易学,对于对象、结构、服务的认学,对于对象、结构、服务的认定较系统、完整、可操作性强。定较系统、完整、可操作性强。 4.5 几种典型的面向对象的方法1. CODA方法的OOA 在在Coda方法中方法中,构造和评审构造和评审OOA概念概念模型的顺序由五个层模型的顺序由五个层次组成:次组成:类与对象、类与对象、属性、服务、结构和属性、服务、结构和主题主题 这五个层次表示这五个层次表示分析的不同侧面。分析的不同侧面。类与对象层类与对象层属性层属性层服务层服务层结构层结构层主题层主题层类的边界类的边界实例的边界实例的边界属性属性实例连接

27、实例连接服务服务消息连接消息连接泛化与特化结构泛化与特化结构整体与部分结构整体与部分结构主题主题图4.10 分析过程的五个层次2. CODA方法的OOD PDCPDC问题域 组元 HICHIC人机界面 组元 TMCTMC任务管理 组元 DMCDMC数据管理 组元主题层对象层结构层属性层服务层图4.11 CodaCoda OOD模型 BoochBooch方法的开发模型包括静态模方法的开发模型包括静态模型和动态模型,静态模型分为逻辑型和动态模型,静态模型分为逻辑模型和物理模型,描述了系统的构模型和物理模型,描述了系统的构成和结构,动态模型分为状态图和成和结构,动态模型分为状态图和时序图。时序图。

28、该方法对每一步都作了详细的该方法对每一步都作了详细的描述,描述手段丰富、灵活。不仅描述,描述手段丰富、灵活。不仅建立了开发方法,还提出了设计人建立了开发方法,还提出了设计人员的技术要求,不同开发阶段的资员的技术要求,不同开发阶段的资源人力配制。源人力配制。二、二、BOOCHBOOCH方法方法 1.1. BOOCHBOOCH方法的基本模型方法的基本模型 类图类图类名类名类名类名父类父类子类子类(a) 关联(b) 继承整体类整体类成员类成员类请求服务类请求服务类提供服务类提供服务类(c) 包含(d) 使用图4.12 类图表示控制环境控制环境冷气冷气管理计划管理计划暖气暖气灯光灯光温度温度执行机构执

29、行机构1 11 11 1N N图4.13 温室管理系统的类图 对象图由对象和消息组成对象图由对象和消息组成对象图对象图对象对象1 1对象对象2 2编号:消息名编号:消息名: :计划分析计划分析计划度量计划度量1 1:收获时间:收获时间( (C)C)C:C:谷物谷物: :计划管理计划管理3 3:成熟时间:成熟时间() ()6: 6:成本成本( )( )5: 5:作物作物: :产量产量4: 4:产量产量( )( )2: 2:状态状态( )( )图4.15 温室管理系统的对象图图4.14 对象图的表示图4.17 环境控制器类的状态图图4.16 状态图的表示图4.18 温室管理系统的时序图 图4.19

30、 温室管理系统的模块图图4.20 温室管理系统的进程图 面向对象的方法学又称为面向对象的方法学又称为,( Object Model Object Model TechnologyTechnology)是一种软件工程方法学是一种软件工程方法学,支持整个软件生存周期,它覆盖,支持整个软件生存周期,它覆盖了问题构成、分析、设计和实现等了问题构成、分析、设计和实现等阶段。阶段。OMTOMT方法使用了建模的思想,方法使用了建模的思想,讨论如何建立一个实际的应用模型讨论如何建立一个实际的应用模型。从。从3 3个不同而又相关的角度建立个不同而又相关的角度建立了三类模型:对象模型、动态模型了三类模型:对象模型

31、、动态模型和函数模型,和函数模型,OMTOMT为每一个模型提为每一个模型提供了图形表示。供了图形表示。三、面向对象的建模三、面向对象的建模技术(技术(OMT) 方法讨论的核心就是建立三类模型:方法讨论的核心就是建立三类模型:描述了由对象和相应实体构成的系统描述了由对象和相应实体构成的系统静态结构,描述了系统中对象的标识,属性、操作静态结构,描述了系统中对象的标识,属性、操作及及根据事件和状态描述了系统的控制结根据事件和状态描述了系统的控制结构,系统中与时间和操作顺序有关的内容。构,系统中与时间和操作顺序有关的内容。着重描述系统中与值的转换有关的问着重描述系统中与值的转换有关的问题,如函数、映射

32、、约束和函数作用等。题,如函数、映射、约束和函数作用等。三类模型描述的角度不同,却又相互联系。三类模型描述的角度不同,却又相互联系。描述了系统的静态结构描述了系统的静态结构。类名类名属性属性操作操作 类类 名名属性名属性名(1),(1),数据类型数据类型1 1缺省值缺省值1 1属性名属性名(2),(2),数据类型数据类型2 2缺省值缺省值2 2 操作名操作名1( 1(变量名变量名1) 1) :结果类型:结果类型1 1操作名操作名2( 2(变量名变量名2) 2) :结果类型:结果类型2 2 (类名)(类名)对象名对象名属性属性操作操作对象名对象名类名类名图4.21 类与对象的描述关联与链关联与链

33、二元关联、三元关联二元关联、三元关联人员人员公公司司雇用雇用二元关联的例(人员)(人员)张涛张涛(公司)(公司)通大通大雇用雇用链的例子项目项目语言语言人人( (项目项目) )CADCAD系统系统( (语言语言) ) C C 语言语言( (人人) )林珩林珩三元关联的例链的例子受限关联受限关联用重数、链属性用重数、链属性和和角角色进一步描述。色进一步描述。直线直线名称名称点点名称名称相交相交2+2+人人公司公司公司公司名字名字个人个人名字名字工作工作职务职务工资工资关联关联雇雇主主雇雇员员继承性(继承性(INHERITANCEINHERITANCE) 继承性通常又称为概括,表示继承性通常又称为

34、概括,表示基类与子类的关系。基类与子类的关系。运输工具运输工具陆上运输工具陆上运输工具水上运输工具水上运输工具汽车汽车水陆两用车水陆两用车船船表示整体与部分的关系。表示整体与部分的关系。段落段落句子句子微机系统微机系统监视器监视器主机箱主机箱鼠标鼠标键盘键盘底架底架CPUCPURAMRAM风扇风扇 银行网络系统银行网络系统ATM(Auto Trade Machine)ATM(Auto Trade Machine)银行网络系统包括人工出纳和分行共享的自动出纳机。银行网络系统包括人工出纳和分行共享的自动出纳机。自动出纳机自动出纳机自动出纳机自动出纳机自动出纳机自动出纳机出纳站出纳站分理处分理处计算

35、机计算机分理处分理处计算机计算机出纳站出纳站帐户帐户帐户帐户图4.22 银行网络系统的示意图用户用户分行计算机分行计算机问题的陈述问题的陈述 采用采用OMTOMT方法对银行网络系统方法对银行网络系统ATM(Auto Trade Machine) ATM(Auto Trade Machine) 进行分析和设计。进行分析和设计。银行网络系统包括人工出纳和分行共享的自动出纳机银行网络系统包括人工出纳和分行共享的自动出纳机;各分理处用自己的计算机处理业务(保存帐户、处理事;各分理处用自己的计算机处理业务(保存帐户、处理事务等);各分理处与出纳站通过网络通信;出纳站录入帐务等);各分理处与出纳站通过网络

36、通信;出纳站录入帐户和事务数据;自动出纳机与分行计算机通信;自动出纳户和事务数据;自动出纳机与分行计算机通信;自动出纳机与用户接口,接受现金卡;发放现金;打印收据;分行机与用户接口,接受现金卡;发放现金;打印收据;分行计算机与拨款分理处结帐。计算机与拨款分理处结帐。要求系统正确处理同一帐户的并发访问;网络费用平要求系统正确处理同一帐户的并发访问;网络费用平均摊派给各分理处。图均摊派给各分理处。图4.24.2给出了银行网络系统的示意给出了银行网络系统的示意图。图。图4.23 对象模型银行码银行码录入站录入站远程事务远程事务现金卡现金卡银行名、卡片码银行名、卡片码安全号安全号出纳员事务出纳员事务出

37、纳员出纳员名字名字出纳站出纳站分行分行站代码站代码帐户帐户余额、类型余额、类型贷款限定贷款限定顾客顾客名字名字地址地址事务事务种类、日期、时间、数量种类、日期、时间、数量卡片权限卡片权限密码、限制密码、限制更新更新数量、类型数量、类型自动出纳机自动出纳机分发现金分发现金雇雇员员号号站站代代码码分理处分理处名字名字帐户帐户号号卡片码卡片码录入录入组成组成拥拥有有拥拥有有雇雇用用访问访问标识标识发行发行被被录录入入开开始始涉涉及及维持维持有有有有图4.23 对象模型银行码银行码录入站录入站远程事务远程事务现金卡现金卡银行名、卡片码银行名、卡片码安全号安全号出纳员事务出纳员事务出纳员出纳员名字名字出

38、纳站出纳站分行分行站代码站代码帐户帐户余额、类型余额、类型贷款限定贷款限定顾客顾客名字名字地址地址事务事务种类、日期、时间、数量种类、日期、时间、数量卡片权限卡片权限密码、限制密码、限制更新更新数量、类型数量、类型自动出纳机自动出纳机分发现金分发现金雇雇员员号号站站代代码码分理处分理处名字名字帐户帐户号号卡片码卡片码录入录入组成组成拥拥有有拥拥有有雇雇用用访问访问标识标识发行发行被被录录入入开开始始涉涉及及维持维持有有有有3. 建立动态模型建立动态模型 动态模型着重于系统的逻辑结构;描述某时刻动态模型着重于系统的逻辑结构;描述某时刻对象及其联系的改变。包括状态图和事件追综图。对象及其联系的改变

39、。包括状态图和事件追综图。对象所具有的属性值对象所具有的属性值,具有时间性和持续性。具有时间性和持续性。 对于对象的触发行为对于对象的触发行为,指从一个对象到另一个对指从一个对象到另一个对象的信息的单向传递。象的信息的单向传递。在系统的某一执行期间内的一系列事件。在系统的某一执行期间内的一系列事件。 在系统中具有属性值、链路的对象在系统中具有属性值、链路的对象,可能相互激发可能相互激发,引引起状态的一系列变化。起状态的一系列变化。有的事件传递的是简单信号,有的事件则传递的是有的事件传递的是简单信号,有的事件则传递的是数据值。由事件传送的数据值称为数据值。由事件传送的数据值称为“属性属性”。状态

40、图状态图状态图是一个状态和事件的网络,侧重于描述每一状态图是一个状态和事件的网络,侧重于描述每一类对象的动态行为,状态的迁移。类对象的动态行为,状态的迁移。状态状态A A活动活动状态状态B B状态状态A A / / 操作操作事件事件BB条件条件 起始状态起始状态终结状态终结状态状态图状态图动态模型由多个状态图动态模型由多个状态图组成,每个有重要行为的类组成,每个有重要行为的类都有一个状态图。各状态图都有一个状态图。各状态图可并发地执行及独立改变状可并发地执行及独立改变状态。态。图例图例状态状态状态迁移状态迁移状态打电话状态图打电话状态图空闲空闲拨号拨号连接连接铃响铃响连接连接断连断连忙音忙音快

41、速忙音快速忙音拨号音拨号音超出时间超出时间记录的信息记录的信息放下话筒放下话筒提起话筒超时超时无效号码有效号码对方应答通路一位号码中继线忙号码忙对方电话挂断信息送完图4.24打电话状态图空闲空闲拨号拨号连接连接铃响铃响连接连接断连断连忙音忙音快速忙音快速忙音拨号音拨号音超出时间超出时间记录的信息记录的信息放下话筒放下话筒提起话筒超时超时无效号码有效号码对方应答通路一位号码中继线忙号码忙对方电话挂断信息送完图4.24打电话状态图打电话状态图打电话状态图空闲空闲拨号拨号连接连接铃响铃响连接连接断连断连忙音忙音快速忙音快速忙音拨号音拨号音超出时间超出时间记录的信息记录的信息放下话筒放下话筒提起话筒超时超时无效号码有效号码对方应答通路一位号码中继线忙号码忙对方电话挂断信息送完图4.24打电话状态图事件追踪图事件追踪图事件追踪图侧重描述系统执行过程中的一个特定的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论