毕业设计论文.docx
《毕业设计论文.docx》由会员分享,可在线阅读,更多相关《毕业设计论文.docx(37页珍藏版)》请在冰豆网上搜索。
毕业设计论文
本科毕业设计说明书
题目:
专业英语教学网站设计与
实现——数据库与管理
院(部):
计算机科学与技术学院
专业:
网络工程
班级:
姓名:
学号:
指导教师:
完成日期:
2013年5月20日
摘要
在信息化不断完善的今天,网络已经引导我们完成了一次又一次的飞跃,现在它正引导我们走向另一次飞跃——网络教学。
本系统是基于JSP和JAVA的英语教学网站,主要使用以Tomcat为服务器、MySQL为数据库、Myeclipse为环境的框架下开发。
主要通过管理员、教师、学生三个不同的身份实现网站用户管理、教学公告发布、网站信息管理、教学内容管理、文件上传及管理、考试及成绩发布及管理、在线答疑设计等功能,提供一个方便快捷的教学平台供教师和学生使用。
本文的主要工作包括相关技术的分析、用户的需求分析,通过以上两点从管理员、教师、学生三个角度进行设计完成了教师、学生、论坛、测试等功能模块,经测试可以完成要求的大部分功能。
本文工作更侧重于网站后台,所以本网站的数据库功能比较强大,能够实现网站后台要求的所有功能,但在线测试功能也存在着一些不足之处,有待于进一步完善。
关键词:
教学网站;JSP;JAVA;MySQL数据库
TeachingwebsitedesignandimplementationofProfessionalEnglish-thedatabaseandmanagement
ABSTRACT
Withthecontinuousimprovementininformationtechnology,thenetworkhasledustocompleteleapagainandagain,andnowitisleadingustowardsanotherleap-onlineteaching.
ThesystemisateachingsitebasedonJSPandJAVAEnglish,themainuseforthesiteareTomcat,MyeclipseandMySQL.Primarilybyadministrators,teachersandstudentstoachievethreedifferentuseridentitymanagement,teachingannouncement,websiteinformationmanagement,teachingcontentmanagement,fileuploadandmanagement,publishingandmanagementofexaminationsandresults,onlineanswerdesignfeatures,providingaconvenientlearningplatformforteachersandstudents.Themainworkincludestheanalysisofrelevanttechnology,userneedsanalysis.Withtheabovetwopointscompletethedesignofteachersmodule,studentsmodule,forumsmodule,testingmoduleandotherfunctionalmodulesfromthreeangles,thesitewillcompletethemostofthefunctionsthroughtest.Theworkismorefocusedonbackgroundofthewebsite,sothewebsitehaspowerfuldatabasefunctionalities,enablingallthefunctionsthatthewebsiterequest,buttherearealsosomeshortcomingswithonlinetestfunctionstobefurtherimproved.
Keywords:
Teachingwebsite;TheJSP;JAVA;TheMySQLdatabase
绪论
课题背景
在信息化不断完善的今天,网络已经引导我们完成了一次又一次的飞跃,现在它正引导我们走向另一次飞跃——网络教学。
课题设计研发的目的、意义概述
在不断信息化的今天,网络已经成为我们生活中最不可缺少的一部分,在任何时间和领域假设没有网络那么我们的工作将很难继续下去。
同时网络的发展也推动以一些新兴产业的发展,新兴事物应运而生,旧的东西也有了新的发展,被看作呆板的教学也有了新的突破,网络教学就是其中的一个。
网络教学具有更好的互动性、实时性,同时更易于被现在的年轻人所接受,已经成为网络主要发展的一个领域,也将逐渐代替旧的教育方式。
课题研究现状
目前网络教育发展大致分为两个方向:
(1)以视频方式的在线教学
(2)基于Web的非实时性教学
前者更加侧重实时性,通过音频和视频让老师可以“面对面”的给同学讲课;后后者就是将文件存放在web服务器上供用户访问。
随着中国综合实力的不断增强,教育已经被一次又一次的提及,教育的重要性已经不言而喻,而这种新兴的教育方式必将被大多数年轻人所接受。
同时这项课题可以最大程度的节省时间,人们可以随时随地的在线浏览学习,更加方面用户。
本文的主要工作
首先从网上查阅网络文件管理系统相关资料,了解同类系统的发展现状及趋势。
分析网上教学系统的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识(包括计算机网络技术、ASP与网络数据库相关知识等),选择SQLServer数据库,在ASP环境下运用VBSCRIPT及JAVASCRIPT脚本语言进行本毕业设计的开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;最后,系统开发完毕后,进行调试和运行。
相关技术分析
JSP技术分析
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
MySQL介绍
数据库,顾名思义就是对数据进行组织,存储和管理的“仓库”。
本质上讲:
“数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。
当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个‘数据库集合’。
”这也就意味着:
“尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制”是数据库的主要目的。
按照关系型数据库和非关系型数据库进行划分,MySQL属于小型关系型数据库系统。
其所具有的开源,体积小,速度快,成本低的优势,使得它在中小型网站中得到了广泛的应用。
除此之外,MySQL还具有支持标准的ansisql语句,允许用户使用多种语言编写的程序对其数据库进行访问。
同时它也可以在多个系统上运行的特点。
所以,我认为这是一个非常适合网络安全课程网站的数据库系统。
本系统包含了有关网络安全概念的所有文本资料,课程题库等大量数据资源。
采用强大的MySQL,既可以保证性能,也可以提高安全性,对于网站的建设大有裨益。
MySQL的具体任务:
结合JSP实现数据库的设计搭建和管理。
在使用JSP设计出前台界面之后,再通过使用odbc、jdbc连接DB后,通过服务器端JSP就可以对远程数据库进行访问、数据管理以及增删查改等操作。
JavaBean技术
JavaBean是一种JAVA语言写成的可重用组件。
为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。
JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。
众所周知,属性名称符合这种模式,其他Java类可以通过自身机制发现和操作这些JavaBean属性。
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。
用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。
JavaBean可分为两种:
一种是有用户界面(UI,UserInterface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。
JSP通常访问的是后一种JavaBean。
序构造器工具的多种方案中再利用。
这也是JavaBean组件区别于Java程序的特点。
Servlet技术
Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。
它担当Web浏览器或其他Http客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。
Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
MVC设计模式
MVC是三个单词的缩写,分别为:
模型(Model),视图(View)和控制Controller)。
MVC模式的目的就是实现Web系统的职能分工。
Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。
View层用于与用户的交互,通常用JSP来实现。
Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。
使用MVC应用程序被分成三个核心部件:
模型、视图、控制器。
它们各自处理自己的任务。
分层概念如下:
(1)视图是用户看到并与之交互的界面。
对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括MacromediaFlash和象XHTML,XML/XSL,WML等一些标识语言和Webservices。
MVC一个大的好处是它能为应用程序处理很多不同的视图。
在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
(2)模型表示企业数据和业务规则。
在MVC的三个部件中,模型拥有最多的处理任务。
例如它可能用像EJBs和ColdFusionComponents这样的构件对象来处理数据库。
被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
(3)控制器接受用户的输入并调用模型和视图去完成用户的需求。
所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
开发模式设计中,事件一般是指客户端Web浏览器提交的各种不同请求,这些请求由控制器进行处理,控制器根据事件的类型来改变模型或各个视图,视图也可以接受模型发出的数据更新通知,依据数据更新的结果调整视图效果,呈现在用户面前,而模型也可以通过视图所获得的用户提交的数据进行具体业务逻辑的处理。
2.6Java
(1)简单
Java的风格类似于C++,并且摒弃了C++中容易引发程序错误的地方,如指针和内存管理。
此外,Java提供了丰富的类库。
(2)面向对象
面向对象可以说是Java最重要的特性。
Java语言的设计完全是面向对象的。
Java支持静态和动态风格的代码继承及重要。
(3)分布式
Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。
因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。
(4)健壮
Java致力于检查程序在编译和运行时的错误。
Java自己操纵内存减少了内存出错的可能性。
Java提供Null指针检测数组边界、检测异常出口、字节代码校验。
(5)安全
Java的安全性可从两个方面得到保证。
一方面,在Java语言里,像指针和释放内存等C++功能被删除,避免了非法内存操作。
另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。
(6)结构中立
为了建立Java作为网络的一个整体,Java将它的程序编译成一种结构中立的中间文件格式。
只要有Java运行系统的机器都能执行这种中间代码。
Java源程序被编译成一种高层次的与机器无关的byte-code格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。
(7)可移植的
Java的可移植性一直是Java程序设计师们的精神指标也是Java之所以能够受到程序设计师们喜爱的原因之一,最大的功臣就是JVM的技术。
JAVA编译器产生的目标代码(J-Code)是针对一种并不存在的CPU--JAVA虚拟机(JAVAVirtualMachine),而不是某一实际的CPU。
JAVA虚拟机能掩盖不同CPU之间的差别使J-Code能运行于任何具有JAVA虚拟机的机器上。
(8)高性能
Java可以在运行时直接将目标代码翻译成机器指令。
Sun用直接解释器一秒钟内可调用300,000个过程。
翻译目标代码的速度与C/C++的性能没什么区别。
(9)多线程
Java支持多线程多线程功能使得在一个程序里可同时执行多个小任务。
线程,有时也称小进程是一个大进程里分出来的小的独立的进程。
(10)动态
Java的动态特性是其面向对象设计方法的发展。
它允许程序动态地装入运行过程中所需要的类,这是C++语言进行面向对象程序设计所无法实现的。
Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。
需求分析及系统设计
3.1课程网站的前台实现
本网站前台主要通过Myeclipse软件,Java语言进行设计实现,主要通过3个身份的不同认证显示出不同的身份功能。
3.2课程网站的后台实现
网站管理后台,俗称网站后台,是管理网站前台的一系列操作。
通过网站管理后台达到有效管理网站信息和资源、方便浏览者查阅的目的。
处于安全性和可维护性等因素的考虑,网站的后台只允许通过用户名和密码验证的浏览者登陆。
后台不同与前台,前台服务用户,后台需要管理员管理。
本课程网站根据功能分析,需要有管理员实体,教学资源实体,在线模拟测试实体,学生在线留言交流实体。
其中,管理员通过输入正确的用户名和密码进入,可以对教学资源进行上传,同时也可以对学生的在线留言进行回复,删除等操作。
管理员编号
管理员密码
管理员姓名
管理员
图3.1管理员实体属性图
教师(学生)
联系方式
个人信息
姓名
密码
图3.2教师(学生)信息属性图
登录过程分为3种情况:
管理员登录:
管理员具有网站的最高权限,可以实现网站的任意非恶性操作,主要实现对网站用户的管理以及对网站信息的维护。
教师登录:
教师登录主要实现对教育信息的发布或删除,对教育资源的管理,以及一些问题的回复。
同时教师也具有对教育信息的公告发布的义务。
学生登录:
学生登陆只要实现的功能也就是网络资源的下载以及和教师或学生之间的交流。
3.3课程网站的需求分析
区别与其他的网络视频在线教育,本网站更加侧重于高效,能够使学生在网站上可以得到及时、确切的资料和学习。
为实现功能完善、方面高效的英语教育网站则必须侧重于教师和学生两个方面:
(1)教师更侧重于节省时间,因此可以通过问题回收的方式将问题集中的发送到教师的邮箱那里,而在每周的固定时间定位教师的答疑时间,教师的教学视频也会定期的公布在网站上面供学生学习和使用。
(2)从学生的角度是怎样高效的学习,在线看视频的方式可以减少不必要的麻烦,可以随时随地的下载观看,而且集中答疑也同时可以给学生节省不少时间。
由于课程网站的设计立足于方便教师教学,方便学生学习,提高学生的自学能力,同时节约教学成本。
所以,本课程网站的功能为:
在线查看课程信息,共享课程资源,网上答疑,在线考试,用户账户管理,信息交流等。
据此,要求系统做到以下功能:
(1)网站用户管理:
对网站的各类用户统一管理,便于查看。
具体功能:
网络的用户包括两类:
教师和学生。
虽然两种用户所得到的权限不同,但都是由管理员统一管理其信息。
(2)教学公告发布:
便于学生得到教学信息,实现高效的学习。
具体功能:
提供类似于公告栏的功能,实现消息的发布使学生可以及时得到消息从而高效学习。
(3)资源共享:
主要实现上传下载功能,用户能在资源共享界面上传教学相关视频、题库、课件,提交作业等功能,并在网上显示,为多人共享。
具体功能:
设置专门提供上传和下载的页面,在该页面提供上传文件和下载文件的服务,下载的权限是所有可以登录到本系统的用户,上传的权限是管理员(给予老师管理员权限)。
(4)学习论坛及在线答疑:
给用户提供一个良好的在线交流的平台。
具体功能:
用户登录后可以使用论坛功能,学生的权限只能发表留言,不能对已有的留言进行管理(删除等操作),同时可以对其他用户的留言进行回复和查看,管理员则可以删除已有的不符合论坛要求的发言。
(5)网站信息管理:
对网站各部分信息进行管理和更新。
具体功能:
此部分侧重实现网站信息的更新以及升级,只有管理员有这样的权限。
3.4数据库设计
(1)数据表定义。
数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:
属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。
将关系型数据库按关系规范化要求进行设计(3NF)。
(2)存储设备和存储空间组织。
确定数据的存放地点、存储路径、存储设备等。
(3)数据使用权限设置。
针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。
数据库命名为:
network
本网站使用的数据库表如下:
表3.1教师表
表3.2学生表
此部分只简要的描述了两种表格的主要信息,还有一些个人信息和联系方式并未在上述表格中体现。
3.5本章小结
本章对系统的总体设计进行了简要的描述,通过对各个主要功能模块的分析介绍,奠定下面设计建站的目标和方案。
同时在系统测试和验证时用于功能对照。
达到需求分析的目的。
详细系统设计与实现
前台系统的实施
前台系统的主要功能是向不同的用户提供登录入口从而获得不同的权限信息以实现不同的功能,同时还具有教师(学生)注册功能,实现与后台数据的联系。
具体实施为:
网站首页为用户提供登录界面,对用的不同的用户分为管理员、教师、学生3种选择,通过不同的身份登录得到对后台数据库不同的管理权限从而实现功能上的划分。
管理员:
管理员登录后会得到最高权限,对后台数据库可以进行任何操作。
其主要的3个功能包括:
账户管理、课程介绍、教学团队。
而每个部分有包括不同的功能。
教师:
相比较管理员对后台的权限有所削弱,只能对后台数据库实现部分功能。
主要包括课程信息的发布以及教学视频的上传。
学生:
具有对后天数据库最小的权限,只能对后台数据库进行极少的一部分操作。
主要是论坛讨论部分的操作以及下载学习资料的部分。
资料列表选项卡将导向资料查看页面,该页面显示已有的所有资料(包含资料的标题、内容、教师所属学院、系部等),并可通过点击查看和教师姓名访问其他页面。
教师和学生都可以通过自己的操作界面进行查看,同时教师的界面中有添加和修改学习资料的功能。
学习论坛页面,将展示学生和教师进行留言交流互动的信息。
用户可以通过我要留言、查看回复、我要回复等超链接进入不同的页面进行不同的操作,实现教师和学生之间的交流功能。
资源下载页面,将为所有用户提供网站现有资料的下载服务。
在线考试界面:
教师可以在自己的工作界面中添加试卷信息以及试题的描述,同时学生可以在自己的学习界面中查看试卷在线答题。
流程图展示如下:
图4.1网站基本结构图
图4.2网站注册结构图
图4.3学生功能结构图
图4.4教师列表结构图
图4.5教师登陆结构图
图4.6学习论坛结构图
后台系统的实施
通过创建数据库,并实现对数据库的操作来实现对后台的管理。
首先安装数据库MySQL,建立用户数据库text,在text数据库中新建后台管理所需要用到的表。
具体如下:
管理员表:
此部分的用户对整个数据库有最高的管理权限,可以对数据库进行所有操作,而此表则只是对管理员登录的时候进行测试。
表设计如下:
图4.7管理员表结构
学生表:
与管理员表的结构相似,学生表的主要功能也是实现在学生登录时进行测试,但不同之处在于学生表可以进行添加、修改和删除。
表结构设计如下:
图4.8学生表结构
教师表:
与学生表相似,只是数据库的权限有所不同。
图4.9教师表结构
课程信息表:
课程信息表主要是实现对课程信息的公布和提示功能,主要包括课程简介和教学团队,管理员对该表有管理权限,教师有部分管理权限,而对于学生只有访问权限。
表结构设计如下:
图4.10课程信息表结构
部分内容如下:
试题表:
试题表主要是通过教师的添加、修改和删除实现对该表的操作,同样具有最高权限的管理员也有对该表进行操作的权利。
图4.11试题表结构
教学资料表:
该表用于存放教学资料以及教学视频,同时也提供学习资料和学习视频的下载功能。
表结构设计如下:
图4.12教学资料表结构
试题题目表:
该表主要是集中的存放各个试题以便于用户可以更加直观的看到,体现了方便、快捷的特点,这正是网络教学的目的。
表的格式如下:
图4.13试题题目表结构
论坛回复表:
该表用于存放回复的时间、内容、回复人等信息。
表结构设计如下:
图4.14论坛回复表结构
各系统界面及关键代码
网站首页:
图4.15网站首页截图
资料列表:
图4.1