基于Python的勤工助学系统设计与实现
2016-11-02张彦强牛童侯晓丽
张彦强 牛童 侯晓丽
摘要:通过对高校勤工助学系统的分析研究,结合学院自身管理工作中的需求,提出了基于Python的勤工助学系统。该系统实现了勤工助学管理的自动化,提高了管理水平和工作效率。
关键词:勤工助学系统;管理;Python程序
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)18-0093-02
学生的勤工助学管理工作,长期以来大多依靠手工或者单机完成。随着社会的发展和科技的进步,高校的管理方式也发生相应的改革,原有的勤工助学管理方式的弊端不断凸显——效率低下,数据的准确性和完整性难以保证等[1]。因此,开发勤工助学系统是必要。
1 勤工助学系统需求分析
根据学校勤工助学管理办法,学生勤工助学管理工作涉及三方面角色:管理人员,教师和学生[2]。学生注册勤工助学系统,填写相关个人信息,如姓名,学号,所在班级等。注册完成之后学生通过助学系统这个平台找到合适的岗位,进行申请,申请通过即得到这个岗位。最后每次完成工作后,填写工作时长。教师发布需要勤工助学的岗位,包括岗位的地点,工作时间;审核学生提供的信息,确认无误后,提交管理人员。管理人员根据相关记录,进行结算。
通过上述管理过程描述,系统需要实现的基本功能如下:1)勤工助学学生信息管理,即学生基本信息管理。2)勤工助学岗位管理,即学校各部门助学岗位的信息管理。3)勤工助学工作管理,即学生工作时间管理。 4)学生薪资结算。
2 勤工助学系统设计与实现
2.1 功能模块设计
勤工助学系统分为三种角色:管理员、教师以及学生。不同的角色拥有不同的权限。
1)系统管理员具有最高权限。系统管理员可以查看所有用户的用户名、密码、工作时间、以及工资信息;具有修改、删除用户信息(工时相关信息除外)的权利;进行学生薪资结算。2)教师具有查看学生个人信息、学生工作信息;审批确认学生工作时间的权限。考虑到勤工助学系统公正性,教师不具有修改学生工作信息的权利。3)学生可以查看、修改自己的个人信息、工作时间。
2.2 系统设计
系统基于Python 3.4环境进行开发,Python语言具有开发快、语言简洁、代码简单等优势;并且可以通过模块对代码进行封装,从而实现在不同系统下运行。
系统在开发过程中,主要使用了Easygui和Py2exe两个模块。Python.easygui模块用来实现访问的图形界面化。Easygui提供的choicebox、buttonbox等模块可以将程序以图形界面的形式呈现出来。Py2exe模块在程序的封装上起到了至关重要的作用。该模块可以将Python引用的easygui等模块打包,和源代码进行绑定,最后形成常见的exe文件格式,实现程序的兼容性。同时,程序调用filebox模块来实现临时数据的存贮。
系统使用文本文件存放数据。其中,user、time、work三个文本,分别用于记录用户信息、工作时间、以及薪资。若程序第一次执行,系统会自动生成这三个文件。在保存过程中,程序会将用户信息以用户名、账号、密码的形式存入到文本文件中,统一的格式可以确保信息读取正确。
2.3 系统功能实现
[以下为系统主函数代码:
…
choices_want = ['新用户注册', '登录系统','使用系统', '退出系统']
while True:
if want == choices_want[0]:
Create_Newuser(career, file_name, file_user)
if want == choices_want[1]:
Now_user = Log_in(file_user)
if want == choices_want[2]:
Use_system(Now_user, file_name, file_time)
if want == choices_want[3]:
time_end = int(time.clock())
End_system(time_start, time_end, Now_user, file_time)
break
want = g.buttonbox(msg, title, choices_want, image = 'logo.gif')
… ]
其中,choices_want列表中存放程序中主要功能按钮。分别为注册、登录、使用和退出。当用户单击相应的按钮时,系统会分别调用Create_Newuser()、Log_in()、Use_system()、End_system()四个函数,整个过程嵌套在while循环中。另外,在用户成功登陆系统时,系统会调用time.clock()函数,根据本地时间开始计时;在用户退出时,系统再次调用time.clock()函数获取时间,并通过time_switch()函数自动计算用户使用系统的时间,并累加记录到time.txt文件中,方便工时和薪资的查看和计算。
4 结束语
信息化和智慧化是大势所趋,勤工助学系统的开发为高校助学管理工作提供了便利。一方面简化工作流程,提高管理效率;另一方面避免人工操作可能出现的失误,保证了数据的准确性。
参考文献:
[1]施阳,张海燕,戴德伟.基于Java EE的毕业设计管理系统设计与实现[J].软件导刊, 2015,14(2):86-88.
[2]宋华斌.勤工助学管理系统的设计与实现[J].科技资讯,2011(6):226-228.