师生作业交流系统的开发与设计.docx
《师生作业交流系统的开发与设计.docx》由会员分享,可在线阅读,更多相关《师生作业交流系统的开发与设计.docx(23页珍藏版)》请在冰豆网上搜索。
![师生作业交流系统的开发与设计.docx](https://file1.bdocx.com/fileroot1/2023-7/3/b958ed9b-b2d4-4167-8799-05435d67e407/b958ed9b-b2d4-4167-8799-05435d67e4071.gif)
师生作业交流系统的开发与设计
摘要
随着现在网络技术的不断发展,信息化已经成为了人们不断追求的目标,校园中的师生作业交流同样趋向信息化发展。
各校园中的师生作业交流系统都在不断的发展,师生作业交流系统可以为师生之间的作业交流带来方便,实现了学生提交作业、教师批改作业、作业批改后反馈等功能。
解决了纸质作业的丢失,漏交,统计缓慢,容易出错等具体问题。
从应用情况来看,师生作业交流系统很大程度上提高了作业管理的效率,在高校教学中具有一定的推广价值。
关键词:
作业交流;提交作业;B/S模式;struts2框架;mybatis框架
ABSTRACT
Withthecurrentdevelopmentofnetworktechnology,informationtechnologyhasbecomethegoalofthepeoplecontinuouspursuit,exchangeofteachersandstudentshomeworksystemoncampussametendtoinformationtechnology.Exchangeofteachersandstudentshomeworksystemcanbringconvenienceforthecommunicationbetweenteachersandstudents,itimplementsuploadstudentwork,teacherjobcorrecting,jobcorrectingfeedbackandotherfunctions.
Keywords:
Homeworkcommunication;submithomework;B/Smodel;struts2framework;mybatisframework
第1章绪论
1.1师生作业交流系统的背景
随着计算机网络技术的不断发展,师生之间的作业交流方式也不再是传统的老师课堂上布置作业,学生课后完成作业并按时提交作业的模式,也不再仅仅局限于书面形式,而是更趋向于电子化,网格化,通过网络聊天工具来进行作业的交流,比如QQ,Email,Blog等等
。
另外,还有一种是利用FTP文件传输工具进行交流。
通过网络聊天工具来进行作业交流,虽然方便了很多,但是还不能够对学生的作业进行有效,合理的管理。
利用FTP文件传输存放到网络的一个共享目录上,这种方法虽然解决了作业的存放和管理的问题,但是依然有一些弊端,作业是共享的,任意以为同学的作业都可以被其他同学进行查看和复制,而且教师批改完作业之后也不能够及时的将作业批改结果反馈给学生,使学生不能好好的保存作业方便复习。
使用师生作业交流系统不仅可以方便学生与老师之间作业的交流,还能够对学生的作业进行管理学生和老师可通过自己独有的学号和教工号进行登录,可及时布置作业,上传作业,批改作业,使得师生之间的作业交流更加高效
。
1.2师生作业交流系统的目的和意义
师生作业交流系统的总体目标是方便在校学生与老师之间的作业交流。
通过此系统老师和同学可以根据自己的教工号以及学号进行登录系统,选择相关课程并进行上传、下载作业以及预览。
用户包括在校学生,老师以及相关的管理人员。
师生作业交流系统是为学校教育提供资源共享、信息交流和协同工作的计算机网络信息系统。
它是一个能够为学校的教育教学工作实现众多功能的信息系统,功能包括资源共享、信息交流、引导学生学习、辅助教师教学工作以及协同工作。
它有血有肉,而不仅仅是一对设备或是空架子。
1.3本章小结
本章主要介绍了师生作业交流系统网站的开发背景,开发目的以及开发意义。
分析了师生作业交流系统网站的现状,说明了现有网站的缺陷。
师生作业交流系统不仅符合了现在网络时代的发展趋势,还满足了学校师生的实际需求,具备了充足的开发潜力和理由。
第2章网站开发环境与开发工具
2.1网站开发环境
网站运用MyEclipse8.5开发工具,MySQL数据库,详细信息如下:
操作系统平台:
Windows7PC
数据库平台:
MySQL+Navicat8.6
开发平台:
MyEclipse8.5
运行环境:
Tomcat6.0
系统架构:
MVC (ModelViewController)设计模式
软件开发语言:
Java+SQL
2.2网站开发工具
师生作业交流系统是采用Web浏览器/服务器模式(Browser/Server,简称B/S)架构的应用软件
,本系统将使用MyEclipse作为主要开发工具来实现,配置Tomcat6.0,使用Java程序代码编写。
运用MySQL数据库来存储数据,Navicat8.6来管理MySQL数据库。
2.2.1MyEclipse简介
MyEclipse是MyEclipseEnterpriseWorkbench的简称,是对EclipseIDE的扩展,利用它可以极大的提高在J2EE架构的开发、发布和数据库,以及应用程序服务器的整合方面的工作效率。
MyEclipse拥有多个版本,本系统的开发运用的是MyEclipse8.5,该版本更好地提升了开发周期的管理,团队协作开发的能力以及Spring和Hibernate框架的支持。
2.2.2MySQL和Navicat8.6简介
MySQL是一个关系型数据库管理系统,是一个真正的多用户,多线程,SQL数据库服务器,它是一个客户机/服务器结构的实现。
Navicat是由卓软数码科技有限公司(PremiumSoft)开发的一个直观强大的管理数据库的工具,用于开发和管理 Oracle、MySQL、SQLite 及 PostgreSQL等数据库,它支持 Windows、Linux及Mac OS X 等操作系统。
2.2.3Tomcat6.0简介
Tomcat服务器是一个免费的开放源代码的Web应用服务器。
它因为性能稳定,运行时技术先进,占用的系统资源小,扩展性好等优点而深受广大程序员的喜欢。
而且Tomcat还支持邮件服务、负载平衡等开发应用系统常用的功能;并且任何一个有兴趣的程序员都可以对Tomcat进行修改或是往其中添加新的功能,因为它还处于不断的改革和完善中。
2.3网站开发技术
为实现师生作业交流系统的基本功能,开发过程中需要用到多种系统编程技术
,本系统采用struts2+spring+mybatis框架和MVC设计模式,前端运用了JavaScript,Jquery,CSS等技术,上传附件运用了Uploadfy第三方插件。
struts2+spring+mybatis框架:
(1)Struts2相对struts1还不够成熟,应用群众并不多,未知风险和变化很多。
当然也有许多优点,Struts2会对用户的每一次请求都创建一个Action,所以Struts2中的Action是线程安全的。
Struts2引入了几个新的框架特性:
从逻辑中分离出横切关注点的拦截器、减少或者消除配置文件、贯穿整个框架的强大表达式语言、支持可变更和可重用的基于MVC模式的标签API,Struts2充分利用了从其它MVC框架学到的经验和教训,使得Struts2框架更加清晰灵活。
(2)MyBatis摒弃了大部分的JDBC代码、手工设置参数和结果集重获,只是使用了简单的XML文件和注解来配置和映射基本的数据类型、POJO和Map接口到数据库记录。
(3)Spring致力于提供一个既统一又高效的方式构成整个应用,并且可以将单层框架以最佳的组合融合在一起来建立一个连贯的体系。
JavaScript技术:
JavaScript是由Netscape公司基于Sun的Java语言开发的,它和Java相似,但又完全不同,它是一门独立的,基于对象的脚本语言,可以直接在浏览器中运行,做出丰富多彩的效果,不需要服务器的支持。
HTML语言本身不具备交互功能,但该脚本可以直接嵌入在HTML代码中,用于增强网页特效,提高与终端用户之间的交互性能。
Jquery技术:
Jquery是一个优秀的JavaScript框架,是一个轻量级的JavaScript库;用最少的代码做最多的事情可以很简单的开发很多JavaScript效果;兼容CSS3,以及各种类型的浏览器;jquery能够让JavaScript代码从HTML页面代码中分离出来,使用户的HTML页面保持代码和HTML内容分离,就像CSS让样式代码与HTML页面代码分离是一样的道理,这样可以更方便地为网站提供AJAX交互。
CSS技术:
CSS是CascadingStyleSheets的简称,叫层叠样式表,又叫级联样式表,简称样式表,分为内联方式,内部样式表和外部样式表。
使用CSS可以更加精确有效的控制对页面的布局、字体、颜色、背景和其它效果的实现。
CSS实现了将内容与表现分离,提高了样式代码的可重用性和可维护性。
Uploadfy第三方插件:
html中的file标签具有一定的局限性,如果文件过大,或者多个文件上传的时候,这个html中的file标签就会有点力不从心。
所以就诞生了上传文件的第三方插件Uploadify,它可以有效的实现对大文件和多文件的上传。
Uploadify这个插件是根据js里面的jquery库来写的。
并且结合了ajax和flash技术,实现了多线程上传文件的功能。
MVC设计模式:
MVC是由模型(Model),视图(View),控制器(Controller)完成的应用程序。
由模型发出要实现的功能到控制器,控制器接手组织功能传递给视图
。
2.4本章小结
本章介绍了实现师生作业交流系统的相关技术和系统结构模式,阐述了MyEclipse、MySQL开发工具和MVC设计模式,并对这些技术的特性进行了简要说明。
第3章系统分析
3.1师生作业交流系统的可行性分析
3.1.1技术上的可行性
本系统采用的是Web浏览器/服务器模式(Browser/Server,简称B/S)
,struts2+spring+mybatis框架,运用MyEclipse开发工具,Java语言开发,Mysql数据库存储数据。
这些都是非常成熟的技术,实现起来难度不大。
由此可见,该系统在技术上具有可行性。
3.1.2经济上的可行性
对于信息系统的初次投资都是为了以后获得更大的经济或是社会利益。
本系统很小,只是一个校内的交流网站,硬件上只需要一台台式机,用于管理员管理该系统
。
另外,因为它是基于B/S架构的,软件开发人员一人即可完成,而且师生作业交流网站可以给学生和老师带来很大的方便,提高了效率,所以经济上的可行性是肯定的。
3.1.3社会和管理上的可行性
该系统可以在很大程度上满足师生之间的作业交流,因此,必将得到老师和同学的一致认可。
如果此系统运行下来的效果好的话,还可以向其他学校推广。
从长远的目标来看,学生的作业成绩可一直存在系统中,方便老师对学生的了解以及学生的自我了解。
另外系统的开发也未违法任何法规和政策,故社会和管理上是可行的。
综上所述,本师生作业交流系统在技术上、经济上、社会和管理上都是完全可行的,投入少、见效快,能够大大的提高工作效率。
因此系统的开发是完全可行的
。
3.2需求分析
3.2.1角色分析
师生作业交流系统中主要涉及到管理员信息,教师信息,学生信息,课程信息,班级信息,作业信息等多种数据管理。
从系统权限角度将系统分为三种角色:
分别是教师,学生和管理员。
教师角色登陆后拥有布置作业,批改作业,查看班级中的选课情况,以及修改自己的个人信息和密码的权限。
学生角色登陆后只拥有提交作业,修改自己的个人信息以及修改密码的权限。
管理员角色登陆后拥有管理教师,学生,班级,课程,教师与班级之间的关系,教师与课程之间的关系和学生与课程之间的管理的权限。
3.2.2业务流程分析
在师生作业交流系统中,老师可以直接通过自己的教工号以及默认密码登陆网站(进入网站后可以修改密码),选择相应的课程,进行作业的布置。
同时,学生也可以直接使用自己的学号以及默认密码登陆网站(进入网站后可以修改密码),选择相应的课程上传自己的作业。
若为了系统能够正常运行和系统的安全性,系统还需要系统管理员进行系统的维护。
通过以上的描述,画出主要的系统流程图如图31所示。
图31主要业务功能流程图
3.2.3数据流程分析
数据流图是一种全面地描述信息系统逻辑模型和系统各个部分之间数据传递的主要工具。
具有抽象性和概括性的特点使其可以简单而综合地反映出信息在系统中的流动、处理、和存储的情况。
根据对师生作业交流系统中学生子系统,教师子系统和系统管理员子系统的调查分析,得出师生作业交流系统的顶层数据流程图,如图32所示:
图32师生作业交流系统顶层数据流程图
本系统通过管理员登陆后台对班级,课程,教师,学生以及班级课程之间的关系,教师课程班级之间的关系进行管理。
教师和学生可在前台登陆进行布置作业,提交作业等工作,同时,教师可从系统中获取到学生提交的作业,学生可从系统中获取到教师批改后的成绩。
3.3系统功能概述
师生作业交流系统是指学生和老师通过网络来进行布置作业,上交作业,批改作业等流程的系统。
本设计开发的师生作业交流系统具有登录验证,老师布置作业,学生上交作业,老师批改作业,修改资料,修改密码,后台管理等功能。
如表31所示。
3.4本章小结
本章对师生作业交流系统做了详细的可行性分析,需求分析和系统功能概述,并以表格的形式展示了系统中的各功能定义。
第4章系统设计
4.1系统流程设计
本系统拥有多种类型用户,包括教师,学生和管理员这三种角色,每一类用户都拥有自己相应的权限
。
系统的主要工作流程是从用户登录开始的,当用户正确的输入了账号,密码和验证码后,就能成功登录到各自相应的子系统中。
系统实现流程主要如下图41所示。
图41系统流程设计图
4.2系统模块设计
经过对系统平台目标的分析,系统平台的主要用户为学生,教师和系统管理员。
其中,每个用户参与的活动较多,设计的数据也比较多,根据使用对象的不同,师生作业交流系统平台主要分为三个子系统分别是学生子系统,教师子系统和系统管理员子系统。
4.2.1学生子系统
学生利用系统的主要活动可以归为:
学生用户管理和作业交流。
如图42:
图42学生子系统功能结构图
学生用户管理包括:
登录系统平台,修改个人信息,修改个人密码。
(1)登录系统平台:
学生可直接根据自己的学号以及系统给予的初始密码登录系统学生平台。
(2)修改个人密码:
学生第一次登录后应先修改密码,以防他人使用初始密码登录。
(3)修改个人信息:
学生成功登录系统后,可点击“修改个人信息”对自己的部分信息进行修改工作。
作业交流包括:
上交作业,查看作业批改结果,下载批改后的作业。
(1)上交作业:
学生登录系统后,可在我的课程页面,选择相关课程,上交作业,作业是以附件的形式上交。
(2)查看批改后结果:
学生登录系统后,可在我的课程页面,选择相关课程,查看作业的批改结果,包括成绩,评语,以及批改后的附件。
(3)下载批改后的作业:
学生登录系统后,可在我的课程页面,选择相关课程,下载教师批改后上传的作业附件。
4.2.2教师子系统
教师利用系统的主要活动可以归为:
布置作业,查看作业,批改作业。
如图43:
图43教师子系统功能结构图
教师用户管理包括:
登录系统平台,修改个人信息,修改个人密码。
(1)登录系统平台:
教师可直接根据自己的教工号以及系统给予的初始密码登录系统的教师平台。
(2)修改个人密码:
教师第一次登录后应先修改密码,以防他人使用初始密码登录。
(3)修改个人信息:
教师成功登录系统后,可修改自己的部分信息。
作业交流包括:
布置作业,查看学生作业,批改作业并上传附件。
(1)布置作业:
教师登录系统后,可选择相关课程对某个班级布置作业。
(2)查看学生作业:
在学生上交作业之后,老师使用自己的教工号成功登录系统可以选择相关课程中的作业,下载指定学生上传的作业附件进行查看,批阅,打分。
(3)批改作业并上传附件:
教师将学生的作业批阅完成后,给予成绩和评语,同时可将批阅后的作业上传,方便学生查看复习。
4.2.3系统管理员子系统
系统管理员子系统包括:
学生管理,教师管理,班级管理和课程管理。
如图44:
图44系统管理员子系统功能结构图
系统管理员可直接根据初始特定的用户名admin和密码进行登录。
(1)学生管理:
学生的录入都是在系统管理员子系统中进行,系统管理员登录系统,在学生管理中新增。
还可以进行查询,修改和删除操作。
(2)教师管理:
教师的录入同样也都是在系统管理员子系统中进行,系统管理员登录系统,在教师管理中新增。
还可以进行查询,修改和删除操作。
(3)班级管理:
班级的录入也是在系统管理员子系统中进行,系统管理员登录系统,在班级管理中新增。
还可以进行查询,修改和删除操作。
(4)课程管理:
课程的录入也都是在系统管理员子系统中进行,系统管理员登录系统,在课程管理中新增。
还可以进行查询,修改和删除操作。
(5)班级课程管理:
管理员对班级与课程之间的关系进行管理,选择指定的班级后可以为该班级添加,删除相关的课程。
(6)教师课程班级管理:
对教师课程,教师班级,以及教师课程班级之间的关系进行管理,选择一个老师后,可以对其添加相应的课程,再添加相应的班级,当然也可以进行删除。
4.3数据库设计
4.3.1数据库设计原则
1)范式标准化
在数据库设计中,为了避免出现数据冗余、数据的插入、删除和更新异常等情况,基本表及其字段之间的关系,应尽量满足数据库的第三范式。
遵照以上原则,我们在设计数据库的时候,应先画出整个师生作业交流系统的E-R图,然后再根据E-R图来进行表的设计。
2)主键与外键结合使用
主键与外键的结合设计,在数据库的全局设计中,占有重要的主导地位。
主键是实体的高度抽象用于辨别数据库中的实体数据,无一重复,主键与外键的配对使用,很好的实现了实体之间的关联。
一般而言,一个完美的实体不能既没有主键又缺少外键。
因此,在数据库表的处理上,我们为每张基本表都定义了主键,同时也定义了关联表的外键
。
4.3.2师生作业交流系统的E-R图
图45师生作业交流系统E-R图
师生作业交流系统的E-R图如图45所示,班级与课程之间是多对多的关系;老师和课程之间是多对多的关系,老师和班级之间是多对多的关系,学生和作业之间的关系是多对多的关系。
因此将这些表都建立了一个中间表,班级课程表,老师课程表,老师班级表,学生作业表。
4.3.3数据库表结构设计
本系统使用MySQL数据库来存储数据。
主要包括以下几个表:
教师信息表,学生信息表,课程信息表,班级信息表,作业信息表,学生作业信息表,学生课程表,各个表包含的字段设计如下:
表41学生信息表
字段名称
类型
长度
允许空
字段说明
S_id
varchar
9
Notnull
学号
Class_id
varchar
9
Notnull
班级编号
Login_passwd
varchar
20
Notnull
登陆密码
Real_name
varchar
20
Notnull
真实姓名
Status
char
1
Notnull
在校状态
Create_date
date
0
Notnull
创建时间
Pause_date
date
0
null
休学时间
Close_date
date
0
null
退学时间
Graduate_date
date
0
null
毕业时间
Idcard
varchar
20
Notnull
身份证号
Gender
char
1
Notnull
性别
Telephone
char
11
Notnull
联系电话
Email
varchar
20
Notnull
电子邮箱
表42教师信息表
字段名称
类型
长度
允许空
字段说明
T_id
varchar
9
Notnull
教师编号
Login_passwd
varchar
20
Notnull
登陆密码
Status
char
1
Notnull
在校状态
Create_date
date
0
Notnull
创建时间
Pause_date
date
0
null
暂停时间
Close_date
date
0
null
离职时间
Real_name
varchar
20
Notnull
真实姓名
Idcard
varchar
20
Notnull
身份证号
Gender
char
1
Notnull
性别
Telephone
char
11
Notnull
联系电话
Email
varchar
50
Notnull
电子邮件
Office_address
varchar
20
Notnull
办公地址
表43课程信息表
字段名称
类型
长度
允许空
字段说明
Id
varchar
9
Notnull
课程编号
Name
varchar
20
Notnull
课程名称
Status
char
1
Notnull
是否开课
Create_date
date
0
Notnull
创建时间
Pause_date
date
0
null
暂停时间
Close_date
date
0
null
取消时间
表44班级信息表
字段名称
类型
长度
允许空
字段说明
Id
varchar
9
Notnull
班级编号
Name
varchar
20
Notnull
班级名称
Number
int
6
Notnull
人数
Status
char
1
Notnull
班级状态
Create_date
date
0
Notnull
创建时间
Close_date
date
0
null
关闭时间
表45作业信息表
字段名称
类型
长度
允许空
字段说明
id
varchar
9
Notnull
作业编号
homeworkName
varchar
20
Notnull
作业名称
homeworkAttachment
varchar
100
null
作业附件
courseId
varchar
9
Notnull
课程编号
className
varchar
20
Notnull
课程名称
createDate
date
0
Notnull
创建时间
teacherId
varchar
9
Notnull
布置人编号
status
char
2
Notnull
作业状态
homeworkContent
varchar
100
null
作业内容
homeworkAttachmentUrl
varchar
100
null
附件地址
表46学生作业信息表
字段名称
类型
长度
允许空
字段说明
id
varchar
9
学生作业编号
student_id
varchar
9
学号
studentName
varchar
20
学生姓名
homework_id
v