2。2 需求模块
本程序的需求共分为10个功能模块,如表2-1所示。其中请假管理和报销管理的功能类似,部门管理,员工管理,账户管理和角色管理的功能大致上一样,但是部门和角色的删除有些许区别,账户的新增和修改也有特别的注意点。
表2-1功能模块表
功能代码 功能名称 功能简述
0001 登录 提供登录功能,验证用户密码以及验证码
0002 部门管理 实现对于部门的增删改查。
0003 员工管理 实现对于员工的增删改查。
0004 请假管理 实现对于请假申请的增删改查以及审核。
0005 报销管理 实现对于报销申请的增删改查以及审核。
0006 密码管理 实现对于密码的修改。
0007 系统退出 退出系统,返回登录页面。
0008 账户管理 实现对于账户的增删改查。
0009 角色管理 实现对于角色的增删改查。
0010 权限管理 实现对于角色以及响应权限的修改。
2。3 整体设计思路
本系统的需求并不多,且本系统的数据量并不算大,所以在数据库的挑选上我决定使用mysql数据库,此数据库是多线程轻量级的数据库,对系统资源的占用并不算大,且支持多用户,支持大多数操作系统。
对于开发语言,我选用的是java语言,java可以做到一处编译,处处执行,不受平台的限制,是一种跨平台的面向对象的开发语言。并且java语言的可靠性和安全性都有一定的保障,是强类型语言。并且java提供多线程功能。
对于开发架构的选用,我最终选用了mvc三层架构,model负责业务逻辑处理,本程序中包含dao层(数据库代码),service层(业务层),entity层(实体类层)。view负责视图,本程序中为webroot文件夹中的内容,包含jsp页面,css样式等。controller负责前后台的交互,本程序中包含action层(控制器)。使用mvc模型可以提高代码的开发效率,因为代码的分层,每个人只需要关注某一方面的开发。还可以增加代码的拓展性和可维护性同时降低耦合度。我并没有使用任何的框架,比如ssh或者ssm,我觉得在此阶段使用底层的东西对我的提高更大。
在确定数据库,开发语言和框架之后,便可以进行系统的开发。在开发前我规划了开发的计划并顺利进行了。
1)我进行了数据库的建库与建表,以及一些基础数据的添加,比如配置表信息,管理员账户等。
2)对于框架进行搭建,写一个测试功能,从dao层到service层到action层到jsp页面的流程走通,即代表框架搭建成功,此时会把需要用到的工具类一并建立好。
3)进行实体类的编写dao层的代码的开发,将与数据库交互的基本方法写完成。
4)进行service的的书写,对于一些自己想到的方法进行书写,包含很多业务逻辑。
5)对于jsp页面与action层同时开发,因为action层负责与jsp页面的交互,二者息息相关,共同开发便于测试。