软件工程课程设计“作业管理系统”的总结和期望
目录
一、软件工程课程设计“作业管理系统”的总结和期望
该系统研究的意义
功能概述
web网上作业管理系统的实现
注册与登录功能的实现
作业提交功能实现
教师批改作业的功能实现
总结和期望
二、体温测量上报系统对象图
三、体温测量上报系统 时序图
一、软件工程课程设计“作业管理系统”的总结和期望
该系统研究的意义
在当今全球疫情的时期,返校、出行等人员流动无法顺利有序进行的情况下,很多学校的教育方式正逐渐由线下授课方式转换为线上授课方式。而此时,一套完善的线上授课及作业系统便成为切实的需求。因此,为了在教育领域应用计算机帮助教学工作更顺利地进行,解决教师与学生教学生活中远程操作的问题,设计实现该网上作业管理系统。
本系统在研究目前国内外作业管理情况的基础上,从学校的实际需求出发,将学生、教师以及管理员三者整合在系统中,采用当前较为流行的B/S(浏览器/服务器)结构、JSP动态网页开发技术和SQL数据库共同实现,设计并实现了一个功能较为完善的小型在线作业管理系统。通过对系统进行一系列的需求分析、设计、编码、测试等工作,使系统实现了管理员发布管理公告、教师管理、设置班级、课程;老师在线发布作业、批改作业、网上答疑;学生上传作业、查看作业信息、提出疑问的功能。重点对系统设计过程作了相应描述,同时也对系统需要改进的地方做了总结。
功能概述
该软件主要功能方向为实现分用户管理(角色包括:教师、学生、管理员)——注册账号、设置权限、邮箱验证;
其中:
教师功能:{修改个人资料及修改密码,查看、搜索公告};
{发布作业,批改作业,统计分数,DDL提醒,查看班级成员,发布班级公告,查看学生作业完成情况};
学生功能:{修改个人资料及修改密码,查看、搜索公告};
{根据自己课表查看老师布置的作业(我的作业),下载作业附件,上传作业,查看上传作业情况及教师打分情况}(只可对自己的作业进行调整,没有对其他作业操作的权限);
管理员:根据权限进入管理员相应的页面的功能,修改个人资料功能,设置班级、课程、任课教师,具有查看、删除作业的功能。
其他:学校层面(教务处)或学院层面(教学秘书等)的全体课程数据统计及分析;数据访问安全性;相同课程理念数据分析。
软件组成部分
系统逻辑功能结构图
软件设计类图
系统登录/注册模块活动图
web网上作业管理系统的实现
根据前面对web网上作业管理系统的需求分析与功能设计,现在对该应用进行实现,数据库的实现采用Navicat工具构建,数据库表结构参照第四章数据库模块分析与设计。以下是实现过程中用到的库和编程环境:
1、IntelliJ IDEA 2020.3.3
2、Navicat Premium 16
注册与登录功能的实现
注册功能方面由用户填写数据表单,对表单项进行鼠标焦点事件实时监听,校验用户输入数据的合法性,如果不合法,表单不允提交且给出相应的提示信息,指引用户输入正确数据。
图5.1注册功能部分表单
后端由UserServlet的addUser()方法处理注册表单的提交请求,获取提交表单的数据,封装成User对象,根据用户的手机号查询数据库判断此手机号是否已注册,已注册则返回注册失败信息,成功则调用业务层代码实现数据的插入。响应成功信息,页面收到成功信息进行消息提示并跳转登录页面。注册功能实现代码如下:
public void addUser(HttpServletRequest request, HttpServletResponse response) throws IOException {//获取数据BufferedReader reader = request.getReader();String line = reader.readLine();//封装对象。。User user = JSON.parseObject(line, User.class);//判断是否已存在手机号User user1 = userService.selectByTelephone(user.getTelephone());if (user1 != null) {response.getWriter().write("fail");} else {userService.addUser(user);response.getWriter().write("success");}
作业提交功能实现
作业提交功能是本系统学生对象的核心功能,本系统主界面展示部分即为已发布作业的信息,学生可对作业信息进行一定的筛选,查找,需将已完成的作业上交时,在登录之后即可使用提交作业功能,学生只需填入作业内容信息,提交后系统自动更新学生该项作业完成情况。
作业提交功能的实现前端啊依赖于Element-ui、ajax等技术获取学生选中的作业信息,学生完成作业内容的填写提交后数据由Ajax发向StuWorkServlet的addStuWork()方法,该方法获取前端学生提交的作业数据,封装为Homework的javabean对象调用业务层实现作业信息的存储,其功能实现代码如下:
public void addStuWork(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {//获取数据BufferedReader reader = request.getReader();String line = reader.readLine();DataBean dataBean = JSON.parseObject(line, DataBean.class);//转化成对象。StuWork stuWork = JSON.parseObject(dataBean.getWork(), StuWork.class);System.out.println(stuWork);//执行方法前,,获取用户的id。再提交HttpSession session = request.getSession();User user = (User) session.getAttribute("user");if (user != null) {//获取并设置提交者IDstuWork.setSid(user.getUid());System.out.println(stuWork);//测试//成功获取Session!!!!!!!!!!!!!!!!!!!!!!stuWorkService.addStuWork(stuWork);//更新Session Qids的数据List<Integer> qids = (List<Integer>) session.getAttribute("Qids");qids.add(stuWork.getQid());//响应request.getRequestDispatcher("/homework/selectByPageAnd?formInline="+dataBean.getFormInline()).forward(request,response);// response.getWriter().write("success");} else {response.getWriter().write("fail");}}
教师批改作业的功能实现
每一个学生提交的作业存储于数据库的StuWork表中,包含了学生信息,作业内容等基本信息,StuWork剩余部分将由教师来补充,即教师批改作业,包含学生该作业成绩得分,教师评语,批改日期等信息。教师批改作业,查询学生提交的作业内容,给予打分,自由性留下评语,批改完成后不可修改,可查看已改作业信息。
批改作业功能实现,前端由Vue、Element-ui、Ajax等框架与技术实现。教师选中的学生的作业信息,完成批改后新的数据发送到后端StuWorkServlet的updateStuWork()方法,该方法将获得的数据进行封装,根据id对学生的作业进行数据更新,补充成绩、教师评语等信息。其功能实现代码如下:
public void updateStu(HttpServletRequest request, HttpServletResponse response) throws IOException {BufferedReader reader = request.getReader();String line = reader.readLine();System.out.println(line);StuWork stuWork = JSON.parseObject(line, StuWork.class);//获取用户IDHttpSession session = request.getSession();User user = (User) session.getAttribute("user");if (user != null){stuWork.setTid(user.getUid());stuWorkService.updateStu(stuWork);response.getWriter().write("success");}else{response.getWriter().write("fail");}}
总结和期望
二、体温测量上报系统对象图
三、体温测量上报系统 时序图
软件工程课程设计“作业管理系统”的总结和期望相关推荐
- 课程设计图书管理系统c语言,图书管理系统c语言课程设计c语言课程设计作业获得95分全院第一......
> 下载中心 > > 图书管理系统 c语言课程设计 english version 图书管理系统 c语言课程设计 所属分类: 开发工具:c/c++ 文件大小:2720kb 下载 ...
- 软件工程测试旅游管理系统,软件工程课程设计---旅游信息管理系统
软件工程课程设计---旅游信息管理系统 福建农林大学金山学院福建农林大学金山学院 课程设计报告课程设计报告 课程名称 软件工程 课程设计题目 旅游信息管理系统 姓 名 系 信息与机电工程系 专 业 计 ...
- 数据库应用课程设计 教学管理系统 大学编程作业(TUST 天津科技大学 2022 年)
数据库应用课程设计 教学管理系统 大学编程作业(TUST 天津科技大学 2022 年) 数据库应用课程设计 教学管理系统 大学编程作业(TUST 天津科技大学 2022 年) 一.项目简介 二.交流学 ...
- 网吧管理系统C语言作业,C语言课程设计-网吧管理系统.doc
C语言课程设计-网吧管理系统 <通信工程专业C语言课程设计> 报 告 专 业: 通信工程 班 级: 0802 姓 名: 赵 松 指导教师: 丁 雄 二00九 年 十二 月 二十五 日 目 ...
- c语言课程设计作业图书管理系统,C语言课程设计图书馆管理系统程序代码.doc
C语言课程设计图书馆管理系统程序代码.doc includestdio.h includewindows.h includestring.h includeconio.h define M 100 s ...
- 软件工程课程设计——技术栈【Go+Vue+PGSQL】的人事管理系统
一.项目架构介绍 项目技术栈:Go+Vue+PGSQL 开发工具:IDEA2021.1 后端开发语言:Go 前端框架:Vue3.0(集成ElementUI组件) 后端框架:Gin.Gorm 数据库:P ...
- c语言大作业书店图书管理系统,c语言课程设计 书店管理系统.pdf
c语言课程设计 书店管理系统 计算机程序设计(C语言) 课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24 日 一.选题背景: 设计一 ...
- 火车票售票系统C语言大作业,C语言课程设计--火车票管理系统
<C语言课程设计--火车票管理系统>由会员分享,可在线阅读,更多相关<C语言课程设计--火车票管理系统(19页珍藏版)>请在人人文库网上搜索. 1.二.设计内容二.设计内容 设 ...
- 软件工程课程设计·SOA架构搭建SSM框架的网上商城系统
软件工程课程设计·SOA架构搭建SSM框架的网上商城系统 项目简介 本系统利用SSM框架.Dubbo框架.Maven模块化开发等技术开发的一个网上商城项目,主要包括订单系统模块.购物车系统模块.搜索系 ...
最新文章
- POJ 2828 Buy Tickets | 线段树的喵用
- 详解:操作符的优先级
- python剑指offer跳台阶_【剑指offer】跳台阶I和II(Javapython)
- Quartz框架中的Listener
- mac全选文字的快捷键_最全Mac系统快捷键一览
- php 路由 隐藏index,CI中路由与伪静态、隐藏index.php(十四)
- 【hdu2825】ac自动机 + 状压dp
- GO string 转map_用go语言,只需两百行代码就能搞定并发聊天室!
- i - 数据结构实验之图论九:最小生成树_「核心考点」2021计算机数据结构
- 计算机丨浏览器访问出现DNS_PROBE_POSSIBLE解决方法
- Linux VM环境配置
- 别再用Excel了!用帆软报表做营收报表效率高十倍!
- 编程语言-什么是低级语言?
- (ICPR-2021)使用胶囊的多尺度部分表示变换的步态识别
- matlab 函数pdf怎么用_怎么将Word转换成PDF?Word转PDF就得用这个工具
- 【Android ROM定制】CyanogenMod源码下载和编译
- 解决C Runtime R6034的错误
- lisp 标注螺纹孔_螺纹的规定画法及规定标注
- 【Axure视频教程】鼠标滚动缩放图片
- 养老金入市,千呼万唤始出来?
热门文章
- EXPORT_SYMBOL的使用并以使用do_adjtimex调节内核tick_length(滴答长度)为例的说明...
- 双目格雷码结构光三维测量系统原理解析
- Docker-Compose集成编排Redis、MySQL、微服务,业务服务容器化
- 宝利通会议电话应该如何拨打第三方电话
- .net 统计图表总结
- Android Things物联网开发经验总结
- 惠普Linux成像和打印现在支持Linux Mint 21.1, Ubuntu 22.10
- ubuntu 18.04安装USB wifi接收器的驱动
- 判断给定二叉树是否是完全二叉树
- Linux及Windows下编译exosip和osip2源码