python学生作业管理系统flask-django-nodejs-php

 
课题主要分为三大模块:即管理员模块和学生、教师模块,主要功能包括:学生、教师、作业信息、学习模块、教学评价、学习情况等;
关键词:学生作业管理系统;作业信息
 
目录
摘 要 I
Abstrac II
目录 III
1绪论 1
1.1 研究背景 2
1.1.1国内研究现状 3
1.1.2国外研究现状 3
1.2研究的目的和意义 4
1.2.1研究目的 4
1.2.2 研究意义 4
1.3 论文的内容和结构 4
2系统相关技术概述 5
2.1 python编程语言 6
2.2 MySQL数据库技术简介 6
2.3 B/S结构 7
2.4 django/flask框架 7
3系统需求分析 8
3.1需求分析概述 8
3.2可行性分析 8
3.2.1技术可行性 9
3.2.2经济可行性 9
3.2.3运营可行性 9
3.2.4法律可行性 9
3.3系统功能需求分析 9
3.3.1系统功能概述 10
3.3.2用户管理模块 10
3.4系统其他需求分析 10
3.4.1性能要求 11
3.4.2安全要求 11
3.4.3作业环境要求 12
3.5系统用例图 12
3.6系统流程分析 13
4 系统设计 13
4.1系统结构图 14
4.2数据库设计 14
4.2.1数据库设计原则 15
4.2.2数据库的概念设计 15
4.2.3数据库表设计 16
5系统的实现 18
5.1系统功能实现 20
5.2管理员模块实现 22
5.3学生模块实现 24
5.4教师模块实现 25
6系统测试 30
6.1系统测试的重要性 31
6.2性能测试 31
6.3用户模块测试 31
结 论 33
参考文献 36
致 谢 38
语言: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格式进行数据交互.充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护等特点

 快速发展的社会中,人们的生活水平都在提高,生活节奏也在逐渐加快。为了节省时间和提高工作效率,越来越多的人选择利用互联网进行线上打理各种事务,然后线上管理系统也就相继涌现。与此同时,人们开始接受方便的生活方式。他们不仅希望页面简单大方,还希望操作方便,可以快速锁定他们需要的线上管理方式。基于这种情况,我们需要这样一个界面简单大方、功能齐全的系统来解决用户问题,满足用户需求。1绪论
对于当今社会的人们来说,互联网技术是必不可少的,随着经济和技术的不断发展,计算机已经深入到各个领域。学生作业管理系统将人们的时间需求与计算机技术结合起来,架起一座桥梁,使学生作业管理更加方便快捷。学生作业管理系统主要为人们提供系统化、个性化、专业化的服务,以提高人们的愉悦感[1]。
1.1 研究背景
网络发展的越来越迅速,它深刻的影响着每一个人生活的各个方面。每一种新型事务的兴起都是为了使人们的生活更加方便。学生作业管理系统是一种低成本、更加高效的电子商务方式,它已慢慢的成为一种全新的管理模式。人们不再满足于在互联网上浏览、发布信息和人与人之间的聊天,而是希望互联网能为人们的生活带来更多便利。伴随着网络的崛起,学生作业管理开始变得越来越普遍[2]。
1.1.1国内研究现状
在现实生活中,根据传统做法,有些人选择通过电话或短信进行交流。这种方法比较单一,在有些方面效率不高,需要大量人力和财力,已经接近淘汰。另一种方法是使用系统,但有些系统对计算机和用户的要求很高,使用起来非常复杂,无法快速锁定他们满意的信息。用户也将束手无策。目前,市场上很少有类似的系统能够真正满足用户的需求,帮助用户完成各项事务[3]。
1.1.2国外研究现状
在当今社会,由于国外经济的高度发达,对于服务于人们生活的学生作业管理系统,国外花费了大量的人力、物力和财力来开发这类系统。所以,国外的这种系统较为发达。另一个重要原因是,国外更开放,更容易接受新事物,对他们享受的服务更挑剔,因此,学生作业管理系统一开始可以被更多的人接受,更多的人提出更多的要求,使学生作业管理系统更加完善。经过多年的发展,该系统具有很高的艺术性,非常规范和完整[4]。

1.2研究的目的和意义
1.2.1研究目的
互联网发展的越来越快了,在当下社会节点,人们也开始越来越依赖互联网。通过互联网信息和数据,极大地满足用户要求[5]。如果想实现简单快捷方便的学生作业管理,即时生效,无需重新打印。这时仅仅需要在背景中单击鼠标,它将立刻更新点击处一整行的所有内容。学生作业管理系统使用了B/S模式,并且不需要安装第三方插件,他们甚至能直接在电脑上随机随地实现学生作业管理,还能实现更加准确的提供作业信息。现社会无论各行各业都应尽量摒弃传递错误信息,尤其是口头传输信息。而网络却并不会像电话那样一次只能传输一次,效率低下还间连不断,如果用网络来处理信息也就会更加的容易。我们甚至可以通过网络技术节省时间和人力成本。于是传统的管理方式得到了更好的改进。从而提高了整体的工作效率[6]。
3系统需求分析
3.1需求分析概述
学生作业管理系统主要是为了提高管理员的工作效率,满足管理员对更方便、更快、更好地存储所有信息和数据检索功能的要求。通过对多个类似网站的合理分析,确定了学生作业管理系统的各个模块。考虑到用户的可操作性,经过深入调查研究,遵循系统优化和开发的原则[8]。
为了实现当前网络的分析功能和便利性,学生作业管理系统使管理员和学生、教师能够在平台上直接查看他们需要的数据信息,不仅可以节省管理时间,还可以改变传统的管理模式。如果用户想要交换信息,他们需要满足双方交换信息的需要。由于时间有限,很难亲自会面和沟通,因此很难满足用户的需求。因此,迫切需要开发一个学生作业管理系统,以满足用户的需求,提高用户的使用率。学生作业管理系统必须更快、更有效地向用户或潜在用户提供信息。为学生作业管理系统建立更好的沟通平台,提高用户信息交流系统的服务效率。该系统可以满足大多数用户提出的问题,用户可以根据自己的需要获得相应的服务,为学生作业管理系统提供了一条快捷的途径[9]。

3.2可行性分析
学生作业管理系统研发出来可以为广大用户解决学生作业的问题,大大降低时间成本,不需要将无谓的时间浪费在道路上,并且学生作业管理可以更大化的将信息展露在人们的眼前供其选择。它是一款多用户使用的系统,比较符合业务逻辑,是通过互联网解决复杂和单调问题的典型案例[10]。
3.2.1技术可行性
技术可行性是分析系统都需要用到哪些技术知识,语法是否规范标准,代码量多大,是否具有可移植性,在 B/S 在这种设计模式下能够真正的实现数据层和表示层的分离,以及前端页面是否可以做到美观实用,是否吸引眼球。网站是否足够稳定,后端管理页面是否足够方便管理,数据库的构建是否可以符合系统要求,是否需要搭建集群等等[11]。
3.2.2经济可行性
通过结合以上对系统的技术和可行性分析来判断对系统经济状况的预算是否大于系统开发资金的比例。因此,通过分析系统的业务模式和开发者模式,不会浪费大量资金,系统的使用价值大于资本价值。
3.2.3运营可行性
可操作性是指将系统开发所涉及到的所有功能全都实现,代码收尾工作完成后对用户消费水平,系统的业务能力是否与用户消费水平所对等,是否可以满足大部分消费者的需求,页面是否美观,能否让用户满意,代码显示是否为轻量级,操作和功能是否简单便捷,是否同时适用。系统能否同时应用于windows、linux等操作系统,这取决于系统的可移植性。java 编程语言的适应性非常强,基本上能够较好的适应目前市场环境中所流行的各个平台。也就是说java的可移植性很强,那么系统的价值越高,可行性也就越强[12]。
3.2.4法律可行性
该学生作业管理系统是面向大众开源化和不收取任何费用的。它的主要目的是帮助用户解决学生作业问题。完全符合法律可行性要求,系统内部权限划分不会导致内部用户泄露系统机密。对于用户信息,系统有保护措施,用户密码在数据库中加密,并有严格的自我控制和商品价格解释[13]。

3.3系统功能需求分析
在功能方面,不需要管理员在指定场所进行学生作业管理,要保证可以在很大程度上满足用户解决繁琐问题,满足用户需求。
3.3.1系统功能概述
前台页面:若进入本网站,需要注册自己的账号和密码,输入正确的账号和密码,学生才可以成功登录到学生作业管理系统主页面,进入学生作业管理页面后,学生可以在搜索栏中查询自己所需的作业信息等,在个人中心学生可以修改自己的个人详细信息。
后台管理员页面:主要是管理员登录本网站。管理员输入管理员账号密码后,校验无误后方可进入后台管理主界面,对用户使用的权限管理等管理以及对网站信息进行管理。
3.3.2用户管理模块
此模块允许用户登录。用户可以在这里对其信息注册登录。用户管理模块如表3-1所示。
表3-1 用户管理模块表
用例条目 描述
用例名称

主要参与者

描述

前置条件

后置条件

触发条件

基本流程

替代流程

结束

待解决问题 后台登录

管理员和学生、教师

登录后台管理页面才能进行各种功能的操作;

实现用户注册的相关功能

账号、密码登录后才能进行管理员的管理功能

实现登录功能

(1)登陆用户输入身份信息和密码
(2)系统后台验证登陆用户的身份和密码
(3)返回验证登陆结果
(4)若登录成功,模块管理
(1)用户输入登录名称及密码错误显示登录失败
(2)登录成功并跳转到系统界面
(3)登录失败并跳转到登录界面

登录成功
3.4系统其他需求分析
3.4.1性能要求
在开发了一个功能较为良好系统之后,首要考虑的就是它的性能要求,比如当用户使用它进行点击或提交功能时,它会产生多久的延迟,系统响应速度快不快,如果短时间同时有较多用户访问网站是否会产生系统崩溃,是否采用高并发接口,另外,存储功能进行中的代码量是否满足算法和数据结构,以及是否占用较大内存等:
(1)系统应具备快速的反映时间,对于并发特征得到解决。
(2)系统对用户密码是否进行了加密并进行大量安全处理。
(3)系统代码量是否简洁,不会占用计算机太多内存。
3.4.2安全要求
对于安全要求要进行可靠性分析,可靠性分析有利于可实现安全性、可靠性设计与系统功能设计在数据源上的统一。就本系统的安全性能而言,数据的账户和密码需要以明文形式显示,并严格加密。更改密码、修改个人数据、添加信息需要相应权限。
3.4.3作业环境要求
(1)系统:Windows系统足够,兼容性强
(2)Web服务器:内置tomcat,无需安装、运行和使用
(3)数据库服务器:MySQL 5.5及以上,图形界面为SQLYG
(4)浏览器:谷歌或Firefox开发者浏览器
(5)JDK1.8及以上,内置插件maven等。
3.5系统用例图
一个用例图就能对应出系统中的一个功能过程,系统中完整的功能都是由许多不同的用例图所组成的。
2.2 研究意义
线上管理学生作业管理系统提供了良好的发展空间,随着人们生活质量的提高,人们对计算机技术的要求越来越严格。人们希望拥有更好的线上管理体验。而且,学生作业管理系统有着传统线下管理比不了的便捷高效简单等优势。学生作业管理系统就是为广大用户提供这样一个方便的系统,以满足人们的需求。
1.3 论文的内容和结构
本文一共把内容主要分为六个大部分,采用传统面向对象的方法进行划分并描述和分析每个部分的需求:
第一章是前言部分,该部分主要是拓展了方案的背景,对此系统的意义做了思考,对价值做了评估[7]。
第二章是概述系统的相关技术,详细的介绍了系统所使用的相关语言和开发结构。
第三章是对系统的需求进行分析,对可行性需求,功能需求和流程等做相关分析。
第四章主要对程序的功能做分析,并描述了数据库等相关内容的设计。
第五章主要是将学生作业管理系统划分成后台管理界面、前台首页界面,以及各部分相关功能页面。
第六章主要是进行系统功能测试。
4.2数据库设计
所有的网站设计但凡有数据都离不开数据库,数据库是所有项目想实现如数据获取,数据传输等功能的基石。只有合理化的数据库设计才能满足商业化的要求,数据库的主键外键连接方式特别的重要,尽量避免多对多的复杂性,字段名命合理规范,且通俗易懂等,字段应根据业务进行设定,不允许操作多字段而对系统产生占用多余的内存。
4.2.1数据库设计原则
设计原则自然就是要符合范式的要求,多表之间的关系要合理,理应符合系统的实际情况。
4.2.2数据库的概念设计
概念设计是将整体分为在地面上表达出来的单个个体。E-R图形象的连接了实体模型和概念模型。因此,E-R图需要根据数据库表和表字段进行合理设计,表达的概念知识点用图形描述,可以直观地让相应人员清楚,并分解整个E-R图。我们通常表达不清晰没有概念的东西。但是通过E-R之间的联系,E-R模型法是对这种模糊概念的事务最简单、最常用的设计方法。
(1) 教师信息E-R图如下图4-2所示。


图4-2教师信息E-R图
(2) 学生信息E-R图如下图4-3所示。


图4-3学生信息E-R图

(3) 学习模块E-R图如下图4-4所示。


图4-4学习模块E-R图
(4) 作业信息E-R图如下图4-5所示。


图4-5作业信息E-R图
4.2.3数据库表设计
数据库表的设计通常是根据业务逻辑设置的。数据库模型在数据库中设计,并根据模型创建数据库表。
表4-1;收藏表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
refid bigint 商品id
tablename varchar 200 表名
name varchar 200 名称
picture longtext 4294967295 图片
type varchar 200 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) 1
inteltype varchar 200 推荐类型
remark varchar 200 备注

表4-2:课程分类
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
kechengfenlei varchar 200 课程分类

表4-3:教学评价
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
pingjiabianhao varchar 200 评价编号
kechengmingcheng varchar 200 课程名称
jiaoshigonghao varchar 200 教师工号
jiaoshixingming varchar 200 教师姓名
pingjiakecheng varchar 200 评价课程
jiaoxuezhiliang varchar 200 教学质量
manyichengdu varchar 200 满意程度
pingjiashijian datetime 评价时间
pingyu longtext 4294967295 评语
xuehao varchar 200 学号
xingming varchar 200 姓名

表4-4:教师
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
jiaoshigonghao varchar 200 教师工号
jiaoshixingming varchar 200 教师姓名
mima varchar 200 密码
shouji varchar 200 手机
xingbie varchar 200 性别
zhaopian longtext 4294967295 照片
nianling int 年龄

表4-5:交流论坛
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 帖子标题
content longtext 4294967295 帖子内容
parentid bigint 父节点id
userid bigint 用户id
username varchar 200 用户名
avatarurl longtext 4294967295 头像
isdone varchar 200 状态

表4-6:作业信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
zuoyemingcheng varchar 200 作业名称
zuoyeneirong longtext 4294967295 作业内容
tupian longtext 4294967295 图片
xiangguanfujian longtext 4294967295 相关附件
zuoyezhuangtai varchar 200 作业状态
jiaoshigonghao varchar 200 教师工号
jiaoshixingming varchar 200 教师姓名
fabushijian datetime 发布时间
xuehao varchar 200 学号
xingming varchar 200 姓名

表4-7:学习模块评论表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
refid bigint 关联表id
userid bigint 用户id
avatarurl longtext 4294967295 头像
nickname varchar 200 用户名
content longtext 4294967295 评论内容
reply longtext 4294967295 回复内容

表4-8:学习情况
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
xuehao varchar 200 学号
xingming varchar 200 姓名
kechengmingcheng varchar 200 课程名称
fengmian longtext 4294967295 封面
xuexitianshu float 学习天数
wanchengdu float 完成度
zongshizhang float 总时长
shangkeqingkuang longtext 4294967295 上课情况
dengjiriqi date 登记日期
jiaoshizhanghao varchar 200 教师账号
jiaoshixingming varchar 200 教师姓名
userid bigint 用户id

表4-9:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

name varchar 100 配置参数名称
value varchar 100 配置参数值

表4-10:学习模块
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
kechengbianhao varchar 200 课程编号
kechengmingcheng varchar 200 课程名称
kechengfenlei varchar 200 课程分类
xiangqing longtext 4294967295 详情
shipin longtext 4294967295 视频
tupian longtext 4294967295 图片
jiaoshigonghao varchar 200 教师工号
jiaoshixingming varchar 200 教师姓名
wendang longtext 4294967295 文档
thumbsupnum int 赞 0
crazilynum int 踩 0

表4-11:学生
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
xuehao varchar 200 学号
xingming varchar 200 姓名
xingbie varchar 200 性别
nianling int 年龄
mima varchar 200 密码
shouji varchar 200 手机
zhaopian longtext 4294967295 照片

表4-12:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP

表4-13: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
 6系统测试
在系统开发上市前都需要经过严格的系统测试。主要测试访问请求的延迟时间,对于一些未知和危险的问题,需要严格的测试和解决方案[14]。
6.1系统测试的重要性
对于程序来说,系统测试应该根据程序的指定业务、程序的承载能力、程序代码的效率、数据库服务器的存储和设计进行测试。
6.2性能测试
若同时有大量用户和大量请求进入是看服务器是否响应延迟时间来比较性能的。我们可以从代码,程序逻辑,接口使用,数据库优化等方面逐个做仿真测试。
为了保证测试的有效性和程序的安全性,我们主要从两个方面进行测试:一是系统功能节点测试,二是接口业务逻辑测试。
经过第一和第二两个部分的测试后,我们判定项目没有风险[15]。
6.3用户模块测试
测试编号:a。
目的:测试登录模块,测试系统能否对正确进行登录放行,拦截错误数据进行页面返回。
前提:未登录的用户进行登录,用户名为“aaaa”,初始密码为“00000”。
方法:实地测试。
测试用例表,如表6-1所示。
表6-1登录模块测试用例表


结 论
为了保证系统的稳定性,这次采用的是一个比较常用的python语言开发。在学期末完成发展计划。本系统分为管理员和学生、教师三部分。这三个部分紧密相连,有着独特的关系。最终成为学生作业管理系统。
在做需求分析,代码实现和功能测试的过程中遇到了很多自己解决不了的难题,比如,代码不明白,我查了CSDN,问了辅导老师,比如中英文不懂,我挨个去百度翻译查。这段时光虽然很苦很累,但也是我的精神最富有的一段时光。我真的理解先痛苦后幸福的含义。当我看到代码行和程序的雏形时,前面的痛苦仿佛一扫而光。通过这让我知道,无论发生什么,坚持最重要。有了这些经验,我将来会越来越好,在每一次实践中都会提高自己。
致 谢
经过几个月的努力,毕业设计终于完成了,这不仅提高了我的实践能力,也丰富了我的知识领域。在整个毕业设计过程中,他对我们非常友好,关心我们每个学生的选题,帮助我们分析哪些学生适合该学科,分析该学科的难度,并教我们如何处理可能出现的问题;在整个设计过程中,老师耐心地指导我,分析我的问题,帮助我找到解决方案。 同时,在设计过程中,也得到了同学和室友的大力支持。 他们帮助我查找信息并节省了宝贵的时间。
其次,我还要感谢在编程过程中帮助过我的同学们。 正是他们孜孜不倦的回答,才使学生作业管理系统的顺利建成。 我还要感谢我的学校为我们提供了一个学习的地方和一个舒适的学习和生活环境。 我要感谢我的导师对我的论文的客观评价。 学校老师不遗余力地给我们上课和指导,让我们更好地掌握知识,提高处理实际问题的能力。 因为老师的建议和指导对我的论文完成起了至关重要的作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值