20XX-2-25
这次实习所需的基本知识基本上都介绍过了,今天正式转入开发阶段。这次实习做的是一个费用管理系统,上午开始讨论这个系统需求分析,包括实现项目预算,费用报销,人事管理和一些统计的功能,老师把整个系统的框架给我们做了一些大体的讲解,希望我们能在接下来的几天里去多思考,深化需求分析,细化功能设计。系统有组织结构维护,费用项目维护,审批流程维护,报销明细模块,以及人员管理和一些统计的功能。每一个模块都是对系统功能模块的调整与维护。
人员管理有添加员工的功能,可以对添加的人员进行修改和删除,并给新增的员工分配权限。
Ø 费用项目维护模块:可以进行费用项目的添加和提交。
Ø 报销模块可以对报销的项目在未提交之前进行删除和修改。
Ø 统计模块主要是统计员工提交的报销单预算单,及每个部门的项目信息和员工信息等。
所有这些操作都是直接对数据库直接进行操作。整个系统都是分角色登陆,每一个角色所拥有的权限都不完全相同,登陆进去的菜单栏都有所不同,所以每个员工都应该有一个角色,即有哪些操作权限。所有的功能和流程理清楚之后,就要开始原型设计了。
20XX-2-26
经过对需求分析的进一步理解,接下来我们开始这个项目的原型设计。我们所开发的费用管理系统主要包括费用报销、项目预算管理、员工管理、公司的项目信息维护及管理、财务处项目信息的统计功能。围绕这几个功能模块,我们逐个对其功能进行细节设计,比如分不同角色登陆系统,登陆界面都是通用的,每个用户都用自己的编号进行登陆,系统会根据用户的编号进行匹配查找,找到角色ID之后进入对应的管理界面。进入管理界面之后,就可以新增费用报销,可以对添加的费用报销单在未提交之前进行修改、删除操作,确定之后就可以提交,系统会根据session中保存的该用户的编号查找到所在的部门,然后把用户提交的申请表保存到该部门经理处,当该部门经理登陆时就可以看到部门员工提交的申请表单,然后进行审批等操作。所有的逻辑统一之后,我们分工开始做JSP界面和之间的逻辑跳转。经过一天的时间系统总算有个雏形了,。设计完大体的功能框架后,我们与老师一起开了一个小组讨论会,我们向老师说明了我们的想法及大体的开发方向,老师也想我们提出了一些建议,经过一番热烈的争论,我们对自己的模型做了进一步的改动,功能设计也得到进一步完善。功能框架的设计是整个开发阶段十分重要的工作,指导小组进行后面具体的开发。功能设计的准确和完善也能够帮助我们在以后的开发中少走弯路,达到事半功倍的效果。原型设计的完成是我们小组成员齐心协力共同完成的,这也让我们感受到了团队工作的重要性和强大力量。
20XX-2-28 星期一
今天,我们的主要工作是根据昨天的原型设计,做出功能展示页面,并实现基本的跳转。由于这些只是一个逻辑的跳转,没有真正和数据库交互,因此几个超链接就可以把所有界面联系到一块,再加上一些javascript的提示框,原型帮助我们更深入的理解了这个系统的流程及功能。下午我们就开始了数据库建表、物理模型的设计以及概念设计。根据需求分析及原型,我们很快就确定了系统需要的数据表,包括用户的基本信息、用户的角色ID、报销申请表单、预算申请表单、部门项目信息等,以及每个表里面所需的字段,通过在数据库中建表,SQL语句的用法更加熟练。根据这些数据表,物理模型也很快就完成了。因为数据库是整个系统的关键所在,所有前台的操作都要和数据库交互,所以它设计的好坏直接影响到之后程序的编写。接下来我们继续讨论我们建立的表的冗余性以及合理性等,在老师的指导下,我们对部分表进行了相应的修改。
20XX-3-1
在昨天的基础上,我们进行了再次讨论,数据库的设计最终确定下来。接下来就开始了编码,建立整个系统的框架由我负责,按照开发的流程,首先根据数据表建立实体层,也就是javaBean,然后写数据库连接,数据访问层,业务逻辑层,控制层,整个框架搭建好之后,有利用老师讲的Junit,写了测试程序,对所写的程序进行初步测试,数据库连接的测试顺利通过。数据库连通之后,下一步工作就是用户的分角色登陆,事先在数据库中插入了一些用户信息,将角色分为五类,然后在数据访问层建立一个DAO类,创建函数用于从数据库中读取用户的角色ID,然后在业务逻辑层判断DAO层函数返回的值是否为空,如果不为空则在控制层的servlet类中就可以进行判断分角色登陆;若DAO层函数返回的值为空,则说明该用户名与密码有误,当用户点击登陆按钮时将转到错误提示的页面。当这些全部完成之后,我们开始进行测试,但测试全未能如愿以偿。调试、检查了很久全未能发现错在哪里。今天没能顺利完成计划好的任务,