软件工程ppt10面向对象分析课件

上传人:94****0 文档编号:240686944 上传时间:2024-04-30 格式:PPT 页数:84 大小:420.54KB
返回 下载 相关 举报
软件工程ppt10面向对象分析课件_第1页
第1页 / 共84页
软件工程ppt10面向对象分析课件_第2页
第2页 / 共84页
软件工程ppt10面向对象分析课件_第3页
第3页 / 共84页
点击查看更多>>
资源描述
第十章第十章 面向对象分析面向对象分析面向对象分析的基本过程面向对象分析的基本过程需求陈述需求陈述 建立对象模型建立对象模型建立动态模型建立动态模型建立功能模型建立功能模型定义服务定义服务 第十章 面向对象分析面向对象分析的基本过程1 面面向向对对象象分分析析OOA(Object-Oriented Analysis)的的目目标标是是完完成成对对所所求求解解问问题题的的分分析析,确确定定系系统统“作作什么什么”,并建立系统的,并建立系统的模型。模型。面向对象分析的基本过程面向对象分析的基本过程1.概述概述OOAOOAOOAOOA的基本任务的基本任务的基本任务的基本任务 运用面向对象的方法运用面向对象的方法,对问题域和系统责任进行分析和对问题域和系统责任进行分析和理解,找出描述它们的类和对象,定义其属性和操作,及其理解,找出描述它们的类和对象,定义其属性和操作,及其结构、静态联系和动态联系。结构、静态联系和动态联系。面向对象分析OOA(Object-Oriented 2我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物n n通常,面向对象分析过程从分析陈述用户需求的文件通常,面向对象分析过程从分析陈述用户需求的文件通常,面向对象分析过程从分析陈述用户需求的文件通常,面向对象分析过程从分析陈述用户需求的文件开始。可能由用户开始。可能由用户开始。可能由用户开始。可能由用户(包括出资开发该软件的业主代表及包括出资开发该软件的业主代表及包括出资开发该软件的业主代表及包括出资开发该软件的业主代表及最终用户最终用户最终用户最终用户)单方面写出需求陈述,也可能由系统分析员单方面写出需求陈述,也可能由系统分析员单方面写出需求陈述,也可能由系统分析员单方面写出需求陈述,也可能由系统分析员配合用户,共同写出需求陈述。配合用户,共同写出需求陈述。配合用户,共同写出需求陈述。配合用户,共同写出需求陈述。通常,面向对象分析过程从分析陈述用户需求的文件开始。可能由用3OOAOOA面临的问题:面临的问题:面临的问题:面临的问题:1、问题域和系统责任问题、问题域和系统责任问题 问题域问题域(problem domain)被开发系统的应用领域。被开发系统的应用领域。系统责任系统责任(system responsibilities)所开发的系统应具备的所开发的系统应具备的职能。职能。2、交流问题、交流问题(各类人员之间的要求)(各类人员之间的要求)3、需求的不断变化、需求的不断变化(用户、竞争因素、经费、技术因素)(用户、竞争因素、经费、技术因素)OOA面临的问题:4我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物获取用户基本需求获取用户基本需求获取用户基本需求获取用户基本需求标识类和对象标识类和对象标识类和对象标识类和对象定义类的结构和层次定义类的结构和层次定义类的结构和层次定义类的结构和层次表示类表示类表示类表示类(对象对象对象对象)间的关系间的关系间的关系间的关系为对象行为建模为对象行为建模为对象行为建模为对象行为建模OOA分析过程分析过程获取用户基本需求标识类和对象定义类的结构和层次表示类(对象)5我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物1 1 1 1、获取用户基本需求、获取用户基本需求、获取用户基本需求、获取用户基本需求用用户户与与开开发发者者之之间间进进行行充充分分交交流流,常常用用User User case(case(用用例例)来来收收集集和和描描述述用用户户的的需需求求。即即先先标标识识使使用用该该系系统统的的不不同同的的行为者行为者(actor)actor)。2 2 2 2、标识类和对象、标识类和对象、标识类和对象、标识类和对象标标标标识识识识类类类类与与与与对对对对象象象象是是是是一一一一致致致致的的的的。在在确确定定系系统统的的用用例例后后,可可标标识识类及类的属性和操作。类及类的属性和操作。确定最终对象确定最终对象确定最终对象确定最终对象 可可可可根根根根据据据据以以以以下下下下原原原原则则则则确确确确定定定定:需需需需要要要要保保保保留留留留的的的的信信信信息息息息,需需需需要要要要的的的的服服服服务务务务,具有多个属性,具有公共属性及操作。具有多个属性,具有公共属性及操作。具有多个属性,具有公共属性及操作。具有多个属性,具有公共属性及操作。从问题域或用例描述入手从问题域或用例描述入手从问题域或用例描述入手从问题域或用例描述入手,发现对象。发现对象。发现对象。发现对象。对对象象可可能能的的形形式式有有:外外部部实实体体 、事事物物、发发生生的的事事件件、角色、组织单位、场所、构造物等。角色、组织单位、场所、构造物等。1、获取用户基本需求2、标识类和对象确定最终对象从问题域或用6我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 标识属性标识属性标识属性标识属性 从从从从本本本本质质质质上上上上讲讲讲讲,属属属属性性性性定定定定义义义义了了了了对对对对象象象象。可可可可从从从从问问问问题题题题的的的的陈陈陈陈述述述述中中中中或或或或通通通通过对类的理解而标识出属性。过对类的理解而标识出属性。过对类的理解而标识出属性。过对类的理解而标识出属性。定义操作定义操作定义操作定义操作 操操操操作作作作定定定定义义义义了了了了对对对对象象象象的的的的行行行行为为为为并并并并以以以以某某某某种种种种方方方方式式式式修修修修改改改改对对对对象象象象的的的的属属属属性性性性。操作分为:对数据的操作,计算操作,控制操作。操作分为:对数据的操作,计算操作,控制操作。操作分为:对数据的操作,计算操作,控制操作。操作分为:对数据的操作,计算操作,控制操作。3 3 3 3、定义类的结构和层次、定义类的结构和层次、定义类的结构和层次、定义类的结构和层次类的结构有类的结构有:一般一般特殊特殊(generalization-specialization)结构结构 整体整体部分部分(whole-part)结构结构标识属性定义操作3、定义类的结构和层次7我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物构成类图的元素所表达的模型信息,构成类图的元素所表达的模型信息,分为分为三个层次三个层次:对象层对象层对象层对象层给出系统中所有反映问题域给出系统中所有反映问题域和和系统责任的对象。系统责任的对象。特征层特征层特征层特征层给出类(对象)的内部特征,给出类(对象)的内部特征,即类的属性和操作。即类的属性和操作。关系层关系层关系层关系层给出各类(对象)之间的关给出各类(对象)之间的关系,包括继承、系,包括继承、组装、一般组装、一般特殊特殊 、整整体体部分、属性的静态依赖关系,操作的部分、属性的静态依赖关系,操作的动态依赖关系。动态依赖关系。对象层对象层特征层特征层关系层关系层图4.8 OOA基本模型 用用“对象对象-关系模型关系模型”描述了系统的静态结构。描述了系统的静态结构。5 5 5 5、建立对象建立对象建立对象建立对象-行为模型行为模型行为模型行为模型 描述了系统的动态行为。描述了系统的动态行为。4 4 4 4、建立类、建立类、建立类、建立类(对象对象对象对象)间的关系间的关系间的关系间的关系构成类图的元素所表达的模型信息,分为三个层次:对象层特征8 面向对象建模得到的模型包含系统的三个要素,面向对象建模得到的模型包含系统的三个要素,面向对象建模得到的模型包含系统的三个要素,面向对象建模得到的模型包含系统的三个要素,即静态结构即静态结构即静态结构即静态结构(对象模型对象模型对象模型对象模型)、交互次序、交互次序、交互次序、交互次序(动态模型动态模型动态模型动态模型)和数和数和数和数据变换据变换据变换据变换(功能模型功能模型功能模型功能模型)。解决的问题不同,这三个子模。解决的问题不同,这三个子模。解决的问题不同,这三个子模。解决的问题不同,这三个子模型的重要程度也不同:几乎解决任何一个问题,都型的重要程度也不同:几乎解决任何一个问题,都型的重要程度也不同:几乎解决任何一个问题,都型的重要程度也不同:几乎解决任何一个问题,都需要从客观世界实体及实体间相互关系抽象出极有需要从客观世界实体及实体间相互关系抽象出极有需要从客观世界实体及实体间相互关系抽象出极有需要从客观世界实体及实体间相互关系抽象出极有价值的对象模型;当问题涉及交互作用和时序时价值的对象模型;当问题涉及交互作用和时序时价值的对象模型;当问题涉及交互作用和时序时价值的对象模型;当问题涉及交互作用和时序时(例如,用户界面及过程控制等例如,用户界面及过程控制等例如,用户界面及过程控制等例如,用户界面及过程控制等),动态模型是重要,动态模型是重要,动态模型是重要,动态模型是重要的;解决运算量很大的问题的;解决运算量很大的问题的;解决运算量很大的问题的;解决运算量很大的问题(例如,高级语言编译、例如,高级语言编译、例如,高级语言编译、例如,高级语言编译、科学与工程计算等科学与工程计算等科学与工程计算等科学与工程计算等),则涉及重要的功能模型。动,则涉及重要的功能模型。动,则涉及重要的功能模型。动,则涉及重要的功能模型。动态模型和功能模型中都包含了对象模型中的操作态模型和功能模型中都包含了对象模型中的操作态模型和功能模型中都包含了对象模型中的操作态模型和功能模型中都包含了对象模型中的操作(即服务或方法即服务或方法即服务或方法即服务或方法)。2.三个子模型与五个层次三个子模型与五个层次 面向对象建模得到的模型包含系统的三个要素,即静态结构9复杂问题(大型系统)的对象模型通常由下述复杂问题(大型系统)的对象模型通常由下述复杂问题(大型系统)的对象模型通常由下述复杂问题(大型系统)的对象模型通常由下述5 5个个个个层次组成:层次组成:层次组成:层次组成:主题层、类与对象层、结构层、属性主题层、类与对象层、结构层、属性主题层、类与对象层、结构层、属性主题层、类与对象层、结构层、属性层和服务层。层和服务层。层和服务层。层和服务层。上述上述上述上述5 5个层次对应着在面向对象分析过程中建立对个层次对应着在面向对象分析过程中建立对个层次对应着在面向对象分析过程中建立对个层次对应着在面向对象分析过程中建立对象模型的象模型的象模型的象模型的5 5项主要活动:找出类与对象,识别结构,项主要活动:找出类与对象,识别结构,项主要活动:找出类与对象,识别结构,项主要活动:找出类与对象,识别结构,识别主题,定义属性,定义服务。识别主题,定义属性,定义服务。识别主题,定义属性,定义服务。识别主题,定义属性,定义服务。复杂问题(大型系统)的对象模型通常由下述5个层次组成:主题10 需求陈述的内容包括:问题范围,功能需求,需求陈述的内容包括:问题范围,功能需求,需求陈述的内容包括:问题范围,功能需求,需求陈述的内容包括:问题范围,功能需求,性能需求,应用环境及假设条件等。总之,需求陈性能需求,应用环境及假设条件等。总之,需求陈性能需求,应用环境及假设条件等。总之,需求陈性能需求,应用环境及假设条件等。总之,需求陈述应该阐明述应该阐明述应该阐明述应该阐明“做什么做什么做什么做什么”而不是而不是而不是而不是“怎样做怎样做怎样做怎样做”。它应该。它应该。它应该。它应该描述用户的需求而不是提出解决问题的方法。应该描述用户的需求而不是提出解决问题的方法。应该描述用户的需求而不是提出解决问题的方法。应该描述用户的需求而不是提出解决问题的方法。应该指出哪些是系统必要的性质,哪些是任选的性质。指出哪些是系统必要的性质,哪些是任选的性质。指出哪些是系统必要的性质,哪些是任选的性质。指出哪些是系统必要的性质,哪些是任选的性质。应该避免对设计策略施加过多的约束,也不要描应该避免对设计策略施加过多的约束,也不要描应该避免对设计策略施加过多的约束,也不要描应该避免对设计策略施加过多的约束,也不要描述系统的内部结构,因为这样做将限制实现的灵活述系统的内部结构,因为这样做将限制实现的灵活述系统的内部结构,因为这样做将限制实现的灵活述系统的内部结构,因为这样做将限制实现的灵活性。性。性。性。书写需求陈述时,要尽力做到语法正确,而且应书写需求陈述时,要尽力做到语法正确,而且应书写需求陈述时,要尽力做到语法正确,而且应书写需求陈述时,要尽力做到语法正确,而且应该慎重选用名词、动词、形容词和同义词。该慎重选用名词、动词、形容词和同义词。该慎重选用名词、动词、形容词和同义词。该慎重选用名词、动词、形容词和同义词。需求陈述需求陈述1.书写要点书写要点 需求陈述的内容包括:问题范围,功能需求,性能需求,11系统分析员必须把需求与实现策略区分开,后者是系统分析员必须把需求与实现策略区分开,后者是系统分析员必须把需求与实现策略区分开,后者是系统分析员必须把需求与实现策略区分开,后者是一类伪需求。一类伪需求。一类伪需求。一类伪需求。需求陈述可简可繁。对人们熟悉的传统问题的陈需求陈述可简可繁。对人们熟悉的传统问题的陈需求陈述可简可繁。对人们熟悉的传统问题的陈需求陈述可简可繁。对人们熟悉的传统问题的陈述,可能相当详细,相反,对陌生领域项目的需求,述,可能相当详细,相反,对陌生领域项目的需求,述,可能相当详细,相反,对陌生领域项目的需求,述,可能相当详细,相反,对陌生领域项目的需求,开始时可能写不出具体细节。开始时可能写不出具体细节。开始时可能写不出具体细节。开始时可能写不出具体细节。随后进行的面向对象分析的目的,就是全面深入随后进行的面向对象分析的目的,就是全面深入随后进行的面向对象分析的目的,就是全面深入随后进行的面向对象分析的目的,就是全面深入地理解问题域和用户的真实需求,建立起问题域的地理解问题域和用户的真实需求,建立起问题域的地理解问题域和用户的真实需求,建立起问题域的地理解问题域和用户的真实需求,建立起问题域的精确模型。精确模型。精确模型。精确模型。系统分析员必须与用户及领域专家密切配合协同系统分析员必须与用户及领域专家密切配合协同系统分析员必须与用户及领域专家密切配合协同系统分析员必须与用户及领域专家密切配合协同工作,共同提炼和整理用户需求。在这个过程中,工作,共同提炼和整理用户需求。在这个过程中,工作,共同提炼和整理用户需求。在这个过程中,工作,共同提炼和整理用户需求。在这个过程中,很可能需要快速建立起原型系统,以便与用户更有很可能需要快速建立起原型系统,以便与用户更有很可能需要快速建立起原型系统,以便与用户更有很可能需要快速建立起原型系统,以便与用户更有效地交流。效地交流。效地交流。效地交流。系统分析员必须把需求与实现策略区分开,后者是一类伪需求。12自动取款机自动取款机自动取款机自动取款机(ATM)(ATM)系统实例。系统实例。系统实例。系统实例。2.例子例子自动取款机(ATM)系统实例。2.例子13需求陈述如下:需求陈述如下:需求陈述如下:需求陈述如下:某银行拟开发一个自动取款机系统,它是某银行拟开发一个自动取款机系统,它是某银行拟开发一个自动取款机系统,它是某银行拟开发一个自动取款机系统,它是一个由自动取款机、中央计算机、分行计算机及一个由自动取款机、中央计算机、分行计算机及一个由自动取款机、中央计算机、分行计算机及一个由自动取款机、中央计算机、分行计算机及柜员终端组成的网络系统。柜员终端组成的网络系统。柜员终端组成的网络系统。柜员终端组成的网络系统。ATMATM和中央计算机由和中央计算机由和中央计算机由和中央计算机由总行投资购买。总行拥有多台总行投资购买。总行拥有多台总行投资购买。总行拥有多台总行投资购买。总行拥有多台ATMATM,分别设在全,分别设在全,分别设在全,分别设在全市各主要街道上。分行负责提供分行计算机和柜市各主要街道上。分行负责提供分行计算机和柜市各主要街道上。分行负责提供分行计算机和柜市各主要街道上。分行负责提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的员终端。柜员终端设在分行营业厅及分行下属的员终端。柜员终端设在分行营业厅及分行下属的员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。该系统的软件开发成本由各个分各个储蓄所内。该系统的软件开发成本由各个分各个储蓄所内。该系统的软件开发成本由各个分各个储蓄所内。该系统的软件开发成本由各个分行分摊。行分摊。行分摊。行分摊。需求陈述如下:14银行柜员使用柜员终端处理储户提交的储蓄事务。银行柜员使用柜员终端处理储户提交的储蓄事务。银行柜员使用柜员终端处理储户提交的储蓄事务。银行柜员使用柜员终端处理储户提交的储蓄事务。储户可以用现金或支票向自己拥有的某个账户内存储户可以用现金或支票向自己拥有的某个账户内存储户可以用现金或支票向自己拥有的某个账户内存储户可以用现金或支票向自己拥有的某个账户内存款或开新账户。储户也可以从自己的账户中取款。款或开新账户。储户也可以从自己的账户中取款。款或开新账户。储户也可以从自己的账户中取款。款或开新账户。储户也可以从自己的账户中取款。通常,一个储户可能拥有多个账户。柜员负责把储通常,一个储户可能拥有多个账户。柜员负责把储通常,一个储户可能拥有多个账户。柜员负责把储通常,一个储户可能拥有多个账户。柜员负责把储户提交的存款或取款事务输进柜员终端,接收储户户提交的存款或取款事务输进柜员终端,接收储户户提交的存款或取款事务输进柜员终端,接收储户户提交的存款或取款事务输进柜员终端,接收储户交来的现金或支票,或付给储户现金。柜员终端与交来的现金或支票,或付给储户现金。柜员终端与交来的现金或支票,或付给储户现金。柜员终端与交来的现金或支票,或付给储户现金。柜员终端与相应的分行计算机通信,分行计算机具体处理针对相应的分行计算机通信,分行计算机具体处理针对相应的分行计算机通信,分行计算机具体处理针对相应的分行计算机通信,分行计算机具体处理针对某个账户的事务并且维护账户。某个账户的事务并且维护账户。某个账户的事务并且维护账户。某个账户的事务并且维护账户。拥有银行账户的储户有权申请领取现金兑换卡。使拥有银行账户的储户有权申请领取现金兑换卡。使拥有银行账户的储户有权申请领取现金兑换卡。使拥有银行账户的储户有权申请领取现金兑换卡。使用现金兑换卡可以通过用现金兑换卡可以通过用现金兑换卡可以通过用现金兑换卡可以通过ATMATM访问自己的账户。目前访问自己的账户。目前访问自己的账户。目前访问自己的账户。目前仅限于用现金兑换卡在仅限于用现金兑换卡在仅限于用现金兑换卡在仅限于用现金兑换卡在ATMATM上提取现金上提取现金上提取现金上提取现金(即取款即取款即取款即取款),或查询有关自己账户的信息或查询有关自己账户的信息或查询有关自己账户的信息或查询有关自己账户的信息(例如,某个指定账户例如,某个指定账户例如,某个指定账户例如,某个指定账户上的余额上的余额上的余额上的余额)。将来可能还要求使用。将来可能还要求使用。将来可能还要求使用。将来可能还要求使用ATMATM办理转账、办理转账、办理转账、办理转账、存款等事务。存款等事务。存款等事务。存款等事务。银行柜员使用柜员终端处理储户提交的储蓄事务。储户可以用现金或15所谓现金兑换卡就是一张特制的磁卡,上面有分行所谓现金兑换卡就是一张特制的磁卡,上面有分行所谓现金兑换卡就是一张特制的磁卡,上面有分行所谓现金兑换卡就是一张特制的磁卡,上面有分行代码和卡号。分行代码惟一标识总行下属的一个分代码和卡号。分行代码惟一标识总行下属的一个分代码和卡号。分行代码惟一标识总行下属的一个分代码和卡号。分行代码惟一标识总行下属的一个分行,卡号确定了这张卡可以访问哪些账户。通常,行,卡号确定了这张卡可以访问哪些账户。通常,行,卡号确定了这张卡可以访问哪些账户。通常,行,卡号确定了这张卡可以访问哪些账户。通常,一张卡可以访问储户的若干个账户,但是不一定能一张卡可以访问储户的若干个账户,但是不一定能一张卡可以访问储户的若干个账户,但是不一定能一张卡可以访问储户的若干个账户,但是不一定能访问这个储户的全部账户。每张现金兑换卡仅属于访问这个储户的全部账户。每张现金兑换卡仅属于访问这个储户的全部账户。每张现金兑换卡仅属于访问这个储户的全部账户。每张现金兑换卡仅属于一个储户所有,但是,同一张卡可能有多个副本,一个储户所有,但是,同一张卡可能有多个副本,一个储户所有,但是,同一张卡可能有多个副本,一个储户所有,但是,同一张卡可能有多个副本,因此,必须考虑同时在若干台因此,必须考虑同时在若干台因此,必须考虑同时在若干台因此,必须考虑同时在若干台ATMATM上使用同样的现上使用同样的现上使用同样的现上使用同样的现金兑换卡的可能性。也就是说,系统应该能够处理金兑换卡的可能性。也就是说,系统应该能够处理金兑换卡的可能性。也就是说,系统应该能够处理金兑换卡的可能性。也就是说,系统应该能够处理并发的访问。并发的访问。并发的访问。并发的访问。所谓现金兑换卡就是一张特制的磁卡,上面有分行代码和卡号。分行16当用户把现金兑换卡插入当用户把现金兑换卡插入当用户把现金兑换卡插入当用户把现金兑换卡插入ATMATM之后,之后,之后,之后,ATMATM就与用户就与用户就与用户就与用户交互,以获取有关这次事务的信息,并与中央计算交互,以获取有关这次事务的信息,并与中央计算交互,以获取有关这次事务的信息,并与中央计算交互,以获取有关这次事务的信息,并与中央计算机交换关于事务的信息。首先,机交换关于事务的信息。首先,机交换关于事务的信息。首先,机交换关于事务的信息。首先,ATMATM要求用户输入要求用户输入要求用户输入要求用户输入密码,接下来密码,接下来密码,接下来密码,接下来ATMATM把从这张卡上读到的信息以及用把从这张卡上读到的信息以及用把从这张卡上读到的信息以及用把从这张卡上读到的信息以及用户输入的密码传给中央计算机,请求中央计算机核户输入的密码传给中央计算机,请求中央计算机核户输入的密码传给中央计算机,请求中央计算机核户输入的密码传给中央计算机,请求中央计算机核对这些信息并处理这次事务。中央计算机根据卡上对这些信息并处理这次事务。中央计算机根据卡上对这些信息并处理这次事务。中央计算机根据卡上对这些信息并处理这次事务。中央计算机根据卡上的分行代码确定这次事务与分行的对应关系,并且的分行代码确定这次事务与分行的对应关系,并且的分行代码确定这次事务与分行的对应关系,并且的分行代码确定这次事务与分行的对应关系,并且委托相应的分行计算机验证用户密码。如果用户输委托相应的分行计算机验证用户密码。如果用户输委托相应的分行计算机验证用户密码。如果用户输委托相应的分行计算机验证用户密码。如果用户输入的密码是正确的,入的密码是正确的,入的密码是正确的,入的密码是正确的,ATMATM就要求用户选择事务类型就要求用户选择事务类型就要求用户选择事务类型就要求用户选择事务类型(取款、查询等取款、查询等取款、查询等取款、查询等)。当用户选择取款时,。当用户选择取款时,。当用户选择取款时,。当用户选择取款时,ATMATM请求用请求用请求用请求用户输入取款额。最后,户输入取款额。最后,户输入取款额。最后,户输入取款额。最后,ATMATM从现金出口吐出现金,从现金出口吐出现金,从现金出口吐出现金,从现金出口吐出现金,并且打印出账单交给用户。并且打印出账单交给用户。并且打印出账单交给用户。并且打印出账单交给用户。当用户把现金兑换卡插入ATM之后,ATM就与用户交互,以获取17 面向对象分析首要的工作,是建立问题域的对面向对象分析首要的工作,是建立问题域的对面向对象分析首要的工作,是建立问题域的对面向对象分析首要的工作,是建立问题域的对象模型。这个模型描述了现实世界中的象模型。这个模型描述了现实世界中的象模型。这个模型描述了现实世界中的象模型。这个模型描述了现实世界中的“类与对象类与对象类与对象类与对象”以及它们之间的关系,表示了目标系统的静态数以及它们之间的关系,表示了目标系统的静态数以及它们之间的关系,表示了目标系统的静态数以及它们之间的关系,表示了目标系统的静态数据结构。静态数据结构对应用细节依赖较少,比较据结构。静态数据结构对应用细节依赖较少,比较据结构。静态数据结构对应用细节依赖较少,比较据结构。静态数据结构对应用细节依赖较少,比较容易确定;当用户的需求变化时,静态数据结构相容易确定;当用户的需求变化时,静态数据结构相容易确定;当用户的需求变化时,静态数据结构相容易确定;当用户的需求变化时,静态数据结构相对来说比较稳定。因此,用面向对象方法开发绝大对来说比较稳定。因此,用面向对象方法开发绝大对来说比较稳定。因此,用面向对象方法开发绝大对来说比较稳定。因此,用面向对象方法开发绝大多数软件时,都首先建立对象模型,然后再建立另多数软件时,都首先建立对象模型,然后再建立另多数软件时,都首先建立对象模型,然后再建立另多数软件时,都首先建立对象模型,然后再建立另外两个子模型。外两个子模型。外两个子模型。外两个子模型。需求陈述、应用领域的专业知识以及关于客观世界需求陈述、应用领域的专业知识以及关于客观世界需求陈述、应用领域的专业知识以及关于客观世界需求陈述、应用领域的专业知识以及关于客观世界的常识,是建立对象模型时的主要信息来源。的常识,是建立对象模型时的主要信息来源。的常识,是建立对象模型时的主要信息来源。的常识,是建立对象模型时的主要信息来源。建立对象模型建立对象模型 面向对象分析首要的工作,是建立问题域的对象模18 类与对象是在问题域中客观存在的,系统分析员类与对象是在问题域中客观存在的,系统分析员类与对象是在问题域中客观存在的,系统分析员类与对象是在问题域中客观存在的,系统分析员的主要任务就是通过分析找出这些类与对象。首先的主要任务就是通过分析找出这些类与对象。首先的主要任务就是通过分析找出这些类与对象。首先的主要任务就是通过分析找出这些类与对象。首先找出所有候选的类与对象,然后从候选的类与对象找出所有候选的类与对象,然后从候选的类与对象找出所有候选的类与对象,然后从候选的类与对象找出所有候选的类与对象,然后从候选的类与对象中筛选掉不正确的或不必要的。中筛选掉不正确的或不必要的。中筛选掉不正确的或不必要的。中筛选掉不正确的或不必要的。1.确定类与对象确定类与对象 类与对象是在问题域中客观存在的,系统分析员的主要任务19我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物、名词识别法、名词识别法识别问题域中的实体,实体的描述通常用识别问题域中的实体,实体的描述通常用名词、名词短语、名词性代词的形式出现。名词、名词短语、名词性代词的形式出现。用指定语言对系统进行描述;用指定语言对系统进行描述;从系统描述中标识名词、名词短语、名词从系统描述中标识名词、名词短语、名词性代词;性代词;识别确定(取、舍)类。识别确定(取、舍)类。、名词识别法20我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物、系统实体识别法、系统实体识别法不关心系统的运作流程及实体之间不关心系统的运作流程及实体之间的通信状态,而只考虑系统中的人员、的通信状态,而只考虑系统中的人员、组织、地点、表格、报告等实体,经过组织、地点、表格、报告等实体,经过分析将他们识别为类(或对象)。分析将他们识别为类(或对象)。被标识的实体有:系统需要存储、被标识的实体有:系统需要存储、分析、处理的信息实体、系统内部需要分析、处理的信息实体、系统内部需要处理的设备、与系统交互的外部系统、处理的设备、与系统交互的外部系统、系统相关人员、系统的组织实体。系统相关人员、系统的组织实体。、系统实体识别法21我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物1 1)找出候选的类与对象)找出候选的类与对象)找出候选的类与对象)找出候选的类与对象 对象是对问题域中有意义的事物的抽象,它们对象是对问题域中有意义的事物的抽象,它们对象是对问题域中有意义的事物的抽象,它们对象是对问题域中有意义的事物的抽象,它们既可能是物理实体,也可能是抽象概念。具体地既可能是物理实体,也可能是抽象概念。具体地既可能是物理实体,也可能是抽象概念。具体地既可能是物理实体,也可能是抽象概念。具体地说,大多数客观事物可分为下述说,大多数客观事物可分为下述说,大多数客观事物可分为下述说,大多数客观事物可分为下述5 5类:类:类:类:(1)(1)可感知的物理实体,例如,飞机、汽车、书、房可感知的物理实体,例如,飞机、汽车、书、房可感知的物理实体,例如,飞机、汽车、书、房可感知的物理实体,例如,飞机、汽车、书、房屋等等。屋等等。屋等等。屋等等。(2)(2)人或组织的角色,例如,医生、教师、雇主、雇人或组织的角色,例如,医生、教师、雇主、雇人或组织的角色,例如,医生、教师、雇主、雇人或组织的角色,例如,医生、教师、雇主、雇员、计算机系、财务处等等。员、计算机系、财务处等等。员、计算机系、财务处等等。员、计算机系、财务处等等。(3)(3)应该记忆的事件,例如,飞行、演出、访问、交应该记忆的事件,例如,飞行、演出、访问、交应该记忆的事件,例如,飞行、演出、访问、交应该记忆的事件,例如,飞行、演出、访问、交通事故等等。通事故等等。通事故等等。通事故等等。1)找出候选的类与对象22(4)两个或多个对象的相互作用,通常具有两个或多个对象的相互作用,通常具有交易或接触的性质,例如,购买、纳税、结交易或接触的性质,例如,购买、纳税、结婚等等。婚等等。(5)需要说明的概念,例如,政策、保险政需要说明的概念,例如,政策、保险政策、版权法等等。策、版权法等等。在分析所面临的问题时,可以参照上列在分析所面临的问题时,可以参照上列5类类常见事物,找出在当前问题域中的候选类与常见事物,找出在当前问题域中的候选类与对象。对象。(4)两个或多个对象的相互作用,通常具有交易或接触的性质,23 另一种更简单的分析方法,是所谓的非正式分另一种更简单的分析方法,是所谓的非正式分另一种更简单的分析方法,是所谓的非正式分另一种更简单的分析方法,是所谓的非正式分析。这种分析方法析。这种分析方法析。这种分析方法析。这种分析方法以用自然语言书写的需求陈述为以用自然语言书写的需求陈述为以用自然语言书写的需求陈述为以用自然语言书写的需求陈述为依据,把陈述中的名词作为类与对象的候选者,用依据,把陈述中的名词作为类与对象的候选者,用依据,把陈述中的名词作为类与对象的候选者,用依据,把陈述中的名词作为类与对象的候选者,用形容词作为确定属性的线索,把动词作为服务形容词作为确定属性的线索,把动词作为服务形容词作为确定属性的线索,把动词作为服务形容词作为确定属性的线索,把动词作为服务(操操操操作作作作)的候选者。的候选者。的候选者。的候选者。下面以下面以下面以下面以ATMATM系统为例,说明非正式分析过程系统为例,说明非正式分析过程系统为例,说明非正式分析过程系统为例,说明非正式分析过程:从需求陈述中找出下列名词,可以把它们作为类与从需求陈述中找出下列名词,可以把它们作为类与从需求陈述中找出下列名词,可以把它们作为类与从需求陈述中找出下列名词,可以把它们作为类与对象的初步的候选者:对象的初步的候选者:对象的初步的候选者:对象的初步的候选者:另一种更简单的分析方法,是所谓的非正式分析。这种24我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 银行,自动取款机银行,自动取款机银行,自动取款机银行,自动取款机(ATM)(ATM),系统,中央计算机,系统,中央计算机,系统,中央计算机,系统,中央计算机,分行计算机,分行计算机,分行计算机,分行计算机,柜员终端,柜员终端,柜员终端,柜员终端,网络网络网络网络,总行,分行,总行,分行,总行,分行,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信余额,磁卡,分行代码,卡号,用户,副本,信余额,磁卡,分行代码,卡号,用户,副本,信余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问。息,密码,类型,取款额,账单,访问。息,密码,类型,取款额,账单,访问。息,密码,类型,取款额,账单,访问。通常,在需求陈述中不会一个不漏地写出问题域通常,在需求陈述中不会一个不漏地写出问题域通常,在需求陈述中不会一个不漏地写出问题域通常,在需求陈述中不会一个不漏地写出问题域中所有有关的类与对象,因此,分析员应该根据中所有有关的类与对象,因此,分析员应该根据中所有有关的类与对象,因此,分析员应该根据中所有有关的类与对象,因此,分析员应该根据领域知识或常识进一步把隐含的类与对象提取出领域知识或常识进一步把隐含的类与对象提取出领域知识或常识进一步把隐含的类与对象提取出领域知识或常识进一步把隐含的类与对象提取出来。例如,在来。例如,在来。例如,在来。例如,在ATMATM系统的需求陈述中虽然没写系统的需求陈述中虽然没写系统的需求陈述中虽然没写系统的需求陈述中虽然没写“通信链路通信链路通信链路通信链路”和和和和“事务日志事务日志事务日志事务日志”,但是,根据领域知,但是,根据领域知,但是,根据领域知,但是,根据领域知识和常识可以知道,在识和常识可以知道,在识和常识可以知道,在识和常识可以知道,在ATMATM系统中应该包含这两系统中应该包含这两系统中应该包含这两系统中应该包含这两个实体。个实体。个实体。个实体。银行,自动取款机(ATM),系统,中央计算机,252)筛选出正确的类与对象)筛选出正确的类与对象非正式分析仅仅帮助我们找到一些候选的类与对象,非正式分析仅仅帮助我们找到一些候选的类与对象,非正式分析仅仅帮助我们找到一些候选的类与对象,非正式分析仅仅帮助我们找到一些候选的类与对象,接下来应该严格考察每个候选对象,从中去掉不正接下来应该严格考察每个候选对象,从中去掉不正接下来应该严格考察每个候选对象,从中去掉不正接下来应该严格考察每个候选对象,从中去掉不正确的或不必要的,仅保留确实应该记录其信息或需确的或不必要的,仅保留确实应该记录其信息或需确的或不必要的,仅保留确实应该记录其信息或需确的或不必要的,仅保留确实应该记录其信息或需要其提供服务的那些对象。要其提供服务的那些对象。要其提供服务的那些对象。要其提供服务的那些对象。筛选时主要依据下列标准,删除不正确或不必要的筛选时主要依据下列标准,删除不正确或不必要的筛选时主要依据下列标准,删除不正确或不必要的筛选时主要依据下列标准,删除不正确或不必要的类与对象:类与对象:类与对象:类与对象:(1)冗余冗余以以以以ATMATM系统为例,上面用非正式分析法得出了系统为例,上面用非正式分析法得出了系统为例,上面用非正式分析法得出了系统为例,上面用非正式分析法得出了3434个个个个候选的类,其中储户与用户,现金兑换卡与磁卡及候选的类,其中储户与用户,现金兑换卡与磁卡及候选的类,其中储户与用户,现金兑换卡与磁卡及候选的类,其中储户与用户,现金兑换卡与磁卡及副本分别描述了相同的两类信息,因此,应该去掉副本分别描述了相同的两类信息,因此,应该去掉副本分别描述了相同的两类信息,因此,应该去掉副本分别描述了相同的两类信息,因此,应该去掉“用户用户用户用户”、“磁卡磁卡磁卡磁卡”、“副本副本副本副本”等冗余的类,仅保等冗余的类,仅保等冗余的类,仅保等冗余的类,仅保留留留留“储户储户储户储户”和和和和“现金兑换卡现金兑换卡现金兑换卡现金兑换卡”这两个类。这两个类。这两个类。这两个类。2)筛选出正确的类与对象(1)冗余26(2)无关无关以以以以ATMATM系统为例,这个系统并不处理分摊软件开发系统为例,这个系统并不处理分摊软件开发系统为例,这个系统并不处理分摊软件开发系统为例,这个系统并不处理分摊软件开发成本的问题,而且成本的问题,而且成本的问题,而且成本的问题,而且ATMATM和柜员终端放置的地点与本和柜员终端放置的地点与本和柜员终端放置的地点与本和柜员终端放置的地点与本软件的关系也不大。因此,应该去掉候选类软件的关系也不大。因此,应该去掉候选类软件的关系也不大。因此,应该去掉候选类软件的关系也不大。因此,应该去掉候选类“成本成本成本成本”、“市市市市”、“街道街道街道街道”、“营业厅营业厅营业厅营业厅”和和和和“储蓄所储蓄所储蓄所储蓄所”。(3)笼统笼统以以以以ATMATM系统为例,系统为例,系统为例,系统为例,“银行银行银行银行”实际指总行或分行,实际指总行或分行,实际指总行或分行,实际指总行或分行,“访问访问访问访问”在这里实际指事务,在这里实际指事务,在这里实际指事务,在这里实际指事务,“信息信息信息信息”的具体内容在的具体内容在的具体内容在的具体内容在需求陈述中随后就指明了。此外还有一些笼统含糊需求陈述中随后就指明了。此外还有一些笼统含糊需求陈述中随后就指明了。此外还有一些笼统含糊需求陈述中随后就指明了。此外还有一些笼统含糊的名词。总之,在本例中应该去掉的名词。总之,在本例中应该去掉的名词。总之,在本例中应该去掉的名词。总之,在本例中应该去掉“银行银行银行银行”、“网网网网络络络络”、“系统系统系统系统”、“软件软件软件软件”、“信息信息信息信息”、“访问访问访问访问”等候选类。等候选类。等候选类。等候选类。(2)无关27(4)属性属性在在在在ATMATM系统的例子中,系统的例子中,系统的例子中,系统的例子中,“现金现金现金现金”、“支票支票支票支票”、“取取取取款额款额款额款额”、“账单账单账单账单”、“余额余额余额余额”、“分行代码分行代码分行代码分行代码”、“卡号卡号卡号卡号”、“密码密码密码密码”、“类型类型类型类型”等,实际上都应该作等,实际上都应该作等,实际上都应该作等,实际上都应该作为属性对待。为属性对待。为属性对待。为属性对待。(5)操作操作例如,谈到电话时通常把例如,谈到电话时通常把例如,谈到电话时通常把例如,谈到电话时通常把“拨号拨号拨号拨号”当作动词,当构当作动词,当构当作动词,当构当作动词,当构造电话模型时确实应该把它作为一个操作,而不是造电话模型时确实应该把它作为一个操作,而不是造电话模型时确实应该把它作为一个操作,而不是造电话模型时确实应该把它作为一个操作,而不是一个类。但是,在开发电话的自动记账系统时,一个类。但是,在开发电话的自动记账系统时,一个类。但是,在开发电话的自动记账系统时,一个类。但是,在开发电话的自动记账系统时,“拨号拨号拨号拨号”需要有自己的属性需要有自己的属性需要有自己的属性需要有自己的属性(例如日期、时间、受话例如日期、时间、受话例如日期、时间、受话例如日期、时间、受话地点等地点等地点等地点等),因此应该把它作为一个类。总之,本身,因此应该把它作为一个类。总之,本身,因此应该把它作为一个类。总之,本身,因此应该把它作为一个类。总之,本身具有属性需独立存在的操作,应该作为类与对象。具有属性需独立存在的操作,应该作为类与对象。具有属性需独立存在的操作,应该作为类与对象。具有属性需独立存在的操作,应该作为类与对象。(4)属性28(6)实现实现在在在在ATMATM系统的例子中,系统的例子中,系统的例子中,系统的例子中,“事务日志事务日志事务日志事务日志”无非是对一系无非是对一系无非是对一系无非是对一系列事务的记录,它的确切表示方式是面向对象设计列事务的记录,它的确切表示方式是面向对象设计列事务的记录,它的确切表示方式是面向对象设计列事务的记录,它的确切表示方式是面向对象设计的议题;的议题;的议题;的议题;“通信链路通信链路通信链路通信链路”在逻辑上是一种联系,在系在逻辑上是一种联系,在系在逻辑上是一种联系,在系在逻辑上是一种联系,在系统实现时它是关联类的物理实现。总之,应该暂时统实现时它是关联类的物理实现。总之,应该暂时统实现时它是关联类的物理实现。总之,应该暂时统实现时它是关联类的物理实现。总之,应该暂时去掉去掉去掉去掉“事务日志事务日志事务日志事务日志”和和和和“通信链路通信链路通信链路通信链路”这两个类,在这两个类,在这两个类,在这两个类,在设计或实现时再考虑它们。设计或实现时再考虑它们。设计或实现时再考虑它们。设计或实现时再考虑它们。综上所述,在综上所述,在综上所述,在综上所述,在ATMATM系统的例子中,经过初步筛选,系统的例子中,经过初步筛选,系统的例子中,经过初步筛选,系统的例子中,经过初步筛选,剩下下列类与对象:剩下下列类与对象:剩下下列类与对象:剩下下列类与对象:ATMATM、中央计算机、分行计算、中央计算机、分行计算、中央计算机、分行计算、中央计算机、分行计算机、柜员终端、总行、分行、柜员、储户、账户、机、柜员终端、总行、分行、柜员、储户、账户、机、柜员终端、总行、分行、柜员、储户、账户、机、柜员终端、总行、分行、柜员、储户、账户、事务、现金兑换卡。事务、现金兑换卡。事务、现金兑换卡。事务、现金兑换卡。(6)实现29两个或多个类之间的相互依赖关系就是关联两个或多个类之间的相互依赖关系就是关联,关联通关联通常用描述性动词和动词词组表示常用描述性动词和动词词组表示2.确定关联确定关联1)初步确定关联)初步确定关联以以以以ATMATM系统为例,经过分析初步确定出下列关联:系统为例,经过分析初步确定出下列关联:系统为例,经过分析初步确定出下列关联:系统为例,经过分析初步确定出下列关联:(1)直接提取动词短语得出的关联直接提取动词短语得出的关联ATMATM、中央计算机、分行计算机及柜员终端组成网络。、中央计算机、分行计算机及柜员终端组成网络。、中央计算机、分行计算机及柜员终端组成网络。、中央计算机、分行计算机及柜员终端组成网络。总行拥有多台总行拥有多台总行拥有多台总行拥有多台ATMATM。ATMATM设在主要街道上。设在主要街道上。设在主要街道上。设在主要街道上。分行提供分行计算机和柜员终端。分行提供分行计算机和柜员终端。分行提供分行计算机和柜员终端。分行提供分行计算机和柜员终端。柜员终端设在分行营业厅及储蓄所内。柜员终端设在分行营业厅及储蓄所内。柜员终端设在分行营业厅及储蓄所内。柜员终端设在分行营业厅及储蓄所内。两个或多个类之间的相互依赖关系就是关联,关联通常用描述性动词30分行分摊软件开发成本。分行分摊软件开发成本。分行分摊软件开发成本。分行分摊软件开发成本。储户拥有账户。储户拥有账户。储户拥有账户。储户拥有账户。分行计算机处理针对账户的事务。分行计算机处理针对账户的事务。分行计算机处理针对账户的事务。分行计算机处理针对账户的事务。分行计算机维护账户。分行计算机维护账户。分行计算机维护账户。分行计算机维护账户。柜员终端与分行计算机通信。柜员终端与分行计算机通信。柜员终端与分行计算机通信。柜员终端与分行计算机通信。柜员输入针对账户的事务。柜员输入针对账户的事务。柜员输入针对账户的事务。柜员输入针对账户的事务。ATMATM与中央计算机交换关于事务的信息。与中央计算机交换关于事务的信息。与中央计算机交换关于事务的信息。与中央计算机交换关于事务的信息。中央计算机确定事务与分行的对应关系。中央计算机确定事务与分行的对应关系。中央计算机确定事务与分行的对应关系。中央计算机确定事务与分行的对应关系。ATMATM读现金兑换卡。读现金兑换卡。读现金兑换卡。读现金兑换卡。ATMATM与用户交互。与用户交互。与用户交互。与用户交互。ATMATM吐出现金。吐出现金。吐出现金。吐出现金。ATMATM打印账单。打印账单。打印账单。打印账单。系统处理并发的访问。系统处理并发的访问。系统处理并发的访问。系统处理并发的访问。分行分摊软件开发成本。31(2)需求陈述中隐含的关联需求陈述中隐含的关联总行由各个分行组成。总行由各个分行组成。总行由各个分行组成。总行由各个分行组成。分行保管账户。分行保管账户。分行保管账户。分行保管账户。总行拥有中央计算机。总行拥有中央计算机。总行拥有中央计算机。总行拥有中央计算机。系统维护事务日志。系统维护事务日志。系统维护事务日志。系统维护事务日志。系统提供必要的安全性。系统提供必要的安全性。系统提供必要的安全性。系统提供必要的安全性。储户拥有现金兑换卡。储户拥有现金兑换卡。储户拥有现金兑换卡。储户拥有现金兑换卡。(3)根据问题域知识得出的关联根据问题域知识得出的关联现金兑换卡访问账户。现金兑换卡访问账户。现金兑换卡访问账户。现金兑换卡访问账户。分行雇用柜员。分行雇用柜员。分行雇用柜员。分行雇用柜员。(2)需求陈述中隐含的关联322)筛选)筛选筛选时主要根据下述标准删除候选的关联:筛选时主要根据下述标准删除候选的关联:筛选时主要根据下述标准删除候选的关联:筛选时主要根据下述标准删除候选的关联:(1)已删去的类之间的关联已删去的类之间的关联以以以以ATMATM系统为例,由于已经删去了系统为例,由于已经删去了系统为例,由于已经删去了系统为例,由于已经删去了“系统系统系统系统”、“网网网网络络络络”、“市市市市”、“街道街道街道街道”、“成本成本成本成本”、“软件软件软件软件”、“事务日志事务日志事务日志事务日志”、“现金现金现金现金”、“营业厅营业厅营业厅营业厅”、“储蓄所储蓄所储蓄所储蓄所”、“账单账单账单账单”等候选类,因此,与这些类有关的下等候选类,因此,与这些类有关的下等候选类,因此,与这些类有关的下等候选类,因此,与这些类有关的下列列列列8 8个关联也应该删去:个关联也应该删去:个关联也应该删去:个关联也应该删去:ATM ATM、中央计算机、分行计算机及柜员终端组、中央计算机、分行计算机及柜员终端组、中央计算机、分行计算机及柜员终端组、中央计算机、分行计算机及柜员终端组成网络。成网络。成网络。成网络。ATM ATM设在主要街道上。设在主要街道上。设在主要街道上。设在主要街道上。分行分摊软件开发成本。分行分摊软件开发成本。分行分摊软件开发成本。分行分摊软件开发成本。系统提供必要的安全性。系统提供必要的安全性。系统提供必要的安全性。系统提供必要的安全性。2)筛选33(2)与问题无关的或应在实现阶段考虑的关联与问题无关的或应在实现阶段考虑的关联应该把处在本问题域之外的关联或与实现密切相关应该把处在本问题域之外的关联或与实现密切相关应该把处在本问题域之外的关联或与实现密切相关应该把处在本问题域之外的关联或与实现密切相关的关联删去。的关联删去。的关联删去。的关联删去。例如,在例如,在例如,在例如,在ATMATM系统的例子中,系统的例子中,系统的例子中,系统的例子中,“系统处理并发的访系统处理并发的访系统处理并发的访系统处理并发的访问问问问”并没有标明对象之间的新关联,它只不过提醒并没有标明对象之间的新关联,它只不过提醒并没有标明对象之间的新关联,它只不过提醒并没有标明对象之间的新关联,它只不过提醒我们在实现阶段需要使用实现并发访问的算法,以我们在实现阶段需要使用实现并发访问的算法,以我们在实现阶段需要使用实现并发访问的算法,以我们在实现阶段需要使用实现并发访问的算法,以处理并发事务。处理并发事务。处理并发事务。处理并发事务。系统维护
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!