版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十章 面向对象分析10.1 面向对象分析的根本过程10.2 需求陈说10.3 建立对象模型10.4 建立动态模型10.5 建立功能模型10.6 定义效力10.7 小结 10.1 面向对象分析的根本过程l面向对象分析面向对象分析l 1 其关键是识别出问题域内的类与对象,其关键是识别出问题域内的类与对象,并分析它们相互间的关系,最终建立起并分析它们相互间的关系,最终建立起3种模型种模型。l 2对象模型最根本、最重要、最中心。对象模型最根本、最重要、最中心。l l l 10.1 面向对象分析的根本过程l3个子模型个子模型l 对所处理问题的描画角度进展划分:对所处理问题的描画角度进展划分:l 对象模
2、型静态构造对象模型静态构造l 3个子模型个子模型 动态模型交互次序动态模型交互次序l 功能模型数据变换功能模型数据变换l l 10.1 面向对象分析的根本过程l5个层次个层次l 复杂问题的对象模型的5个层次五个层次像是对象模型的五个层次像是对象模型的5张程度切片,张程度切片, 一层比一层显示出对象模型的更多细节。一层比一层显示出对象模型的更多细节。类或对象类或对象间的关系间的关系指读者了解大型、复杂模指读者了解大型、复杂模型的一种机制,将一个大型的一种机制,将一个大型的、复杂的对象模型分型的、复杂的对象模型分解成几个不同的概念范畴解成几个不同的概念范畴记忆的记忆的7+2原那么原那么l面向对象分
3、析的过程l 寻觅类与对象l 识别构造l 定义属性l 建立动态模型l 定义效力l 10.1 面向对象分析的根本过程面向对象分析不能够严厉地按预定顺序进展,大型、复杂系统的模型需求反复构造多遍才干建成。先构造模型的子集,再到完全地了解整个问题,最终建立整个模型。10.2 需求陈说l需求陈说是阐明“做什么,而不是“怎样做l问题范围l功能需求l性能需求l运用环境l假设条件lATM机系统问题描画l某银行拟开发一个自动取款机系统,它是由自动取款机ATM、中央计算机、分行计算机及柜员终端组成的网络系统。l总行投资购买多台ATM和中央计算机, ATM分别设在全市各主要街道上。l分行提供分行计算机和柜员终端。柜
4、员终端设在分行营业厅及分行下属的各个储蓄所内。该软件的开发本钱由各分行分摊。l储户可以用现金或支票向本人拥有的某个账户内存款、取款或开新账户。通常一个储户拥有多个账户。10.2 需求陈说 举例ATM机系统问题描画机系统问题描画l 银行柜员运用柜员终端处置储户提交的储蓄事务,柜员担任把储户提交的存款或取款事务输进柜员终端。柜员终端与相应的分行计算机通讯,分行计算机详细处置针对某个账户的事务并且维护账户。l 拥有银行账户的储户有权恳求领取现金兑换卡,运用现金兑换卡可以经过ATM访问本人的账户。目前仅限于用现金兑换卡在ATM上提取现金或查询本人账户的信息。未来还能够要求运用ATM办理转账、存款等事务
5、。ATM机系统问题描画机系统问题描画l一张现金兑换卡就是一张特制的磁卡,上面有分行代码。一张磁卡可以访问储户的假设干个账户,但仅属于一个储户一切。但是同一张卡可以有多个副本,因此必需思索同时在假设干台ATM上运用同样的现金兑换卡的能够性。l当用户将磁卡插入ATM后,ATM就与用户交互,以获取有关这次事务的信息,并与中央计算机交换关于事务的信息。ATM要求用户输入密码,ATM将密码和卡上的信息传给中央计算机,恳求中央计算机核对这些信息并处置这次事务。中央计算机根据卡的分行代码委托分行验证用户密码,假设密码正确,那么ATM要求用户选择事务类型取款,查询等。当用户选择取款时,ATM恳求用户输入取款额
6、。最后ATM从现金口吐出现金,并且打印账单给用户。l自动取款机ATM系统l ATM系统10.2 需求陈说10.3 建立对象模型建立对象模型l10.3.1找出候选类与对象找出候选类与对象l1.找出候选的类与对象找出候选的类与对象l寻觅以下五类客观事物寻觅以下五类客观事物l可感知的物理实体可感知的物理实体l人或组织的角色人或组织的角色l应该记忆的事件应该记忆的事件l两个或多个对象的相互作用,通常具有买卖或两个或多个对象的相互作用,通常具有买卖或接触的性质接触的性质l需求阐明的概念需求阐明的概念10.3 建立对象模型建立对象模型l10.3.1找出候选类与对象找出候选类与对象l1.找出候选的类与对象续
7、找出候选的类与对象续l名词解析法名词解析法l 从陈说中找出一切名词,作为类和对象的初步候从陈说中找出一切名词,作为类和对象的初步候选者选者l 银行,自动取款机银行,自动取款机ATM,系统,中央计算机,系统,中央计算机,l 分行计算机,柜员终端,网络,总行,分行,软分行计算机,柜员终端,网络,总行,分行,软件,件,l 本钱,市,街道,营业厅,储蓄所,柜员,储户本钱,市,街道,营业厅,储蓄所,柜员,储户,l 现金,支票,账户,事物,现金兑换卡,余额,现金,支票,账户,事物,现金兑换卡,余额,l 磁卡,分行代码,卡号,用户,副本,信息,密磁卡,分行代码,卡号,用户,副本,信息,密码,码,l 类型,取
8、款额,账单,访问。类型,取款额,账单,访问。l l某银行拟开发一个自动取款机系统,它是由自动某银行拟开发一个自动取款机系统,它是由自动取款机取款机ATM、中央计算机、分行计算机及柜员终、中央计算机、分行计算机及柜员终端组成的网络系统。端组成的网络系统。l总行投资购买多台总行投资购买多台ATM和中央计算机,和中央计算机, ATM分别分别设在全市各主要街道上。设在全市各主要街道上。l分行提供分行计算机和柜员终端。柜员终端设在分行提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。该软件分行营业厅及分行下属的各个储蓄所内。该软件的开发本钱由各分行分摊。的开发本钱由各分行分摊。l
9、储户可以用现金或支票向本人拥有的某个账户内储户可以用现金或支票向本人拥有的某个账户内存款、取款或开新账户。通常一个储户拥有多个存款、取款或开新账户。通常一个储户拥有多个账户。账户。从陈说中找出一切名词,作为类和对象的初步候选者从陈说中找出一切名词,作为类和对象的初步候选者l 银行柜员运用柜员终端处置储户提交的储蓄事务,银行柜员运用柜员终端处置储户提交的储蓄事务,柜员担任把储户提交的存款或取款事务输进柜员终柜员担任把储户提交的存款或取款事务输进柜员终端。柜员终端与相应的分行计算机通讯,分行计算端。柜员终端与相应的分行计算机通讯,分行计算机详细处置针对某个账户的事务并且维护账户。机详细处置针对某个
10、账户的事务并且维护账户。l 拥有银行账户的储户有权恳求领取现金兑换卡,运拥有银行账户的储户有权恳求领取现金兑换卡,运用现金兑换卡可以经过用现金兑换卡可以经过ATM访问本人的账户。目前访问本人的账户。目前仅限于用现金兑换卡在仅限于用现金兑换卡在ATM上提取现金或查询本人上提取现金或查询本人账户的信息例如,某个指定账户上的余额。未账户的信息例如,某个指定账户上的余额。未来还能够要求运用来还能够要求运用ATM办理转账、存款等事务。办理转账、存款等事务。l一张现金兑换卡就是一张特制的磁卡,上面有分行代码,对应总一张现金兑换卡就是一张特制的磁卡,上面有分行代码,对应总行下的一个分行。卡号确定这张卡可以访
11、问哪些账户。一张磁卡行下的一个分行。卡号确定这张卡可以访问哪些账户。一张磁卡可以访问储户的假设干个账户,但仅属于一个储户一切。但是同可以访问储户的假设干个账户,但仅属于一个储户一切。但是同一张卡可以有多个副本,因此必需思索同时在假设干台一张卡可以有多个副本,因此必需思索同时在假设干台ATM上运上运用同样的现金兑换卡的能够性。也就是说,系统应该可以处置并用同样的现金兑换卡的能够性。也就是说,系统应该可以处置并发的访问。发的访问。l当用户将磁卡插入当用户将磁卡插入ATM后,后,ATM就与用户交互,以获取有关这次就与用户交互,以获取有关这次事务的信息,并与中央计算机交换关于事务的信息。事务的信息,并
12、与中央计算机交换关于事务的信息。ATM要求用要求用户输入密码,户输入密码,ATM将密码和卡上的信息传给中央计算机,恳求中将密码和卡上的信息传给中央计算机,恳求中央计算机核对这些信息并处置这次事务。中央计算机根据卡的分央计算机核对这些信息并处置这次事务。中央计算机根据卡的分行代码委托分行验证用户密码,假设密码正确,那么行代码委托分行验证用户密码,假设密码正确,那么ATM要求用要求用户选择事务类型取款,查询等。当用户选择取款时,户选择事务类型取款,查询等。当用户选择取款时,ATM恳恳求用户输入取款额。最后求用户输入取款额。最后ATM从现金口吐出现金,并且打印账单从现金口吐出现金,并且打印账单给用户
13、。给用户。从陈说中找出一切名词,作为类和对象的初步候选者10.3 建立对象模型l10.3.1找出候选类与对象找出候选类与对象l2.挑选出正确的类与对象挑选出正确的类与对象l挑选时主要根据以下规范,删除不正确或不挑选时主要根据以下规范,删除不正确或不用要的类与对象用要的类与对象!l1冗余冗余l2无关无关l3笼统笼统l4属性属性l5操作操作银行,自动取款机银行,自动取款机ATM,系统,中央计算机,系统,中央计算机分行计算机,柜员终端,网络,总行,分行,软件,分行计算机,柜员终端,网络,总行,分行,软件,本钱,市,街道,营业厅,储蓄所,柜员,储户,本钱,市,街道,营业厅,储蓄所,柜员,储户, 现金,
14、支票,账户,事务,现金兑换卡,余额,磁现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问。共类型,取款额,账单,访问。共34个名词个名词从中挑选出正确的类与对象从中挑选出正确的类与对象)储户、用户;现金兑换卡、磁卡和副本储户、用户;现金兑换卡、磁卡和副本本钱、市、街道、营业厅和储蓄所本钱、市、街道、营业厅和储蓄所银行、访问、信息、网络、系统、软件银行、访问、信息、网络、系统、软件现金、支票、取款额、账单、余额、分行代现金、支票、取款额、账单、余额、分行代码、码、 卡号、密码、类型卡号、密码
15、、类型留意:在分析阶段不应该过早地思索怎样实现目的系统。留意:在分析阶段不应该过早地思索怎样实现目的系统。10.3.1找出候选类与对象l2.挑选出正确的类与对象共11个lATMl中央计算机l分行计算机l柜员终端l总行l分行l柜员l储户账户事务(分为柜员事务和远程事务) 现金兑换卡10.3.2 确定关联确定关联l1.初步确定关联初步确定关联l 需求陈说中运用的描画性动词或需求陈说中运用的描画性动词或动词词组,通常表示关联关系。动词词组,通常表示关联关系。l(1)直接提取动词短语得出关联直接提取动词短语得出关联l(2)需求陈说中隐含的关联需求陈说中隐含的关联l(3)根据问题域知识得出的关联根据问题
16、域知识得出的关联l 直接提取动词短语得出的关联直接提取动词短语得出的关联ATM、中央计算机、分行计算机及柜员终端组、中央计算机、分行计算机及柜员终端组成网络。成网络。总行拥有多台总行拥有多台ATM。ATM设在主要街道上。设在主要街道上。分行提供分行计算机和柜员终端。分行提供分行计算机和柜员终端。柜员终端设在分行营业厅及储蓄所内。柜员终端设在分行营业厅及储蓄所内。分行分摊软件开发本钱。分行分摊软件开发本钱。储户拥有账户。储户拥有账户。分行计算机处置针对账户的事务。分行计算机处置针对账户的事务。分行计算机维护账户。分行计算机维护账户。柜员终端与分行计算机通讯。柜员终端与分行计算机通讯。柜员输入针对
17、账户的事务。柜员输入针对账户的事务。ATM与中央计算机交换关于事务的信息。与中央计算机交换关于事务的信息。中央计算机确定事务与分行的对应关系。中央计算机确定事务与分行的对应关系。ATM读现金兑换卡。读现金兑换卡。ATM与用户交互。与用户交互。ATM吐出现金。吐出现金。ATM打印账单。打印账单。系统处置并发的访问。系统处置并发的访问。隐含的关联隐含的关联总行由各个分行组成。总行由各个分行组成。分行保管账户。分行保管账户。总行拥有中央计算机。总行拥有中央计算机。系统维护事务日志。系统维护事务日志。系统提供必要的平安性。系统提供必要的平安性。储户拥有现金兑换卡。储户拥有现金兑换卡。中央计算机与分行通
18、讯中央计算机与分行通讯根据问题域知识得出的关联根据问题域知识得出的关联现金兑换卡访问账户。现金兑换卡访问账户。分行雇用柜员。分行雇用柜员。10.3.2 确定关联确定关联l2.挑选挑选l1根据下述规范删除候选关联:根据下述规范删除候选关联:l已删去的类之间的关联。已删去的类之间的关联。l与问题无关的或在实现阶段思索的关联。与问题无关的或在实现阶段思索的关联。l瞬时事件。瞬时事件。l派生关联。派生关联。l2三元关联:将三元关联改呵斥二元关三元关联:将三元关联改呵斥二元关联。联。直接提取动词短语得出的关联直接提取动词短语得出的关联ATM、中央计算机、分行计算机及柜员终端组成网络。、中央计算机、分行计
19、算机及柜员终端组成网络。总行拥有多台总行拥有多台ATM。ATM设在主要街道上。设在主要街道上。分行提供分行计算机和柜员终端。分行提供分行计算机和柜员终端。柜员终端设在分行营业厅及储蓄所内。柜员终端设在分行营业厅及储蓄所内。分行分摊软件开发本钱。分行分摊软件开发本钱。储户拥有账户。储户拥有账户。分行计算机处置针对账户的事务。分行计算机处置针对账户的事务。分行计算机维护账户。分行计算机维护账户。柜员终端与分行计算机通讯。柜员终端与分行计算机通讯。柜员输入针对账户的事务。柜员输入针对账户的事务。ATM与中央计算机交换关于事务的信息。与中央计算机交换关于事务的信息。中央计算机确定事务与分行的对应关系。
20、中央计算机确定事务与分行的对应关系。ATM读现金兑换卡。读现金兑换卡。ATM与用户交互。与用户交互。ATM吐出现金。吐出现金。ATM打印账单。打印账单。系统处置并发的访问。系统处置并发的访问。隐含的关联隐含的关联总行由各个分行组成。总行由各个分行组成。分行保管账户。分行保管账户。总行拥有中央计算机。总行拥有中央计算机。系统维护事务日志。系统维护事务日志。系统提供必要的平安性。系统提供必要的平安性。储户拥有现金兑换卡。储户拥有现金兑换卡。中央计算机与分行通讯中央计算机与分行通讯根据问题域知识得出的关联根据问题域知识得出的关联现金兑换卡访问账户。现金兑换卡访问账户。分行雇用柜员。分行雇用柜员。去掉
21、已删去类的关联去掉已删去类的关联去掉与问题无关的或应该去掉与问题无关的或应该在实现阶段思索的关联在实现阶段思索的关联去掉瞬时事件去掉瞬时事件将三元关联改呵斥二元关联将三元关联改呵斥二元关联去掉派去掉派生关联生关联分行计算机处置针对账户的事务。分行计算机处置针对账户的事务。 分解为:分解为: 分行计算机处置事务。分行计算机处置事务。 事务修正账户。事务修正账户。柜员输入针对账户的事务。柜员输入针对账户的事务。 分解为:柜员输入事务。分解为:柜员输入事务。 事务修正账户。事务修正账户。ATM与中央计算机交换关于事务的信息。与中央计算机交换关于事务的信息。 分解为:分解为: ATM与中央计算机通讯。
22、与中央计算机通讯。 在在ATM机上输入事务。机上输入事务。10.3.2 确定关联l3.进一步完善l正名、分解、补充、标明重数l ATMATM系统原始的类图系统原始的类图6分行提供分行计算机和柜员终端。分行提供分行计算机和柜员终端。7储户拥有账户。储户拥有账户。8分行计算机维护账户。同分行计算机维护账户。同2及及13-29柜员终端与分行计算机通讯。柜员终端与分行计算机通讯。10中央计算机确定事务与分行的对应关系。中央计算机确定事务与分行的对应关系。 同同513柜员输入针对账户的事务。柜员输入针对账户的事务。 分解为:分解为:13-1柜员输入事务。柜员输入事务。 13-2事务修正账户。事务修正账户
23、。14分行计算机处置针对账户的事务。分行计算机处置针对账户的事务。 分解为:分解为:14-1分行计算机处置事务。分行计算机处置事务。 14-2事务修正账户。事务修正账户。15ATM与中央计算机交换关于事务的信与中央计算机交换关于事务的信息。息。 分解为:分解为:15-1ATM与中央计算机通讯。与中央计算机通讯。 15-2在在ATM机上输入事务。机上输入事务。隐含的关联隐含的关联1总行由各个分行组成。总行由各个分行组成。2分行保管账户。分行保管账户。3总行拥有中央计算机。总行拥有中央计算机。4储户拥有现金兑换卡。储户拥有现金兑换卡。5中央计算机与分行通讯中央计算机与分行通讯根据问题域知识得出的关
24、联根据问题域知识得出的关联11现金兑换卡访问账户。现金兑换卡访问账户。12分行雇用柜员。分行雇用柜员。直接提取动词短语得出的关联直接提取动词短语得出的关联隐含的关联隐含的关联1总行由各个分行组成。总行由各个分行组成。2分行保管账户。分行保管账户。3总行拥有中央计算机。总行拥有中央计算机。4储户拥有现金兑换卡。储户拥有现金兑换卡。5中央计算机与分行通讯中央计算机与分行通讯6分行提供分行计算机和柜员分行提供分行计算机和柜员终端。终端。7储户拥有账户。储户拥有账户。8分行计算机维护账户。同分行计算机维护账户。同2及及13-29柜员终端与分行计算机通讯。柜员终端与分行计算机通讯。10中央计算机确定事务
25、与分中央计算机确定事务与分行的对应关系。行的对应关系。 同同513柜员输入针对账户的事务。柜员输入针对账户的事务。 分解为:分解为:13-1柜员输入事务。柜员输入事务。 13-2事务修正账户。事务修正账户。14分行计算机处置针对账户的事务。分行计算机处置针对账户的事务。 分解为:分解为:14-1分行计算机处置事务。分行计算机处置事务。 14-2事务修正账户。事务修正账户。15ATM与中央计算机交换关于事务的信息。与中央计算机交换关于事务的信息。 分解为:分解为:15-1ATM与中央计算机通讯。与中央计算机通讯。 15-2在在ATM机上输入事务。机上输入事务。根据问题域知识得出的关联根据问题域知
26、识得出的关联11现金兑换卡访问账户。现金兑换卡访问账户。12分行雇用柜员。分行雇用柜员。10.3.3 划分主题l在概念上把系统包含的内容分解成假设干个范畴l应该按问题领域而不是用功能分解的方法来确定主题l不同主题内的对象相互间依赖和交互最少的原那么l 总行总行和中央计算机l ATM系统 分行分行、分行计算机、柜员终端、柜员l 事务、柜员和账户等l ATMATM、远程事务、现金兑换卡和储户10.3.4 确定属性l属性是对象的性质或特征l留意在分析阶段不要用属性来表示对象间的关系,运用关联可以表示两个对象间的任何关系,而且把关系表示得更明晰、更醒目。10.3.4 确定属性l选择l在需求陈说中普通用
27、名词词组表示属性l需藉助于领域知识和常识才干分析得出属性l属性对问题域的根本构造影响很小l属性确实定与问题域和目的系统的义务有关。l不要思索那些超出所要处理的问题范围的属性。l先找最重要的属性,再逐渐把其他属性增添进去。分析阶段不思索那些纯粹用于实现的属性。经过挑选之后,得到ATM系统中各个类的属性,如下图。10.3.4 确定属性建立类间的承继是为了共享其公共性质/属性。 承继也对类按层次加以组织。承继关系反映出一定深度的领域知识,需领域专家亲密配合才干完成。承继前人的成果是提高效率的重要方法,也是复用的根底。10.3.5 识别承继关系识别承继关系两种建立承继(即泛化)关系的方式:(1) 自底
28、向上: 笼统出现有类的共同性质泛化出父类,这个过程本质上模拟了人类归纳思想过程。例如,在ATM系统中,“远程事务和“柜员事务是类似的,可以泛化出父类“事务;类似地,从“ATM和“柜员终端泛化出父类“输入站。(2) 自顶向下: 把现有类细化成更详细的子类或从知类派生出一个新类,这模拟了人类的演绎思想过程:从普通到特殊。带有描画词修饰的名词词组往往暗示了一些详细类。分析阶段应该防止过度细化。添加了承继关系之后的ATM对象模型一次建模过程很难得到完全正确的对象模型。有些细化任务(例如,定义效力)是在建立了动态模型和功能模型之后才进展的。由于面向对象的概念和符号在整个开发过程中都是一致的,因此远比运用
29、构造分析、设计技术更容易实现反复修正、逐渐完善的过程。建模的步骤并不一定按照前面讲述的次序进展。它给初学者提供了一个指南。下面以ATM系统为例,讨论能够做的修正:10.3.6 反复修正1. 分解“现金兑换卡类“现金兑换卡有两个相对独立的功能,它既是鉴别储户及运用ATM的权限的卡,又是ATM获得分行代码和卡号等数据的数据载体。因此,把“现金兑换卡类分解为“卡权限和“现金兑换卡两个类,将使每个类的功能更单一:前一个类标志储户访问账户的权限,后一个类是含有分行代码和卡号的数据载体。多张现金兑换卡能够对应着一样的访问权限。2. “事务由“更新组成一个事务可包含对账户的假设干次更新。更新指的是对账户所做
30、的一个动作(取款、存款或查询)。“更新 有本人的属性(类型、金额等),应该独立存在,因此应该把它作为类。3. 把“分行与“分行计算机合并区分“分行与“分行计算机,对于分析这个系统来说,并没有多大意义,为简单起见,把它们合并。类似地,应该合并“总行和“中央计算机。以下图给出了修正后的ATM对象模型,与修正前比较起来,它更简单、更明晰。1、分解、分解“现金兑换卡现金兑换卡类为类为“卡权限和卡权限和“现金兑换卡两个类;现金兑换卡两个类;2、“事务由事务由“更新更新组成;组成;3、把、把“分行与分行与“分行分行计算机合并计算机合并修正后的ATM对象模型对于仅存储静态数据的系统(例如数据库)来说,动态模
31、型并没有什么意义。但是假设开发交互式系统时,动态模型却起着很重要的作用。 例如: 搜集输入信息是目的系统的主要任务。10.4 建立动态模型的方法10.4 建立动态模型脱漏常见的交互行为。建立动态模型的三步: 编写典型交互行为的脚本,包括正常情况和异常情况脚本。从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的目的对象。陈列事件发生的次序,确定每个对象能够有的形状及形状间的转换关系,并用形状图描画它们。最后,比较各个对象的形状图,检查它们之间的一致性,确保事件之间的匹配。脚本: 是指系统在某一执行期间内出现的一系列事件。编写脚本的目的: 是保证不脱漏重要的交互步骤,有助于确保整个交互过
32、程的正确性的和明晰性。编写脚本内容: 描写既可以包括系统中发生的全部事件,也可以只包括由某些特定对象触发的事件。对于每个事件,都应该指明触发该事件的动作对象(系统、用户或其他事物)、接受事件的目的对象以及该事件的参数。编写步骤: 编写正常情况的脚本。思索特殊情况,例如输入或输出的数据为最大值(或最小值)。思索出错情况,例如,输入的值为非法值或呼应失败。10.4.1 编写脚本编写脚本ATM系统正常和异常脚本l事件跟踪图有助于画形状图。l它把事件序列以及事件与对象的关系,笼统、明晰地表示出来。事件跟踪图本质上是扩展的脚本,是简化的UML顺序图。l在事件跟踪图中,一条竖线代表一个对象,每个事件用一条
33、程度的箭头线表示,箭头方向从事件的发送对象指向接受对象。时间从上向下递增。10.4.3 画事件跟踪图ATM系统正常情况下的事件跟踪图时间对象事件/音讯l 一张形状图描画一类对象的行为,它确定了由事件序列引出的形状序列。l从竖线射出的箭头线,常是对象到达某个形状时所做的行为(也常是引起另一类对象形状转换的事件)。l两个事件之间的间隔就是一个形状(也能够不变)。10.4.4 画形状图 思索完正常事件之后再思索边境情况和特殊情况.如,用户要求取消该当前事务, “超时, 停电/机。不能省略对用户出错情况的处置。一张覆盖了脚本中某类对象的全部事件的形状图仍能够会一些脱漏的情况。 尽量给每个形状取个有意义
34、的名字。10.4.4 画形状图以ATM系统为例: “ATM、“柜员终端、“总行和“分行都是自动对象,它们相互发送事件; “现金兑换卡、“事务和“账户是被动对象,并不发送事件。“储户和“柜员虽然也是动作对象,但是,它们都是系统外部的要素,无须在系统内实现它们。ATM的形状图图10.10 总行类验证账户的形状图图10.11 分行类验证密码的形状图总行类总行类分行类分行类图10.10 总行类的处置事务形状图图10.11 分行类的处置事务形状图总行类总行类分行类分行类l 各个类的形状图经过共享事件联络(合并)起来,构成了系统的动态模型。l 应该检查系统级的完好性和一致性。l 对于没有前驱或没有后继的形
35、状应该着重审查,假设这个形状既不是交互序列的起点也不是终点,那么发现了一个错误。10.4.5 审查动态模型l 应该审查每个事件,跟踪它对系统中各个对象所产生的效果,以保证它们与每个脚本都匹配。l例: ATM系统l在总行类的形状图中,事件“无效代码, 是由总行发出的,但是在ATM类的形状图中并没有一个形状接受这个事件。因此,在ATM类的形状图中应该再补充一个形状“do/显示分行代码错信息,它接受由前驱形状“do/验证账户发出的事件“无效代码,它的后续形状是“退卡。10.4.5 审查动态模型ATM的形状图do/显示分行代码错信息无效代码无效代码在确定类中应有的效力时,既要思索该类实体的常规行为,又
36、要思索在本系统中特殊需求的效力。1. 常规行为在分析阶段可以以为,类中定义的每个属性都是可以访问的,也就是说,假设在每个类中都定义了读、写该类每个属性的操作。但是,通常无需在类图中显式表示这些常规操作。10.6 定义效力2. 从事件导出的操作!形状图中对象接纳音讯,因此该对象必需有由音讯选择符指定的操作,它启动相应的效力。在ATM系统中,总行类的“处置分行事务启动分行对象的效力“更新账户。所启动的效力常是接受事件的对象在相应形状的行为。(如:图10.11分行形状图的左图)从图10.9ATM的形状图可导出的ATM类的操作有: 显示主屏(),要求密码(),验证账户(),要求类型();要求金额(),
37、处置事务(),吐出现金及恳求拿走现金() .。从图10.10总行的形状图可导出的总行类的操作有: 恳求处置分行事务(),验证分行代码(),恳求分行验卡()从图10.11分行的形状图可导出分行类的操作有: 更新账户(),验证卡号(),验证密码()4. 利用承继减少冗余操作应该尽量利用承继机制以减少所需定义的效力数目。只需不违背领域知识和常识,就尽量抽取出类似类的公共属性和操作,以建立这些类的新父类,并在类等级的不同层次中正确地定义各个效力。l分析就是提取系统需求并建立问题域准确模型的过程。l面向对象分析的关键任务,是分析、确定问题域中的对象及对象间的关系,并建立起问题域的对象模型、功能模型和动态
38、模型。l大型、复杂系统的对象模型通常由下述5个层次组成:主题层、类与对象层、构造层、属性层和效力层。它们对应着在建立对象模型的过程中所应完成的5项任务。10.7 小结l课后作业:lP256 第1题课堂练习某公司决议开发一个管理一切客户信息的交互式网络系统,系统的功能如下 :(1)阅读客户信息:任何运用Internet的网络用户都可以阅读公司一切的客户信息(包括姓名、住址、号码等)。(2)登录:公司授予每个客户一个账户。拥有授权账户的客户,可以运用系统提供的页面设置个人密码,并运用该账户和密码在系统注册。(3)修正个人信息:客户在系统注册后,可以发送电子邮件或运用系统提供的页面对个人信息进展修正。(4)删除客户信息:只需公司的管理人员才干删除不再受公司效力的客户信息。系统采用面向对象的方法进展开发,请画出用例图和类图。用例图建立对象模型类图的五个层次l 复杂问题的对象模型的5个层次五个层次像是对象模型的五个层次像是对象模型的5张程度切片,张程度切片,一层比一层显示出对象模型的更多细节。一层比一层显示出对象模型的更多细节。类或对象类或对象间的关系间的关系指读者了解大型、复杂模指读者了解大型、复杂模型的一种机制,将一个大型的一种机制,将一个大型的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版实习就业服务合同范本(2025年度)2篇
- 2025版大型养殖场与超市直供鲜蛋销售合同3篇
- 二零二五年计算机耗材及配件销售合同3篇
- 二零二五版婴幼儿奶粉电商平台销售合同模板页2
- 2025版学校教师培训与职称评定合作合同3篇
- 农业机械化与农业科技创新发展考核试卷
- 单板加工企业绿色生产与环保责任落实考核试卷
- 2025版塔吊租赁合同样板(安全与环保并重)3篇
- 2025年医疗耗材供应合同
- 矿长聘用合同二零二五年度执行范本(矿山行业适用)3篇
- 2023-2024学年度人教版一年级语文上册寒假作业
- 软件运维考核指标
- 空气动力学仿真技术:格子玻尔兹曼方法(LBM)简介
- 对表达方式进行选择与运用
- GB/T 18488-2024电动汽车用驱动电机系统
- 投资固定分红协议
- 高二物理题库及答案
- 职业发展展示园林
- 七年级下册英语单词默写表直接打印
- 2024版医疗安全不良事件培训讲稿
- 中学英语教学设计PPT完整全套教学课件
评论
0/150
提交评论