python在线学籍管理系统flask-django-nodejs-php

对在线学籍管理的流程进行科学整理、归纳和功能的精简,通过软件工程的研究方法,结合当下流行的互联网技术,最终设计并实现了一个简单、易操作的在线学籍管理系统。内容包括系统的设计思路、系统模块和实现方法。系统使用过程主要涉及到管理员、教师和学生三种角色,主要包含系统首页、个人中心、学生管理、教师管理、院校管理、专业管理、班级信息管理、课程信息管理、学生成绩管理、学生学籍管理等功能。
 语言:Python
框架:django/flask
软件版本:python3.7.7
数据库:mysql 
数据库工具:Navicat
前端框架:vue.js
通过比较两个不同因素的框架,可以看出Flask和Django不能被标记为单一功能中的最佳框架。当Django在快速发展的大型项目中看起来更好并且提供更多功能时,Flask似乎更容易上手。这两个框架对于开发Web应用程序都非常有用,应根据当前的需求和项目的规模来选择它们。
最新python的web框架django/flask都可以开发.基于B/S模式,前端技术:nodejs+vue+Elementui+html+css
,前后端分离就是将一个单体应用拆分成两个独立的应用:前端应用和后端应用,以JSON格式进行数据交互.充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护等特点
2.2.3 MySQL数据库技术
数据库在软件项目中扮演着操作管理数据的角色同时还能够保证数据的独立性、一致性和安全性,并为系统访问数据提供有效方式不仅如此数据库还能大大减少程序员开发程序时间。在日常能够接触实用的一般有两类数据库,一类是以(Oracle,DB2,SQL Server,MySQL )为代表的关系型数据库和以(NoSql、MongeDB)为代表的非关系型数据库,两类数据库各有各的优缺点。其中非关系型数据库又分为网络数据库和层级数据库。-网络数据库是指在计算机网络系统中应用数据库技术然后借助网络技术将存储于数据库中的大量信息及时发布出去;在成熟的数据库技术的帮助下,计算机网络实现了对网络中的各种数据的有效管理,用户与网络中的数据库数据交互也借此得以进行。IMS也是最早研制成功的数据库系统。关系数据结构、关系操作集合、关系完整性约束构成了关系模型。作为数据库另外一种区分方式的存储介质被大家分为磁盘和内存这 两种。例如:关系型数据库就存储在磁盘中,非关系型数据库则存储在内存中。典型的关系型数据库有:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、SQLite。小型关系型数据库:Microsoft Access,SQLite;中型关系型数据库:SQL Server,Mysql;大型关系型数据库:Oracle,DB2。
大家常用的其他关系形数据库系统大多是MySQL AB公司开发的,其中MySQL也是由这家开发的,所应用的分布式数据库管理系统是客户机/服务器体系结构得益于此结构,而且用这个系统建造的数据库具有很强的适用性,用C和C++编写的系统让他拥有很强的适用性所以他可以在大部分操作系统上使用并能和php结合。不同的API函数针对不同的语言(C,C++,JAVA等)来处理不同数据;为了更好地支持多CPU多线程通过使用核心线程来实现;提供的存储机制分为事务和非事务存储机制;MySQL采用双重许可,不管是从MySQL AB公司获得正式的商业许可又或是许可条款下以免费软件或开放源码软件的方式使用MySQL软件都是被允许的。
MySQL作为数据库拥有很多优点,其中由于是开放源码,所以使用成本特别低,而它体积小的特点决定了速度快的特性。因此,My Sql具有开放性,多线程支持多种API,可跨数据库连接,国际化,数据库体积巨大等特点。简单的来说 ,MySql是一个开放的、快速的、多线程的、多用户的数据库服务器。
选用MySQL作为数据库的其中一个原因就是支持多线程,支持多线程的特点为利用系统资源提供了便捷并因此大大提高了系统运行速度和效率,而且连接数据库的方式多样包括但不局限于TCP/IP、ODBC和JDBC等途径;但是没有东西是完美无缺的,即便MySQL也如此,虽说它有着众多优点但其功能不够强大,规模也相对较小,无法应对大型数据哭的处理。但是对于本系统来说,选用MySQL作为数据库,其功能性能已绰绰有余,如果要进行二次开发的数据库表结构空间的扩展也是完全可行的。综上所述,MySQL是作为本系统数据库的最优选择。
2.2.4 B/S架构
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作[10]。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间[12]。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少[13]。
目 录
第一章 绪 论 1
1.1研究背景 1
1.2系统研究现状 1
1.3 研究意义 2
第二章 开发工具和开发技术 3
2.1开发工具 3
2.2 开发技术 3
2.2.1 python语言 3
2.2.2django/flask框架 3
2.2.3 MySQL数据库技术 4
2.2.4 B/S架构 5
第三章 需求分析 6
3.1 需求描述 6
3.2 系统角色需求分析 6
3.3 系统功能需求分析 6
3.4 非功能性需求分析 9
3.4.1 先进性 9
3.4.2 安全性 9
3.4.3 易用性 9
3.4.4 可扩展性 10
3.4.5 可修改性 10
3.5 系统流程分析 10
3.5.1 登录流程 10
3.5.2 添加信息流程 10
3.5.3 删除流程 11
3.6本章小结 12
第四章 系统设计 13
4.1系统总体设计 13
4.2数据库设计 13
4.2.1 数据库逻辑设计 13
4.2.2数据库表设计 15
4.3本章小结 19
第五章 详细设计与实现 20
5.1管理员模块实现 20
5.2教师模块实现 24
5.3学生模块实现 26
5.4本章小结 27
第六章 系统测试 28
6.1 测试目的 28
6.2 测试用例 28
6.3 本章小结 29
结 论 30
参考文献 31
.致 谢 32

第一章 绪 论
1.1研究背景
近年来互联网技术飞速发展,给人们的生活带来了极大便利,也改变人们的生活方式,互联网拥有存储量大、可靠性高、使用方便等不可替代的优点,也正在逐步取代传统的信息管理模式[1]。由代码编程实现的各种管理工具和系统替代传统的人工操作,不但提升了可靠性还降低了人力成本,节省了时间,提升了工作效率。全球视域下信息技术逐步渗透到各个领域,多样化的数据信息为在线学籍管理带来了深刻变革,打破了传统的方式与载体,在线学籍管理的事务性工作面临新形势和新挑战[2]。
计算机技术快速发展的同时也促进信息化发展。当下在线学籍管理规模不断扩大,新型管理模式也正逐步推进,推动其信息化发展可以为其改革、进步提供保障。信息技术的改革已成为必然方向,管理人员应该抓住时代的机遇,与时俱进[3]。通过这种方式可以提升在线学籍管理工作的效率,促进新举措的实施,加速改革进程,改善管理服务能力。
在线学籍管理系统作为信息化建设的重要一环,在线学籍管理系统的开发与实现,能够使管理者的工作开展得更加有序。
1.2系统研究现状
我国信息技术虽然起步较晚,但发展速度迅猛,如今已经跻身世界信息大国的行列。现在我们的生活离不开信息技术,人们可以利用计算机、互联网进行网上购物、视频学习、互动交流,信息技术已经渗透到我们的生活中,随着计算机技术、网络技术的迅速发展,研究并实现在线学籍管理系统是现代理论和科学技术相结合的产物[4]。国内信息化发展趋势越来越快,我国信息化建设也随之迅速发展,通过信息系统对大量复杂数据进行管理代替传统人工管理,很大程度的提升管理效率。目前在线学籍管理系统基本实现了应用网络进行管理,使用各种技术、实现各种不同附加功能的管理系统数量众多。但随着近年来互联网技术的不断完善和更新,一些不适应当代信息化发展的技术正在被淘汰,而采用老旧技术实现的系统将出现维护困难的境况。因此符合现在社会发展的系统开发十分必要,在线学籍管理系统的设计和开发仍然有很大的进步空间。
国外部分发达国家的信息技术起步较早,以技术为基础引领的各行各业的变革产生时间也较早。信息化的理念由世界知名的美国麻省理工学院提出,接下来的三四十年随着网络技术的飞速发展,终于在全美形成了一系列非常完善成熟的信息化平台,自此美国国内大部分都实现了管理信息化[5]。虽然存在教育制度存在不同,但由于美国信息化管理的起步时间早,积累经验多,有关在线学籍管理系统的研究技术经验仍然值得世界学习。
1.3 研究意义
各行各业对互联网的运用正经历着质变,从技术支撑者的技术建构与技术运用转向产业需要为起点,通过重新构建在线学籍管理系统,实现制度上的发展变革[7][7]。本文将设计一个根据整理、归纳后进行精简的在线学籍管理系统。使用采取稳定、可靠且易于维护的开发技术进行系统的实现。系统可以直观、高效、便捷地实现对各个在线学籍进行管理,使工作人员有针对地安排和管理在线学籍,建立统一的在线学籍管理系统。
在软件的命周期中,需求分析是其中关键的一环。需求分析过程中不仅要对系统应该实现的功能提出准确和完善的请求,还要考虑需求的可行性。需求分析对设计和实现一个系统具有决定性的重大意义[11]。只有充分完整的需求分析才能为后续的系统开发过程和实现成果奠定基础。
3.1 需求描述
根据日常实际需要,一方面需要在系统中实现基础信息的管理,同时还需要结合实际情况的需要,提供在线学籍管理功能,方便在线学籍管理工作的展开,综合考虑,本套系统应该满足如下要求:
首先,在系统中需要实现对基础信息,包括登录注册、个人信息修改等信息的管理,这些是系统的基础信息,和系统中其他内容密切相关。
然后,系统中需要实现对管理员、教师和学生的管理,允许管理员对教师和学生信息进行必要的设置,同时要避免管理员对个人信息进行操作,保障教师和学生的信息安全。
3.2 系统角色需求分析
综合在线学籍管理经历和对网上信息归纳整理的结果,在实际应用中,将用户分为三种:管理员、教师和学生三个角色。其中教师和学生可以操作的内容是有限的,管理员可以进行的操作最多。了解系统管理员、教师和学生的分类以及可以进行的操作,对于接下来实现相关的功能具有重要的意义。
 3.4 非功能性需求分析
在系统的需求分析中除了保证系统功能需求分析准确完整,还应考虑与其相辅相成的各种其他因素,这样才能确保系统后续设计能够更加完善、清晰,确保系统实现后的有较高的使用价值。
3.4.1 先进性
为保证系统的先进性开发过程中应尽量使用先进的软件开发技术、设计方法、体系架构,符合当下的应用需求和保证性能可靠。
3.4.2 安全性
本系统中涉及三种用户角色,根据管理员、教师和学生角色类型合理划分其页面访问权限。系统允许管理员对教师和学生进行必要的设置,同时要避免管理员对个人重要信息进行操作,保障教师和学生的信息安全。
3.4.3 易用性
系统使用方便、界面友好是提高用户使用体验的重要因素。系统实现其主体功能同时,界面设计要简洁大方、使用方便、美观清晰。系统的每一项反馈都要逻辑严密,弹窗信息也是简洁明了[12]。
3.4.4 可扩展性
可扩展性要求软件的设计要留有可升级接口和升级空间,便于今后根据新的模式需求进行功能的拓展。
3.4.5 可修改性
可修改性要求使用科学的方法设计软件,形成良好的结构和完备的文档[13]。它的前提要保证系统设计逻辑清晰,软件结构简单明了,代码编写过程中有良好的注释习惯,便于后续对系统性能进行调整。
3.5 系统流程分析
3.5.1 登录流程
每个用户都有专属的密码和账号,在输入合法的账号和密码之后即可进入系统。
 4.2.2数据库表设计
在关系数据E-R图中,分析并创建数据表,数据表用来记录信息,数据表关系由多个数据表组成,下面介绍的是数据表各个字段信息如下表所示。
表4-1:token表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
userid bigint 用户id
username varchar 100 用户名
tablename varchar 100 表名
role varchar 100 角色
token varchar 200 密码
addtime timestamp 新增时间 CURRENT_TIMESTAMP
expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP
表4-2:课程信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
kechengmingcheng varchar 200 课程名称
fengmian longtext 4294967295 封面
keshi varchar 200 课时
banji varchar 200 班级
zhuanye varchar 200 专业
shangkedidian varchar 200 上课地点
shangkeshijian longtext 4294967295 上课时间
xueqi varchar 200 学期
nianxian varchar 200 年限
kechengxiangqing longtext 4294967295 课程详情
jiaoshigonghao varchar 200 教师工号
jiaoshixingming varchar 200 教师姓名
表4-3:教师
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
jiaoshigonghao varchar 200 教师工号
mima varchar 200 密码
touxiang longtext 4294967295 头像
jiaoshixingming varchar 200 教师姓名
xingbie varchar 200 性别
lianxidianhua varchar 200 联系电话
youxiang varchar 200 邮箱
表4-4:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
表4-5:班级信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
banjimingcheng varchar 200 班级名称
banjirenshu varchar 200 班级人数
yuanxiao varchar 200 院校
zhuanye varchar 200 专业
jiaoshigonghao varchar 200 教师工号
jiaoshixingming varchar 200 教师姓名
表4-6:专业
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
zhuanye varchar 200 专业
表4-7:院校
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yuanxiao varchar 200 院校
表4-8:学生学籍
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
xuehao varchar 200 学号
xueshengxingming varchar 200 学生姓名
xingbie varchar 200 性别
banji varchar 200 班级
zhuanye varchar 200 专业
shoujihaoma varchar 200 手机号码
zhuzhi varchar 200 住址
jiguan varchar 200 籍贯
zhengzhimianmao varchar 200 政治面貌
ruxueriqi date 入学日期
danganwenjian longtext 4294967295 档案文件
gerenjianjie longtext 4294967295 个人简介
jiaoshigonghao varchar 200 教师工号
表4-9:学生成绩
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
kechengmingcheng varchar 200 课程名称
xueqi varchar 200 学期
nianxian varchar 200 年限
chengji float 成绩
xuehao varchar 200 学号
xueshengxingming varchar 200 学生姓名
jiaoshigonghao varchar 200 教师工号
jiaoshixingming varchar 200 教师姓名
表4-10:学生
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
xuehao varchar 200 学号
mima varchar 200 密码
xueshengxingming varchar 200 学生姓名
touxiang longtext 4294967295 头像
xingbie varchar 200 性别
shoujihaoma varchar 200 手机号码
jiguan varchar 200 籍贯
zhuzhi varchar 200 住址
banji varchar 200 班级
zhuanye varchar 200 专业
表4-11:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
4.3本章小结
这一章着重介绍了整个系统的设计流程。确定了系统的功能结构,并在此基础上完成了数据库的设计。

第五章 详细设计与实现
系统用户登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作;
 第六章 系统测试
6.1 测试目的
在在线学籍管理系统正式投入使用前,我们可以通过对在线学籍管理系统的检测,找出其中的问题和不足,并对其进行进一步的修正与完善,从而提高系统的优化水平和整体性能。系统测试是软件开发的必经之路,为系统实现的完整性、系统性能的可靠性提供保障。系统测试主要包括两种方法,一种是检查软件的每一个功能是否能够正常使用的黑盒测试,另一种检测软件编码过程中错误的白盒测试。
首先,本系统采用了白盒测试技术,对代码中出现的问题进行了修正,提高了代码的准确度。由于黑盒测试中使用了大量的测试用例,以下将列举一些主要的黑盒测试用例。
6.2 测试用例
(1)登录测试
登录功能是用户进入系统的校验窗口,其中需要填写的信息包括用户账号和用户密码,下面将根据此功能设计具体测试用例来验证登录功能的实现与否。具体测试用例见表6-1。

表6-1 登录功能测试用例
用例序号 用例描述 测试步骤 期望输出 测试结果
Test_01 页面展示 浏览器输入登录地址 进入登录页面 成功
Test_02 账号非空检验 账号为空,点击“登录”按钮 提示“用户账号必须输入” 成功
Test_03 账号存在性检验 输入不存在的账号 提示“输入的账号不存在” 成功
Test_04 密码非空检验 输入正确的账号,密码为空 提示“用户密码必须输入” 成功
Test_05 密码正确性检验 输入正确的账号和不正确的密码 提示“输入的密码错误” 成功
Test_06 登录成功检验 输入正确的账号和密码 登录成功,进入首页 成功

(2)修改密码测试
更改密码功能需要用户输入原始密码、修改后的密码、修改后的确认密码,方可更换密码。具体测试用例见表6-2。
表6-2 修改密码测试用例
用例序号 用例描述 测试步骤 期望输出 测试结果
Test_01 页面跳转 点击“密码修改”按钮 进入密码修改页面 成功
Test_02 原始密码非空检验 原始密码为空,点击“提交”按钮 提示“原始密码必须输入” 成功
Test_03 原始密码正确性检验 输入错误原始密码 提示“原始密码输入错误” 成功
Test_04 修改密码非空检验 输入正确的原始密码,修改密码为空,点击“提交”按钮 提示“修改密码必须输入” 成功
Test_05 确认密码非空检验 输入正确的原始密码,修改密码非空,确认密码为空,点击“提交”按钮 提示“确认密码必须输入” 成功
Test_06 两次新密码输入一致性检验 输入正确的原始密码,修改密码非空,确认密码与修改密码不一致,点击“提交”按钮 提示“两次密码输入不一致” 成功
Test_07 修改成功检验 输入正确的原始密码,修改密码非空,确认密码与修改密码一致,点击“提交”按钮 提示“处理成功” 成功

6.3 本章小结
本章主要内容为系统测试,列举部分黑盒测试的测试用例。结果发现系统基本实现了设计需求的大部分功能,未发现系统运行过程中出现异常,数据加载符合最初设想,系统测试通过,基本实现初始的设计目的。

结 论
本文介绍了一个使用方便,界面清晰的在线学籍管理系统的设计与实现。本系统已经实现了对首页、个人中心、学生管理、教师管理、院校管理、专业管理、班级信息管理、课程信息管理、学生成绩管理、学生学籍管理等的综合管理,可以充分满足在线学籍管理各方面的需求。系统为在线学籍管理工作节省了精力和时间,简化了在管理过程中重要环节的管理难度,丰富了在线学籍管信息化的建设,符合信息时代的发展趋势。存储在系统中的数据也将对未来在线学籍管理制度的发展提供数据支撑。
本文实现的系统具有功能实用、界面简单清晰、操作简单、安全稳定的优点。在设计实现上本系统采用了python语言和django/flask框架进行开发,提升了开发效率、同时也保障了后续维护,易于扩展。使用MySQL轻量级数据库大幅度提升查询性能。
该系统只考虑了一些简单的在线学籍管理的基本构成,缺乏对设计的深入研究和思考。随着网络技术的迅猛发展和新型教学制度的逐步完善,不久将可以形成稳定优质的在线学籍管理模式。这时对系统的要求也将越来越高,这要求我们不断探索新的需求,开发新的技术,与时俱进,实现更完善更智能的在线学籍管理系统。
.致 谢
首先感谢我的母校对我的培养!
回首四年大学时光,在校园中首先要感谢我的老师们。他们有的风趣幽默、有的严肃认真;有的擅长研究,经常给我们发一些专业相关的文章和好的项目例子,融会贯通,结合自己的实际开发经验授课;有的讲课内容深入浅出,精心研究课程讲解的顺序安排,把抽象和复杂的知识讲解的清晰明了,让我能够紧跟课堂的内容。他们的共同点是都认真负责,除了传授知识还关注我们思想上的问题,言传身教。我常常感受到他们对国家、对专业的热爱还有对社会的责任意识。同时还常常关心我们的未来,课余时间经常跟我们进行交流,乐于分享自己的看法经验。因此在大学四年的学习生活中,虽然没有做到希望中的成为一个精通专业知识的优秀开发者,但是也对筑牢我的计算机基础起到十分重要的影响。在这里特别要向我的论文指导老师提出感谢!不但使我对数据库知识的认识更加全面深入,尤其在最后的课程设计阶段给与我作品鼓励和支持,让我一直铭记在心,坚定了我在这条路上走下去的信心。同时在此次毕业设计和论文撰写中也对我进行悉心指导和帮助。
最后感谢还要家人对我的支持和有朋友对我的鼓励帮助。感谢挚友长久以来对我的陪伴和关心,希望我们未来能够在各自的道路上找到自己的热爱,一直都有目标有希望有彼此的陪伴和支持。知易行难,计算机是一门注重实践的学科,我知道自己在实践动手方面做的远远不够,希望未来自己能够更多地锻炼。

  • 16
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值