刚从连续两个月的年底统计加班中解脱出来,有了部分自己能安排的空余时间,偶然发现单位负责工资的同事一直使用EXCEL计算工资,导致效率不高,加上自己今年需要讲Python基础这门课,决定尝试用Python开发一个工资管理系统,如果能够成功完成既能帮同事提高工作效率(加快自己收到工资的速度好补贴家用),也能熟悉一下PYTHON语言,在此对开发历险过程做一个记录(没错,是历险,对Python开发基本是零经验,可以预料到后续的波折重重)。
初步计划如下:
一、使用Mysql作为数据库。
虽然系统体量小,使用人员少,但是还是决定用一个相对正式通用一点的数据库,万一以后有什么脑回路清奇的设计导致数据量突然爆炸不至于措手不及。
二、使用Python操作Mysql数据库全部操作
既然目的是熟悉Python就要把大部分操作都放在Python中进行,找一个Python中能用的工具直接操作Mysql进行表格创建及一系列的增、删、改、查工作,先初步设计出来再在开发过程中慢慢优化表格。
三、实现单人工资后台计算
先捋清工资计算逻辑和算法,在后台实现单人工资的计算,用Mysql Workbench查看计算结果。
四、完成单人工资交互界面设计
用Python的库初步完成单人工资数据录入界面设计,后续彻底完成后再做更改。
五、完成多人工资交互界面设计
用Python的库初步完成多人工资数据录入界面,批量计算工资。
六、完成EXCEL导入导出功能
增加批量导入和批量导出计算结果功能,至此系统能初步使用(强行使用基本功能)。
七、完成各类常用报表的展示功能
先设计出结果展示报表(增删改查等功能)后逐步增加各类常用工资报表的展示,并完成各类报表的EXCEL导入功能。
八、界面优化、速度优化
如果还能坚持到这个时候,对按钮界面进行一定的更换美化,对数据库后台计算缓慢的部分进行优化,给服务器(个人台式机)减减负。
九、增加用户角色权限等功能
基本功能实现了,再增加一些用户角色和权限的功能,万一以后管工资的加人呢。
十、增加日志功能
前面既然优化过系统了,再给硬盘增加点负担,对系统所有的进行过的增删改查和使用人员日期进行记录,有空再尝试增加数据回退功能。
十一、测试
正向流程测试应该在开发中已经进行过了,有时间的情况下再进行一下单元测试、集成测试、系统测试、验收测试、回归测试。
这就是我对这个系统开发的初步计划,因为是处于个人兴趣的佛系开发,开发周期待定,后续过程和其间遇到的问题将缓慢更新(捂嘴笑)。