- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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对象模型;对于仅存储静态数据的系统(例如数据库)来说,
动态模型并没有什么意义。
但是若开发交互式系统时,动态模型却起着很重要的作用。
例如: 收集输入信息是目标系统的主要工作
;建立动态模型的三步:
编写典型交互行为的脚本, 不遗漏常见的交互行为。
从脚本中提取出事件,
您可能关注的文档
最近下载
- 幼儿园伙食培训.pptx VIP
- 新型城镇化背景下乡镇行政管理体制改革的出路.docx
- 第15课 无人机创意飞行-九年级信息科技(浙教版2023).ppt
- c guiqt4编程(第二版)(中文高清pdf扫描版) 随书源码.pdf
- 工贸行业企业岗位安全生产责任清单(参考模板2.0).docx VIP
- 城市社区公共文化服务建设问题及对策研究——以南京市彩霞社区为例.docx
- 篮球运动竞赛的组织与编排工作教案.pdf VIP
- 人教版七年级上册数学期末动点问题压轴题专题训练(含答案).docx VIP
- 包装行业的包装设计与安全标准培训.pptx
- 感恩教师,伴我成长——教师节大会学生国旗下的讲话稿.docx VIP
文档评论(0)