版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 ATM系统分析与设计摘要:结合软件工程相关理论,采用OMT方法对银行网络系统ATM(Auto Trade Machine)进行分析和设计。一 问题需求分析银行网络系统包括人工出纳和分行共享的自动出纳机;各分理处用自己的计算机处理业务;各分理处与出纳站通过网络通信;出纳站录入账户和事务数据;自动出纳机与分行计算机通信;自动出纳机与用户接口,接受银行卡,发放现金,打印收据;分行计算机与拨款分理处结账。要求系统能正确处理同一账户的并发访问;网络费用平均摊派给各分理处。分行计算机分理处计算机分理处计算机分理处计算机账户账户账户自动取
2、款机 自动取款机自动取款机 银行网络系统的示意图二 软件工程相关理论u OMT是Object Modeling Technology的缩写, 意为对象建模技术. 面向对象建模方法有很多种,也都在进一步的发展和完善中。
3、OMT法是目前最为成熟和实用的方法之一。它从三个方面对系统进行建模,每个模型从一个侧面反映系统的特性,三个模型分别是:对象模型、动态模型和功能模型。主要的概念包括:类、属性、操作、继承、关联(即关系)、聚集 动态模型描述系统那些随时间变化的方面,其主要概念有:状态、子状态和超状态、事件、行为、活动。功能模型描述系统内部数据值的转换,其主要概念有:加工、 数据存储、数据流、控制流、角色。该方法将开发过程分为四个阶段: 1 分析。基于问题和用户需求的描述,建立现实世界的模型。分析阶段的产物有:问题描述、对象模型对象图数据词典、动态模型状态图全局事件流图
4、60;、功能模型数据流图约束2 系统设计。结合问题域的知识和目标系统的体系结构(求解域),将目标系 统分解为子系统。该阶段的主要产物是:系统设计文档:基本的系统体系结构和高层次的决策 3 对象设计。基于分析模型和求解域中的体系结构等添加的实现细节,完成系 统设计。主要产物包括:细化的对象模型、细化的动态模型、细化的功能模型 4 实现。将设计转换为特定的编程语言或硬件,同时保持可追踪性、灵活性和可扩展性。 u 类的识别方法常用的识别类的方法有:名词识别法、系统实体识别法、使用重用、从用例中识别类等。1.
5、160; 名词识别法访方法的关键是识别问题域中的实体,实体的描述通常以名词、名词短评、名词性代词的形式出现。首先对系统进行描述,从系统描述中标识名词、名词性代词,在列出系统可能的类的基础上,进一步识别类。2. 系统实体识别法该方法只考虑系统中的人员、组织、地点、表格、报告等实体,经过分析将它们识别为类。被标识的实体有:系统需要存储、分析、处理的信息实体,系统内部需要处理的设备,与系统交互的外部系统,系统相关人员,系统的组织实体。在确定类时,常使用两类技术:1) 分解技术:将整体类和组合类进行分解,可控制单个类的规模。2)
6、0;抽象技术:根据一些类的相似性建立抽象类,并建立抽象类与这些类之间的继承关系。抽象类实现了系统内部的重用,很好地控制了复杂性,并为所有子类定义了一个公共的界面,使设计局部化,提高了系统的可修改性和可维护性。三 建立对象模型1. 确定类采用名词识别法,检查问题陈述中的所有名词、名词短语,列出所有可能的类,现根据以下原则进一步确定类:1) 去掉冗余类2) 去掉不相关的类3) 删除模糊的类4) 删除独立性不强的类,而应该是类的“属性
7、”的类。5) 所描述的操作不适宜作为对象的类 最终确定的类为:分行计算机 分行 出纳站 出纳员 分理处 分理处计算机 自动出纳机 账户 银行卡 顾客 事务2. 为每个建模实体准备数据3. 确定关联两个或多个类之间的相互信赖就是关联,实现关联的方式有多种。关联通常用描述性动词和动词词组表示。银行网络系统问题中的关联:l
8、60; 银行网络包括出纳站和处动取款机l 分行共享自动取款机l 分理处提供分理处计算机l 分理处计算机保存账户l 分理处计算机处理账户支付事务l 分理处拥有出纳站l 出纳站与分行计算机通信l 出纳员为账户录入事务l 自动取款机接受银行卡l 自动取款机与用户接口l 自动取款机发放现金l 自动取款机打印收据l 系统处理并发访问l
9、 分理处提供软件l 费用分摊给分理处4.使用下列标准去掉不必要的和不正确的关联。1) 若某个类已被删除,那么与它有关的关联也必须删除或者用其他类来重新表述。2) 不相干的关联或实现阶段的关联。删除所有问题域之外的关联或涉及实 现结构中的关联。如“系统处理并发访问”就是一种实现的概念。3)动作。关联应描述应用域的结构性质而不是瞬时事件。因此应删除“自动取款机接受银行卡“,“自动取款机与用户接口“。4)
10、160; 派生关联。省略那些可以用其他关联来定义的关联。5.确定类属性属性通常用修饰性的名词词组来表示。可按下列标准删除不必要的和不正确的属性: 1)限定词。若属性值固定下来后,能减少关联的重数,则可考虑把该属性重新表述为一个限定词。2)内部值。若属性描述了对象的非公开的内部状态,则应从对象模型中删除访属性3)细化。在分析阶段应忽略那些不可能对大多数操作有影响的属性。6.使用继承来细化类有两种方法:自底向上和自顶向下。1)自底向上:将现有的类的共性一般化为父类。2)自顶向下:将现有类细化为更具体的子类。7.完美对象模型在软件开发的过程中,需要不断的完美对象模型。可以从以下几
11、个方面考虑。1)检查是否有缺少的对象。2)查找多余的类。3)查找缺少的关联4)系统的改进。由于“分理处”与“分理处计算机”之间的区别不影响分析,可将其合并为“分理处”。同理,将“分行计算机”并入“分行”。四 建立动态模型动态分析从寻找外部可见的模拟和响应事件开始,确定各对象的可能事件的顺序,在分析阶段不考虑算法的执行,它是实现模型的一部分。通常动态模型有事件跟踪表和状态图。建立动态模型的步骤为:1. 准备典型的对话脚本脚本是事件序列,每当系统中的对象与外部用户发生互换信息时,就产生一个事件,所互换的信息值就是该事件的参数。对于
12、各事件,应该确定触发事件的动作对象和该事件的参数,包括正常脚本、例外脚本。自动出纳机与用户交互的正常脚本如下:1) 自动取款机请求用户插入银行卡,用户插入银行卡2) 自动取款机接受银行卡并读出它的卡号3) 自动取款机要求密码,用户输入4) 自动取款机与分行确认卡号和密码,分理处检查并反馈兑现5) 自动取款机要求选择事务类型(取款、存款、转帐或查询),若用户选择取款6) 自动取款机要求输入现金数量7) 自动取款机分发现金并要求用户取现金,用户取
13、现金8) 自动取款机查问用户是否打印收据,若选择“是”9) 自动取款机打印收据,请求用户取出它10) 自动取款机询问是否继续,用户选择“不继续”,自动出纳机退出卡11) 自动取款机退出卡并且请求用户取卡,用户取卡12) 自动取款机请求用户插入银行卡自动取款机与用户交互的例外脚本如下:1) 自动取款机请求用户插入银行卡,用户
14、插入银行卡2) 自动取款机接受银行卡并读出它的卡号3) 自动取款机要求密码,用户输入4) 自动取款机与分行确认卡号和密码,分理处检查并反馈拒绝5) 自动取款机指示密码错并要求重新键入;用户输入并成功6) 自动取款机请示用户选择事务类型,用户选择取款7) 自动取款机请求键入现金数量,用户改变选择并输入“取消”8) 自动取款机退出卡并且请求用户取卡,用户取卡9) 自动取款机请求用户插入银行卡
15、;2画出事件跟踪表 把脚本表示成一个事件跟踪表,即不同对象间的事件排序表2. 构造状态图对各对象类建立状态图,反映对象接收和发送的事件,每个脚本或事件跟踪表都应对应于状态图中的一条路径 DO:处理分理处事务DO:确认分理处代码DO:确认卡事务处理 分理处事务成功
16、; 分理处事务失败确认账户 确认账户 错误代码/错误分理处代码
17、160; 错误分理处账户/错的密码 分理处密码/账户OK “分行”类的状态图五 建立功能模型
18、功能模型描述了值之间的信赖关系,通常用分层的数据流图描述。数据流图有助于表示功能信赖关系,其中的处理对应于状态图的活动和动作,其中的数据流对应于对象力中的对象或属性,具体的步骤:1. 确定输入、输出值先列出输入、输出值,输入输出值是系统与外部世界之间的事件的参数。检测问题陈述,从中找出遗漏的所有输入、输出值。由于所有系统与外部世界之间的交到都经过自动取款机,因而所有输入、输出值都是自动取款机事件的参数。2. 建立数据流图数据流图说明输出值是怎样从输入值得来的,数据流图通常按层次组织。最顶层由单个处理组成,也可由收集输入、计算值及生成结果的一个综合处理构成。银行卡读输入执行事务账户用户产生输出 卡号 事务类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全员A证考试能力提升打印大全附参考答案详解(培优b卷)
- 小学生科学实验活动设计方案
- 内蒙分部(呼和浩特)招聘15人模拟试卷及答案详解(全优)
- 安全员A证考试每日一练及参考答案详解(考试直接用)
- 2025年方剂学试题及答案详解
- 安全员A证考试强化训练高能及参考答案详解(巩固)
- 2025年新疆哈密地区单招职业倾向性考试题库附答案详解
- 安全员A证考试考前冲刺分析及答案详解(各地真题)
- 安全员A证考试全真模拟模拟题附答案详解(完整版)
- 小学语文写作提升课堂活动方案
- 北京通州产业服务有限公司招聘参考题库必考题
- 【高三上】2026届12月八省联考(T8联考)语文试题含答案
- 护理不良事件根本原因分析
- 《航空电子系统概述》课件
- 中国医护服装行业未来发展趋势分析及投资规划建议研究报告
- 《广州天河商圈》课件
- H31341 V2.5 HCIP-TranSmission 传输网练习试题及答案
- 下肢静脉曲张课件
- (高清版)DZT 0428-2023 固体矿产勘查设计规范
- XXX县村镇空气源热泵区域集中供热项目可行性研究报告
- 湖州昆仑亿恩科电池材料有限公司年产40000吨锂离子电池电解液项目环境影响报告
评论
0/150
提交评论