学生作业信息管理系统

2023-05-16

一.引言

1.1编写目的

    首先,软件系统的设计报告可以出用户提出的模糊需求分析出具体的工程需求,并转化为数据流图,程序流程图,模块图,数据库设计等软件设计必要的底层步骤。
    其次,答题信息管理系统可以大大提高老师与学生之间的在家庭作业和考核之间交流的效率,同时由于对题目以及学生成绩进行了数字化,可以对学生成绩及老师教学效果进行大数据分析。
    最后,通过软件开发,进一步掌握并加强软件工程的方法和技术,提高自己的软件开发实际能力,提高自己的创造能力、工程设计能力、解决问题能力、综合分析能力以及锻炼自己创造性的思维。

1.2项目背景

    如今社会早已经迈入了信息时代,随着中国互联网公司的崛起,产生了各种“互联网+”和“+互联网”的思想。目前的电商,移动支付,打车软件,共享单车等都是这些思想的产物。在教育领域,也有“+互联网”的影子,比如学生学籍管理系统,高考填报志愿系统,教务管理系统等。
    面向学生和老师对于家庭作业和成绩考核的要求,答题信息管理系统应运而生。它能提高老师与学生之间的在家庭作业和考核之间交流的效率,方便对学生成绩及老师教学效果进行大数据分析。

二.系统分析

2.1用户需求

    答题信息系统是一个在应用在教学领域的提高老师和学生在家庭作业和课程考核等方面效率的系统。老师能在该系统中上传题目,批改学生作业,查看学生成绩,学生可以下载老师上传的题目,给出答案并上传,查看老师的打分和批注。

2.2功能需求

    根据用户需求,整理出如下的需求:
    从系统需要实现的功能上来说,本系统需要提供老师对题目的上传、修改、删除功能,学生对题目的下载、添加答案后上传功能,老师对学生上传答案的打分功能、老师对学生的成绩查看功能,学生对老师打分后的成绩查看功能。
    从系统工作流程来说,老师首先对题目进行操作,学生随机获取题目并上传答案,老师对答案进行打分,学生查看老师打分。
    从系统安全的角度来说,该系统需要实现学生用户和老师用户的管理,根据登录用户不同赋予不同的权限或可选操作。

2.3运行环境

    操作系统:Windows 10;
    开发工具:Eclipse Oxygen.3a Release、MySQL workbench 8.0CE,Tomcat 9;
    数据库系统:MySQL8.0.11;

三.系统设计

3.1功能设计

3.1.1系统功能模块图
    按照结构化开发方法的要求得到如下图所示的系统功能模块图。

3.1.2数据流图
    在仔细分析程序流程图的基础上,得到如图2的数据流程图。

3.2数据库设计

    略(这个,这个,加上一些表格,整个排版就乱了,markdown真不好用。所以只好略过了)。

3.3界面设计

    数据库在一个管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利于程序的实现。设计数据库系统时应该充分了解用户各方面的需求,包括现有的以及将来可能性增加的需求。用户的需求具体体现在各种信息的提供,保存,更新,和查询,这就要求数据库结构能充分满足各种信息的输入和输出。

    根据系统的功能需求,在数据库中设计了3张数据表,分别是用户账号数据表,原始问题数据表,学生回答问题数据表。


3.3.1登录界面
    为了区分不同的用户及权限,设计如下的登录界面:

    在登录界面输入正确的账号和密码,选择账户类型,然后可以进行登录或者重置操作。如果输入的账号和密码正确,那么系统会根据选择的账号类型进入到不同的页面。


3.3.2学生欢迎界面
    在登录界面输入正确的学生账号和密码,并且选择了学生账号类型,则可以进入如下图所示的学生欢迎界面。

    在欢迎界面有该答题系统的使用说明。


3.3.3学生答题界面
    按照欢迎界面的指示在左侧导航栏选择答题界面下的随机练习,则进入学生答题界面,如下图所示。在该界面中有两个按钮和两个文本框。两个按钮分别用来从数据库获取题目和把已经答完的题目上传到数据库。


3.3.4学生查看成绩界面
    按照欢迎界面的指示在左侧导航栏选择成绩管理下的查看成绩,则进入学生查看成绩界面,如下图所示。


3.3.5老师欢迎界面
    在登录界面输入正确的教师账号和密码,并且选择了教师账号类型,则可以进入教师欢迎界面。教师欢迎界面类似于学生欢迎界面。


3.3.6老师上传题目界面
    按照欢迎界面的指示在左侧导航栏选择题库管理下的简单题库,则进入老师上传题目界面。如下图所示,在该界面中有3个按钮和一个表格。其中三个界面的功能分别是进行问题的添加,修改和删除操作。每进行一次数据库操作,根据数据库内容刷新表格。


3.3.7老师查看未打分和已经打分界面
    为了方便成绩的管理,本系统把未打分和已经打分的问题分开显示。教师可在未打分界面看到所有学生刚上传的已经答完的题目,并进行打分。可在已经打分界面查看每个学生每道题的得分情况,对不满意的打分可以重新修改。
查看已经打分问题的界面如下图所示:

可以看到在上图中共有22条已经打分的问题,但每页只显示10(可设置)条记录,通过翻页可以看到更多。


这里写图片描述
    如上图所示,教师可对错误打分或者不满意的打分进行修改。未打分界面类似于已经打分界面,此处不再展示。


3.4程序结构设计

    本系统程序结构采用分模块分层设计的方法。共分为3个大的模块,分别是登录操作,学生操作和教师操作。每个模块又分成5层,分别是界面JSP层,Servlet层,服务层,数据操作层,工具层。其中,服务层和数据操作层有不可避免的交叉,如下图所示:

    举例来说,对于老师打分的功能来说:老师首先在教师界面选中某一问题进行打分操作,然后服务端的TeacherServlet响应打分操作。响应时把打分操作交给服务层的教师服务模块去处理,教师服务模块调用数据操作层的打分问题操作完成打分。在这一过程中,数据库的操作,问题bean类操作,中文字符串处理等交给底层工具类。


四.系统运行和维护

    系统开发出来要经常维护才能保证它的正常运行。如果系统发生故障有可能是软件本身有问题,也可能是操作方法不当引起的,也可能是系统出错造成的。一般有以下三种情况需要维护:

4.1程序的维护

    对于出现的故障,应先判断故障是属于系统故障,还是正在运行的应用程序的故障,或者是不是被病毒侵入了。一般情况下,系统程序比较稳定,出现故障的机率比较小。大部分故障是出于应用程序本身设计上的问题或操作的问题。对于这种问题,可以尝试重新登录系统或者重新起送tomcat或者重新启动电脑来解决。

4.2数据文件的维护

    数据文件支持着答题信息系统的运行,随着系统的升级和某些依赖软件版本的升级,原有的某些数据文件不能满足升级版后的需要,这时候就需要根据升级后的依赖软件版本对原来的数据进行相应的调整和修改或者把依赖软件或者系统降级到最初部署时的状态。

4.3代码的维护

    用户不能看到系统运行背后的程序,当用户觉得信息系统使用不方便时,可以由开发人员在备份当前程序源代码后按照需求进行修改。

五.参考文献

佟强. JSP程序设计[M]. 清华大学出版社, 2013.
李辉. 数据库系统原理及MySQL应用教程[专著][M]. 机械工业出版社, 2016.
朱福喜. 面向对象与Java程序设计[M]. 清华大学出版社, 2015.
EasyUI使用教程:http://www.jeasyui.net/tutorial/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学生作业信息管理系统 的相关文章

  • 树莓派3b引脚图

    如上图所示 xff0c 我们可以很清楚的看到各个引脚的功能 例如我们想使用pwm引脚来控制舵机 xff0c 则我们可以考虑使用其中的 BCM18 PWM0 和 BCM13 PWM1 在使用wiringPi库时 xff0c 我们定义的引脚即B
  • 跟踪slab分配堆栈流程的方法(perf、systemtap)

    跟踪slab分配堆栈流程的方法 xff08 perf systemtap xff09 内存泄露是在解决内核故障会遇到的棘手情况 xff0c 根据具体的内存使用情况 xff0c 追踪相应slab cache的分配堆栈流程 xff0c 是追踪泄
  • prometheus+grafana监控mysql、canal服务器

    一 prometheus配置 1 prometheus安装 1 1官网下载安装包 xff1a https prometheus io download 1 2解压安装包 xff1a tar zxvf prometheus 2 6 1 lin
  • mac配置jmeter

    一 步骤 1 安装jdk1 8版本 xff0c 因为jmeter是基于java环境运行的 2 安装jmeter5 x版本 二 安装jdk 1 下载jdk Java Downloads Oracle 2 下载好之后安装 xff0c 全部下一步
  • 操作系统(四):动态链接与静态链接的区别

    在回答这个问题之前希望大家大概了解一个文件编译的过程 xff0c 比如一个C文件在编译成功后文件夹里的文件会有什么变化 xff0c 大家可以先去创建一个helloworld c的文件 xff0c 观察其编译后的变化 那么问题来了 面试官经常
  • 【OpenVINS】(一)ZUPT

    参考 xff1a Measurement Update Derivations Zero Velocity Update 在典型的自主汽车场景中 xff0c 传感器系统将在停止灯处变得静止 xff0c 其中动态物体 xff08 例如交叉路口
  • OpenVINS与MSCKF_VIO RK4积分对比

    VIO系统在使用IMU测量值进行状态预测时 xff0c 需要将连续时间的微分方程离散化为差分方程 xff0c 离散化的本质是积分 xff0c 根据数值积分近似程度不同 xff0c 常用的有欧拉法 中点法和四阶龙格库塔法等 xff0c Ope
  • 全盘拷贝linux系统,转移至另一硬盘

    首先制作ubuntu启动盘 xff0c 选择try ubuntu进入live ubuntu系统 查看需拷贝硬盘盘符 span class token function sudo span span class token function
  • EKF SLAM

    EKF 方法是解决 SLAM 问题的一种经典方法 xff0c 其应用依赖于运动模型和观测模型的高斯噪声假设 在 SLAM 问题首次提出不久后 xff0c Smith 和 Cheesman 及 Durrant Whyte对机器人和路标间的几何
  • 如何将立创EDA中的元器件的原理图/封装和3D模型导入AD的库中

    如何将立创EDA中的元器件的原理图 封装和3D模型导入AD的库中 工具 xff1a AD 立创EDA专业版 fusion360 或其他3D软件 导入原理图 封装 在立创商城复制所需元器件的编号 打开立创EDA标准版或专业版 xff0c 这里
  • Xshell 提示 “要继续使用此程序,您必须应用最新的更新或使用新版本“的解决方案

    要想解决Xshell提示更新最新版问题 有两种方案 方案一 手动修改系统时间 步骤如下 右键右下角时间 弹出如下窗口 2 选中 调整日期 时间 A 并点击 弹出如下页面 更改时间 更改成之前的年份 如下图 更改成功后 再打开相应的应用 Xs
  • 2020.2.22 排位赛 G - Bucket Brigade(BFS)

    Bucket Brigade 题面 题目分析 BFS模板题 代码 span class token macro property span class token directive keyword include span span cl
  • Canal入门(二)

    Canal入门 xff08 二 xff09 canal kafka quickStart 1 基本说明 canal 1 1 1版本之后 默认支持将canal server接收到的binlog数据直接投递到MQ 目前默认支持的MQ系统有 ka
  • PID调节三个参数的作用

    1 比例调节作用 xff1a 按比例反应系统的偏差 系统一旦出现了偏差 比例调节立即产生调节作用用以减少偏差 比例作用大 可 以加快调节 能迅速反应误差 xff0c 从而减小稳态误差 但是 xff0c 比例控制不能消除稳态误差 过大的比例
  • (centos7)docker+jenkins运行python自动化

    目录 一 实现思路 二 环境准备 1 在liunx上安装docker 2 docker安装jenkins 三 访问前设置 四 配置jenkins容器 五 jenkins插件安装 1 安装git 2 安装docker 3 html Publi
  • OJ在线编程常见输入输出练习

    OJ在线编程常见输入输出练习 4 a 43 b 4 输入描述 xff1a 输入数据包括多组 每组数据一行 每行的第一个整数为整数的个数n 1 lt 61 n lt 61 100 n为0的时候结束输入 接下来n个正整数 即需要求和的每个正整数
  • js中数组与集合的相互转化

    数组 gt 集合 var a 61 1 2 3 4 5 5 var set 61 new Set a console log set 1 2 3 4 5 集合 gt 数组 var set 61 new Set set add 1 set a
  • Linux make/Makefile详解

    会不会写makefile xff0c 从侧面说明了一个人是否具备完成大型工程的能力 一个工程中的源文件不计数 xff0c 其按类型 功能 模块分别放在若干个目录中 xff0c makefile定义了一系列的 规则来指定 xff0c 哪些文件
  • 大疆H20系列吊舱,录制的视频含义

  • 写算法的方法

    写算法步骤 xff1a xff08 以下方法 xff0c 都是老生常谈 但是非常简单有用 xff09 数据结构 xff08 所有的算法都是基于数据结构的操作 所有算法都是针对数据结构的属性进行操作 列出所有的属性 xff0c 写算法逐项修改

随机推荐

  • Windows系统下QT+OpenCasCAD仿真开发

    背景 最近开发了一个六自由度机械臂调姿平台的控制软件 xff0c 集成了API激光跟踪仪和KUKA机器人 xff0c 实现了根据产品的测量位姿驱动仿真环境中模型并且实现模型间的碰撞检测 其中KUKA机器人的控制可以参考笔者以前的博客 xff
  • 飞控IMU姿态估计流程

    飞控中使用加速度计 xff0c 陀螺仪 xff0c 磁罗盘进行姿态估计算法流程 step1 xff1a 获取陀螺仪 xff0c 加速度计 xff0c 磁罗盘的原始数值 step2 xff1a 陀螺仪 xff0c 加速度计减去固定的偏移后得到
  • 图拓扑关系可视化的qt实现

    前言 最近在做数据可视化的相关工作 xff0c 包括曲线图 xff0c 航迹图 xff0c 图结构 xff0c 树结构等 其中树结构相关的工作笔者以前曾经做过 xff0c 可以参考笔者以前的博客 qt自定义树形控件之一和qt自定义树形控件之
  • 基于qwt3D 的3D航迹图的实现

    前言 使用qt实现三维空间直角坐标系中的航迹实时绘制网上很难查到资料 在qt下实现3D绘图通常实现方式有OpenGL VTK qwt3d QtDataVisualization等 Qcharts QCustomPlot只支持2D绘图 这里给
  • 树莓派4b连接RealSense T265

    使用的是树莓派4 8G版本 准备连接RealSense T265的双目相机 T265目前官方编译好的的只有Ubuntu16和18 其他的系统版本需要自己编译realsense驱动 安装ubuntu20 10 https ubuntu com
  • Dockerfile文件解释

    一 先来看一个简单的 Dockerfile 这个Dockerfile作用是打一个python3项目环境 FROM python 3 alpine WORKDIR app ADD app RUN pip3 install r requirem
  • 一文读懂BLOB算法

    算法执行效果 相关参考资料 看着玩的 BLOB算法简述 https blog csdn net icyrat article details 6594574 话说这老哥写的也太 简 了吧 完全口水话 把blob算法说的很神秘 说什么把blo
  • Sobel算法优化 AVX2与GPU

    国庆假期 一口气肝了10篇博客 基本上把最近的成果都做了遍总结 假期最后一天 以一个比较轻松的博客主题结束吧 这次是Sobel算法的AVX2优化 执行效果 sobel算法的原理 使用如下的卷积核 c 硬写 span class token
  • 随机Hough直线算法的改进

    背景介绍 随机Hough直线算法相比Hough直线算法 xff0c 算法效率会有提高 xff0c 但仍不能满足工程需求 因此提出使用生长的随机Hough直线算法 该算法对随机Hough直线算法进行改造 xff0c 在随机选点转到Hough空
  • MATLAB编写的读取.mat文件数据并画曲线图的gui程序

    matlab编写的读取sd卡数据的gui程序 界面截图 xff1a 打开文件界面 xff1a 导入数据后截图 xff1a 是不是高端大气上档次 xff0c 不要急 xff0c 慢慢往下看 xff0c 后面更精彩 xff0c 代码会贴出来的
  • px4飞控位置估计lpe移植到vs

    本文主要内容 px4飞控的位置估计有两种方式 xff0c 一是inav xff0c 二是lpe xff0c 用到的传感器用加速度计 xff0c 磁场传感器 xff0c gps xff0c 超声 xff0c 激光 xff0c 气压 xff0c
  • 常见的信号平滑处理方法

    本文介绍了常见的信号平滑处理方法 xff1a xff08 一阶滤波 xff0c 互补滤波 xff0c 卡尔曼滤波 xff09
  • PX4代码学习系列博客(1)——开发环境配置

    写在前面 虽然有很多关于px4博客 xff0c 但还是想自己亲手写 xff0c 一来记录自己的学习过程 xff0c 以备将来复习 xff0c 二来方便后来者参考学习 xff0c 好多西当然要大家分享 关于px4飞控程序的博客 xff0c 我
  • PX4代码学习系列博客(3)——px4固件目录结构和代码风格

    写在前面 px4不是普通的单片机程序 xff0c 其中没有main函数 它实际上是一个操作系统 xff0c 上面运行着很多应用程序 xff08 类比windows xff09 xff0c 比如姿态解算 xff0c 位置解算 xff0c 姿态
  • PX4代码学习系列博客(5)——在px4中添加自己的模块

    怎么在px4中添加自己的模块 在 px4固件目录结构和代码风格 这一节 xff0c 曾经说过NuttX是一个实时的嵌入式系统 xff0c 上面可以像windows那样运行程序 那既然是应用程序 xff0c 那我们应该也能写一些可以在Nutt
  • PX4代码学习系列博客(6)——offboard模式位置控制代码分析

    分析offboard模式的代码需要用到以下几个模块 local position estimator mavlink mc pos control mc att control mixer 程序数据走向 mavlink 一般的offboar
  • selenium安装

    一 安装webdriver 1 下载安装包 下载地址 xff1a CNPM Binaries Mirror 注意 xff1a 下载版本应与自己的chrome的大版本一致 chrome版本查看 xff0c 设置 gt 关于chrome xff
  • 基于惯性轮倒立摆原理的自行车

    背景 自平衡车有很多种 xff0c 其中一种是利用惯性轮倒立摆原理 xff0c 早在2003年 xff0c 日本的村田顽童就已经问世 xff0c 它采用的就是惯性轮倒立摆原理 后来其他研究组织和个人纷纷效仿 xff0c 制作出了五花八门的基
  • 二维码的特征定位和信息识别

    二维码的特征定位和信息识别 背景介绍 视觉的方法可以用来估计位置和姿态 最容易想到的是在目标上布置多个容易识别的特征 xff0c 这样使用opencv相机标定和 相机畸变矫正 轮廓提取 solvepnp来获取目标相对于相机的位姿 在实际使用
  • 学生作业信息管理系统

    一 xff0e 引言 1 1编写目的 首先 xff0c 软件系统的设计报告可以出用户提出的模糊需求分析出具体的工程需求 xff0c 并转化为数据流图 xff0c 程序流程图 xff0c 模块图 xff0c 数据库设计等软件设计必要的底层步骤