面向对象方法例题 案例一:ATM网络系統 问题陈述: 设计一个支持银行ATM计算机网络系统的软件。这个网络包括柜员机和自动 取款机(AIM),由联营机构共享。每个营业部提供各自的计算机来维护它的帐户 和处理面临的事务。柜员机属于各营业部,并且直接与营业部计算机通信,柜员 输入帐务和处理数据。AIM与中心处理机通信。中心处理机分理事务到相应的营 业部。ATM接收现金卡,与用户交互,与中心计算机通信完成事务处理,分配现 金和打印收据。系统需要恰当的记录和安全保证。系统必须正确控制并发访问同 帐号。营业部提供自己的计算机软件。共享系统的费用由各营业部根据现金卡 数量来分担。 问题描述示意图: 柜员 营业部 ATM 工作站计算机 ATM 中心 处理机 营业部 计算机 ATM 建立对糗 从问题陈述名词及领域知识中提取出的候选类: 软件 营业部 柜员 ATM 联营机构营业部 网络 营业部 用户 柜员机 帐务 数据 计算机 帐户 业务 现金 收据 保存记 录装置 处理机现金卡 事务 费用 系统 安全装置通信线业务日志
面向对象方法例题 1 案例一: ATM 网络系统 问题陈述: 设计一个支持银行 ATM 计算机网络系统的软件。这个网络包括柜员机和自动 取款机(ATM),由联营机构共享。每个营业部提供各自的计算机来维护它的帐户 和处理面临的事务。柜员机属于各营业部,并且直接与营业部计算机通信,柜员 输入帐务和处理数据。ATM 与中心处理机通信。中心处理机分理事务到相应的营 业部。ATM 接收现金卡,与用户交互,与中心计算机通信完成事务处理,分配现 金和打印收据。系统需要恰当的记录和安全保证。系统必须正确控制并发访问同 一帐号。营业部提供自己的计算机软件。共享系统的费用由各营业部根据现金卡 数量来分担。 问题描述示意图: : : 一、建立对象模型 从问题陈述名词及领域知识中提取出的候选类: 中心 处理机 营业部 计算机 营业部 计算机 柜员 工作站 帐户 帐户 帐户 帐户 ATM ATM ATM 软件 营业部 计算机 营业部 网络 柜员 ATM 联营机构 营业部 帐户 业务 柜员机 帐务 数据 中心 处理机 现金卡 用户 现金 收据 系统 保存记 录装置 安全装置 事务 费用 通信线 业务日志
面向对象方法例题 筛选掉不必要的类 模糊的 应是属 实现用 系统 数据现金 软件通信线 全装置 收据 务日志 相干的 保存记录装置 冗余的 费用 营业部网络 帐务 事务
面向对象方法例题 2 筛选掉不必要的类: 模糊的 应是属性 实现用 相干的 冗余的 系统 安全装置 保存记录装置 营业部网络 数据 收据 现金 帐务 事务 费用 软件 通信线 业务日志
面向对象方法例题 建成类的数据字典: ATM系统类数据字典: 帐户:营业部的一个户头。帐户可能有许多不同的类型,至少有 支票帐户和储蓄帐户 ATM:允许客户使用现金卡作为身份证明,进入自己帐户的一种 机器。ATM与客户交互,通过收集业务处理信息并把该信息 送至中心处理机的方式,验明客户的合法性后进行处理, 把现金分配给客户。这里假定一个ATM离开了网络就不能 运行。 营业部:一个金融机构。它代管客户的账目,发行现金卡,并授 权客户可以通过ATM网络进入自己的帐户取现金。 营业部计算机:营业部所拥有的、与ATM网络以及该营业部柜员 机相连接的计算机。一个营业部可能拥有一个用于 处理内部帐务的计算机网络,但我们只关注与网络 通信的这台计算机。 现金卡:营业部分发给客户的卡片。客户可以通过ATM用现金卡 访问自己的帐户。每个卡包含一个营业部代码和卡片号 码。营业部代码唯一确定联营机构中的一个营业部。卡片 号决定了该卡可访问的帐户。一张现金卡只属于一个客 户,但可能会存在若干个拷贝,必须考虑在不同计算机上 相同的现金卡同时使用的可能性。 柜员:营业部的雇员。她授权把业务信息输入柜员机,接收或分 配现金和支票给客户。柜员处理的业务、现金、和支票必 须记录,并对其全部负责。 柜员机:柜员为客户输入业务信息的一套设备。柜员用此套设备 开出支票和接收现金,并打印收据。柜员机与营业部计算 机通信,使业务生效并进行处理。 中心处理机:由联营机构操纵的计算机。它协调ATM与营业部计 算机之间的业务,中心处理机负责验明营业部代码的 有效性,但并不直接处理业务。 联营机构:多个营业部组成的一个组织机构。授命指挥和操作ATM 网络。该网络仅处理属于联营机构中的营业部之间的业
面向对象方法例题 3 建成类的数据字典: ATM 系统类数据字典: 帐户:营业部的一个户头。帐户可能有许多不同的类型,至少有 支票帐户和储蓄帐户。 ATM: 允许客户使用现金卡作为身份证明,进入自己帐户的一种 机器。ATM 与客户交互,通过收集业务处理信息并把该信息 送至中心处理机的方式,验明客户的合法性后进行处理, 把现金分配给客户。这里假定一个 ATM 离开了网络就不能 运行。 营业部:一个金融机构。它代管客户的账目,发行现金卡,并授 权客户可以通过 ATM 网络进入自己的帐户取现金。 营业部计算机:营业部所拥有的、与 ATM 网络以及该营业部柜员 机相连接的计算机。一个营业部可能拥有一个用于 处理内部帐务的计算机网络,但我们只关注与网络 通信的这台计算机。 现金卡:营业部分发给客户的卡片。客户可以通过 ATM 用现金卡 访问自己的帐户。每个卡包含一个营业部代码和卡片号 码。营业部代码唯一确定联营机构中的一个营业部。卡片 号决定了该卡可访问的帐户。一张现金卡只属于一个客 户,但可能会存在若干个拷贝,必须考虑在不同计算机上 相同的现金卡同时使用的可能性。 柜员:营业部的雇员。她授权把业务信息输入柜员机,接收或分 配现金和支票给客户。柜员处理的业务、现金、和支票必 须记录,并对其全部负责。 柜员机:柜员为客户输入业务信息的一套设备。柜员用此套设备 开出支票和接收现金,并打印收据。柜员机与营业部计算 机通信,使业务生效并进行处理。 中心处理机:由联营机构操纵的计算机。它协调 ATM 与营业部计 算机之间的业务,中心处理机负责验明营业部代码的 有效性,但并不直接处理业务。 联营机构:多个营业部组成的一个组织机构。授命指挥和操作 ATM 网络。该网络仅处理属于联营机构中的营业部之间的业 务
面向对象方法例题 建成类的初步对象图(对象模型之 联营机构行代码 由.组成 保存 营业部 帐户 雇佣 存取 拥有 涉 中心处理机 营业部计算机 柜员 通信 进入 柜员机输入 柜员业务 通信 输入 ATM 远程业务 现金卡 授权 注:这里将“业务”分成(柜员)业务和(远程)ATM业务 具有属性和继承的ATM对象模型 L输入设备 输入 旧期 交易总数 ATM 柜员机 有现金 柜员业务 远程业务 枝出金额 别 被输入 被授权 通信 通信 柜员 代码 中心处理机 营业代码]通信业部计算机 现金卡\有地名 客户 雇用 存取地址 拥有 拥有 营业部 帐户 员代码 联营机构 组成名称 发 余额 营业代码 卡片代码 保存有贷限制涉及 型 帐户代码
面向对象方法例题 4 建成类的初步对象图 (对象模型之一) 由组成 保存 有 雇佣 存取 拥有 有 涉及 有 通信 通信 被进入 输入 通信 输入 涉及 授权 注:这里将“业务”分成(柜员)业务和(远程)ATM 业务 具有属性和继承的 ATM 对象模型 输入 被输入 被授权 通信 通信 通信 有 雇用 存取 拥有 拥有 由组成 发行 涉及 保存有 联营机构 银行代码 中心处理机 营业部 帐户 客户 营业部计算机 柜员机 柜员 柜员业务 ATM 远程业务 现金卡 输入设备 业务 种类 日期 交易总数 ATM 现有现金 支出金额 柜员机 姓名 级别 柜员业务 远程业务 柜员 现金卡 密码 客户 姓名 地址 帐户 余额 类型 信贷限制 营业部计算机 营业部 名称 中心处理机 联营机构 雇员代码 卡片代码 帐户代码 营业代码 营业代码 站代码 站代码
面向对象方法例题 、立勃亮模到 ATM通常情况下的脚本: 脚本 ATM要求用户插入一张现金卡;用户插入一张现金卡 ATM接收磁卡并读其序号 ATM要求密码;用户输入密码 AIM通过联营机构核实序号和密码:联营机构联系对应 的营业部鉴别密码后通知该ATM AIM要求用户选择业务方式(提款、汇兑、查询);用户 选择提款方式 ATM询问现金数额;用户输入现金数额 AIM核实数额范围:提交联营机构,将业务传送给营业 部,确认成交返回帐户新余额 ATM分配现金并要求用户提款;用户取走现金 AIM询问用户是否要继续提款:用户表示否定 ATM打印收据、退出现金卡并提示用户拿走,用户得到 现金卡 有例外情况ATM脚本: 脚本: ATM要求用户插入一张现金卡;用户插入一张现金卡 ATM接收磁卡并读其序号 ATM要求密码;用户输入密码 AIM通过联营机构核实序号和密码,联营机构联系对应 的营业部鉴别密码后拒绝此密码 ATM提出密码错误并要求用户重新输入,用户输入密 码,ATM通过联营机构核实成功 ATM要求用户选择业务方式(提款、汇兑、查询);用 户选择提款方式 ATM询问现金数额;用户改变想法,输入“取消” ATM退出现金卡并提示用户拿走,用户得到现金卡 ATM要求另一个用户插入现金卡
面向对象方法例题 5 二、建立动态模型 ATM 通常情况下的脚本: 有例外情况 ATM 脚本: 脚本: ATM 要求用户插入一张现金卡;用户插入一张现金卡 ATM 接收磁卡并读其序号 ATM 要求密码;用户输入密码 ATM 通过联营机构核实序号和密码:联营机构联系对应 的营业部鉴别密码后通知该 ATM ATM 要求用户选择业务方式(提款、汇兑、查询);用户 选择提款方式 ATM 询问现金数额;用户输入现金数额 ATM 核实数额范围:提交联营机构,将业务传送给营业 部,确认成交返回帐户新余额 ATM 分配现金并要求用户提款;用户取走现金 ATM 询问用户是否要继续提款;用户表示否定 ATM 打印收据、退出现金卡并提示用户拿走,用户得到 现金卡 脚本: ATM 要求用户插入一张现金卡;用户插入一张现金卡 ATM 接收磁卡并读其序号 ATM 要求密码;用户输入密码 ATM 通过联营机构核实序号和密码,联营机构联系对应 的营业部鉴别密码后拒绝此密码 ATM 提出密码错误并要求用户重新输入,用户输入密 码,ATM 通过联营机构核实成功 ATM 要求用户选择业务方式(提款、汇兑、查询);用 户选择提款方式 ATM 询问现金数额;用户改变想法,输入“取消” ATM 退出现金卡并提示用户拿走,用户得到现金卡 ATM 要求另一个用户插入现金卡