一、项目介绍
教学楼日常管理系统是使用Python开发的一款管理系统,数据存储到MySQL数据库中,前台使用vue对界面进行设计和实现。本文先充分调查教学楼日常管理系统的需求分析,深入剖析系统应有的功能,并设计完善的数据库。利用成熟的开发技术完成编码工作,最后进行投入前的测试工作。最终,完成前端和后端的教学楼日常管理系统的功能,主要包括学生管理、教师管理、教学楼管理、教室管理、设备管理、设备巡检管理、通知管理、系统管理等,通过前后台实现数据的传递。
关键词:Python;Django;教学楼日常管理管理系统;MySQL
二、开发环境
开发语言:Python
python框架:django
软件版本:python3.7/python3.8
数据库:mysql 5.7或更高版本
数据库工具:Navicat11
开发软件:PyCharm/vs code
前端框架:vue.js
————————————————
三、功能介绍
本基于互联网的教学楼日常管理系统,围绕信息系统的典型功能展开。学生可选择对空余教室,指定教室,指定教师,指定课程中的一种进行查询。教师除学生的功能外,还有调课功能,发布通知功能。管理员除了学生与老师的功能外,还可以对学生和教师的信息进行增删改查功能,还需要数据统计功能,临时信息发布功能。
所以从用户角度,本系统包括系统管理员、老师和学生三种用户,下面对这三种用户进行介绍。
2.2.1 管理员用户需求分析
管理员具有系统最高权限,管理员登录系统主要完成的功能包括,学生管理、教师管理、教学楼管理、教室管理、设备管理、设备巡检管理、通知管理、系统管理。
其中管理员用户用例图如图2-1所示:
图2-1 管理员用户管理用例分析图
2.2.2 老师用户需求分析
老师用户登录系统后,查看个人信息,点击修改个人密码,教室管理、设备管理、教室预约管理、设备申请管理、调课管理、通知管理。
其中老师用户用例图如图2-2所示:
图2-2 教师用户管理用例分析图
2.2.3 学生用户需求分析
学生主要功能是教室查询、教室预约查询、调课查询、通知查看、个人中心。
其中学生用户用例图如图2-3所示:
图2-3 学生管理用例分析图
教学楼日常管理系统包括学生管理、教师管理、教学楼管理、教室管理、设备管理、设备巡检管理、通知管理、教室预约管理、设备申请管理、调课管理等。在用户角色上分为管理员、老师和学生。
其中教学楼日常管理系统的系统模块图如图3-2所示。
图3-2 系统整体功能模板图
三种不同的用户都具有登录的功能,而登录的流程设计流程一样,都是通过查询对应的数据库表中的数据来验证是否具有权限,通过验证后进行功能的操作。
主要用于教学楼管理人员、教师、工作人员的业务办理、工作安排、信息交流等目的,实现一个便捷、高效的业务管理和交流平台。
四、核心代码
部分代码:
def users_login(request):
if request.method in ["POST", "GET"]:
msg = {'code': normal_code, "msg": mes.normal_code}
req_dict = request.session.get("req_dict")
if req_dict.get('role')!=None:
del req_dict['role']
datas = users.getbyparams(users, users, req_dict)
if not datas:
msg['code'] = password_error_code
msg['msg'] = mes.password_error_code
return JsonResponse(msg)
req_dict['id'] = datas[0].get('id')
return Auth.authenticate(Auth, users, req_dict)
def users_register(request):
if request.method in ["POST", "GET"]:
msg = {'code': normal_code, "msg": mes.normal_code}
req_dict = request.session.get("req_dict")
error = users.createbyreq(users, users, req_dict)
if error != None:
msg['code'] = crud_error_code
msg['msg'] = error
return JsonResponse(msg)
def users_session(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code,"msg":mes.normal_code, "data": {}}
req_dict = {"id": request.session.get('params').get("id")}
msg['data'] = users.getbyparams(users, users, req_dict)[0]
return JsonResponse(msg)
def users_logout(request):
if request.method in ["POST", "GET"]:
msg = {
"msg": "退出成功",
"code": 0
}
return JsonResponse(msg)
def users_page(request):
'''
'''
if request.method in ["POST", "GET"]:
msg = {"code": normal_code, "msg": mes.normal_code,
"data": {"currPage": 1, "totalPage": 1, "total": 1, "pageSize": 10, "list": []}}
req_dict = request.session.get("req_dict")
tablename = request.session.get("tablename")
try:
__hasMessage__ = users.__hasMessage__
except:
__hasMessage__ = None
if __hasMessage__ and __hasMessage__ != "否":
if tablename != "users":
req_dict["userid"] = request.session.get("params").get("id")
if tablename == "users":
msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
msg['data']['pageSize'] = users.page(users, users, req_dict)
else:
msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
msg['data']['pageSize'] = [],1,0,0,10
return JsonResponse(msg)
五、效果图
六、文章目录
目录
1 绪论 1
1.1 背景和意义 1
1.2 研究综述和主要方法 2
1.2.1 开发工具介绍 2
1.2.2 开发技术介绍 2
1.3 主要内容和结构安排 4
1.3.1 主要内容 4
1.3.2 结构安排 4
2 需求分析 5
2.1 可行性分析 5
2.1.1 技术可行性分析 5
2.1.2 经济可行性分析 5
2.1.3 操作可行性分析 5
2.2 功能性需求分析 5
2.2.1 管理员用户需求分析 6
2.2.2 老师用户需求分析 6
2.2.3 学生用户需求分析 7
2.2.4 教学楼及教室信息需求分析 8
2.2.5 非功能性需求分析 8
3 系统设计 8
3.1 系统结构设计 9
3.2 系统功能设计 10
3.3 数据库设计 11
3.3.1 E-R图 11
3.3.2 数据库结构 12
4 系统实现 18
4.1 用户登录的实现 18
4.2 用户功能的实现 18
4.3 教室的实现 20
4.4 教师预约管理的实现 20
4.5 设备管理的实现 22
4.6 教师调课管理的实现 23
4.7 个人中心的实现 24
5 系统测试 25
5.1 测试说明 25
5.2 测试实例 26
5.3 测试结论 27
6 结论 28
参考文献 30
致 谢 32