米老师不止一遍的强调全局观,而自己却一直都做的不好,这次也是。不过虽然开头没做好,但结尾的时候还是总结一下吧。
用户的级别不同,权利范围就不同。在机房收费系统中有四类,上机学生,一般用户,操作员,管理员。其中上机的学生的级别是最低的,他只能上机。一般用户的权限就是相当于旧图书馆在各屋的值班老师,他只能查看学生的一些信息但没有修改的权利,唯一能修改的是自己账号的密码。操作员就是图书馆充值室的老师,他的权限就比值班老师的大一点。他不仅可以干值班老师能干的事,还主要负责有关钱的收取方面的事。这包括售卡(注册)和退卡(注销)。管理员的权限是最大的,这个系统的所有操作他都可以执行。在一般用户和操作员的基础上,他主要多了一个结账的功能,还是钱的问题。他相当于学校的财政老师了。他把钱的情况打印出来作为记录。此外他有任命和重新任命(删除和添加用户)的权利。
由于用户的权利范围不同,那么就要考虑权限的问题。在一进入主界面即上下机界面时权限就已经判定完了。说明权限的判断是在登录界面完成的,即在点击确定时就要判断用户的级别,这个过程要用到user这个表。
二、上下机
上下机的内容看似很多,但实际就一个消费金额的计算问题。在上机时,主要考虑三个问题:1.有无此账号——是否注册了2.此账号是否可以使用——账号是否被注销;是否正在上机3.余额是否可以满足上机。考虑这三个方面就要用到BasicData表,student表和online表。通过这三个表就可以判定是否可以上机了。在下机时就要考虑消费金额的问题:消费金额=消费单价*消费时间。(所以在上下机界面我添加了一项消费单价,既是方面上机人了解上机单价又能让自己的思路更清晰。)此外就是上机人数的统计,这个就是查上机表online中的记录条数。
三、结账
在开始时,我认为结账就是结操作员的,但经师傅指导才明白管理员既然有这个系统的所有操作权利,那他就也能售卡和注销,那么结账的时候也应该有管理员的。所以在这一个部分做了改进,把“操作员”改为了“操作人”,即把管理员也添加了进去。在结账的这部分,有购卡,充值,退卡,汇总这四大块。其中购卡就是指student表,充值指的是recharge表,退卡就是CancelCard表。有一点需要注意的是,注册也属于充值的一种,所以在注册的那个部分我把注册的信息同时添加到了充值表里。这样在结账这部分的时候就比较清晰了。结账部分主要是通过选择的操作人从而来查找注册(student),充值(recharge)和退卡(CancelCard)表中有关这个操作人的“未结账”的记录,将这些记录查找显示出来,算钱的部分就是一个加减法。应收钱=充值钱的和-退卡钱的和。总售卡张数的计算同理。在结账之后就将“未结账”修改为结账即可。
机房收费系统中最主要的就是这三部分。把这三块儿内容的思路理好就清楚多了。其他的想查询类的都是从数据库表中调取信息的过程。最后想说:有时候方向比行动重要@我自己