信息系统设计与实践-面向对象的系统分析.ppt

上传人:豆**** 文档编号:77565392 上传时间:2023-03-15 格式:PPT 页数:121 大小:2.30MB
返回 下载 相关 举报
信息系统设计与实践-面向对象的系统分析.ppt_第1页
第1页 / 共121页
信息系统设计与实践-面向对象的系统分析.ppt_第2页
第2页 / 共121页
点击查看更多>>
资源描述

《信息系统设计与实践-面向对象的系统分析.ppt》由会员分享,可在线阅读,更多相关《信息系统设计与实践-面向对象的系统分析.ppt(121页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、信息系统设计与实践信息系统设计与实践-面向对象的系统分析面向对象的系统分析4.1 面向对象的基本过程 4.2 面向对象分析的特点 4.3 需求分析陈述 4.4 面向对象的系统分析活动4.5 建立对象模型4.6 建立动态模型4.7 建立功能模型 4.8 案例目录目录4.1.1 概述概述u面向对象分析面向对象分析(Object-Oriented Analysis,简称,简称OOA),就是运用面向对象的方法进行系统分析,强调运用面向对象方法,对问题域问题域和系统职责系统职责进行分析和理解,找出描述问题域及系统职责所需的对象,定义对象的属性、服务以及它们之间的关系,目标是建立一个符合问题域、符合用目标

2、是建立一个符合问题域、符合用户需求的户需求的OOA模型模型。4.1 面向对象分析的基本过程面向对象分析的基本过程4.1 面向对象分析的基本过程面向对象分析的基本过程u问题域问题域(problem domain)就是被开发系统的应用领域,即软件系统所能处理的现实世界中的业务范围。u系统责任系统责任(system responsibilities)即所开发的软件系统应该具备的职能.4.1.1 概述概述4.1 面向对象分析的基本过程面向对象分析的基本过程uOOA的主要任务的主要任务就是u对问题域和系统责任进行分析和理解;u找出跟问题域与系统责任有关的类及对象;u定义这些对象的属性和操作,以及它们之间

3、所形成的结构,静态联系和动态联系。u简言之,确定系统分析中的对象,描述对象的静态特征和确定系统分析中的对象,描述对象的静态特征和动态特征,找出对象间的各种关系以及对象的行为约束,动态特征,找出对象间的各种关系以及对象的行为约束,是OOA的主要任务。4.1.1 概述概述4.1 面向对象分析的基本过程面向对象分析的基本过程OOA和和OOD的职责划分的职责划分uOOA针对现实世界中的问题域和系统职责,用面向对象的方法建立起OOA模型,作为分析的结果。OOA模型不考虑与系统具体实现相关模型不考虑与系统具体实现相关的因素的因素,从而使OOA模型独立于具体的实现环境。uOOD则是针对系统的具体实现针对系统

4、的具体实现,运用OO方法进行系统设计。其中包括两方面的工作:u1.根据实现条件对OOA模型做某些必要的调整和修改,使其成为OOD模型的一部分;u2.针对具体实现条件,建立人机界面、数据存储和控制驱动等模型。这些部分与这些部分与OOA采用相同的概念与表示法。采用相同的概念与表示法。4.1.1 4.1.1 概述概述4.1 面向对象分析的基本过程面向对象分析的基本过程u用OO方法开发软件,通常建立3种模型:种模型:u对象模型对象模型(基本):描述系统静态数据结构。u动态模型动态模型(辅助):描述系统的交互次序和行为过程。u功能模型功能模型(辅助):描述数据变换结果。u三个模型的侧重点u对象模型对于任

5、何系统都是最基础、最重要和最核心的,是必需的。u动态模型对于设计交互行为和时序过程(如用户界面及过程控制)的系统是重要的。u功能模型对于解决运算量很大的问题(如科学和工程计算)是重要的。4.1.1 4.1.1 概述概述关系层关系层特征层特征层对象层对象层基本模型基本模型(类图类图)模型组织模型组织包图包图辅助模型辅助模型交互图交互图活动图活动图状态图状态图数据流图数据流图给出所有与问题给出所有与问题域和系统责任有域和系统责任有关的对象,用对关的对象,用对象类表示象类表示定义每个对定义每个对象类的属性象类的属性与服务与服务通过已定义的通过已定义的关系描述对象关系描述对象类之间的关系类之间的关系详

6、细说明详细说明对模型中对模型中的所有元的所有元素进行详素进行详细说明。细说明。描述数据描述数据变换结果变换结果一幅交互图表现完成某一项特定功能的一一幅交互图表现完成某一项特定功能的一组对象之间的详细交互;一辐状态图描述组对象之间的详细交互;一辐状态图描述了一个对象的状态变迁。活动图描述了一了一个对象的状态变迁。活动图描述了一个服务的流程或业务流程。个服务的流程或业务流程。OOA模型模型对关系密切的元素打包,帮助理关系密切的元素打包,帮助理解系解系统模型。模型。OOAOOA过程过程建立基本模型建立基本模型描述系统的基本特征,类图建立动态模型(可选)建立动态模型(可选)描述系统的动态行为特征,交互

7、图,活动图和状态图建立功能模型(可选)建立功能模型(可选)描述数据变换结果,数据流图建立模型组织建立模型组织包图,系统,子系统写详细说明写详细说明注意:模型的建立不需要按顺序,不分先后。注意:模型的建立不需要按顺序,不分先后。4.1.2 面向对象的基本过程面向对象的基本过程4.1 面向对象分析的基本过程面向对象分析的基本过程OOAOOA具体过程具体过程4.1.2 面向对象的基本过程面向对象的基本过程4.1 面向对象分析的基本过程面向对象分析的基本过程OOA过程模型建立类图(对象模型)*发现对象,定义对象类*识别对象的内部特征*识别对象的外部关系原型开发*结合其它活动反复进行划分主题,建立包图(

8、辅助模型,可选)建立交互图、状态图、活动图(动态模型,可选)对模型中的成分进行规范的定义和文字说明,可集中进行,也可分散在各个活动中u实施OOA过程的几点建议:1.把对系统需求的捕获和描述放在分析工作的开始。2.建立基本模型的三个活动,可根据需要随时从一个活动切换到另从一个活动切换到另一个一个;3.建立动态模型可以安排到建立对象模型之后,也可以同时进行;4.建立详细说明的活动应结合在其它活动中分散分散进行,最后做一次集中集中的审查和补充;5.原型开发可反复反复进行,开发早期原型主要用于证实用户需求证实用户需求;6.分析较小的系统时,可以省略可以省略分包的活动,在分析大中型系统时,也可按需求先分

9、包可按需求先分包,再根据包分工。4.1.2 面向对象的基本过程面向对象的基本过程4.1 面向对象分析的基本过程面向对象分析的基本过程uOOA过程由5项主要活动项主要活动组成:(1)识别类和对象(2)确定结构(3)确定主题(4)定义属性(5)定义服务根据这些主要活动,OOA模型也由5个层次个层次组成。4.1.2 面向对象的基本过程面向对象的基本过程4.1 面向对象分析的基本过程面向对象分析的基本过程4.1.2 面向对象的基本过程面向对象的基本过程4.1 面向对象分析的基本过程面向对象分析的基本过程 本节要掌握的内容:本节要掌握的内容:本节要掌握的内容:本节要掌握的内容:OOAOOA模型的三个子模

10、型和五个层次模型的三个子模型和五个层次模型的三个子模型和五个层次模型的三个子模型和五个层次lOOA的主要原则的主要原则(1 1)抽象原则)抽象原则(2 2)分类原则)分类原则(3 3)聚合原则)聚合原则(4 4)关联原则)关联原则(5 5)消息通信原则)消息通信原则(6 6)粒度控制原则)粒度控制原则4.2 面向对象分析的特点面向对象分析的特点lOOAOOA的主要优点(的主要优点(1 1)(1)OOA是在人类思维组织的基本方法框架下定义并表达 需求,直观性好。(2)便于分析人员集中精力于问题空间的理解和分析,有利于超越系统的复杂性困难。(3)把属性和有关服务方法作为对象整体来看待,比较 自然。

11、(4)使用对象间的最小相关性来分析和说明。这有利于 实行封装性原则,并使OOA适应开发需求的变化,也 有利于制作和提取可复用的部件。4.2 面向对象分析的特点面向对象分析的特点lOOAOOA的主要优点(的主要优点(2 2)(5)通过对共性的显式表示而提高表达能力。抽 象层次与后续OOP结合,编程思路清晰,特 别是有利于提高程序效率。(6)分析法与设计法的一致性,密切配合建造一 个问题域模型。(7)对系统族的适用性和可扩展性强4.2 面向对象分析的特点面向对象分析的特点1 1)写什么写什么:需求陈述的内容包括:问题范围,功能需求,性能需求,应用环境及约束条件等。简单地讲,需求陈述应该阐明系统“做

12、做什么什么”,而不管,而不管“怎样做怎样做”。2)怎么写怎么写:文字描述要做到语法正确,内容完整,条理清晰。准确准确使用名词、动词、形容词和同义词。使用名词、动词、形容词和同义词。3)需求陈述作用需求陈述作用:需求陈述仅仅是理解用户需求的出发点,千万不可将此陈述当成完整、准确、有效和一成不变的文档。4.3 需求分析陈述需求分析陈述书写要点书写要点需求陈述举例:需求陈述举例:下图所示为自动取款机(ATM)系统ATMATMATMATM系统系统系统系统自动取款机自动取款机(ATM)(ATM)系统系统需求陈述需求陈述:某银行拟开发一个自动取款机系统,它是一个由自动取款机、中央计算机、分行计算机及柜员终

13、端组成的网络系统。ATM和中央计算机由总行投资购买。总行拥有多台ATM,分别设在全市各主要街道上。分行负责提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。该系统的软件开发成本由各个分行分摊。银行柜员使用柜员终端处理储户提交的储蓄事务。储户可以用现金或支银行柜员使用柜员终端处理储户提交的储蓄事务。储户可以用现金或支票向自己拥有的某个账户内存款或开新账户。储户也可以从自己的账户票向自己拥有的某个账户内存款或开新账户。储户也可以从自己的账户中取款。通常,中取款。通常,一个储户可能拥有多个账户一个储户可能拥有多个账户。柜员负责把储户提交的存。柜员负责把储户提交的存款或取款事务

14、输进柜员终端,接收储户交来的现金或支票,或付给储户款或取款事务输进柜员终端,接收储户交来的现金或支票,或付给储户现金。柜员终端与相应的分行计算机通信,分行计算机具体处理针对某现金。柜员终端与相应的分行计算机通信,分行计算机具体处理针对某个账户的事务并且维护账户。个账户的事务并且维护账户。拥有银行账户的储户有权申请领取拥有银行账户的储户有权申请领取现金兑换卡现金兑换卡。使用现金兑换卡可以通。使用现金兑换卡可以通过过ATMATM访问自己的账户。目前访问自己的账户。目前仅限于用现金兑换卡在仅限于用现金兑换卡在ATMATM上提取现金上提取现金(即取即取款款),或查询有关自己账户的信息,或查询有关自己账

15、户的信息(例如,某个指定账户上的余额例如,某个指定账户上的余额)。将来。将来可能还要求使用可能还要求使用ATMATM办理转账、存款等事务。办理转账、存款等事务。所谓现金兑换卡就是一张特制的磁卡,上面有分行代码和卡号。分行代所谓现金兑换卡就是一张特制的磁卡,上面有分行代码和卡号。分行代码惟一标识总行下属的一个分行,卡号确定了这张卡可以访问哪些账户。码惟一标识总行下属的一个分行,卡号确定了这张卡可以访问哪些账户。通常,通常,一张卡可以访问储户的若干个账户,但是不一定能访问这个储户一张卡可以访问储户的若干个账户,但是不一定能访问这个储户的全部账户的全部账户。每张现金兑换卡仅属于一个储户所有,但是,。

16、每张现金兑换卡仅属于一个储户所有,但是,同一张卡可同一张卡可能有多个副本能有多个副本,因此,必须考虑同时在若干台,因此,必须考虑同时在若干台ATMATM上使用同样的现金兑换上使用同样的现金兑换卡的可能性。也就是说,系统应该能够处理并发的访问。卡的可能性。也就是说,系统应该能够处理并发的访问。当用户把现金兑换卡插入当用户把现金兑换卡插入ATMATM之后,之后,ATMATM就与用户交互,以获取有关这次就与用户交互,以获取有关这次事务的信息,并与中央计算机交换关于事务的信息。首先,事务的信息,并与中央计算机交换关于事务的信息。首先,ATMATM要求用户要求用户输入密码,接下来输入密码,接下来ATMA

17、TM把从这张卡上读到的信息以及用户输入的密码传给把从这张卡上读到的信息以及用户输入的密码传给中央计算机,请求中央计算机核对这些信息并处理这次事务。中央计算中央计算机,请求中央计算机核对这些信息并处理这次事务。中央计算机根据卡上的分行代码确定这次事务与分行的对应关系,并且委托相应机根据卡上的分行代码确定这次事务与分行的对应关系,并且委托相应的分行计算机验证用户密码。如果用户输入的密码是正确的,的分行计算机验证用户密码。如果用户输入的密码是正确的,ATMATM就要求就要求用户选择事务类型用户选择事务类型(取款、查询等取款、查询等)。当用户选择取款时,。当用户选择取款时,ATMATM请求用户输请求用

18、户输入取款额。最后,入取款额。最后,ATMATM从现金出口吐出现金,并且打印出账单交给用户。从现金出口吐出现金,并且打印出账单交给用户。基本思想基本思想:首先找出与问题域相关的所有候选类与对象,然后从候选类与对象中筛选掉不正确的或不必要的。4.4.1 获取对象和类获取对象和类4.4 面向对象的系统分析活动面向对象的系统分析活动1 1、先找出候选的类与对象、先找出候选的类与对象 寻找类与对象的一般方法:寻找类与对象的一般方法:对象是对问题域中相关实体或事物的抽象,既可以是客观实体,也可以是抽象概念。一般划分5类:1)1)可感知的物理实体:可感知的物理实体:如飞机、汽车、书、房屋等等。2)2)人或

19、组织:人或组织:例医生、教师、雇主、计算机系、财务处等。3)3)应该记忆的事件:应该记忆的事件:如飞行、演出、访问、交通事故等。4)4)两个或多个对象的相互作用:两个或多个对象的相互作用:如购买、纳税、结婚等。5)5)需要说明的概念:需要说明的概念:如政策、保险政策、版权法等。按照上述5类抽取和寻找系统的全部必要类和对象。4.4.1 获取对象和类获取对象和类4.4 面向对象的系统分析活动面向对象的系统分析活动一种寻找对象类的非正式分析方法一种寻找对象类的非正式分析方法一种寻找对象类的非正式分析方法一种寻找对象类的非正式分析方法 名词识别法名词识别法名词识别法名词识别法 这种分析方法这种分析方法

20、以需求陈述为依据以需求陈述为依据,把陈述中的名词作为类与对象的候,把陈述中的名词作为类与对象的候选者;用形容词或名词作为确定属性的候选者;把动词作为服务选者;用形容词或名词作为确定属性的候选者;把动词作为服务(操作操作)的的候选者。候选者。下面以下面以下面以下面以ATMATMATMATM系统为例,说明非正式分析过程。系统为例,说明非正式分析过程。系统为例,说明非正式分析过程。系统为例,说明非正式分析过程。认真阅读认真阅读ATMATM需求陈述,从中找出相关名词,可以把它们作为类与对象的需求陈述,从中找出相关名词,可以把它们作为类与对象的初步的候选者:初步的候选者:银行,自动取款机银行,自动取款机

21、银行,自动取款机银行,自动取款机(ATM)(ATM)(ATM)(ATM),系统,中央计算机,分行计算机,柜员终端,系统,中央计算机,分行计算机,柜员终端,系统,中央计算机,分行计算机,柜员终端,系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,

22、分行代码,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问。卡号,用户,副本,信息,密码,类型,取款额,账单,访问。卡号,用户,副本,信息,密码,类型,取款额,账单,访问。卡号,用户,副本,信息,密码,类型,取款额,账单,访问。注意:注意:注意:注意:分析员应该根据领域知识或常识进一步把隐含的类与对象提取出分析员应该根据领域知识或常识进一步把隐含的类与对象提取出来。例如,来。例如,ATMATM系统必须包含系统必须包含“通信链路通信链路通信链路通信链路”和和“事务

23、日志事务日志事务日志事务日志”实体,应该补实体,应该补充进来。充进来。2.2.2.2.筛选出正确的类与对象筛选出正确的类与对象筛选出正确的类与对象筛选出正确的类与对象候选类与对象可能包括一些不正确的或不必要的类与对象,应该筛候选类与对象可能包括一些不正确的或不必要的类与对象,应该筛选掉,仅保留确那些确实需要记录信息或提供服务的对象。选掉,仅保留确那些确实需要记录信息或提供服务的对象。删除不正确或不必要的类与对象的筛选准则:删除不正确或不必要的类与对象的筛选准则:删除不正确或不必要的类与对象的筛选准则:删除不正确或不必要的类与对象的筛选准则:1 1 1 1)冗余:)冗余:)冗余:)冗余:如果两个

24、类表达了同样的信息,则应该保留行业规范名称。如果两个类表达了同样的信息,则应该保留行业规范名称。ATMATM例中:例中:储户与用户储户与用户,现金兑换卡与磁卡及副本现金兑换卡与磁卡及副本分别描述了相同的分别描述了相同的两类信息,因此,仅保留两类信息,因此,仅保留“储户储户”和和“现金兑换卡现金兑换卡”这两个类,应这两个类,应该去掉该去掉“用户用户”、“磁卡磁卡”、“副本副本”等冗余的类。等冗余的类。银行,自动取款机银行,自动取款机银行,自动取款机银行,自动取款机(ATM)(ATM)(ATM)(ATM),系统,中央计算机,系统,中央计算机,系统,中央计算机,系统,中央计算机,分行计算机,柜员终端

25、,网络,总行,分行,分行计算机,柜员终端,网络,总行,分行,分行计算机,柜员终端,网络,总行,分行,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,余额,磁卡,分行代码,卡号,用户,副本,余额,磁卡,分行代码,卡号,用户,副

26、本,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问,信息,密码,类型,取款额,账单,访问,信息,密码,类型,取款额,账单,访问,信息,密码,类型,取款额,账单,访问,通信链路,事务日志通信链路,事务日志通信链路,事务日志通信链路,事务日志2 2 2 2)无关:)无关:)无关:)无关:保留与本问题密切相关的类与对象,删除与本问题无关或保留与本问题密切相关的类与对象,删除与本问题无关或关系不大的类与对象。关系不大的类与对象。ATMATM系统为例:系统不处理分摊系统为例:系统不处理分摊软件开发成本软件开发成本的问题,另外的问题,另外ATMATM和和柜员终端放置的柜员终端

27、放置的地点地点与本软件的关系也不大。因此,应该去掉候与本软件的关系也不大。因此,应该去掉候选类选类“成本成本”、“市市”、“街道街道”、“营业厅营业厅”和和“储蓄所储蓄所”。银行,自动取款机银行,自动取款机银行,自动取款机银行,自动取款机(ATM)(ATM)(ATM)(ATM),系统,中央计算机,系统,中央计算机,系统,中央计算机,系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,分行计算机,柜员终端,网络,总行,分行,分行计算机,柜员终端,网络,总行,分行,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,

28、软件,成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,余额,磁卡,分行代码,卡号,用户,副本,余额,磁卡,分行代码,卡号,用户,副本,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问,信息,密码,类型,取款额,账单,访问,信息,密码,类型,取款额,账单,访问,信息,密码,类型,取款额,账单,访问,通信链路,事务日志通信链路,事务

29、日志通信链路,事务日志通信链路,事务日志3 3 3 3)笼统:)笼统:)笼统:)笼统:删除笼统的、泛指的、模糊的名词对应的候选类与对象,保留删除笼统的、泛指的、模糊的名词对应的候选类与对象,保留有更明确、更具体的名词对应的类与对象。有更明确、更具体的名词对应的类与对象。以以ATMATM系统为例:系统为例:银行银行实际指实际指总行或分行总行或分行,访问访问在这里实际指在这里实际指事务事务,此外还有一些笼统含糊的名词。在本例中应该去掉此外还有一些笼统含糊的名词。在本例中应该去掉“银行银行”、“网络网络”、“系统系统”、“软件软件”、“信息信息”、“访问访问”等候选类。等候选类。银行,自动取款机银行

30、,自动取款机银行,自动取款机银行,自动取款机(ATM)(ATM)(ATM)(ATM),系统,中央计算机,系统,中央计算机,系统,中央计算机,系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,分行计算机,柜员终端,网络,总行,分行,分行计算机,柜员终端,网络,总行,分行,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户

31、,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,余额,磁卡,分行代码,卡号,用户,副本,余额,磁卡,分行代码,卡号,用户,副本,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问,信息,密码,类型,取款额,账单,访问,信息,密码,类型,取款额,账单,访问,信息,密码,类型,取款额,账单,访问,通信链路,事务日志通信链路,事务日志通信链路,事务日志通信链路,事务日志4 4 4 4)属性:)属性:)属性:)属性:把描述属性的名词应从候选类与对象中去掉。把描述属性的名词应从候选类与对象中去掉。在在ATMATM系统的例子中

32、,系统的例子中,“现金现金”、“支票支票”、“取款额取款额”、“账单账单”、“余额余额”、“分行代码分行代码”、“卡号卡号”、“密码密码”、“类型类型”等,实际等,实际上都应该作为属性对待。上都应该作为属性对待。银行,自动取款机银行,自动取款机银行,自动取款机银行,自动取款机(ATM)(ATM)(ATM)(ATM),系统,中央计算机,系统,中央计算机,系统,中央计算机,系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,分行计算机,柜员终端,网络,总行,分行,分行计算机,柜员终端,网络,总行,分行,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,软件,

33、成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,余额,磁卡,分行代码,卡号,用户,副本,余额,磁卡,分行代码,卡号,用户,副本,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问,信息,密码,类型,取款额,账单,访问,信息,密码,类型,取款额,账单,访问,信息,密码,类型,取款额,账单,

34、访问,通信链路,事务日志通信链路,事务日志通信链路,事务日志通信链路,事务日志5 5 5 5)操作:)操作:)操作:)操作:在需求陈述中既可作为名词,又可作为动词的词,应该慎重考在需求陈述中既可作为名词,又可作为动词的词,应该慎重考虑它们在本问题中的含义,以便正确决定他们作为类还是操作。虑它们在本问题中的含义,以便正确决定他们作为类还是操作。6 6 6 6)实现:)实现:)实现:)实现:在分析阶段不应该过早地考虑怎样实现目标系统。因此,应该在分析阶段不应该过早地考虑怎样实现目标系统。因此,应该去掉只和实现有关的候选的类与对象。去掉只和实现有关的候选的类与对象。在在ATMATM系统中,系统中,“

35、事务日志事务日志”是对一系列事务的记录,它的确切表示是对一系列事务的记录,它的确切表示方式是面向对象设计的议题;方式是面向对象设计的议题;“通信链路通信链路”在逻辑上是一种联系,在在逻辑上是一种联系,在系统实现时它是关联类的物理实现。应该暂时去掉系统实现时它是关联类的物理实现。应该暂时去掉 “事务日志事务日志”和和“通信链路通信链路”这两个类,在设计或实现时再考虑它们。这两个类,在设计或实现时再考虑它们。银行,自动取款机银行,自动取款机银行,自动取款机银行,自动取款机(ATM)(ATM)(ATM)(ATM),系统,中央计算机,系统,中央计算机,系统,中央计算机,系统,中央计算机,分行计算机,柜

36、员终端,网络,总行,分行,分行计算机,柜员终端,网络,总行,分行,分行计算机,柜员终端,网络,总行,分行,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,余额,磁卡,分行代码,卡号,用户,副本,余额,磁卡,分行代码,卡号,用

37、户,副本,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问,信息,密码,类型,取款额,账单,访问,信息,密码,类型,取款额,账单,访问,信息,密码,类型,取款额,账单,访问,通信链路,事务日志通信链路,事务日志通信链路,事务日志通信链路,事务日志经过初步筛选,经过初步筛选,ATMATM系统保留的类与对象为:系统保留的类与对象为:ATMATM、中央计算机、分行计算机、柜员终端、总行、分行、柜员、储户、中央计算机、分行计算机、柜员终端、总行、分行、柜员、储户、账户、事务、现金兑换卡。账户、事务、现金兑换卡。关联关联是指两个或多个对象之间的相互依赖、相互作用的关系。分析确

38、定关联,有助于发现尚未被发现的类和对象。u一般一般特殊结构特殊结构 一般特殊关系又称类属关系,是现实世界中一般对象和特殊对象之间的关系,反映了现实世界中事物之间的分类关系。前者称为父类,后者称为子类,子类继承父类的特性(属性、操作、关联等),同时又拥有自己的特性。4.4.2 确定关联确定关联4.4 面向对象的系统分析活动面向对象的系统分析活动例如图书借阅管理系统中,对象类“人员”是类“管理员”和“借阅者”类的父类,而子类“管理员”又是类“系统维护人员”和类“一般操作人员”的父类。一般特殊关系4.4.2 确定关联确定关联4.4 面向对象的系统分析活动面向对象的系统分析活动u整体整体部分部分 对象

39、实例之间的整体部分关系,反映了现实世界中的事物之间的构成关系。整体部分关联又可以从两个方面来反映:u聚合关系聚合关系:表示对象实例之间的整体与部分的关系,作为整体的对象拥有作为部分的对象。在聚合关系中,部分的生命周期独立于整体的生命周期。u组合关系组合关系:是聚合关系的一种特殊形式。在组合关系中,整体和部分之间有着一致的生命周期。4.4.2 确定关联确定关联4.4 面向对象的系统分析活动面向对象的系统分析活动聚合组合4.4 面向对象的系统分析活动面向对象的系统分析活动 聚合关系 组合关系4.4.2 确定关联确定关联u关联关联 表示对象实例之间的静态联系,这两个对象实例之间存在某种语义上联系。例

40、如,员工为公司工作,一个公司有许多部门,因此,可以认为员工和公司、公司和部门之间存在某种语义上的联系,如下图所示。4.4.2 确定关联确定关联4.4 面向对象的系统分析活动面向对象的系统分析活动u依赖关系依赖关系 一个模型元素的变化影响另一个模型元素,则两个元素之间存在依赖关系。以X和Y两个元素为例,当修改X的定义时,引起Y的定义的修改,则称Y依赖于X。4.4.2 确定关联确定关联4.4 面向对象的系统分析活动面向对象的系统分析活动确定关联的步骤:1.1.初步确定关联(候选关联)初步确定关联(候选关联)基本方法:基本方法:以需求陈述中描述性动词或动词词组为纽带,确定类与对象之间的关联关系。(语

41、法:主语(语法:主语+谓语谓语+宾语)宾语)寻找范围:寻找范围:直接提取需求陈述中的动词词组动词词组;分析发现陈述中隐含的关联;与用户及领域专家讨论获取关联。4.4 面向对象的系统分析活动面向对象的系统分析活动4.4.2 确定关联确定关联以以以以ATMATMATMATM系统为例,经过分析初步确定出下列关联:系统为例,经过分析初步确定出下列关联:系统为例,经过分析初步确定出下列关联:系统为例,经过分析初步确定出下列关联:1 1 1 1)直接提取动词短语得出的关联)直接提取动词短语得出的关联)直接提取动词短语得出的关联)直接提取动词短语得出的关联ATMATM、中央计算机、分行计算机及柜员终端、中央

42、计算机、分行计算机及柜员终端组成组成组成组成网络。网络。总行总行拥有拥有拥有拥有多台多台ATMATM。ATMATM设在设在设在设在主要街道上。主要街道上。分行分行提供提供提供提供分行计算机和柜员终端。分行计算机和柜员终端。柜员终端柜员终端设在设在设在设在分行营业厅及储蓄所内。分行营业厅及储蓄所内。分行分行分摊分摊分摊分摊软件开发成本。软件开发成本。储户储户拥有拥有拥有拥有账户。账户。分行计算机分行计算机处理处理处理处理针对账户的事务。针对账户的事务。分行计算机分行计算机维护维护维护维护账户。账户。柜员终端与分行计算机柜员终端与分行计算机通信通信通信通信。柜员柜员输入输入输入输入针对账户的事务。

43、针对账户的事务。ATMATM与中央计算机与中央计算机交换交换交换交换关于事务的信息。关于事务的信息。中央计算机中央计算机确定确定确定确定事务与分行的对应关系。事务与分行的对应关系。ATMATM读读读读现金兑换卡。现金兑换卡。ATMATM与用户与用户交互交互交互交互。ATMATM吐出吐出吐出吐出现金。现金。ATMATM打印打印打印打印账单。账单。系统系统处理处理处理处理并发的访问。并发的访问。2 2 2 2)需求陈述中隐含的关联)需求陈述中隐含的关联)需求陈述中隐含的关联)需求陈述中隐含的关联总行由各个分行总行由各个分行组成组成组成组成。分行分行保管保管保管保管账户。账户。总行总行拥有拥有拥有拥

44、有中央计算机。中央计算机。系统系统维护维护维护维护事务日志。事务日志。系统系统提供提供提供提供必要的安全性。必要的安全性。储户储户拥有拥有拥有拥有现金兑换卡。现金兑换卡。3 3 3 3)根据问题域知识得出的关联)根据问题域知识得出的关联)根据问题域知识得出的关联)根据问题域知识得出的关联现金兑换卡现金兑换卡访问访问访问访问账户。账户。分行分行雇用雇用雇用雇用柜员。柜员。ATM、中央计算机、分行计算机及柜员终端组成组成网络。总行拥有拥有多台ATM。ATM设在设在主要街道上。分行提供提供分行计算机和柜员终端。柜员终端设在设在分行营业厅及储蓄所内。分行分摊分摊软件开发成本。储户拥有拥有账户。分行计算

45、机处理处理针对账户的事务。分行计算机维护维护账户。柜员终端与分行计算机通信通信。柜员输入输入针对账户的事务。ATM与中央计算机交换交换关于事务的信息。中央计算机确定确定事务与分行的对应关系。ATM读读现金兑换卡。ATM与用户交互交互。ATM吐出吐出现金。ATM打印打印账单。系统处理处理并发的访问。总行由各个分行组成组成。分行保管保管账户。总行拥有拥有中央计算机。系统维护维护事务日志。系统提供提供必要的安全性。储户拥有拥有现金兑换卡。现金兑换卡访问访问账户。分行雇用雇用柜员。候选关联2.2.2.2.筛选筛选筛选筛选候选关联中包含了一些不正确或不必要的关联,应该删除掉。候选关联中包含了一些不正确或

46、不必要的关联,应该删除掉。筛选时主筛选时主要根据下述标准删除候选的关联:要根据下述标准删除候选的关联:1)1)1)1)已删去的类之间的关联已删去的类之间的关联已删去的类之间的关联已删去的类之间的关联与某个已删候选类相关的关联,也应该删去。与某个已删候选类相关的关联,也应该删去。以以ATMATM系统为例,由于已经删去了系统为例,由于已经删去了“系统系统”、“网络网络”、“市市”、“街道街道”、“成本成本”、“软件软件”、“事务日志事务日志”、“现金现金”、“营业厅营业厅”、“储蓄所储蓄所”、“账单账单”等候选类,因此,与这些类有关的关联也应该删去:等候选类,因此,与这些类有关的关联也应该删去:A

47、TM ATM、中央计算机、分行计算机及柜员终端组成、中央计算机、分行计算机及柜员终端组成网络网络。ATM ATM设在主要设在主要街道街道上。上。分行分摊软件开发分行分摊软件开发成本成本。系统系统提供必要的安全性。提供必要的安全性。系统维护系统维护事务日志事务日志。系统系统处理并发的访问处理并发的访问 ATM ATM吐出吐出现金现金。ATM ATM打印打印账单账单。柜员终端设在分行柜员终端设在分行营业厅营业厅及及储蓄所储蓄所内。内。ATM、中央计算机、分行计算机及柜员终端组成组成网络。总行拥有拥有多台ATM。ATM设在设在主要街道上。分行提供提供分行计算机和柜员终端。柜员终端设在设在分行营业厅及

48、储蓄所内。分行分摊分摊软件开发成本。储户拥有拥有账户。分行计算机处理处理针对账户的事务。分行计算机维护维护账户。柜员终端与分行计算机通信通信。柜员输入输入针对账户的事务。ATM与中央计算机交换交换关于事务的信息。中央计算机确定确定事务与分行的对应关系。ATM读读现金兑换卡。ATM与用户交互交互。ATM吐出吐出现金。ATM打印打印账单。系统处理处理并发的访问。总行由各个分行组成组成。分行保管保管账户。总行拥有拥有中央计算机。系统维护维护事务日志。系统提供提供必要的安全性。储户拥有拥有现金兑换卡。现金兑换卡访问访问账户。分行雇用雇用柜员。候选关联2)2)2)2)与问题无关的或应在实现阶段考虑的关联

49、与问题无关的或应在实现阶段考虑的关联与问题无关的或应在实现阶段考虑的关联与问题无关的或应在实现阶段考虑的关联应该把处在本问题域之外的关联或与实现密切相关的关联删去。应该把处在本问题域之外的关联或与实现密切相关的关联删去。3)3)3)3)瞬时事件:瞬时事件:瞬时事件:瞬时事件:关联应该描述问题域的静态结构,而不应该是一个瞬时事件。关联应该描述问题域的静态结构,而不应该是一个瞬时事件。例如,例如,“ATMATM读现金兑换卡读现金兑换卡”描述了描述了ATMATM与用户交互周期中的一个动作,与用户交互周期中的一个动作,它并不是它并不是ATMATM与现金兑换卡之间的固有关系,因此应该删去。类似地,还与现

50、金兑换卡之间的固有关系,因此应该删去。类似地,还应该删去应该删去“ATMATM与用户交互与用户交互”这个候选的关联。这个候选的关联。ATM、中央计算机、分行计算机及柜员终端组成组成网络。总行拥有拥有多台ATM。ATM设在设在主要街道上。分行提供提供分行计算机和柜员终端。柜员终端设在设在分行营业厅及储蓄所内。分行分摊分摊软件开发成本。储户拥有拥有账户。分行计算机处理处理针对账户的事务。分行计算机维护维护账户。柜员终端与分行计算机通信通信。柜员输入输入针对账户的事务。ATM与中央计算机交换交换关于事务的信息。中央计算机确定确定事务与分行的对应关系。ATM读读现金兑换卡。ATM与用户交互交互。ATM

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 企业培训

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁