软件工程课程大作业评分系统(教师端)-计算机毕业设计源码16346

软件工程课程大作业评分系统

摘 要

软件工程课程大作业评分系统的引入,旨在为软件工程专业教师提供一个高效、便捷的作业评分与管理工具。通过该系统,教师可以轻松管理教师的大作业,实现自动化评分与反馈,有效减轻工作负担。同时,系统还提供了丰富的数据分析功能,帮助教师深入了解教师的学习情况,优化教学策略,提升教学质量。该评分系统的开发与应用,将极大地促进软件工程教学的现代化与信息化进程,为师生带来全新的教学与学习体验。

系统采用了B/S结构,在此基础上,对各业务模块进行了界面交互,以MySQL为数据库,并选用IDEA进行系统设计。在实现功能的同时,为实现系统的升级和扩展,采用了springboot框架,用户通过PC机访问Web版本,实现对系统功能的访问和交互。资料分类管理模块主要负责对已有数据库进行维护、管理、添加、维护、删除、修改等。管理员负责维护系统的各项功能、数据的备份、恢复,保证数据的完整性和一致性;负责用户的管理与配置。最后对系统进行测试后,改善了程序逻辑和代码。同时确保该系统有很好的操作体验,实现了对于学校、单位、教师的共同双赢。


关键词: 课程大作业评分系统;Java编程语言;MySQL数据库;springboot框架

The Scoring System for Software Engineering Course Homework

Abstract

The introduction of a software engineering course homework grading system aims to provide an efficient and convenient tool for software engineering teachers to score and manage assignments. Through this system, teachers can easily manage students' homework, achieve automated grading and feedback, and effectively reduce workload. At the same time, the system also provides rich data analysis functions to help teachers deeply understand the learning situation of students, optimize teaching strategies, and improve teaching quality. The development and application of this scoring system will greatly promote the modernization and informatization process of software engineering teaching, bringing new teaching and learning experiences to teachers and students.

The system adopts a B/S structure, and on this basis, interface interaction is carried out for each business module, using MySQL as the database and using IDEA for system design. At the same time as implementing the functions, the springboot framework was adopted to upgrade and expand the system. Users can access the web version through a PC to access and interact with the system functions. The system management module is mainly responsible for maintaining, managing, adding, maintaining, deleting, and modifying existing databases. Administrators are responsible for maintaining various functions of the system, backing up and restoring data, and ensuring the integrity and consistency of data; Responsible for user management and configuration. After testing the system, the program logic and code were improved. At the same time, it ensures that the system has a good operating experience, achieving a win-win situation for schools, units, and students.

Keywords: Course assignment grading system; Java programming language; MySQL database; Springboot framework

目录

摘 要

Abstract

第1章 绪论

1.1 选题背景

1.2 开发现状

1.3 本文结构

第2章 相关技术简介

2.1 B/S结构

2.2 MySQL数据库

2.3 spring boot框架介绍:

第3章 系统分析

3.1 可行性分析

3.2 需求分析

3.3 性能需求分析

3.4 系统业务流程分析

第4章 系统设计

4.1 系统功能模块设计

4.2 数据库设计

第5章 系统实现

5.1 登录模块的实现

5.2 教师首页模块

5.3 小组作业管理模块

5.4 报名通知管理模块

5.5 系统用户管理模块

5.6 资料分类管理模块

5.7 作业类型管理界面

第6章 系统测试

6.1 测试过程

6.2 测试用例 

6.3 测试结果

第7章 结论

参考文献

致谢

  1. 绪论
    1. 选题背景

随着信息技术的迅猛发展,软件工程教育在培养高素质软件人才方面扮演着至关重要的角色。在软件工程课程教学中,大作业不仅是教师展示所学知识和技能的重要途径,也是教师评价教师学习效果的关键依据。然而,传统的评分方式往往受到人工因素的影响,评分效率低下,主观性强,难以确保评分的公正性和准确性。

因此,开发一套高效、客观、公正的软件工程课程大作业评分系统显得尤为重要。该系统能够自动化处理评分流程,通过智能算法和数据分析,准确判断教师作业的质量和水平,降低人工因素的干扰,提高评分的客观性和公正性。同时,系统还能为教师提供丰富的数据分析和可视化展示,帮助教师更好地了解教师的学习情况,为教学决策提供有力支持。有助于提升软件工程教育的质量和效果,培养更多具备高素质和创新能力的软件人才。

    1. 开发现状

当前,软件工程课程大作业评分系统的开发正逐渐成为教育领域的研究热点和实践方向。随着信息技术的不断进步和教育教学方式的创新,越来越多的教育机构开始认识到自动化评分系统在提升教学质量和效率方面的重要作用。然而,尽管市场上已经存在一些类似的评分系统,但它们在针对软件工程课程大作业的特点和需求方面仍存在一些不足之处。

具体来说,现有的评分系统可能在功能完整性、评分准确性以及用户体验等方面存在一定的局限性。例如,一些系统可能无法全面覆盖软件工程大作业中的多个评价维度,导致评分结果不够全面和客观;或者一些系统在处理复杂代码和项目时可能出现误判或漏判的情况,影响评分的准确性。此外,一些系统在界面设计和操作体验方面也可能存在不足,使得教师使用起来不够便捷和高效。

因此,开发一套功能完善、准确性高且用户体验良好的软件工程课程大作业评分系统,对于提升软件工程教学质量和效率具有重要意义。这样的系统不仅能够减轻教师的工作负担,提高评分效率和准确性,还能够为教师提供更加公正和客观的评价反馈,促进他们的学习和成长。同时,通过不断优化和完善评分系统的功能和性能,还可以为软件工程教育的创新发展提供有力支持。

    1. 本文结构

(1)绪论

从开发系统的背景、意义、以及系统的发展状况,详细描述了系统的在哪些方面能得到应用、然后对本文分结构。

(2)系统开发环境介绍

使用技术简介、数据库概念和特点、编码工具、建模工具等。

(3)系统分析

可行性分析概述、用户需求调研、系统业务流程分析、系统数据组成。

(4)系统设计

系统网络结构设计、系统总体设计、系统功能模块的划分、系统功能模块的需求,数据库设计概述、数据库概述结构设计、数据库逻辑结构设计。

(5)系统的实现

企业信息模块的实现、教师评分模块设计、岗位信息模块的实现。

(6)系统测试

系统编码实现后,需要进行测试,测试包括黑盒测试和白盒测试,本系统采用黑盒测试,通过输入不同组的测试数据进行测试的功能模块测试。

  1. 相关技术简介
    1. B/S结构

大教师软件工程课程大作业评分系统通过B/S架构进行实现,基于浏览器和服务器方式进行开发的系统架构,只有把应用程序部署到服务器端,客户端才可以借助导航网址进行系统访问[1]。

基于Java技术开发的B/S架构系统,需要借助Tomcat服务器应用程序进行部署运行。用户访问系统的时候,通过浏览器向应用程序服务器端发起访问请求,服务器端的程序在接到用户请求以后,服务器端应用程序对客户请求做出相应,在调用服务器端的业务逻辑程序完成和数据库端的交互,进一步生成相应的HTML/XML数据,最终把结果反馈给浏览器端用户[3]。

在该系统的开发中,开发模式采用B/S架构技术进行实现,通过部署服务器端应用程序,实现用户通过网站域名或者内网IP地址访问系统,实现系统中数据的动态化呈现和管理,加之页面效果的动态化呈现,不仅提升了页面的表现力,而且管理者可以随时更新系统中的各种信息,充分满足管理者和访问用户之间的信息交互[4]。

    1. MySQL数据库

无论是在个人学习中还是在企业办公中,MySQL数据库一直都是一种具有强大扩展性,强大功能的数据信息管理工具和处理工具。由于MySQL数据库的存在,将Windows系统所拥有的优点展现的淋漓尽致,而且能够对Win进行图形化的管理,使得使用者在操作系统的过程中对项目能够做到一目了然;而其强大的储存功能更是为系统工程运作提供了保障。MySQL不仅仅是一种优秀的数据信息处理工具,更是一个拥有独立的,完整的数据库语言的管理平台。

    1. spring boot框架介绍:

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。

  1. 系统分析
    1. 可行性分析
      1. 技术可行性分析

技术上使用springboot+Java+MySQL+Apache的架构实现,从技术本身的角度上讲已经相当成熟,不需要考虑其本身的问题,从服务器流量以及并发的角度上讲,由于系统面向的群体为教师,用户群体适中,根据服务器和计算能力的发展现状来看不会成为系统不利因素。再者就是开发人员本身的水平问题,笔者在实习期间已经经历过3~5个项目,也独立完成过项目,因此在技术上还是比较有信心,加上有指导老师的协助指导,相信技术上不存在问题。

      1. 经济可行性分析

本系统功能模块相对来说不是很复杂,整个设计和开发过程投入成本较低,在实际使用中,只需要一台能上网的计算机登录浏览器即可访问,后期可能开发出手机APP端的客户端或者微信小程序。操作简单,业务流程很清晰,且运维也比较轻松,面对这么大的一个市场,如果投入使用能得到大面积覆盖的话,不仅是用户的使用能给系统端带来收益,使用者想要入驻当然也是需要缴纳一定的费用的。总的来说,与前期少量的开销相比,最终产出的收益是相当可观的,也就是说该系统在经济上是完全可行的。

      1. 操作可行性分析

系统开发采用的B/S架构是最常见的Web项目架构,常用于简单Web系统项目的开发。基于B/S架构实现的系统,免去了客户端频繁更新换代的成本和麻烦,只需要一台能上网的计算机登录浏览器即可享受足不出户的快捷。系统操作便捷,可兼容到不同操作系统和不同浏览器,只需要简单熟悉系统的核心业务逻辑和步骤,任何人都能快速上手。前台与后台的分离使得业务逻辑十分清晰,超强的界面友善性同样给用户体验加分。所以,该系统具备超强的功能逻辑和快速上手的优势,我们可以说该系统在操作上是可行的。

    1. 需求分析
      1. 教师端功能分析

(1)后台首页:个性化展示课程与作业管理概览。

(2)课程资料管理:上传、编辑、删除课程相关资料。

(3)平时作业管理:发布、编辑平时作业。

(4)提交平时作业管理:查看教师作业提交情况,并下载批改。

(5)平时作业成绩管理:录入、修改教师作业成绩,并提供统计。

(6)小组作业管理:发布小组作业任务与要求。

(7)提交小组作业管理:查看小组作业提交情况,并下载评分。

(8)成绩反馈管理:向教师发送作业成绩反馈。

(9)课程公告管理:发布课程相关公告信息。

教师用例图如下所示。

图3-1 教师用例图

      1. 管理员端功能分析

(1)后台首页:全局监控系统运行状态与用户活动。

(2)系统用户管理:创建、编辑、删除用户账号,分配权限。

(3)课程资料管理:设定资料分类与规范,监控使用情况。

(4)作业类型管理:定义作业类型,提供模板配置。

(5)作业与成绩管理:监控作业流程,提供统计报表。

(6)报名通知与记录管理:设定报名规则,管理学生报名记录。

(7)课程公告管理:审核并发布课程公告。

(8)系统设置与维护:配置系统参数,备份数据,处理异常。

管理员用例图如下所示。

图3-2 管理员用例图

    1. 性能需求分析

基于上面功能性需求,非功能需求也是项目设计中一项必定考虑进去的工作。首先是安全性的需求,其次是界面必须整洁干净等的需求,再次就是可扩展的需求。除此之外,还有性能、可靠性的需求,具体可以表示在如下表所示。

表3-1 系统非功能需求表

安全性

只有在登录的情况下才能进行相应功能的操作,尤其是管理员功能,防止后台管理端被侵入。

可靠性

系统的功能明确,操作一个功能,不会产生额外的功能影响,操作功能的时候,页面也不会造成额外的跳动。

性能

响应时间尽量控制在1s之内

可扩展性

后台采用自顶向下的开发,利于开发与维护。

易用性

在用户使用上,尽可能使用更多的图标进行功能暗示,提供系统的可阅读性和友好性。

可维护性

前台和后台注意按照模块化开发的原则,对于组件和方法的保存和包的建立需要遵照一般开发原则,以利于维护。

    1. 系统业务流程分析

管理员权限下的工作流程主要为:管理员通过系统界面提供登录按钮并点击,转入管理员登录界面,并在界面上填入相应的管理员账户和管理员密码,进入管理员权限下的后台系统,并且在系统左侧导航条设置了相应的操作功能。

用户权限下的工作流程主要为:用户通过管理员添加的登录信息功能,在登录界面进行个人身份验证,并且进入用户的个人后台界面,并进行相应的操作。

软件工程课程大作业评分系统的业务流程如下图所示。

图3-3 系统业务流程图

  1. 系统设计
    1. 系统功能模块设计

系功能模块分成了管理员及用户两个模块,每个模块登录进去对应相应的功能,具体的功能模块图如图4.1所示。

图4.1 大教师软件工程课程大作业评分系统功能模块图

    1. 数据库设计

数据库的设计承载者系统的各种数据,在建立数据库的时候,主要是数据库模型的设计以及各个数据库表的设计两部分。

      1. 数据库概念结构设计

下面是整个大教师软件工程课程大作业评分系统中主要的数据库表总E-R实体关系图。

图3.2 大教师软件工程课程大作业评分系统总E-R关系图

      1. 数据库逻辑结构设计

通过前面E-R关系图可以看到项目需要创建很多个数据表。以下是项目中的主要数据库表的关系模型:

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表assignment_type (作业类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

assignment_type_id

int

10

0

N

Y

作业类型ID

2

assignment_type

varchar

64

0

Y

N

作业类型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表course_materials (课程资料)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

course_materials_id

int

10

0

N

Y

课程资料ID

2

data_name

varchar

64

0

Y

N

资料名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值