预算实习日记
XX-2-25
这次实习所需的基本知识基本上都介绍过了,今天正式转入开发阶段。这次实习做的是一个费用管理系统,上午开始讨论这个系统需求分析,包括实现项目预算,费用报销,人事管理和一些统计的功能,老师把整个系统的框架给我们做了一些大体的讲解,希望我们能在接下来的几天里去多思考,深化需求分析,细化功能设计。系统有组织结构维护,费用项目维护,审批流程维护,报销明细模块,以及人员管理和一些统计的功能。每一个模块都是对系统功能模块的调整与维护。
人员管理有添加员工的功能,可以对添加的人员进行修改和删除,并给新增的员工分配权限。
ø 费用项目维护模块:可以进行费用项目的添加和提交。
ø 报销模块可以对报销的项目在未提交之前进行删除和修改。
ø 统计模块主要是统计员工提交的报销单预算单,及每个部门的项目信息和员工信息等。
所有这些操作都是直接对数据库直接进行操作。整个系统都是分角色登陆,每一个角色所拥有的权限都不完全相同,登陆进去的菜单栏都有所不同,所以每个员工都应该有一个角色,即有哪些操作权限。所有的功能和流程理清楚之后,就要开始原型设计了。
XX-2-26
经过对需求分析的进一步理解,接下来我们开始这个项目的原型设计。我们所开发的费用管理系统主要包括费用报销、项目预算管理、员工管理、公司的项目信息维护及管理、财务处项目信息的统计功能。围绕这几个功能模块,我们逐个对其功能进行细节设计,比如分不同角色登陆系统,登陆界面都是通用的,每个用户都用自己的编号进行登陆,系统会根据用户的编号进行匹配查找,找到角色id之后进入对应的管理界面。进入管理界面之后,就可以新增费用报销,可以对添加的费用报销单在未提交之前进行修改、删除操作,确定之后就可以提交,系统会根据session中保存的该用户的编号查找到所在的部门,然后把用户提交的申请表保存到该部门经理处,当该部门经理登陆时就可以看到部门员工提交的申请表单,然后进行审批等操作。所有的逻辑统一之后,我们分工开始做jsp界面和之间的逻辑跳转。经过一天的时间系统总算有个雏形了,。设计完大体的功能框架后,我们与老师一起开了一个小组讨论会,我们向老师说明了我们的想法及大体的开发方向,老师也想我们提出了一些建议,经过一番热烈的争论,我们对自己的模型做了进一步的改动,功能设计也得到进一步完善。功能框架的设计是整个开发阶段十分重要的工作,指导小组进行后面具体的开发。功能设计的准确和完善也能够帮助我们在以后的开发中少走弯路,达到事半功倍的效果。原型设计的完成是我们小组成员齐心协力共同完成的,这也让我们感受到了团队工作的重要性和强大力量。
XX-2-28 星期一
今天,我们的主要工作是根据昨天的原型设计,做出功能展示页面,并实现基本的跳转。由于这些只是一个逻辑的跳转,没有真正和数据库交互,因此几个超链接就可以把所有界面联系到一块,再加上一些javascript的提示框,原型帮助我们更深入的理解了这个系统的流程及功能。下午我们就开始了数据库建表、物理模型的设计以及概念设计。根据需求分析及原型,我们很快就确定了系统需要的数据表,包括用户的基本信息、用户的角色id、报销申请表单、预算申请表单、部门项目信息等,以及每个表里面所需的字段,通过在数据库中建表,sql语句的用法更加熟练。根据这些数据表,物理模型也很快就完成了。因为数据库是整个系统的关键所在,所有前台的操作都要和数据库交互,所以它设计的好坏直接影响到之后程序的编写。接下来我们继续讨论我们建立的表的冗余性以及合理性等,在老师的指导下,我们对部分表进行了相应的修改。
XX-3-1
在昨天的基础上,我们进行了再次讨论,数据库的设计最终确定下来。接下来就开始了编码,建立整个系统的框架由我负责,按照开发的流程,首先根据数据表建立实体层,也就是javabean,然后写数据库连接,数据访问层,业务逻辑层,控制层,整个框架搭建好之后,有利用老师讲的junit,写了测试程序,对所写的程序进行初步测试,数据库连接的测试顺利通过。数据库连通之后,下一步工作就是用户的分角色登陆,事先在数据库中插入了一些用户信息,将角色分为五类,然后在数据访问层建立一个dao类,创建函数用于从数据库中读取用户的角色id,然后在业务逻辑层判断dao层函数返回的值是否为空,如果不为空则在控制层的servlet类中就可以进行判断分角色登陆;若dao层函数返回的值为空,则说明该用户名与密码有误,当用户点击登陆按钮时将转到错误提示的页面。当这些全部完成之后,我们开始进行测试,但测试全未能如愿以偿。调试、检查了很久全未能发现错在哪里。今天没能顺利完成计划好的任务,深受打击啊,不过没关系,遇到问题,解决问题,也许会学到跟多知识。
XX-3-2
上午接着做昨天未能完成的任务,调试了两个多小时还是未能所获,只有请教老师了,看着老师在debug模式下很快就找了出错的地方,原来在dao层写sql语句时后面多了一个逗号,看来编程也是需要非常的细心。总结了失败的原因,记住教训,一定不能再出现这样的低级错误,而导致降低效率。这一步总算通过之后,我们开始着手不同角色所拥有的操作权限,比如普通员工只有报销申请的权限(新增报销单、删除、修改、提交、查看等功能),部门经理不仅有报销申请的权限,还有审核部门员工提交的报销申请单和预算申请、部门项目管理等权限,每一种角色登陆到操作界面的功能按钮不尽相同,所以当普通角色登陆后,审核、预算等按钮必须隐藏或者不可用。但是我们之前的界面里的按钮实现隐藏与子菜单都很难实现,所以不得不考虑改变策略。之后经过讨论我们将整个页面布局改变为框架模式,左边显示树形菜单,top'frame显示logo,mainframe显示主显示页面,bottomframe显示版权信息以及系统时间。这样我们貌似又回到了原型设计,,还是没有项目经验,最初就没有考虑清除。
XX-3-3
涉及到的jsp界面还比较多,每一个页面都是用html一句一句写出来,再加上css样式,所以半天的时间也没有完成,今天上午继续完成。当所有的界面完成之后,开始了第一个功能模块的编码。当用户登陆到自己的主页时,显示的都是欢迎界面,当用户点击报销单管理时,必须根据用户编号动态的从数据库中提取其所有的报销单信息,然后显示在展示界面上,用户的编号的、是在用户登陆时将用户编号存储在session中,默认该用户登陆系统30分钟内没有操作的话,自动让该用户注销登陆。当点击报销单管理按钮时,将用户请求转到servlet类中进行后台处理,读取成功后,将这些信息传到用户的界面上,第一个原子功能实现后,我们更加有信心来完成其他模块的编码。原来一个真正的系统也应该是这样的原子操作组合而成的,从这一步的成功点燃了我们对编码的兴趣,不再畏惧和逃避。
预算实习日记相关文章:
预算实习日记
下一篇:教科研第二学期的工作计划