您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > JAVA课程设计网吧管理系统
Java课程设计指导书(学生版初稿)第一章1234网吧计费管理系统1.1背景介绍1.1.1业务背景1.1.2技术背景1.2需求分析1.2.1功能需求分析1.2.2业务对象分析1.2.3验收测试要求1.3系统设计1.3.1总体设计1.3.2详细设计1.4系统实现1.5小结1.6展望第一章1234网吧计费管理系统1.1背景介绍1.1.1业务背景1234网吧,是一个小型网吧,以前是人工记帐,现需要开发一个简单的网吧计费管理系统。原人工管理的主要过程如下:客户在门口服务台,出示上机卡,若是新客户则先发新卡;管理员先查询是否有空机器,若有则根据上机卡号查到该卡对应的记录(账簿),若有余额(余额5元),则分配一个空闲的机器号给客户,客户根据机器号对号入座,管理员记下客户卡号、上机机器号、上机时间。客户下机要到门口的服务台,请求下机,管理员根据当前时间、上机时间及费率计算出本次上机费用,并记录,同时将费用从卡余额中扣除,若费用不够则需充值。原手工系统主要有如下缺点:1手工记帐,管理员工作量大,且易出错;2超时超费使用不能及时发现。因此需要开发一个简易计费管理软件,取代人工记帐方式,由软件统一管理记录上下机、计费、上机卡、机器情况,提供简单统计功能,超时超费提醒功能等。1.1.2技术背景本系统要求使用java技术开发,使用数据库(如MySQL)保存数据,集成开发环境可使用支持可视化GUI界面设计的主流工具(如eclipse)。开发者应有java程序设计语言、文件使用、JDBC存取数据库、使用一种集成开发工具的基本知识和技能。系统采用两层C/S体系结构,C端负责通过GUI与管理员交互、处理业务逻辑及存取数据库,S端主要是数据库系统。系统分析设计主要采用面向对象的分析设计方法。1.2需求分析1.2.1功能需求分析系统需求分析的主要任务是从用户角度考察系统应具有哪些功能及非功能性需求,对于网吧计费管理系统,用户主要是指系统管理员,系统的主要功能是:登录、上机、下机、身份证管理(刷身份证、删身份证、充值、查询)、机器管理(添加机器、删除机器、查询状态、修改状态),统计功能(日、月费用统计),口令管理(添加用户、删除用户、修改口令),参数设置(时段费率),使用帮助。主要使用流程是:管理员登录,根据客户请求上机,根据客户请求下机。主要功能的用例(usecase)描述如下:一.上机1管理员输入空闲机器号,上网人输入口令、卡号,请求上机。2系统验证卡号,检查卡中余额,卡状态3系统获取当前系统时间作为上机开始时间4系统修改该机器的使用标志为“在用”,卡标志为“在用”。5系统记录上机信息(卡号、机器号、上机时间)6系统提示上机成功若1中无空闲机器又请求上机的,系统提示“没用空闲机器”,2中卡验证未通过,提示“无此卡号”,余额不足,提示“余额不足”,卡状态为“在用”,则提示“不能一卡多用”。二.下机1管理员选择被使用的机器号,请求下机2系统获取系统当前时间作为下机时间;3系统计算费用;4系统显示应缴费用5系统记录下机时间和此次费用;6系统从卡中扣费,修改卡状态为“空闲”;7系统修改该机器的状态为“空闲”;8系统显示本次上机记录信息,提示下机成功三.登录1管理员输入用户名和密码,请求进入系统2系统验证用户名和密码3系统显示主界面若一次验证不通过,则提示再输入一次,仍不通过则系统退出。四.卡维护卡有三种状态:停用、空闲、在用。发新卡:1管理员输入卡号(保证卡号唯一)2管理员输入卡初始金额3上网人输入用户名、口令4管理员请求添加新卡5系统保存卡号、金额、用户名和密码,状态为“空闲”6系统提示添卡成功,显示卡号及金额,以便核对。7管理员将系统生成的有卡号、用户名的纸卡给上网人。充值:1管理员输入卡号2系统显示该卡信息(卡号、用户名、余额、状态)3管理员核对后,输入充值金额4系统计算并保存该卡总金额5系统显示充值后的卡信息(卡号、用户名、余额、状态)。查询卡信息:1管理员输入卡号或请求察看所有卡信息2系统查询卡信息(卡号、用户名、余额)并显示删除卡:1管理员输入卡号2系统查询卡余额及状态3若余额已结清且状态为“空闲”,则将该卡信息删除4系统提示删除成功若有余额或“在用”则不能删除五.机器维护机器有三种状态:停用、空闲、在用。添加机器:1管理员输入机器号,请求添加2系统验证机器号是否重复3系统添加机器记录信息(机器号、状态为“空闲”)4系统提示添加成功删除机器:1管理员输入机器号,请求删除2系统删除相应机器信息3系统提示删除成功查询机器状态:1管理员输入机器号或请求察看所有机器信息2系统查询并显示机器信息(机器号和状态)并显示六.管理员口令管理添加用户1管理员输入用户名、密码和确认密码,请求添加2系统验证用户是否是新用户,两次输入的密码是否相同3系统添加用户、密码信息4系统提示添加成功删除用户1管理员输入用户名、密码2系统验证用户名、密码是否正确3系统删除用户名、密码记录4系统提示删除成功修改密码1管理员输入用户名、密码,请求修改密码2系统验证用户名、密码是否正确3管理员输入新密码、及确认密码4系统保存新密码5系统提示修改成功七.统计管理1管理员输入起始时间(年、月、日),结束时间,请求按日、月、年汇总2系统查询上网记录,计算、统计出时间段的总费用、人次、总上机时间等信息。3系统显示上述信息八.参数管理时段费率设置:0系统显示当前设置1管理员设置时间段(时、分)及对应的费率,请求保存2系统保存设置3系统提示保存成功超时报警定时器间隔设置九.超时超费报警1设置定时器为周期触发方式,触发间隔由参数获得,默认为30分钟2定时器到时,系统查询当前正在上机的记录,计算其上机时间及费用,计算其卡中余额是否低于最低费用。3系统提示已超费卡号、机器号,及超的费用本系统除了功能性需求,还有易用性、可靠性、安全性等要求,可以在实现上述功能性需求的基础上,进一步实现完善非功能性要求。1.2.2业务对象分析根据上面的主要用例描述,可以分析出系统的主要业务对象,它是设计阶段核心类图的基础(不一定一一对应),这些对象必须实际存在,其行为和属性应与问题领域相关:1上网卡:主要维护上网卡的相关信息。卡号、密码、余额、卡用户名、卡状态(在用、空闲、停用)2机器:主要维护上网吧计算机的相关信息。机器号、使用标志(在用、停用、空闲)、备注3费用记录:记录每次上机的信息。记录编号、卡号、机器号、开始上机时间,下机时间、费用4费率记录:起始时间、终止时间,费率5管理员:利用1—4完成各种业务操作。1.2.3验收测试要求用户要求开发产品,产品开发完成后,需要交付用户验收,验收要求常常是合同中的重要组成部分,这是一个必经的环节,主要思路是按照用户使用的过程测试系统,越频繁使用的功能越要多测试。本系统功能性需求验收测试的基本要求如下:前置条件:1除口令表有初始用户名和密码外,各库表为空。2程序安装配置正确,能正常启动运行。一.初始化数据1启动程序,进入“卡维护”,选“发新卡”,输入一条数据记录,退出,进入“信息浏览”,查看记录是否已被正确加入;退出“信息浏览”,再进入“发新卡”,连续发3张卡,其中有张卡余额为0;再进入“信息浏览”,查看记录是否已被正确加入。2同理按1,添加机器。3进入“费率维护”,设置费率。二.功能测试1上下机测试。进入“上机”,观察上机界面,有无可用机器,按说明操作上机,连续上机3次,第一次正确输入,第二次输入不存在的卡号,第三次输入错误口令;进入“下机”界面,看有无正确的上机,连续下机两次。观察输出信息界面,看内容是否正确(金额、卡号,时间,费用)。已下机器是否已被同步从上机下拉表中清除。再进入“上机”,比对可选空闲机器是否正确,输入已上机用户的卡号,观察结果;输入卡金额不足的卡号,观察结果;不输入任何值,直接按确认的结果。2统计测试,进入“统计”功能,按日,月,年查询统计,与库中实际数据比对,不同日、月、年分别查2次3进入“卡维护”,进入“卡充值“,输入余额不足卡号,给卡充值,进入“信息浏览”,查看卡充值是否正确,并以此卡号上机;再进入“卡维护”的“信息浏览”,查看记录;然后选“删除卡”,连续删2张卡,应不能删除在线卡,并能标识出卡余额,以便清帐;进入“信息浏览”,查看记录是否已被正确删除。正在上机的不能被删除。选“修改密码”,输入正确的用户名、口令,修改成新口令;进入“信息浏览”,查看口令是否已更改;进入“上机”,以新口令上机。4同3测试“机器维护”中的删除机器功能,应不能删除在线机器5测试“费率维护”,退出程序,重启动,进入“费率维护”,修改费率,上下机,观察费用计算结果。6测试超时报警功能:发一张新卡,初始额刚达到最低标准,以此卡上机,为缩短超时等待时间,可设置定时器间隔为1分钟,等待2分钟,看系统是否能正确报警。7测试帮助功能。按照帮助说明使用系统,验证帮助说明的正确性。1.3系统设计1.3.1总体设计一.系统体系结构一般要确定系统的体系结构,主要模块,系统运行环境(如操作系统、数据库),开发平台及语言。本系统主要运行在windows系列平台上,数据库使用ACCESS,使用eclipse开发系统。采用两层C/S体系结构。系统体系结构图如下图所示:图1系统体系结构客户端分3层,图形界面层(采用java的SWING设计)负责与用户交互,业务逻辑层则根据用户的请求执行各种功能(如上、下机等),数据访问层主要根据业务逻辑层的请求通过JDBC/SQL存取数据库。数据库使用ACCESS,可根据情况使用其他数据库(如SQLServer),客户端基本不做修改,仅有的少量修改也只在数据访问层。客户端与服务端在物理上可以运行在一台机器上,也可以分别运行在不同机器上。二.系统功能模块及主要类图形界面SWING业务逻辑数据访问(JDBC)数据库ACCESSSQL客户端服务端系统的主要功能模块如图2所示:图2系统模块图可据此设计菜单,划分模块。系统主要类图如下:主模块登录上机下机帮助卡维护发卡充值查询删除卡机器维护添加机器删除机器查询口令维护添加用户‘更改口令统计参数维护删除用户图3总类图的画法基本遵循视图层、业务逻辑层、数据模型及数据库访问层的自上而下的顺序,其中视图层中的视图因为较多未画出,主要的业务逻辑控制类是BusinessManager,用户的上下机请求,通过界面的事件机制,在事件处理程序中会调用BusinessManager中的方法,然后再调用xDAO类方法,在xDAO类中一般先通过DBConnection获取连接,再通过JDBC/SQL访问数据库。Card\Computer\Record\Manager类是“值对象”,主要是存放相应的属性,方法也是setX\getX类方法,“值对象”常作为参数在各种方法中传递。三.经验共享1客户端基本采用三层结构(视图View、控制Controller、模型Mode),层与层间耦合性较小,提高了整体的可扩展性、可重用及抗变动能力。缺点是要求预先设计好,对设计水平要求高,不过一旦形成模式,养成习惯,能“照葫芦画瓢”,也是提高设计水平的捷径。2使用xDAO类将业务逻辑和数据库访问隔离,只要xDAO对上提供的接口不变,以后数据库存取代码发生改变也不会影响上层代码(如业务逻辑层)。接口中的参数主要是“值对象”,这样即使Card\Computer\Record\Manager类中的属性发生改变,由于“值对象”的封装,对接口的影响也不大,缺点是如果“值对象”本身很大,而又只用到其中很少的属性,则对性能和内存浪费较大。与此对应,比较一般的设计是在事件处理代码中就实现业务逻辑(如验证、计算、上下机)、获取数据库连接并通过JDBC访问数据库,这样做的好处是实现较容易、符合一般过程性思维(常用于初始的或原型系统的开发中),缺点是代码一旦需要修改,则改动较多、且容易出错,代码重用性差。3使用DBConnection类统一完成连接的获取和释放,好处是连接部分代码可重复使用,如果连接参数(如连到不同的数据库)改动,只需更改DBConnection类中的相关参数属性(当然更好的
本文标题:JAVA课程设计网吧管理系统
链接地址:https://www.777doc.com/doc-7314384 .html