自動取款机(ATM)模拟程序(C控制台应用程序).docVIP

自動取款机(ATM)模拟程序(C控制台应用程序).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自動取款机(ATM)模拟程序(C控制台应用程序)

自动取款机(ATM)模拟程序 需求 我们需要设计一个具备如下功能的ATM模拟程序。 ●开户:用户能够通过ATM来开设帐号,开户需要设置密码。 ●登录:用户能够登录到已经开设的帐号上,登录需要验证密码。 ●管理帐号:用户登录到帐号上后,能够进行如下的操作。 ■存款:将指定的款项存到帐号中。 ■取款:从帐号中取出指定的款项。 ■查询余额:查询帐号的余额。 ■修改密码:修改帐号的密码。 分析 面向对象编程的第一步是进行面向对象分析。面向对象分析的目标是建立问题领域的模型,包括如下模型。 功能模型:即画出每一个功能要求的用例图。 对象模型:对用例模型进行分析,把系统分解成互相协作的类,通过类图/对象图描述对象、对象的属性、对象间的关系。 动态模型:描述系统的动态行为,通过序列图来描述对象的交互,以揭示对象间如何写作来完成每个具体的用例,单个对象的状态变化和动态行为可以通过状态图来表达。 功能模型 根据我们的需求,可以很容易地画出ATM模拟程序的用例图: 可以看出,用户可以开户和登录帐号,开户或者登录帐号之后就能管理帐号。要管理账号,就必须首先登录帐号或者开户。管理帐号的功能包括存款、取款、查询余额和修改密码。 对象模型 ATM是银行相连的设备,因此银行是ATM模拟程序的相关对象,所有的操作都是针对帐号的,因此帐号是其中的核心对象。此外,需要一个程序来启动ATM。因此,在ATM模拟程序中,我们需要处理四个类,或者说四类对象:启动程序、ATM、银行及帐号。 帐号类 Account 帐号类Account包含所有的帐号信息负责所有的帐号操作。基本的帐号信息包括: 帐号名 name 帐号密码 password 帐号余额 balance 主要的帐号操作包括: 登录 Login 存款 Deposit 取款 Withdraw 查询余额 Get_Balance 修改密码 ChangePassword 银行类 Bank 银行类Bank的本质就是一组帐号的组合,并负责管理帐号。基本的银行信息包括: 银行名 name 已经开户的帐号数 usedAccountNum 可以容纳的最大账户数 MaxAccountNum 帐号集 accounts 主要的银行操作包括: 开户 OpenAccount 登录帐号 LoginAccount 撤销帐号,但是由于ATM不能撤销帐号,因此我们不关心这个操作 ATM类 ATM类与银行类之间在一对一的关联关系,ATM提供用户界面,并将用户的请求提交给银行、将银行的反馈提交给用户。基本的ATM信息包括: 银行 Bank 主要的ATM操作包括: 启动 Start 开户 OpenAccount 登录帐号 LoginAccount 管理帐号 ManageAccount 一些显示不同信息的辅助操作(PrintLogo、Print、Pause等)。 启动程序类Program 启动程序类Program的唯一功能就是创建银行类和ATM类的实例,并将它们关联起来,然后启动ATM(执行ATM对象的Start方法)。因此,这个类仅仅包含程序的入口点Main方法。 ATM模拟程序的类图 根据上述各类的分析,可以画出ATM模拟程序的类图: 注意:Bank类和Account类的数据成员都使用protected访问模式,主要是为了使它们的之类都能集成它们的这些数据成员。 动态模型 ATM模拟程序的基本工作流程: 设计 经过分析,我们已经了解了ATM模拟程序中的四个类的基本结构。在设计阶段需要进一步细化个各类的结构。 对Account类,我们将进行如下的调整: 用只读属性来实现Get_Balance方法 增加赌气name的只读属性。 增加构造函数。 重载Deposit方法,并提供三个重载方法。 重载Withdraw方法,并提供三个重载方法。 对Bank类,主要调整包括: 提供构造函数,传入银行的名称。 增加读取name的只读属性。 用数组来实现帐号集。 用常量来表示MaxAccountNum 对ATM类,主要增加几个与用户交互的函数(打印信息和输入信息),以及一个退出系统的密码。 在设计类的时候,为了提供代码的重用性,一个重要的原则是,不要将功能与用户界面紧密耦合在一起。在这个程序中,Account类和Bank类是功能类,ATM类是用户界面类。因此,在设计Account类和Bank类时候,不要涉及任何的用户界面操作。所有的用户界面都放在ATM类中。这样做的好处是:功能类可以适用于任何的用户界面,比如,Bank类和Account可以用于网上银行,用户界面类可以适用于其他功能,比如,ATM类可以用于信用卡机构。 实现 1)在ATM项目中增加Account类 using System; using System.Collections.Generic;

文档评论(0)

fv45ffsjjI + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档