您好,欢迎访问三七文档
实训项目:银行ATM账户管理请按照教师的安排部署,完成本实训项目。请认真阅读并理解本项目的相关说明,准确按照业务要求完成系统的开发任务。2实训说明“银行ATM账户管理”系统的原型来自于某大银行的账户管理系统和ATM终端管理系统。该系统业务非常复杂,对可靠性、安全性和可用性等方面有着极为严格的要求。本项目是在真实的应用系统基础之上,对需求进行了简化提炼,使之成为一个适于实训学员动手开发的小型实训项目。通过设计和开发用户登录、创建账户、模拟ATM终端、存款、取款、余额查询等功能,使得学员对所掌握的高级C/S架构的Java应用程序技术得到充分演练,从而达到实战的最终目的。3项目简介项目分组:以2人为一个开发小组,每组设一名组长开发以任务为驱动,即按任务的先后顺序工作。各组应按进度要求先完成任务1、再完成任务2、任务3,依次类推。在协商讨论的前提下,组长为所有成员(包括自己)平均分配开发每个任务。在进行分配时,应注意:应力求各组员的工作量大致相等组员应有团队精神组员应摆正心态,因为实际工作中都是从头做起组内所有文档、代码及其它产物均由成员共享组长提交开发结果4项目安排指导老师—||—项目组长|—项目成员指导老师遵照项目计划,负责项目整体“进度”、“质量”项目组长按照项目任务书,负责小组进度和质量检查和统计项目组员完成情况负责技术难点调研,帮助有困难的组员对项目组员认真负责项目组员按照任务单,负责个人任务“开发”、“测试”等工作对项目组长负责5组织结构和职责定义本项目采用上图所示的C/S结构银行柜台提供创建账户功能,用于为客户创建账户银行人员登录后,使用创建账户功能,所建账户信息发送至服务器保存ATM提供金额查询和存、取款功能。客户可在ATM上查询自己账户的金额,或存/取款。账户信息来自服务器6项目结构图服务器与客户端(ATM和柜台)之间使用TCP/IP进行通讯,端口自行确定。ATM和柜台终端均使用JavaGUI技术实现账户信息存储在服务器中。根据目前所学知识,信息使用文件形式存储。建议使用对象序列化机制来存取文件信息。银行人员在使用柜台终端时,须首先使用工号和密码进行登录,成功后才能使用。为了简化开发,工号和密码预设好即可,不必提供相应的管理功能客户使用ATM终端时,须首先使用自己的账户和密码登录。账户和密码在柜台终端创建账户时指定。7需求说明为简化起见,账户信息可包含以下内容:accountId:账户号password:账户密码name:真实姓名personId:身份证号码balance:账户余额说明:accountId可以自动生成,或为了简化编程,也可人工输入。ATM界面设计可以参考日常生活中的银行ATM终端。ATM上的存取款是模拟形式,在界面上打印出相应信息即可,如“本次取款成功,金额1000元”。8需求说明9ATM页面流程10柜台终端页面流程11系统组件图银行服务器通讯模块用于和客户端进行Socket通讯,传输账户及相关信息I/O模块用于将账户及相关信息(如存款金额)从硬盘读取或写入硬盘如果开发时间允许的话,可以将服务器程序设计为多线程,这样可以同时接受多个ATM和柜台终端的请求并处理。ATM终端View表示ATM的所有页面(参见页面流程)。提示,可使用CardLayout布局实现不同页面之间的切换。Controller负责接收用户操作、调用Model并切换下一页面。Model中定义业务方法,供控制器和视图使用;同时内部负责与服务器之间交换数据。柜台终端说明同ATM终端12组件图说明13UI参考14项目任务书项目名称银行ATM账户管理任务编号001任务名称设计、编码、测试、部署实施期限起:年月日止:年月日项目签发人项目内容Task1:实现柜台终端的V和C(占项目总时间的1/4)Task2:实现柜台终端的通讯(占项目总时间1/4)Task3:实现ATM终端的V和C(占项目总时间的1/4)Task4:实现ATM终端的通讯(占项目总时间1/4)完成确认提交时间步骤A:(占此任务总时间的10%)1.在本组内讨论,明确理解组件图和柜台终端的页面流程图2.设计柜台终端程序的视图界面和控制器,界面应尽量美观3.设计柜台终端程序的模型部分,即模型应提供的方法,如何与服务器交换数据步骤B:(占此任务总时间的60%)1.实现上一步设计的视图界面2.实现相应的控制器程序步骤C:(占此任务总时间的30%)1.为了对视图和控制器进行测试,暂时编写一个“伪”模型,即按步骤A的设计,提供只有空方法(无具体实现逻辑)的模型类,为视图和控制器的调用提供假数据。2.将MVC各部分集成在一起进行测试15Task1:实现柜台终端的V和C步骤A:(占此任务总时间的10%)1.在本组内讨论,设计柜台终端与服务器之间的通讯协议2.设计服务器的通讯模块和I/O模块步骤B:(占此任务总时间的50%)1.实现服务器的通讯模块2.实现服务器的I/O模块3.测试I/O模块步骤C:(占此任务总时间的40%)1.实现柜台终端程序的模型部分,与服务器通讯,从而能够提供真实数据2.集成测试柜台终端与服务器的通讯(包括通讯模块和I/O模块),以及业务功能的实现是否符合设计要求16Task2:实现柜台终端的通讯步骤A:(占此任务总时间的10%)1.在本组内讨论,明确理解ATM终端的页面流程图2.设计ATM终端程序的视图界面和控制器,界面应尽量美观3.设计ATM终端程序的模型部分,即模型应提供的方法,如何与服务器交换数据步骤B:(占此任务总时间的60%)1.实现上一步设计的视图界面2.实现相应的控制器程序步骤C:(占此任务总时间的30%)1.为了对视图和控制器进行测试,暂时编写一个“伪”模型类。2.将MVC各部分集成在一起进行测试17Task3:实现ATM终端的V和C步骤A:(占此任务总时间的10%)1.在本组内讨论,设计ATM终端与服务器之间的通讯协议步骤B:(占此任务总时间的40%)1.在服务器的通讯模块中增加对步骤A所设计协议的支持步骤C:(占此任务总时间的50%)1.实现ATM终端程序的模型部分,与服务器通讯,从而能够提供真实数据2.集成测试ATM终端与服务器的通讯,以及业务功能的实现是否符合设计要求3.对整个系统进行全面测试,保证全部业务功能正确执行。步骤D:(选做,如果时间允许的话)1.将服务器改造为多线程方式,以支持多个ATM和柜台同时工作。提示:服务器每创建一个Socket连接(执行accpet方法),就创建一个对应线程;使该线程专门为该Socket连接提供数据通讯处理。2.在柜台终端程序中增加列出所账户的功能。18Task4:实现ATM终端的通讯1.每个组的项目必须完成集成,实现业务功能。业务功能须完善,不能有非预期的异常页面出现。1.1柜台终端程序首页面(银行人员登录)应提供工号、密码的输入框和提交按钮,用户输入正确的工号和密码方能登录成功;如果工号或密码输入不正确要提示错误信息。登录成功后转移至主界面,主界面应提供“创建账户”的途径,如菜单或按钮。在“创建账户”界面中可输入账户的所有相关信息,提交后应能正常创建。创建时,应检查新账号是否与系统中现有账号有重复的情况。19评分标准1.2ATM终端程序首页面(客户登录应)应提供账号、密码的输入框和提交按钮,用户输入正确的账号和密码方能登录成功;如果输入不正确要提示错误信息。登录成功后转移至主界面,主界面应提供存款、取款和查询余额的途径,如菜单或按钮。存款、取款和查询余额的操作均有相应的界面,并能够正确处理用户的操作。在取款时,如果取款额超过账户余额,应给出相应提示。从存款、取款和查询余额等操作界面均能回到主界面以进行其他操作。在进行存款、取款操作后,账户的余额均应与之相匹配。1.3服务器程序服务器与柜台终端和ATM终端均应实现正常通讯。(如果服务器未实现多线程方式,只能在同一时刻有一个终端与之通讯,这视为正常)请小组人员描述账户在服务器上的存储机制,并据此检查在创建账户成功后,信息是否记录文件中。20评分标准2.程序结构需符合设计要求(组件图)2.1按照组件图明确划分MVC架构的各参与方2.2合理规划包结构21评分标准3.在以上的功能全部实现后按照下面的标准给出提升分数3.1代码书写规范须遵从Java语言编码约定。代码不得存在无规则的空行,比如说连续多个空行。3.2良好的编码风格类和方法的命名要明确,最好是见名知意。代码结构清晰,一目了然。注意代码的缩进(包括界面代码),给人视觉上的享受。22评分标准4.按照以下的标准给出附加分数4.1界面美观漂亮,给人视觉上的享受。4.2在完成以上业务功能后又丰富、完善了系统的。23评分标准教师(或项目经理)对学员进行开发小组划分,尽量保证各组间及组内学员能力的平衡。在布置项目后:各小组首先讨论项目需求,务必做到理解,尤其是组件图及页面流程。然后将各小组长召集一起,逐一要求各组长讲解组件图,并由教师(或项目经理)把关,以检验对任务的理解是否正确。各组划分至成员的开发任务计划应提交给教师(或项目经理)进行审核,以确定划分的合理性和成员工作量的平衡。在开发过程中,教师(或项目经理)应对遇有疑难问题的小组进行必要的辅导;应按照项目进度对各组进行阶段性检查,并给予必要的帮助。24对项目质量的控制25项目评审表26评审表说明栏目分数说明成员成员姓名主要任务简要列出该成员所完成的工作业务功能正常25这两栏均为评分栏,对应评分标准第1条。“异常”是指对于用户的错误操作或输入的错误信息是否进行有效处理。异常25程序结构包10这两栏均为评分栏,对应评分标准第2条。组件10页面不使用编码风格命名10这两栏均为评分栏,对应评分标准第3条。结构1027评审表说明栏目分数说明团队共20评分栏,指每位组员所得的团队合作分。由组员商定每位成员应得到多少分,但分数总和不超过本评分栏的数值。以30分/3人小组为例,通常情况为每个成员获得10分(平均分),但可能组员A对团队贡献较大,在开发过程中经常帮助其他组员,则组员A得14分,其他两名组员分别得8分。本项分数的目的是鼓励团队合作精神。个人总分个人在此项目上的最终成绩。本栏的计算方法:前面各项分数的总和。附加10评分栏,对应评分标准第4条。本栏分数不计入个人成绩。团队总分不计入个人成绩。作为优秀项目评比依据。本栏的计算方法:个人总分平均值+附加分每次项目评审结束后,可评出前三名的开发小组,给予适当奖励。将获得第一名的项目运行展示,并分析项目主要代码,指出优点及不足,以使全班学员共同提高。28项目总结
本文标题:银行ATM账户管理
链接地址:https://www.777doc.com/doc-3251698 .html