第9章面向对象的分析设计方法_第1页
第9章面向对象的分析设计方法_第2页
第9章面向对象的分析设计方法_第3页
第9章面向对象的分析设计方法_第4页
第9章面向对象的分析设计方法_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、第第9章章 面向对象的分析设计方法面向对象的分析设计方法内容提要:内容提要:u 面向对象技术及其发展历史面向对象技术及其发展历史u 面向对象技术的一些基本概念面向对象技术的一些基本概念u 面向对象的分析面向对象的分析u 面向对象的设计面向对象的设计u 面向对象的实现面向对象的实现连接成员的机制连接成员的机制(静态联结与动(静态联结与动态关联)态关联)生产软件产品生产软件产品9.0 9.0 面向对象技术及其发展历史面向对象技术及其发展历史1. 什么是面向对象技术什么是面向对象技术以以面向对象方法学面向对象方法学为基础的软件为基础的软件系统组织系统组织和和结构结构设计的设计的工程技术工程技术特点:

2、特点:标准的工艺流程标准的工艺流程统一的生产规范统一的生产规范内容:面向对象分析内容:面向对象分析面向对象设计面向对象设计面向对象程序设计面向对象程序设计内部组成内部组成层次结构层次结构机器语言机器语言助记符语言助记符语言汇编语言汇编语言面向机器面向机器直接控制机器直接控制机器的运行的运行9.0 9.0 面向对象技术及其发展历史面向对象技术及其发展历史2. 从从“软件工程软件工程” 的发展史看面向对象技术出现的必然性的发展史看面向对象技术出现的必然性面向机器面向机器FORTRANBASIC面向过程面向过程描述解题过程描述解题过程CPASCAL结构化结构化程序设计程序设计以控制结构表以控制结构表

3、示程序的物理示程序的物理层次结构层次结构C+Java面向对象面向对象程序设计程序设计程序设计过程程序设计过程与人类的认知与人类的认知过程统一过程统一面向过程面向过程结构化结构化程序设计程序设计面向对象面向对象程序设计程序设计9.0 9.0 面向对象技术及其发展历史面向对象技术及其发展历史3. 3. 面向对象方法学基本内涵面向对象方法学基本内涵I.客观世界的事物由各种各样的实体(对象)构成客观世界的事物由各种各样的实体(对象)构成II.每个对象都有各自的内部状态和运动(状态)规律每个对象都有各自的内部状态和运动(状态)规律III.根据对象的属性和运动规律的相似性可以将对象分类根据对象的属性和运动

4、规律的相似性可以将对象分类IV. 复杂对象由相对简单的对象组成复杂对象由相对简单的对象组成V.不同对象的组合及其间的相互作用和联系构成了系统不同对象的组合及其间的相互作用和联系构成了系统VI. 对象间的相互作用通过消息传递,对象根据所接收到对象间的相互作用通过消息传递,对象根据所接收到的消息做出自身的反应的消息做出自身的反应9.0 9.0 面向对象技术及其发展历史面向对象技术及其发展历史4. 4. 认知规律认知规律归归 纳:纳:从特殊到一般的思维过程从特殊到一般的思维过程演演 绎:绎:从一般到特殊的思维过程从一般到特殊的思维过程形象思维:形象思维:从一公理体系出发,根据定理、定律等使用归纳及从

5、一公理体系出发,根据定理、定律等使用归纳及演绎进行推理,从而解决给定问题。演绎进行推理,从而解决给定问题。逻辑思维:逻辑思维:从多个具有共性的解决问题的过程,发现解决这类从多个具有共性的解决问题的过程,发现解决这类问题的通用方法问题的通用方法认知深度:认知深度:先一般、总体,后特殊、具体先一般、总体,后特殊、具体认知广度:认知广度:根据事物之间的联系,将认识的焦点从一个事物转根据事物之间的联系,将认识的焦点从一个事物转移到另一个事物,从而扩大视野移到另一个事物,从而扩大视野认知连续性:认知连续性:认识的深入具有连续性,在继承已有知识的基础上认识的深入具有连续性,在继承已有知识的基础上进行新认识

6、。进行新认识。天下乌鸦天下乌鸦一般黑一般黑归纳归纳演绎演绎1 将问题划分为不同对象。将问题划分为不同对象。2 通过类比发现对象间存在的相似性,从而得到类、子类、父类等。通过类比发现对象间存在的相似性,从而得到类、子类、父类等。3 对属于同一个类的对象定义一组数据用以刻画该类对象的整体特征;对属于同一个类的对象定义一组数据用以刻画该类对象的整体特征;定义一组定义一组“方法方法”(函数)用以描述能够对该类对象进行的操作(函数)用以描述能够对该类对象进行的操作(行为)。(行为)。4 建立对象间的联系以反映不同对象之间的相互作用。建立对象间的联系以反映不同对象之间的相互作用。 划分划分将复杂问题(复将

7、复杂问题(复杂对象)划分为杂对象)划分为一系列简单的组一系列简单的组成部分(简单对成部分(简单对象)象) 分类分类按照对象间的各种按照对象间的各种相似性将对象分类相似性将对象分类认识各类对象认识各类对象自身属性及行自身属性及行为为认识对象及类认识对象及类之间关系之间关系全部事物全部事物的完整认的完整认识识9.1 面向对象技术的基本概念面向对象技术的基本概念1 1、什么是、什么是对象对象对象的含义是什么?对象的含义是什么? 对象对象Object 在不同场合具有不同的含义:在不同场合具有不同的含义: 对象是封装了数据结构及可以施加在这些数据结对象是封装了数据结构及可以施加在这些数据结构上的操作的封

8、装体,这个封装体有可以唯一地构上的操作的封装体,这个封装体有可以唯一地标识它的名字,而且对外界提供一组服务(即公标识它的名字,而且对外界提供一组服务(即公有的操作)。有的操作)。(1 1)对象数据封装)对象数据封装对象的形态与静态特征对象的形态与静态特征问题空间对象问题空间对象图书图书1 1MyBook1 : CBookMyBook1 : CBook书书 名:程序设计名:程序设计总页数:总页数:280280版版 本:本:2 2.m_pczName:char* =“=“程序设计程序设计”nTotalPage:intnTotalPage:int =280 =280nEdition:intnEdit

9、ion:int =2 =2.返回书名返回书名返回总页数返回总页数返回版本号返回版本号.charchar* * GetBookName GetBookName();();intint GetTotalPage GetTotalPage();();intint GetEdition GetEdition();();.分析中的对象分析中的对象设计中的对象设计中的对象人、学生、学校、班级、处、电视、汽车人、学生、学校、班级、处、电视、汽车等都可以被看作对象等都可以被看作对象地址地址内容内容属性名属性名地址增加方向.00C6计BCE8设C9F2序D0CC程003B0870B3.00m_nEdition(

10、int类型)(版本)00000012FF6C0200m_nPages(int类型)(总页数)00010012FF681800m_pczName(char* 类型)(书名)3B080012FF6470对象数据封装对象数据封装Class CBook char* m_pczName; int m_nPages; int m_nEdition; CBook b;解空间对象解空间对象人类认识世界的认知规律之一:人类认识世界的认知规律之一:根据对象的属性和运动规律的相似性分类认识和根据对象的属性和运动规律的相似性分类认识和描述相似属性和功能的对象描述相似属性和功能的对象,这些构成这些构成对象类对象类任何一

11、个具体的任何一个具体的对象对象都都是是相应对象类的一个相应对象类的一个实例实例类与对象的不同类与对象的不同类的实例化类的实例化(2 2)对象类和对象实例)对象类和对象实例将客观事物之间的复杂的相互作用抽象为对象之间通过消息将客观事物之间的复杂的相互作用抽象为对象之间通过消息传递,对象对所接收消息的反应传递,对象对所接收消息的反应地球地球月月球球(3 3)对象间相互作用)对象间相互作用对象之间的相互作用抽象模型:对象之间的相互作用抽象模型:SenderReceiver/SenderMessage1ReceiverMessage1Message2对象间相互作用对象的动态特征对象的动态特征动态对象包

12、含两个含义:动态对象包含两个含义:对每个对象而言,其内部状态是变化的,对象上发生的事件可能导致对对每个对象而言,其内部状态是变化的,对象上发生的事件可能导致对象内部状态值的改变,这种变化与事件发生时对象所处的状态有关,与所象内部状态值的改变,这种变化与事件发生时对象所处的状态有关,与所发生的具体事件有关发生的具体事件有关不同事件之间往往会构成一个时间、因果链条,它们从另一个角度描绘不同事件之间往往会构成一个时间、因果链条,它们从另一个角度描绘出对象状态随时间变化的规律。出对象状态随时间变化的规律。1 12 23 3event1event1event2event2打印(文件)打印(文件) 打印机

13、空闲打印机空闲 打印(文件)打印(文件) 打印机忙打印机忙 暂存(文件)暂存(文件): :计算机类计算机类: :打印服务器类打印服务器类: :打印机类打印机类: :打印队列类打印队列类打印(文件)打印(文件)2、 对象继承 人类对事物分类后,从某种角度观察,不同类之人类对事物分类后,从某种角度观察,不同类之间具有一定的联系。间具有一定的联系。 人类认识事物从对象个体、类的认识,通过事务人类认识事物从对象个体、类的认识,通过事务间关联,进一步深入去认识其它事物,通过对不间关联,进一步深入去认识其它事物,通过对不同事物间关系的描述建立系统的层次结构。同事物间关系的描述建立系统的层次结构。 人类对某

14、一新事物的认知经常建立在已经获取的人类对某一新事物的认知经常建立在已经获取的一些认知结论的基础上,类似的情形同样常发生一些认知结论的基础上,类似的情形同样常发生在对事物的描述中,比如对一个新事物的描述通在对事物的描述中,比如对一个新事物的描述通常都将尝试应用业已存在的理论或方法。常都将尝试应用业已存在的理论或方法。 对于人类的这种行为以及类之间关系的描述,面对于人类的这种行为以及类之间关系的描述,面向对象技术给予充分的技术支持。向对象技术给予充分的技术支持。(1)父类和子类一般一般特殊结构特殊结构人类对事物进行分类后,在概念上,一些种类的事物之间存在着联系,人类对事物进行分类后,在概念上,一些

15、种类的事物之间存在着联系,一些类之间在行为、属性等方面具有部分相似性,其间存在一般与特一些类之间在行为、属性等方面具有部分相似性,其间存在一般与特殊的对应关系:汽车与轿车、学生与班委会殊的对应关系:汽车与轿车、学生与班委会 这种关系不存在于具体对象实例之间,而存在于对象类之间。这种关系不存在于具体对象实例之间,而存在于对象类之间。一般性寓于特殊性之中,体现在一般类对象所具有的属性和操作包含一般性寓于特殊性之中,体现在一般类对象所具有的属性和操作包含于特殊类对象之中。于特殊类对象之中。汽车汽车轿车轿车客车客车卡车卡车汽车汽车轿车轿车客车客车卡车卡车父类和子类父类父类子类(继承、派生)子类(继承、

16、派生)一般类一般类B B特殊类特殊类A A特殊类的每个对象都为一般类的实例,因此特殊类特殊类的每个对象都为一般类的实例,因此特殊类的对象必将具有相应的一般类的属性和操作的对象必将具有相应的一般类的属性和操作特殊特殊类这种获取属性和方法的方式称为类这种获取属性和方法的方式称为继承继承由于特殊类(对象)具有一般类的所有属性和操由于特殊类(对象)具有一般类的所有属性和操作,所以特殊类的任何一个对象必定是相应一般作,所以特殊类的任何一个对象必定是相应一般类的对象,因此这种关系又常称为类的对象,因此这种关系又常称为IS_A_KIND_OF关系关系如果类如果类A A具有类具有类B B的全部属性和操作,并且

17、具有一的全部属性和操作,并且具有一些自己独特的属性和操作,那么些自己独特的属性和操作,那么A A称作称作B B的特殊类,的特殊类,B B称作称作A A的一般类的一般类 通过在已有类的基础上添加一些特殊的属性和操作通过在已有类的基础上添加一些特殊的属性和操作形成新类的方式形成新类的方式称为称为派生派生CPersonCPersonCStudentCStudentChar* NameInt Number狗狗黑狗黑狗2、多重继承单一继承单一继承多重继承多重继承一般类一般类一般类一般类特殊类特殊类WNDSTRUCTWNDSTRUCTCWindowTreeCWindowTreeCScreenObjectC

18、ScreenObjectCEditTextCEditTextCWndCWnd一般类一般类特殊类特殊类特殊类特殊类一些事物同时具有其它多类事物的属性和行为,在面向对象技术中采一些事物同时具有其它多类事物的属性和行为,在面向对象技术中采用多重继承描述:父母与孩子、在职研究生与教师和研究生类等用多重继承描述:父母与孩子、在职研究生与教师和研究生类等3、多态性人类思维和描述中经常使用同一个名字代表不同的事物,客人类思维和描述中经常使用同一个名字代表不同的事物,客观事物也往往具有多重身份,在不同的场合显现出不同的形观事物也往往具有多重身份,在不同的场合显现出不同的形态。如:态。如:+、操作(函数)等。面

19、向对象中使用多态性表述、操作(函数)等。面向对象中使用多态性表述这种习惯。这种习惯。多态性的含义:一个标识符标识多个语义。多态性的含义:一个标识符标识多个语义。例如:例如:Display()在在CCircle类和类和CRectangle类中类中.CRectangle:Display()CCircle:Display()CRectangle a;a.Display()CCircle c;c.Display()与运算符相似9.2 面向对象分析方法面向对象分析方法OOAOOA三种模型三种模型 对象模型对象模型用类和关系来描述系统的静态结构用类和关系来描述系统的静态结构 动态模型动态模型用事件和对象状

20、态来描述系统的动态用事件和对象状态来描述系统的动态特性特性 功能模型功能模型按照对象的操作来描述如何从输入给按照对象的操作来描述如何从输入给出输出结果出输出结果(数据流图)(数据流图)分析模型分析模型 设计模型设计模型 实现模型实现模型面向对象分析面向对象分析OOA面向对象设计面向对象设计OOD面向对象实现面向对象实现OOI客观事物客观事物1、对象模型、对象模型对象模型符号表示对象模型符号表示: 类类 关联关联 I. I.一般关联:一般关联: 1 1对对1 1 :国家国家政府政府有有. 关联关系的多重性关联关系的多重性公司公司雇员雇员有有1 1对多:对多:作家作家小说小说写写多对多:多对多:电

21、脑电脑鼠标鼠标装有装有1 1对多:对多:班班学生学生有有1 1对多:对多:计算机计算机屏幕屏幕有有1 1对多:对多:80+10 0或或1 1. 继承关系继承关系 父父- -子关系子关系父子子子人工人工人农民农民商人商人.集约关系整体集约关系整体- -部分关系部分关系脸嘴眼鼻. . 消息关系消息关系O1O2O3动作动作例:例: 每个为公司工作的人都可以领到一份薪水和一项工作。老板评每个为公司工作的人都可以领到一份薪水和一项工作。老板评价每个工人的工作表现。价每个工人的工作表现。员工员工工资帐号工资帐号工作部门工作部门公司公司名称名称地址地址薪水薪水工作职务工作职务为为工作工作工作效率工作效率老板

22、老板管理管理工人工人人人姓名姓名身份证号码身份证号码地址地址2、动态模型、动态模型(1 1) 对象生命周期对象生命周期 对象的动态行为包括两个方面的内容:对象的动态行为包括两个方面的内容:单个对象自身生命周期演化;单个对象自身生命周期演化;整个对象系统中对象间消息传递及相互作用整个对象系统中对象间消息传递及相互作用对象对象状态状态导致状态转换的事导致状态转换的事件件状态转换时的动作状态转换时的动作S1S1S2S2S3S3S4S4event1event2event3event4状态转换图状态转换图2、动态模型、动态模型状态转换图示例:状态转换图示例:电梯运行过程的状态转换图电梯运行过程的状态转换

23、图 在第一层在第一层向上移动向上移动空闲空闲向下移动向下移动向一层移向一层移动动上上到到下下超时限超时限到到到到上上下下事件踪迹图事件踪迹图对象间消息传递及相互作用使用事件踪迹图表示对象间消息传递及相互作用使用事件踪迹图表示例:例:打印服务器事件踪迹图打印服务器事件踪迹图 打印(文件)打印(文件) 打印机空闲打印机空闲 打印(文件)打印(文件) 打印机忙打印机忙 暂存(文件)暂存(文件): :计算机类计算机类: :打印服务器类打印服务器类: :打印机类打印机类: :打印队列类打印队列类打印(文件)打印(文件)例:电话线通话过程状态图例:电话线通话过程状态图空闲空闲拨号音拨号音拨号拨号连接连接铃

24、响铃响连通连通断连断连纪录信纪录信息息超时超时忙音忙音快速忙音快速忙音提起话筒提起话筒一位号码一位号码一位号码一位号码号码忙号码忙中继线忙中继线忙有效号码有效号码通路通路对方应答对方应答对方挂断对方挂断信息送完信息送完放下话筒放下话筒放下话筒放下话筒超时超时超时超时无效号码无效号码例:通话事件踪迹图例:通话事件踪迹图拿起耳机拿起耳机拨号音开始拨号音开始拨号拨号 4拨号拨号 8拨号拨号 3拨号拨号 2铃声铃声铃声铃声铃声停止铃声停止接受对方回答接受对方回答铃声停止铃声停止电话连通电话连通电话连通电话连通受话方挂机受话方挂机电话断开电话断开电话断开电话断开打电话者挂机打电话者挂机打电话者打电话者电

25、话线电话线接电话者接电话者3、功能模型功能模型(数据流图数据流图)处理处理 数据变换或操作,表明数据流入经处理后被变换为输出数据变换或操作,表明数据流入经处理后被变换为输出被除数被除数整除整除除数除数商商余数余数数字数字地址地址邮编邮编城市城市街道街道楼号楼号数据流数据流 对象或处理的输入输出与另一对象或处理的输入输出之间的对象或处理的输入输出与另一对象或处理的输入输出之间的连接,表明计算中的中间数据连接,表明计算中的中间数据数据拷贝数据拷贝聚集数据分解聚集数据分解功能模型功能模型(数据流图数据流图)施动者施动者 通过产生或使用数据驱动数据流图的主动对象,与数据流图通过产生或使用数据驱动数据流

26、图的主动对象,与数据流图的输入输出联系在一起。的输入输出联系在一起。转换成像素转换成像素屏幕缓屏幕缓冲区冲区像素操作像素操作数据存储数据存储 数据流图中为后继访问而存储数据的被动对象。与施动者不数据流图中为后继访问而存储数据的被动对象。与施动者不同,它不产生任何操作,仅对存储和访问数据的请求响应。同,它不产生任何操作,仅对存储和访问数据的请求响应。读数读数气温气温最高温度最高温度最低温度最低温度功能模型功能模型(数据流图数据流图)转换成像素转换成像素显示缓冲显示缓冲区区图标定义图标定义图标名图标名位置位置剪裁向量剪裁向量向量表向量表偏移向量偏移向量转换成像素转换成像素屏幕缓冲屏幕缓冲区区像素操

27、作像素操作窗口窗口视口视口举例举例 窗口图标显示数据流图窗口图标显示数据流图9.3 面向对象设计概述 系统设计系统设计 对象设计对象设计分析期间分析期间建立系统建立系统模型模型设设计计期期间间模模型型问题空问题空间对象间对象面向对象设计阶段在分析模型面向对象设计阶段在分析模型基础上进行未来软件的系统设基础上进行未来软件的系统设计、对象设计,从而得到设计计、对象设计,从而得到设计模型,该模型包含了解决问题模型,该模型包含了解决问题的方案和策略。是确定问题具的方案和策略。是确定问题具体解决方案的过程体解决方案的过程1、系统设计(1 1)系统层次结构设计系统层次结构设计系统设计是以软件方式实现系统功

28、能而进行软件的系统结构设计及系统设计是以软件方式实现系统功能而进行软件的系统结构设计及 程序实现中的总体的、策略性的解决方案的制定程序实现中的总体的、策略性的解决方案的制定时时间间空空间间软软件件硬硬件件单单一一一一般般效效率率可可维维高层次接口高层次接口模块1模块2模块3应用程序应用程序模块1模块2模块3核心核心模块1模块2模块3驱动驱动模块1模块2模块3硬件硬件模块1模块2模块3对软件系统进行的整体划分。对软件系统进行的整体划分。水平方向代表系统的不同抽象水平方向代表系统的不同抽象级别与层次;纵向表明每个层级别与层次;纵向表明每个层次所提供的功能模块次所提供的功能模块系统设计(2 2)系统

29、数据存储设计系统数据存储设计系统中各种数据对象的存储方式设计:内存数据结构、文件、数系统中各种数据对象的存储方式设计:内存数据结构、文件、数据库等据库等如分布环境中对象的存储结构与单机环境下不同、持久对象等如分布环境中对象的存储结构与单机环境下不同、持久对象等(3 3)系统资源访问设计系统资源访问设计确定需要使用的资源,包括访问机制和访问安全性机制等确定需要使用的资源,包括访问机制和访问安全性机制等如:访问队列等如:访问队列等(4 4) 网络与分布设计网络与分布设计如何将问题划分给不同节点进行分布式运算,需考虑网络流量、如何将问题划分给不同节点进行分布式运算,需考虑网络流量、节点计算能力、系统

30、效率节点计算能力、系统效率系统设计(6 6)互操作设计互操作设计(5 5)并发性设计并发性设计并发性控制,多进程、多线程等并发性控制,多进程、多线程等文件并行访问,使用临界区、事件、互斥量、信号灯等文件并行访问,使用临界区、事件、互斥量、信号灯等相对于相对于Client/ServerClient/Server而言。多个进程之间可能需要为对方提供服务。而言。多个进程之间可能需要为对方提供服务。可能比较复杂,因为有可能存在平台异构问题。可能比较复杂,因为有可能存在平台异构问题。例外、边界也许要处理例外、边界也许要处理2、对象设计(1 1)静态结构设计静态结构设计根据具体实现策略对分析模型进行扩充,

31、逐步使对象的描述接近软件的根据具体实现策略对分析模型进行扩充,逐步使对象的描述接近软件的最终实现。添加人机交互、数据库及资源访问、网络访问方面的支持。最终实现。添加人机交互、数据库及资源访问、网络访问方面的支持。为软件实现的方便对对象模型所给出的结构进行重构,将一些对象合并为软件实现的方便对对象模型所给出的结构进行重构,将一些对象合并或拆分。考虑复用、可维护性等。或拆分。考虑复用、可维护性等。(2 2) 动态行为设计动态行为设计9.4 9.4 经典分析和设计方法介绍经典分析和设计方法介绍 OMT OOD RDD OOAD OOSE采用面向对象技术进行分析和设计的软件开发方法很多,采用面向对象技

32、术进行分析和设计的软件开发方法很多,各种方法都有各自的特点。各种方法都有各自的特点。1 OMT1 OMT分析综述分析综述OMT在关系数据库设计的实体关系模型的基础上扩展了类、继承和行为等概念得到。在关系数据库设计的实体关系模型的基础上扩展了类、继承和行为等概念得到。产生产生需求需求建立建立模型模型开发者开发者管理者管理者用用 户户问题描述问题描述对象模型对象模型动态模型动态模型函数模型函数模型与用户磋商与用户磋商学科知识学科知识实际经验实际经验需求的描述,而不是问题需求的描述,而不是问题的解决。的解决。哪些特性可选、哪些必需哪些特性可选、哪些必需从模糊的设计和实现需求从模糊的设计和实现需求中分

33、离出正确的需求中分离出正确的需求2 2 问题描述问题描述目的:目的: 描述需求,解决做什么,而不是怎样做的问题。描述需求,解决做什么,而不是怎样做的问题。任务:任务: 描述问题范围、描述问题范围、需求需求(将实现的功能)、特性(将实现的功能)、特性设计一个支持银行网络系统的设计一个支持银行网络系统的软件软件,这个,这个网络网络,包括,包括出纳员出纳员和和ATM自动取自动取款机款机,由,由联营联营银行共享。每个银行共享。每个银行银行提供各自的提供各自的计算机计算机来维护它的帐务和处来维护它的帐务和处理面临的事物。出纳工作站属于各银行,且直接与银行的计算机通信。人理面临的事物。出纳工作站属于各银行

34、,且直接与银行的计算机通信。人工出纳员输入帐务和处理数据。自动取款机与中央计算机通信,中央计算工出纳员输入帐务和处理数据。自动取款机与中央计算机通信,中央计算机分理事物到相应的银行。自动取款机接受现金卡,与用户交互,与中央机分理事物到相应的银行。自动取款机接受现金卡,与用户交互,与中央系统通信并完成事物处理,分配现金和打印收据。系统需要恰当的记录和系统通信并完成事物处理,分配现金和打印收据。系统需要恰当的记录和安全保证。系统必须正确控制并发访问同一账号,银行将提供自己的计算安全保证。系统必须正确控制并发访问同一账号,银行将提供自己的计算机软件;请为机软件;请为ATM和网络设计软件。共享系统的费

35、用根据现金卡客户的数和网络设计软件。共享系统的费用根据现金卡客户的数量由各银行分担。量由各银行分担。银行银行计算机计算机银行银行计算机计算机中央中央计算机计算机帐户帐户帐户帐户帐户帐户帐户帐户ATMATMATM3 3 类的识别类的识别提取名词提取名词排除虚假的类排除虚假的类需求说明需求说明试探性的试探性的对象类对象类 对象类对象类 软件软件银行银行计算机计算机中央中央计算机计算机保存记保存记录装置录装置银行网络银行网络帐户帐户现金卡现金卡安全装置安全装置出纳员出纳员业务业务用户用户存取存取出纳出纳工作站工作站现金现金费用费用联营联营帐目数据帐目数据收据收据客户客户银行银行业务数据业务数据系统系

36、统ATM与类对应的经常是问题描述中的名词与类对应的经常是问题描述中的名词 保留正确类保留正确类费用费用不不相相干干存取存取软件软件实实现现账目数据账目数据收据收据现金现金业务数据业务数据属属性性系统系统安全装置安全装置保存记录装置保存记录装置银行网络银行网络模模糊糊用户用户冗冗余余冗冗 余余 类:类: 对描述同一信息的多个类只保留一个。如:客户与用户对描述同一信息的多个类只保留一个。如:客户与用户无无 关关 类:类: 删除与所述问题无关的类。如费用的分担不在删除与所述问题无关的类。如费用的分担不在ATM事物处理范围内事物处理范围内模模 糊糊 类:类: 边界不明显或范围过宽。如系统、边界不明显或

37、范围过宽。如系统、属属 性:性: 用于描述对象性质的名词为属性。应具体分析,如:房间用于描述对象性质的名词为属性。应具体分析,如:房间操操 作:作: 带有动词性质的名词有时为动作,应描述为操作。如:传呼带有动词性质的名词有时为动作,应描述为操作。如:传呼角角 色:色: 类名应反映事物固有性质,而不是关联中的角色。如:拥有者、驾驶员类名应反映事物固有性质,而不是关联中的角色。如:拥有者、驾驶员实现结构:实现结构: 脱离实际的结构在分析模型中删除。如:子程序、数据库结构、数组等脱离实际的结构在分析模型中删除。如:子程序、数据库结构、数组等制定数据字典制定数据字典银行银行计算机计算机中央中央计算机计

38、算机账户账户现金卡现金卡ATM出纳员出纳员业务业务客户客户出纳出纳工作站工作站联营联营银行银行账户:账户:银行中的一个户头,与交易中使用的账户类似。账户可能有许多不同的类型,银行中的一个户头,与交易中使用的账户类似。账户可能有许多不同的类型,至少有支票账户和储蓄账户两类。一位客户可以拥有不止一个账户至少有支票账户和储蓄账户两类。一位客户可以拥有不止一个账户ATM:允许客户用现金卡做为身分证明进入自己的账户的一种机器。允许客户用现金卡做为身分证明进入自己的账户的一种机器。ATM与客户交互,与客户交互,通过收集业务处理信息,并把该信息送至中心计算机和方式证明客户的合法性通过收集业务处理信息,并把该

39、信息送至中心计算机和方式证明客户的合法性后进行处理,把现金分配给客户。后进行处理,把现金分配给客户。银行:银行:一个金融机构,它代管客户帐目,发行现金卡给客户并授权客户可以通过一个金融机构,它代管客户帐目,发行现金卡给客户并授权客户可以通过ATM网络进入自己的账户,存取现金等网络进入自己的账户,存取现金等出纳员:出纳员: 应行雇员。被授权把业务信息输入出纳工作站应行雇员。被授权把业务信息输入出纳工作站.业务:业务:客户对账目的一个单一而完整的操作要求客户对账目的一个单一而完整的操作要求. .4 4 关联的识别关联的识别关联常对应于静态动词或动词短语关联常对应于静态动词或动词短语常见的有:常见的

40、有:实实 际际 位位 置置 :下接,其中一部分,下接,其中一部分,包含在,在包含在,在.之上之上引引 导导 动动 作作 :驱动,驾驶驱动,驾驶通通 信:信:与与.交谈交谈拥拥 有:有:有,其中一部分有,其中一部分满足的条件:满足的条件:为为.工作,与工作,与.结婚结婚通信、拥有、通信、拥有、与类的识别过程类似,识别关联时首先将问题与类的识别过程类似,识别关联时首先将问题描述中的所有可能的关联(动词短语)列表,描述中的所有可能的关联(动词短语)列表,然后逐条删去不正确的关联,保留正确的。然后逐条删去不正确的关联,保留正确的。银行网络包括出纳员和银行网络包括出纳员和ATM联营共享联营共享ATM银行

41、提供银行计算机银行提供银行计算机ATM与中央计算机通信与中央计算机通信银行有出纳工作站银行有出纳工作站出纳工作站与银行计算机通信出纳工作站与银行计算机通信银行雇佣出纳员银行雇佣出纳员. 建立关联建立关联由由.组成组成持有持有通信通信拥有拥有通信通信通信通信拥有拥有雇佣雇佣涉及涉及存取存取有有被授权被授权进入进入被进入被进入拥有拥有进入进入银行银行联营联营中央中央计算机计算机ATM远程业务远程业务出纳业务出纳业务现金卡现金卡银行代码银行代码出纳出纳工作站工作站出纳员出纳员银行银行计算机计算机发发行行帐户帐户拥有拥有客户客户涉及涉及 建立关联建立关联由由.组成组成持有持有通信通信拥有拥有通信通信通信通信拥有拥有雇佣雇佣涉及涉及存取存取有有被授权被授权进入进入被授权被授权拥有拥有进入进入银行银行联营联营中央中央计算机计算机ATM远程业务远程

温馨提示

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

评论

0/150

提交评论