昨天晚上找了崔成龙帮忙把新写完的机房收费系统测试了一遍.因为有第一次的经验,这次比上次错误少多了.不过还是测出了一些问题.
1、学生基本信息维护功能中,点击DataGridView列标题可以排序,导致获取行信息不对称。 解决:搜索MSDN找到DataGridView,在它的事件说明中,发现列标题的单击事件,可以在这个事件中处理信息不对称的 问题。 2、基本数据合理性判断,例如最小充值金额不能大于最大充值金额,不能小于0,准备时间不能大于单位计费时间等等 解决:根据基本常识,在相应的方法中加入判断即可。 3、查询学生信息,缺少一个查不到信息的判断,否则导致相应的更新信息文本框获取出错 解决:加上判断即可 4、用户信息管理,采用直接通过DataGridView更新数据库中的数据,用户级别缺少合法性判断。导致更改用户级别,重新登陆出问题。其他列如果数据不合法,则弹出系统默认错误信息,比较唬人。 解决:尝试使这一列变成下拉框,只准选,不准输入,没有成功,暂时把这一列设为只读。重写DataError事件,写自己的数据不合法提示信息。 5、DataGridView表格末尾有空行,如果选中空行,点强制下机,没有意义。 解决:把DataGridView的属性允许添加新行设为否 6、在XP和Win7上测试,发现日期格式不兼容,同样用“/”format以后,一个存入数据库分隔符是“-”,一个是“/” 解决:统一使用“-”format 7、打包时,没有将.NET环境打进去,导致安装时提示下载.net framework安装,浪费时间。 解决:重新打包,在部署文件-属性-系统必备中,加入本机环境。 还有一些细节问题都已经解决:8、报表加一个刷新,因为可以获取最新结账信息9、结账表格的字体10、查询正在上机有组合框控件没有判断空值11、DTP日期控件可以设定最小值和最大值,防止选择日期太离谱12、一些控件的大小,是否整齐,字体不合适等13、密码中防止输入空格 这次采用面向对象编写,基本上没有什么大的逻辑错误,因为调错相对前一次的设计要容易,整个架构在那里摆着,而且很熟悉,所以很少出现牵一发,动全身的情况。细节上的问题仍然不少,我觉得这个就是素质的问题,比方说判断数据输入合法性,这就是最基本的素质。顺手把注释加上,这些也是素质的体现。如果有一个良好的习惯,很多细节问题完全可以规避。