基于SSM的网上作业管理系统设计开题报告
2022-05-19 22:02:22
1. 研究目的与意义
1.1研究背景
在接到课题后,在网上和图书馆期刊论文中查阅了相关资料,以下为相关文献研究现状:
文献[1]陈庆荣的《作业提交及管理系统的设计与实现》中,分析了作业管理系统的功能模块以及数据库模型,其中模块包括用户管理模块,电子作业提交模块,电子作业管理模块,系统开发工具用的是visual studio.net,它提供了包括设计、编码、编译调试、数据库联接操作等基本功能和基于开放架构的服务器组件开发平台。作者详细地介绍了各个管理模块下的主要功能,用户管理模块拥有对用户的增加、删除信息或密码的更改以及用户使用权限设置等功能,电子作业提交模块更具用户输入的用户名和密码,验证学生用户后方可开放电子作业提交功能,还可以对电子作业进行导出,电子计分和评语。
2. 研究内容和预期目标
主要研究内容:
本设计主要实现电子学院学生的网上作业管理,方便教师和学生的联系,帮助教师布置、收集作业,将作业收集在服务器上课程相对的文件夹内,方便管理。同时,学生也可以随时查看自己作业的批改情况,并可与教师及时交流学习中的问题。综合运用web开发的相关基本理论、技术和工程实践方法,设计一个网上作业管理系统,最后完成系统的部署与测试。
3. 研究的方法与步骤
3.1研究方法
系统功能模块图如下:
3.1.1系统功能模块主要划分为管理员模块、教师模块、学生模块以及作业管理模块
3.1.1.1管理员模块
管理员模块可以实现修改个人信息,完成对用户的分角色管理,对教师信息、学生信息、学生所在班级信息、老师所创建的课程信息和学生选课信息的添加、删除和修改操作,还有老师布置作业和学生提交作业情况的查看操作。
3.1.1.2教师模块
教师模块可以实现修改个人信息,查看自己所授课的列表,可以发布作业,并对其进行修改、删除等操作和查看学生提交作业情况。
3.1.1.3学生模块
学生模块可以实现修改个人信息,查看所选的课程信息,老师发布的作业情况和对作业的提交和修改。
3.1.1.4作业管理模块
作业管理模块是在管理员和教师角色共同操作,管理员给教师创建课程,教师在自己的后台页面按照课程布置对应的作业。
3.1.2采用的语言以及开发工具
本人打算以java为基础,使用mysql数据库并且基于Idea开发平台对软件进行开发,开发软件完成后,准备使用黑盒和白盒测试对软件进行测试,主要测试软件是否符合需求以及有无bug,最后形成毕业论文,做好PPT和准备论文答辩。
经查阅java语言主要有以下特点:
1)跨平台性
2)面向对象
3)安全性
4)多线程
5)简单易用
与其他语言对比:
Java是为了web而生的。隐藏了底层的实现细节,以及令人困惑的指针这些容易导致内存泄露等不安全结果的概念,让开发者更多地关注业务逻辑。对比起C语言,JAVA让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c语言中指针操作失误,如野指针所造成的系统崩溃,而对于垃圾管理,java将自动对内存进行回收,此外,java的跨平台型获得众多编程者的喜爱。
在一般常用的开发中,Eclipse是最容易学习上手的,但是Eclipse在代码层面设计、兼容性等方面的问题让程序员在使用过程中颇受困扰。相比而言,IntelliJ IDEA不仅解决了Eclipse存在的弊病,而且让开发工作变得更加的高效、智能。
1. 更好的项目管理方式
IDEA中的Project类似于eclipse中的workspace,而Module类似于eclipse中的project。这里可不仅仅是名称简单更改了一下,IDEA中的Project真的是一个工程,有统一的Global Library,也可以正确的相互依赖,把原来为了方便开发的模块整合到一起进行管理。
2. 更高的开发效率
举个例子,就是它能生成某个类的测试类,还能正确的放到test相应的目录下。另外IDEA可以立刻在代码界面提示相关的值,不用一个Debug界面跳来跳去,而且还能在IDE中调试JS,代码和界面的自动刷新同步等等。还有更多的快捷键便于使用。
MySQL 是一个关系型数据库管理系统,使用的 SQL 语言是用于访问数据库的最常用的标准化语言。由于 MySQL 数据库体积小、速度快、总体拥有成本低、开放源代码,其有着广泛的应用,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,因此搭配 PHP 和 Apache 服务器可组成良好的开发环境。
MySQL 数据库管理系统具有以下系统特性:
(1)使用 C 和 C 编写,并使用多种编译器进行测试,保证源代码的可移植性。
(2)支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统。
(3)为多种编程语言提供了 API。这些编程语言包括 C、C 、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
(4)支持多线程,充分利用 CPU 资源。
(5)优化的 SQL 查询算法,有效地提高查询速度。
(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入其他的软件中。
(7)提供多语言支持,常见的编码如中文的 GB 2312、BIG 5,日文的 Shift_JIS 等都可以用作数据表名和数据列名。
(8)提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。
(9)提供用于管理、检查、优化数据库操作的管理工具。
Tomcat是一个开源的web服务器,它运行时占用的系统资源小,有扩展性好,支持负载均衡与邮件服务等开发应用系统常用的功能,同时Tomcat也是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,所以当运行tomcat时,它实际上作为一个Apache独立的进程单独运行的。当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
3.1.3数据库设计
本系统拟采用Mysql数据库,目前设计的表主要有:
(1)teacher表:
字段名 | 字段类型 | 字段描述 |
teacher_id | INT(20) | 教师ID号 |
password | VARCHAR(128) | 密码 |
teacher_name | VARCHAR(32) | 教师姓名 |
profile_img | VARCHAR(1024) | 头像地址 |
gender | VARCHAR(4) | 性别 |
| VARCHAR(1024) | 邮箱 |
teacher_desc | VARCHAR(1024) | 简介 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
(2)student表:
字段名 | 字段类型 | 字段描述 |
student_id | INT(20) | 学生ID号 |
password | VARCHAR(128) | 密码 |
student_name | VARCHAR(32) | 学生姓名 |
profile_img | VARCHAR(1024) | 头像地址 |
gender | VARCHAR(4) | 性别 |
| VARCHAR(1024) | 邮箱 |
student_desc | VARCHAR(1024) | 简介 |
clazz_id | INT(20) | 班级ID号 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
(3)admin表:
字段名 | 字段类型 | 字段描述 |
admin_id | INT(20) | 管理员ID号 |
password | VARCHAR(128) | 密码 |
admin_name | VARCHAR(32) | 管理员姓名 |
profile_img | VARCHAR(1024) | 头像地址 |
gender | VARCHAR(4) | 性别 |
| VARCHAR(1024) | 邮箱 |
admin_desc | VARCHAR(1024) | 简介 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
(4)clazz表:
字段名 | 字段类型 | 可否为空 |
clazz_id | INT(20) | 班级ID号 |
clazz_number | INT(4) | 班级人数 |
clazz_desc | VARCHAR(1024) | 简介 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
(5)course表
字段名 | 字段类型 | 可否为空 |
course_id | INT(20) | 课程ID号 |
course_name | VARCHAR(128) | 课程名称 |
course_desc | VARCHAR(1024) | 简介 |
teacher_id | INT(20) | 教师ID号 |
course_number | INT(4) | 课程容量 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
(6)student_course表
字段名 | 字段类型 | 可否为空 |
student_course_id | INT(20) | 学生选课ID号 |
course_id | INT(20) | 课程ID号 |
student_id | INT(20) | 学生ID号 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
(7)homework表
字段名 | 字段类型 | 可否为空 |
homework_id | INT(20) | 作业ID号 |
homework_name | VARCHAR(128) | 作业名称 |
homework_desc | VARCHAR(1024) | 作业详细要求 |
course_id | INT(20) | 课程ID号 |
homework_file | VARCHAR(1024) | 作业要求文件 |
submit_time | VARCHAR(128) | 作业提交截至时间 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
(8)student_homework表:
字段名 | 字段类型 | 可否为空 |
student_homework_id | INT(20) | 学生作业ID号 |
homework_id | INT(20) | 作业ID号 |
student_id | INT(20) | 学生ID号 |
submit_content | VARCHAR(1024) | 作业提交内容 |
submit_file | VARCHAR(1024) | 作业提交文件 |
create_time | DATETIME(6) | 创建时间 |
last_edit_time | DATETIME(6) | 最近修改时间 |
3.2 需求分析
1.系统需要一个教师信息管理和课程信息管理,教师布置作业需要选定已经发布的课程,再布置作业;学生信息也是先录入,然后选定课程,然后根据老师发布的内容来完成作业
2.教师在后台发布作业的时候,按照作业标题、作业内容、所属课程、截止时间以及上传作业附件发布对应课程的作业
3.老师布置作业后,学生可以根据作业内容和作业附件,在提交截止前提交作业
4.每个老师布置的作业会存放在文件夹(homework)中,而且每个作业会单独生成一个文件夹进行存放,方便管理;学生提交的作业也会上传至文件夹(studentHomework)中每一项作业所单独生成的课程文件夹中
5.教师最后查看或下载学生的作业,进行作业批改。
3.3研究步骤:
1.查阅文献资料,了解系统大体功能
2.对系统进行需求分析,掌握其大致的功能需求。然后进行资源搜索,了解一些现有的网上作业管理系统的功能、界面等,与自己的需求分析进行比较,查漏补缺,并对功能进行优化。然后进行功能定义,角色功能描述。
3.进行概要设计,对系统进行模块化分析
4.详细设计,利用图形工具将过程细节描述出来,用表格进行数据库的设计
5.对管理员界面、教师页面、学生页面的代码编写,解决功能之间的逻辑性
6.对各个功能模块及系统进行黑白盒测试
7.优化各模块的功能并完善系统
4. 参考文献
[1]陈庆荣.作业提交及管理系统的设计与实现.福建电脑,2008年11期,p135,p143
[2]关路祥.基于web的学生作业管理系统,实验室科学,2005年6期,p82-83
[3]赵立臻.基于web的作业交管系统的设计与实现.中国现代教育装备,2008年8期,p49-51
5. 计划与进度安排
(1)2022.03.01----2022.03.07查阅相关文献资料
(2)2022.03.08----2022.03.14撰写开题报告
(3)2022.03.15----2022.03.21需求分析,熟悉开发工具