-3-1
在昨天的基础上,我们进行了再次讨论,数据库的设计最终确定下来。接下来就开始了编码,建立整个系统的框架由我负责,按照开发的流程,首先根据数据表建立实体层,也就是javabean,然后写数据库连接,数据访问层,业务逻辑层,控制层,整个框架搭建好之后,有利用老师讲的junit,写了测试程序,对所写的程序进行初步测试,数据库连接的测试顺利通过。数据库连通之后,下一步工作就是用户的分角色登陆,事先在数据库中插入了一些用户信息,将角色分为五类,然后在数据访问层建立一个dao类,创建函数用于从数据库中读取用户的角色id,然后在业务逻辑层判断dao层函数返回的值是否为空,如果不为空则在控制层的servlet类中就可以进行判断分角色登陆;若dao层函数返回的值为空,则说明该用户名与密码有误,当用户点击登陆按钮时将转到错误提示的页面。当这些全部完成之后,我们开始进行测试,但测试全未能如愿以偿。调试、检查了很久全未能发现错在哪里。今天没能顺利完成计划好的任务,深受打击啊,不过没关系,遇到问题,解决问题,也许会学到跟多知识。
-3-2
上午接着做昨天未能完成的任务,调试了两个多小时还是未能所获,只有请教老师了,看着老师在debug模式下很快就找了出错的地方,原来在dao层写sql语句时后面多了一个逗号,看来编程也是需要非常的细心。总结了失败的原因,记住教训,一定不能再出现这样的低级错误,而导致降低效率。这一步总算通过之后,我们开始着手不同角色所拥有的操作权限,比如普通员工只有报销申请的权限(新增报销单、删除、修改、提交、查看等功能),部门经理不仅有报销申请的权限,还有审核部门员工提交的报销申请单和预算申请、部门项目管理等权限,每一种角色登陆到操作界面的功能按钮不尽相同,所以当普通角色登陆后,审核、预算等按钮必须隐藏或者不可用。但是我们之前的界面里的按钮实现隐藏与子菜单都很难实现,所以不得不考虑改变策略。之后经过讨论我们将整个页面布局改变为框架模式,左边显示树形菜单,top'frame显示logo,mainframe显示主显示页面,bottomframe显示版权信息以及系统时间。这样我们貌似又回到了原型设计,,还是没有项目经验,最初就没有考虑清除。
-3-3
涉及到的jsp界面还比较多,每一个页面都是用html一句一句写出来,再加上css样式,所以半天的时间也没有完成,今天上午继续完成。当所有的界面完成之后,开始了第一个功能模块的编码。当用户登陆到自己的主页时,显示的都是欢迎界面,当用户点击报销单管理时,必须根据用户编号动态的从数据库中提取其所有的报销单信息,然后显示在展示界面上,用户的编号的、是在用户登陆时将用户编号存储在session中,默认该用户登陆系统30分钟内没有操作的话,自动让该用户注销登陆。当点击报销单管理按钮时,将用户请求转到servlet类中进行后台处理,读取成功后,将这些信息传到用户的界面上,第一个原子功能实现后,我们更加有信心来完成其他模块的编码。原来一个真正的系统也应该是这样的原子操作组合而成的,从这一步的成功点燃了我们对编码的兴趣,不再畏惧和逃避。