类图、时序图、状态图-ATM系统.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 面向对象分析;10.1 面向对象分析的基本过程;10.1 面向对象分析的基本过程;10.1 面向对象分析的基本过程;面向对象分析的过程 寻找类与对象 识别结构 识别主题 定义属性 建立动态模型 建立功能模型 定义服务 ;10.2 需求陈述;ATM机系统问题描述 银行网络中包含柜员和 ATM,ATM 被共享中心所分享。 每家银行利用自己的计算机维护自己的账户并处理账户所属的交易,这些交易包括存款和取款。 某些银行拥有自己的柜员站,柜员站直接和该银行的计算机通信,柜员键入账户数据和交易数据。 ATM 和中心计算机通信,中心计算机再和银行清账。 ATM 接受金融卡,要求用户做些操作后和中心计算机通信,执行交易给予现金和打印收据。 系统要求保留交易记录和严守安全规定。 能同时存取客户的相同账户。 ;自动取款机(ATM)系统 ATM系统 ;10.3 建立对象模型;10.3 建立对象模型;10.3 建立对象模型;10.3 建立对象模型;10.3 建立对象模型;10.3 建立对象模型;直接提取动词短语得出的关联 ATM、中央计算机、分行计算机及柜员终端组成网络。 总行拥有多台ATM。 ATM设在主要街道上。 分行提供分行计算机和柜员终端。 柜员终端设在分行营业厅及储蓄所内。 分行分摊软件开发成本。 储户拥有账户。 分行计算机处理针对账户的事务。 分行计算机维护账户。 柜员终端与分行计算机通信。 柜员输入针对账户的事务。 ATM与中央计算机交换关于事务的信息。 中央计算机确定事务与分行的对应关系。 ATM读现金兑换卡。 ATM与用户交互。 ATM吐出现金。 ATM打印账单。 系统处理并发的访问。 ;10.3 建立对象模型;10.3 建立对象模型;10.3 建立对象模型;10.3 建立对象模型;10.3 建立对象模型;10.3 建立对象模型;10.3 建立对象模型;经过筛选之后,得到ATM系统中各个类的属性,如图所示。 ;建立类间的继承是为了共享其公共性质/属性。 继承也对类按层次加以组织。 继承关系反映出一定深度的领域知识,需领域专家密切配合才能完成。 继承前人的成果是提高效率的重要方法,也是复用的基础。;两种建立继承(即泛化)关系???方式: (1) 自底向上: 抽象出现有类的共同性质泛化出父类,这个过程实质上模拟了人类归纳思维过程。 例如,在ATM系统中,“远程事务”和“柜员事务”是类似的,可以泛化出父类“事务”;类似地,从“ATM”和“柜员终端”泛化出父类“输入站”。 (2) 自顶向下: 把现有类细化成更具体的子类或从已知类派生出一个新类,这模拟了人类的演绎思维过程:从一般到特殊。 带有形容词修饰的名词词组往往暗示了一些具体类。分析阶段应该避免过度细化。 ;增加了继承关系之后的ATM对象模型 ;一次建模过程很难得到完全正确的对象模型。 有些细化工作(例如,定义服务)是在建立了动态模型和功能模型之后才进行的。 由于面向对象的概念和符号在整个开发过程中都是一致的,因此远比使用结构分析、设计技术更容易实现反复修改、逐步完善的过程。 建模的步骤并不一定按照前面讲述的次序进行。 它给初学者提供了一个指南。 下面以ATM系统为例,讨论可能做的修改: ;1. 分解“现金兑换卡”类 “现金兑换卡”有两个相对独立的功能,它既是鉴别储户及使用ATM的权限的卡,又是ATM获得分行代码和卡号等数据的数据载体。 因此,把“现金兑换卡”类分解为“卡权限”和“现金兑换卡”两个类,将使每个类的功能更单一:前一个类标志储户访问账户的权限,后一个类是含有分行代码和卡号的数据载体。 多张现金兑换卡可能对应着相同的访问权限。;2. “事务”由“更新”组成 一个事务可包含对账户的若干次更新。更新指的是对账户所做的一个动作(取款、存款或查询)。“更新” 有自己的属性(类型、金额等),应该独立存在,因此应该把它作为类。 3. 把“分行”与“分行计算机”合并 区分“分行”与“分行计算机”,对于分析这个系统来说,并没有多大意义,为简单起见,把它们合并。类似地,应该合并“总行”和“中央计算机”。 下图给出了修改后的ATM对象模型,与修改前比较起来,它更简单、更清晰。;修正: 总行/分行的通信, 储户输入事务(ATM) ATM读卡 拥有/通信 修改后的ATM对象模型;对于仅存储静态数据的系统(例如数据库)来说, 动态模型并没有什么意义。 但是若开发交互式系统时,动态模型却起着很重要的作用。 例如: 收集输入信息是目标系统的主要工作 ;建立动态模型的三步: 编写典型交互行为的脚本, 不遗漏常见的交互行为。 从脚本中提取出事件,

文档评论(0)

清风老月 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳春市惠兴图文设计有限公司
IP属地广东
统一社会信用代码/组织机构代码
91441781MA53BEWA2D

1亿VIP精品文档

相关文档