博主介绍:专注于Java .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟我的博客空间发布了1000+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
- 前言
1.1选题的研究现状
网络技术的发展使得教学的形式不断变化,在网上教学方式中,网络平台的建设占很大一部分,基于此原因,设计多媒体网络教学平台,方便教师教学及考核。
该系统采用开放、动态的系统架构,将传统的课堂培训模式与先进的网络应用相结合,可使不同工种学员根据自身水平和[培训目的快速构建仿真培训系统,实现对学员的培训、学习、考试的高效管理。
1.2国内平台研究现状
在目前的普通高校的网络教育平台中,多数的高等院校都有自己的网上教学平台。通过分析这些平台的相同与不同,因此在众平台均有的通用功能基础上,增添了网上自动选题考核功能,同时自动批改阅卷,使之减轻教师的负担,增强学生独自学习的积极性。在比较国内网络教育平台,得出以下结论:
(1)网上教育的科目较少、内容简单且不生动,没有实质的具有吸引力的东西吸引学生浏览;
(2)网络课件的更新速度慢,没有及时根据实际情况更新课件;
(3)课程的交互程度低,通常是单方面的以文本方式出现的课件,最多是可以供学生自己点击观看的链接。
(4)课件一般内容较分散、缺乏系统性;
经过我的分析和研究,我发现网络多媒体教学将向以下趋势发展:
1.增强界面的灵活性,生动性
2.添加更多的学生自主学习的功能
3.多媒体课件设计生动,使学生对知识印象深刻;
1.4小结
本人认为,多媒体网络教学网站的建设是能够使得学生更加有效的学习,更有利于教师进行考核,同时提高实践能力。教学网站可以使教学不受时间、空间和地域的限制,从而实现了自主学习,改变了学校教学的范围和教学方式,促进了教育的变革,使老师和学生充分利用了网络的便利。这种交互式的网上教学使老师更便捷的了解学生的状况;而学生也能更好地发现自己的不足,提高学习的积极性。
第二章 需求分析
2.1环境要求
环境需求可分为硬件环境需求和软件环境需求。
1.硬件环境需求:
一台CPU为AMD Turion(tm)64x2 1.60GHz,内存为1.5G的计算机
2.软件环境需求:
(1)数据库服务器 MySQL 5
(2)Web服务器 win2000/2003 IIS5.0及以上版本
(3)客户端 windows xp
(4)IE6.0及以上版本
2.3可行性分析
为了弄清楚系统开发的项目是否可以实现和值得进行研究,实际上是简化系统分析和系统设计的过程,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:
1.经济可行性:本系统的功能基本实现,成本较低,实用性强
2.技术可行性:要采用大学所学到的专业知识来完成多媒体教学平台的制作。运用MyEclipse 工具,实现这个平台要求的基本功能。
3.运行可行性:力求每一步都有相应的提示,方便用户使用。
4.法律可行性:即该平台的开发会不会在社会上引起侵权或其它责任问题。本平台是自主开发设计,因此不会构成侵权,在法律上是可行的。
通过以上的可行性分析,将开始对网站进行设计。
2.4需求分析
由于学习人数都比较多,学生的能力也参差不齐。因此如果有一个很好的公共教学平台,具备很强的交互功能,就能充分调动学生的学习积极性,减轻教师的负担。让教师与学生之间、学生与学生之间进行教学上的交互活动,通过平台记录下学生学习状况,使老师能够更方便的制定下一步的教学计划
2.5功能分析
此多媒体课件的主要功能包括以下三项:
1.多媒体网络课件的显示
2.用户登录系统模块
针对不同的用户,选择进入自己相对身份的管理后台界面。用户类型分为三种:管理员、教师、学生。
3.在线考试系统模块
此系统是本平台特色功能模块,学生登录后可进入考试系统,选择考试时,系统随机抽取题库,为每个学生生成一套试卷,试卷题目的难度由教师确定。题库由管理员进行相应的管理。在线考试系统题库包括单项选择题题库,简答题题库,每个题库中的题目分为三种难度简单、一般、困难,用来控制试卷的难度。学生答完试卷后,直接提交到服务器,由服务器自动批改选择题。教师登陆后可以对试卷类型进行操作,对已提交的试卷进行阅卷,学生可查询成绩。
2.6系统流程图
此多媒体课件系统流程图如下:
图2-6 系统流程图
2.7小结
需求分析及功能分析是系统设计必须完成的流程,同时流程图的制定能够增强系统设计的逻辑性和清晰度,方便完善接下来的设计思路。
第三章 数据库设计
3.1数据流图
数据流图四种基本成分组成:
外部项(外部实体)、加工(数据加工)、数据存储、数据流。
数据流图基本图例,如图3-1所示。
图3-1 基本数据流图
本平台顶层数据流图,如图3-2所示。
图3-2 数据流图
3.2数据库设计规约
数据库设计规约的主要内容有:
1.所有数据项、数据库名都用英文表示,英文单词首字母大写,其他的字母小写 。
2.字符集采用 GBK,请注意字符的转换。
3.所有数据表第一个字段都是系统内部使用主键列,自动生成,不可空,名称为:表名+Id确保不把此字段暴露给最终用户。
4.除特别说明外,所有字符串字段都采用varchar类型
5.除特别说明外,所有小数的字段都采用 double的形式表达。
6.除特别说明外,所有日期格式都采用 datetime格式,无时间值。
7.除特别说明外,所有整形都采用 int 格式。
8.除特别说明外,所有字段默认都为 null 。
数据表名称设计规约:
1.表名采用Pascal大小写命名法。
2.整个表名的长度不要超过30 个字符。
3.首字母要大写,多个单词的话,单词首字母要大写,反对order、Useraccout及ORDER。
4.避免中文拼音,一律用英文,不准出现其它语言,表名应有具体相对应的意义,不取没有意义的表名,一般是取模块名翻译成英文。
5.避免下划线连接,反对User_Accout(下划线适用Oracle数据库)。
6.避免保留字。
7.为了不增加数据库当中的表名的长度,一般不允许出现如Form或者Table的字样,如:记录表:应为Record,而不是RecordTable。
8.命名应尽量反映存储的数据内容。
属性(列或字段)设计规约:
1.采用有意义的列名,一般都是相对中文的英文表现形式,如学生(Student)。
2.采用Pascal大小写命名法。
3.属性名前不要加表名等作为前缀。
4.属性后不加任何类型标识作为后缀。
5.避免中文拼音。
6.避免下划线连接。
7.避免名称过长。
8.避免保留字,如果有遇到与保留字有相同的字段,则该字段前加前缀,前缀为表名的首字母,该字母大小,原有该字段首字母小写,如name在学生表Student中则改为sName。
主键的设计规约:
1.不以表中的原有的字段定义为主键,并须重新添加一个为主键。
2.每个表都必须有主键
3.主键命名为:“id”,其类型为varchar,长度为32,其生成方式为时间(年月日时分秒)+4为随机数,如2009-12-17/10:55/45/+1234为200912171055451234。
3.3数据库名
课件采用的数据库服务器为MySQL 5,数据库名为ctplatform,在给用户密码时采用默认密码,为“root”。下表为数据表清单。
表3-1 数据库清单
TABLE名 | 表名 | 备注/说明 |
Username | 用户表 | 用户信息 |
Studentscore | 学生成绩表 | 存储学生成绩 |
Score | 试卷表 | 存储试卷信息 |
Choicequestion | 选择题表 | 存储题库里的选择题 |
Student | 学生表 | 存储学生的信息 |
Teacher | 教师表 | 存储教师的信息 |
3.4 E-R图
通常,用ER图(entity-relationship diagram,实体联系图)来建立数据模型。
ER图中包含了实体、关系与属性三种基本成分,用矩形框代表实体,用连接相关的菱形框表示关系,用椭圆型或圆角矩形表示实体的属性(或关系),并用直线把实体或关系与其属性链接起来。
以下为用户类型的ER图:
图3-3 管理员E-R图
图3-4 教师E-R图
图3-5 学生E-R图
3.5数据表说明
根据数据库设计规约及系统的需求建立下列数据表。
表3-2 user数据结构表
字段名称 | 字段类型 | 是否主键 | 介绍 |
Username | varchar(20) | Yes | 用户名 |
password | varchar(20) | no | 用户密码 |
class | int | no | 用户类型 |
表格说明:
username代表用户名,采用可变字符串类型,是user表的主键,不可为空
password代表密码,采用可变字符串类型,不可为空
class代表类型,采用int类型,用标识用户属于哪类型的用户。当值为1时代表用户是学生,值为2时代表用户是教师,值为3时代表用户是管理员。值不可为空。
首先用Mysql创建数据库并建立表格。
建立sql语句:
create database ctplatform;
创建user表格语句:
use ctplatform;
create table user (
username varchar(20) primary key,
password varchar(20),
class int,
建立User类,是用来封装数据库中user表中的各中数据,在jsp页面中如要调用数据库中的数据,首先将数据库中user表内存储的内容,放到User的一个对象中,再从User的对象中取出各个数据进行操作与显示。
表3-3 testpaper数据结构表
字段名称 | 字段类型 | 是否主键 | 说明 |
papernumber | varchar(50) | yes | 试卷编号 |
select | int | no | 选择题数目 |
selectScore | double | no | 选择题总分 |
表格说明:
testpaper表格用来封装教师添加试卷的信息。
papernumber代表试卷的编号,就是学生在登陆考试时需要输入的考试编号,是表格主键,采用可变字符串类型,不能为空。
Select代表试卷题数,采用int型,不能为空
selectScore代表试卷中选择题的分值,采用double类型,不能为空。
创建表格sql语句:
create table testpaper (
peapernumber varchar(50) primary key,
select int,
selectScore double,
表3-4 score数据结构表
字段名称 | 字段类型 | 是否主键 | 说明 |
score_number | varchar(20) | yes | 学生编号 |
score_grade | double | no | 试卷分数 |
Testpapernumber | varchar(20) | no | 试卷编号 |
Validation | int | no | 试卷状态 |
表格说明:
validation用来标识试卷是否已批改,采用int类型,不能为空。取值为0时表示没有阅卷,取值为1时表示已经阅卷.
创建表格sql语句:
create table score (
score_number varchar(20) primary key,
score_grade double,
testpapernumber varchar(20),
validation int);
表3-6 Choicequestion数据结构表
字段名称 | 字段类型 | 是否主键 | 说明 |
id | int | Yes | 试题编号 |
title | varchar(255) | No | 试题题目 |
option1 | varchar(255) | No | 试题答案选项1 |
option2 | varchar(255) | No | 试题答案选项2 |
option3 | varchar(255) | No | 试题答案选项3 |
option4 | varchar(255) | No | 试题答案选项4 |
answer | varchar(255) | No | 试题正确答案 |
表格说明:
同上,difficulty代表单选题的难易程度,可以让老师来确定整套试题的题目不同单难度是一样的。
创建数据库sql语句:
create table choicequestion (
id int primary key auto_increment,
title varchar(255),
option1 varchar(255),
option2 varchar(255),
option3 varchar(255),
option4 varchar(255),
answer varchar(255),
表3-6 student数据结构表
字段名称 | 字段类型 | 是否主键 | 说明 |
student_number | varchar(20) | Yes | 学生学号 |
student_name | varchar(20) | no | 学生姓名 |
student_sex | varchar(20) | no | 学生性别 |
student_class | varchar(20) | no | 学生班级 |
student_grade | varchar(20) | no | 学生年级 |
student_course | varchar(20) | no | 学生课程 |
student_testnumber | varchar(20) | no | 学生考试试卷编号 |
表格说明:存储学生信息。
创建数据库sql语句:
create table student (
student_number varchar(20) not null primary key,
student_name varchar(20) ,
student_sex varchar(20) ,
student_class varchar(20) ,
student_grade varchar(20),
student_course varchar(20),
student_testnumber varchar(20),
表3-7 teacher数据结构表
字段名称 | 字段类型 | 是否主键 | 说明 |
teacher_number | varchar(20) | Yes | 教师编号 |
teacher_name | varchar(20) | No | 教师姓名 |
teacher_sex | varchar(20) | No | 教师性别 |
表格说明:存储学生信息。
创建数据库sql语句:
create table teacher (
teacher_number varchar(20) primary key,
teacher_name varchar(20),
teacher_sex varchar(20)
3.6小结
是网站设计中的数据库的设计是其重要部分,有条理的表格设计能使数据库建立连接和在提取所需数据时起到方便的作用。同时为防止网站提取数据库信息时不出现乱码的状况,将数据库的默认字符设置为GBK,便可以实现支持中文字体的存储和提取。
第四章 系统设计
4.1概论设计
系统总体设计指系统的部分组成,以及各部分在物理上、逻辑上相互关系,包括硬件部分和软件部分。主要任务是将系统合理划分为各个功能模块,明确地处理模块之间及内部的联系和它们之间的调用关系,定义模块的内部结构。按照功能不同,将网站分为课件模块,登陆模块和考试模块。
用例图
用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现参与者之间的关系,用于对系统、子系统或类的功能进行建模。
图4-1 系统用例图
4.2系统功能结构设计
4.2.1课件模块
实现功能:
1.采用树状目录显示课件章节
2.在冗长的课件内容中插入锚点,方便学生针对自己的需要找到所要章节的课件内容。
4.2.2登录模块
实现功能:
1.分为三种用户类型:管理员、学生、教师。不同身份的用户登录后会进入到不同的界面。
2.学生和教师可以修改自身的密码。
3.登陆出错时会给出相应的提示,例如:用户名错误、密码错误、身份错误等提示信息。
4.2.3考试模块
实现功能:
1.对学生进行知识考核并检验。
2.学生登录系统,进入考试模块,填写试卷类型编号,进行考试。
3.试卷采用从题库中抽题的方式,随机生成试卷。
4.学生将答卷信息提交到服务器上,教师登陆系统可以进行阅卷等相应的操作。
4.3系统性能
由于该系统是采用jsp,servlet等技术实现的基于B/S结构的网络平台,jsp和servlet均支持多线程,故此网站支持多线程并发处理,方便实现多人访问时,每个人都能稳定浏览网站。
性能指标:
1.数据库精度:JSP提供的数据类型与数据库所提供的数据类型可以完全满足本系统的需求,系统无需另外定义其它的数据类型。
2.反应特性:对用户访问的响应时间、更新处理时间要求迅速,能满足客户的快速性要求。
3.灵活性:只要是能JDBC驱动程序的数据库,并且是能运行或解释HTML代码以及Javascript代码的浏览器都可以运行此网站。
4.数据管理能力:数据库能满足系统对精度、容量、运行速度的要求。
5.可使用性:能快速地实现前台功能;能准确地实现后台管理功能。
6.保密性:不同的用户类型只能进入相应身份的后台进行操作,不能进入其他的后台界面。
4.4小结
本系统是统一的整体,模块之间存在相应的联系。最突出的就是显示界面的问题,这要求保证用户登陆后的后台系统要有统一的界面,这一使得程序的某些模块中有公共的代码,以能减小以后维护升级时的改动量。
第五章 详细设计
5.1教学课件首页
5.2用户登陆模块
用户登陆系统分为三种类型的用户,不同用户登陆后进入的管理页面是不一样的,用户的登陆界面如图5-4所示。
- 下拉菜单的实现
2、登陆信息的设置
3、登录后台管理界面的用户类型判断
//判断登陆用户是那种用户类型,如果是1跳转到学生页面student.jsp,如果是2跳转到教师页面teacher.jsp,如果是3跳转到管理员界面manager.jsp。
5.3在线考试模块
在线考试系统可以对学生进行计算机相关知识进行考核检验,以利于教师检查学生的学习效果。学生登录系统,进入在线考试系统,填写考试的试卷编号,进行考试。试卷采用随即从题库中抽题的方式,生成等难度的随即试卷,不同的学生有不同的试卷。学生在自己的机器上提交试卷到服务器端,教师登陆考试系统可以进行阅卷等相应的操作。
在线考试系统的主要界面和具体实现代码如图所示。
5-3 考试界面
在线考试系统模块,此系统是本平台的主要功能模块,学生登录后考试系统后,有系统随机为每个学生生成一套试卷,每套试卷的难度是一样的学生答完试卷后,直接提交到服务器,在提交时系统自动判断并生成选择题的成绩,同时把选择题成绩还有各个简答题的题目答案封装到试卷类,存储到数据库中的试卷表中,以便教师登陆管理后可以对试卷进操作,阅卷,添加试卷的,教师阅卷结束后录入学生成绩,之后学生可以进在线考试系统查询自己的成绩。
5-4 查询成绩页面
5-5 试卷管理界面
5-6 阅卷界面
//计算学生的单项选择题得到的总分数
for (int i = 0; i < selectTotalNumber; i++) {
String sql = "select * from choicequestion where title = '"
+ questionTitle[i] + "' and answer = '"
+ selectedAnswer[i] + "'";
rs = DB1.executeQuery(stmt, sql);
if (rs.next()) {
correctCount++;
}
DB1.close(rs);
}
score = correctCount * selectScore;
System.out.println(score);
5.4系统出错处理设计
5.4.1出错信息
系统在运行的过程中,可能会出现各种报错,如以下的报错处理表。
表5-1 报错处理表
故障情况 | 系统输出信息的形式 | 系统输出信息的含义 | 处理方法 |
登录错误 | 弹出对话框提示 | 帐号或密码 | 重新输入帐号、密码 |
数据库连接异常 | 驱动程序有错 | 没有连接数据源 | 连接数据源 |
访问数据库语句有错 | 访问语句有错 | 语句错误 | 修改访问语句 |
运行乱码 | 无报错 | 无报错 | 统一字符串格式为GBK |
5.4.2出错原因
系统运行时如果突然不能正常浏览,有可能是外部原因,也有可能是内部管理人员操作问题,导致数据的丢失或者是系统的破坏。
5.4.3处理措施
- 当不能正常浏览时,首先检查网络问题,如果网络没有问题,检查源文件是不是被破坏,内部管理人员即使在没出错的时候,也应该定期的检测系统,以便及时发现并且解决问题。
- 周期性地把磁盘信息记录到磁带上去,以便定期备份系统数据,当系统数据受到破坏时,可以及时恢复,以确保系统能够在最快的时间内恢复运行。
- 使用恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。
需要 其他的定制服务 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者