jsp软件工程课程教学网站mysql论文_第1页
jsp软件工程课程教学网站mysql论文_第2页
jsp软件工程课程教学网站mysql论文_第3页
jsp软件工程课程教学网站mysql论文_第4页
jsp软件工程课程教学网站mysql论文_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE28毕业设计(论文)题目:学生姓名:学号:专业:班级:指导教师:年月日摘要摘要软件工程课程教学网站系统特点是通过网站平台,教师可以把课程要求、教学目标、教学方法、教学资源等放到网站上供学生及时学习,除此之外该网站还提供在线测试、自主学习,在线预约等功能,通过网上联系、网上答疑、在线辅导促进师生的学习交流,老师能及时了解学生的学习情况、及时释疑。这样学生就可以通过该网站随时随地利用碎片时间学习,通过平时练习巩固课程知识,通过自我检测了解自己学习状态,从而查空补缺,知道自己的不足,进一步来弥补不足,最终提高学习效果。该系统采用JSP技术,使用JAVA开发语言,MYSQL作为后台数据库,采用B/S结构,三层运行模式,便于软件的分发和维护升级,适应了众多应用客户端分散环境下的运行和维护需求,操作方便、界面美观友好、灵活性好。关键词:JSP;MYSQL;网站系统;软件工程;B/S系统AbstractAbstractInformationtheoryandcodingwebsitesystemcharacteristicisthroughthewebsiteplatform,teacherscantakethecourserequirements,teachingobjectives,teachingmethods,teachingresourcesonthewebsiteforstudentstolearnintime,inadditiontothesitealsooffersonlinetesting,autonomouslearning,thefunctionsuchasonlinebooking,throughcontacts,onlineansweringquestionsonline,onlinetutoringpromotelearningcommunicationbetweenteachersandstudents,teacherscanunderstandstudents'learningsituationintimeanddevelopsolutionsinatimelymanner.Throughthiswebsite,sothatstudentscanusethefragmenttimelearninganytimeandanywhere,viatheusualpracticetoconsolidatecurriculumknowledge,learnbyselftesttoknowtheirstatus,andblankcheckfillavacancy,andknowmyownshortcomings,furthertomakeuptheshortfall,eventuallyimprovethelearningeffect.ThesystemUSESJSPtechnology,theuseoftheJAVAdevelopmentlanguage,MYSQLdatabaseasthebackground,adoptsB/Sstructure,threelayersofoperationmode,tofacilitatethesoftwaredistributionandmaintenanceupgrade,manyscatteredapplicationclientenvironmenttoadapttotheoperation,andmaintenancerequirements,easytooperate,beautifulandfriendlyinterface,goodflexibility.Keywords:TheJSP;MYSQL;Sitesystem;B/SSystem目录目录摘要 IAbstract II1绪论 11.1课题的背景 11.2课题的意义 11.3系统的开发工具 22系统的需求分析 52.1系统需求分析任务 52.2系统的功能分析 62.3系统用例分析 72.4系统的可行性分析 83系统的详细设计 103.1系统设计的原则 103.2系统功能设计 103.3数据库的概念设计 113.4数据库的物理设计 143.5系统的接口设计 164系统的实现 174.1首页的实现 174.2用户注册功能模块 174.3用在线留言模块 184.4课件下载功能模块 194.5教学视频功能模块 204.6管理员登陆功能模块 214.7课程信息管理模块 214.8教学视频功能模块 224.9用户管理功能模块 224.10留言管理功能模块 235测试 245.1软件测试的平台 245.2系统测试的实例 24总结 26参考文献 27致谢 28附录 29河北工程大学毕业设计论文1绪论1.1课题的背景网络技术以及现代教育技术的发展,国家教育政策的扶持等给网络教育带来了良好的发展契机。作为一种新兴的教育形式,网络教育还处在发展初期,制约网络教育发展的主要因素是网络课件的制作以及支持系统的建设。网络最重要的特点是跨越时空的限制。在设施上达到网络技术的要求越来越不是一件困难的事情,这为网络教育的扩张创造了极为便利的条件。从目前的情况来看,试点高校的网络教育已经扩展到全国31个省、自治区、直辖市,并正逐步把覆盖范围扩大到市和县。随着多媒体技术和网络通信技术的发展,基于Internet的计算机远程教学作为一种全新的教学手段,越来越受到人们的关注。计算机远程教学是指利用多媒体技术和网络通信技术,在网络环境下开展的教学活动。它有着传统教学模式所无可比拟的优点,它创造了一种全新的教学模式,打破了传统教学模式在时间、空间上的限制,采用了先进的教学手段和教学方法,大大提高了教学效率和教学效果,使教学活动上了一个新台阶。网络教育即基于Web的教学,是利用包含WWW各种特性和资源的超媒体教学程序来创造一种有意义的学习环境,在这种学习环境中学习得到促进和支持。中国的网络教育大致上来讲分为四个阶段:远程开放教育阶段(1980年至今)计算机网络和多媒体技术在教学中的应用阶段(1990年至今)WBI阶段(1994年至今)现代远程教育阶段(2005年至今)。我国教育部于1998年12月24日制定、国务院1999年1月13日批转的《面向21世纪教育振兴行动计划》对远程教育尤其是网络教育的发展作了宏观上的规划,并给予了政策上的支持。由此看开网络教育在中国正在不断的发展,并得到了国家的有利支持,相信此方向前景是光明的。1.2课题的意义随着信息技术的发展,在20世纪50年代后期,人们开始利用广播电视技术进行远程教育。由于中国人口众多,教育资源相对匮乏,教育水平总体上还比较低下,不能适应经济建设与社会发展的需要,因此在60年代初,我国几个大型城市开始试行广播电视教育,由此社会化大规模的教育形式开始形成。远程教育应该关注的是如何能够大规模、高质量地让学生学得快、学得好,使学生在主动和自主学习方面有更大的选择余地。根据人的认知规律,应用多种技术媒体进行组合教学,以调动学习者多种感觉器官多渠道接受一定强度的刺激,使之产生较深的印象,从而学得更快更好。在众多的现代教学媒体中,多媒体计算机不仅具有计算机的存储记忆、高速运算、逻辑判断、自动运行的功能,更可以把符号、语言、文字、声音、图形、动画和视频图像等多种媒体信息集成于一体,并采用了图形交互界面、窗口交互换作及触摸技术,使人机交互能力大大提高。多媒体计算机具有很高的运算速度和数据处理能力,可以在很短的时间内传输、储存、提取或呈现大量的语言、图像,而且随着网络的发展,通过网络可以提取远程服务器或计算机中的教学内容而不受时间和空间的限制。这是其他任何传统媒体所无法达到的。它正作为一种重要教学媒体迅速地应用于教学过程中,对促进教学现代化起着十分重要的作用。网络教育作为现代教育的一个重要组成部分,日益受到人们的重视。一大批已参加工作的成人或因为某种原因失去教育机会的成人——这是一个不容忽视的庞大的群体,在网络教育实施过程中有机会接受继续教育。他们具有丰富的社会和实践经验;有较强烈的求知欲望;有较明确学习目的及稳定的专业方向,这个群体接受教育成功与否,对全面提高国民素质具有重要的影响。本网站就是为了自学者更好的学习而设计的,本网站主要体现了交互性的原则,培养同学们的创新能力,充分调动学生的学习兴趣。网站满足在Internet上运行的条件,并具备安全、稳定、下载快的特点。充分利用计算机的表现力,方便学习者学习信息论与编码课程,提高学习者的学习兴趣和自觉性。教学内容符合课程的内在逻辑体系。符合信息论与编码学习者的认知规律,在疑难关键知识点上提供多种形式和多层次的精品学习内容,并提供练习题、测试题。交互性强,学习者可以根据自己的爱好或需要,对学习内容进行选择或改变知识点的信息论与编码学习路线。1.3系统的开发工具(1)JAVA介绍应用程序开发。Java的产生与流行是当今Internet发展的客观要求,Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统。Java是一种简单的语言。Java删除掉了许多很少被使用、不容易理解的C++功能。与C++相比,Java语言也提供重载函数,但它重载的对象是函数而非变量或是运算符。Java还增加了自动内存收集功能。Java才能够通过网络轻易下载。Java是分布式语言Java具有广泛的能轻易地处理TCP/IP协议的运行库,Java应用程序可以借助URL通过网络开启对象和存取对象,Java的目标是协助开发人员建立可靠的程序。Java不允许将一个整数转成指针的情形发生。JAVA不同于C语言在于JAVA拥有一种模型。能排除内存覆盖,能损毁数据的可能。JavaBean为一种用JAVA语言所写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,且有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露称为属性。众所周知,属性名称符合这种模式,其他Java类可以通过自省机制发现和操作这些JavaBean属性。用户可使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象都进行打包,并且其他的开发者也可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴功能,而不用关心任何改变。最初,JavaBean的目的只是为了将可重复使用的软件代码打包标准。特别是用与帮助厂家开发在综合开发环境(IDE)下所使用的java软件部件。这些包括例如Grid控件,用户可将该部件拖放到开发环境中。从此,JavaBean就可扩展为一个javaweb应用的标准部件,并且JavaBean部件框架已扩展为企业版的Bean(EJB)(2)MYSQL介绍使用MySQL而不需要支付任何费用。同时也可以研究其源代码,并根据需要进行修改。与其他的大型数据库相比,MySQL自有它的不足之处,如规模小、功能有限但对于中、小型应用系统是非常理想的,开源性降低了总体成本。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库,MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。MYSQL数据库的特点:1)使用核心线程的完全多线程。这意味着它能很容易地利用多CPU(如果有)。2)可运行在不同的平台上。,能够提供很多不同的使用者介面,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言介面,如支持C、C++、Java、Perl、PHP、Python和TCLAPI等。3)多种列类型:1、2、3、4、和8字节长度的有符号/无符号整数(INT)、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、SET和ENUM类型。(3)AJAX介绍Ajax的组成部分Ajax不是单一的技术,而是4种技术的集合,跟灵活地运用Ajax必须深入了解这些不同的技术技术名称JavaScript说明JavaScript是通用脚本语言,用来嵌入在某种应用中,Ajax应用程序是使用JavaScript编写的CSSDOMAjax用户界面的样式可以要通过CSS独立修改通过JavaScript修改DOM,AJAX用用程序可以在运行时改变用户界面,或局部更新页面的某个节点XMLHttpRequestXMLHttpRequest对象允许WEB程序员从WEB服务器以后台的方式获取数据,数据的格式通常是XML或者是文本XSLT(可扩展语言和转换)一种为客户端提供XML信息转换显示的模板技术。2系统的需求分析2.1系统需求分析任务需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。虽然在可行性研究阶段已经粗略了解了用户的需求,甚至还提出了一些可行的方案,但是,可行性研究的基本目的是用较小的成本在较短的时间内确定是否存在可行的解法,因此许多细节被忽略了。然而在最终的系统中却不能遗漏任何一个微小的细节,所以可行性研究并不能代替需求分析,它实际上并没有准确地回答“系统必须做什么?”这个问题。需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。可行性研究阶段产生的文档,特别是数据流图,是需求分析的出发点。数据流图中已经划分出系统必须完成的许多基本功能,在需求分析阶段系统分析员将仔细研究这些功能并进一步将它们具体化。在这个阶段结束时交出的文档中应该包括详细的数据流图,数据字典和一组简明的算法描述。需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。因此,必须用行之有效的方法对软件需求进行严格的审查验证[3]。下面简要叙述需求分析阶段的具体任务。1.确定对系统的综合要求对系统的综合要求有下述四个方面:系统功能要求:应该划分出系统必须完成的所有功能。系统性能要求:例如,联机系统的响应时间(即对于从终端输入的一个“事务”,系统在多长时间之内可以做出响应),系统需要的存储容量以及后援存储,重新启动和安全性等方面的考虑都属于性能要求。运行要求:这类要求集中表现为对系统运行时所处环境的要求。例如支持系统运行的系统软件是什么,采用哪种数据库,需要什么样的外存储器和数据通信接口等。将来可能提出的要求:应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。这样做的目的是在设计过程中对系统将来可能的扩充和修改预做准备,以便一旦需要时能比较容易地进行这种扩充和修改。2.2系统的功能分析软件工程课程教学网站分为前台和后台,前台主要是会员功能,可以查看课件、会员注册、在线测试、视频观看、互动交流,后台是管理员负责管理,主要对前台页面的信息进行维护,包括发布课件信息,视频信息,课程信息,互动信息回复,在线试题的发布等功能。(1)会员注册:用户注册成为本站会员,利用用户名和密码登录进页面才可以试用下载课件资料,在线预约等服务。(2)课程的介绍:知道该考试系统提供给学生教师的方便性,明白对于我们的重要性。(3)在线模拟考试:系统提高一些帮助少年学习的基本信息论与编码测试题目,可以通过帮助学生在网上练习信息论与编码试题。(4)教学资源:学生可以根据自己的需求,进入网站,搜索相关知识;还有事老师根据学生平时作业,课件课件下载,问的比较多的问题,提供相关视频让学生观看,以便解决问题。(5)在线留言:会员可以通过在线提交留言进行在反馈信息,管理员在后台可以查看该信息,并且进行回复互动交流。(6)后台管理主要是数据库的应用:主要用户是教师与会员,教师提供练习题与考试卷,资料,视频等都需要数据库的连接于应用,再学生进行练习与考试,查看相关通知于视频。2.3系统用例分析UML用例图用来描述系统与参与者之间的相互作用,也可以说他是从用户角度出发对如何使用系统的描述。要绘制用例图,首先要理清下面几个概念:(1)角色角色代表某一事件的参与者,在通常的网络项目中,角色常被用来代表使用网站的用户(管理员、用户等),但角色的作用并不局限于此,它也可以用来代表与系统交互的其他实体。(2)用例用例代表系统可以实现的功能,通常一个用力代表一组功能,它实质上规定了系统实现功能的范围。在实际项目开发过程中,一个项目中往往涉及很多个用例,此时需要将其分解成若干个子系统实现,以便于理解。在UML中,用例用一个椭圆表示。(3)用例图当角色与用例发生某种关系时,就可以用一个图将他们关联起来,这就是用例图,角色与用例之间使用一个带箭头的实线连接,箭头方向代表使用者与被使用者的关系。2.1系统用例图2.4系统的可行性分析(1)技术可行性分析系统整体实现以JAVA为框架平台,用JAVA编制。后台数据库采用关系型数据库,用MYSQL实现。它能够处理大量的数据,学习操作简单,兼容性良好。系统采用B/S结构,B/S结构不论其基于的平台,都可以用同样的界面访问;可跨平台操作;减少整个系统的成本;维护、升级非常方便;具有良好的开放性。JAVA鼓励平台无关性,程序员精心编写的程序就能够做到“仅写一次,随处可用”。他们的安全性,灵活性,易用性为数据库编程提供良好的条件,因此系统软件开发平台成熟可行。(2)经济可行性分析该系统为本科毕业生的毕业设计题目,主要目的是通过系统的设计,体现四年所学,对于个人技术是一种升华和提高,并不是用于商业销售,不需要额外的经费,因此该系统在经济方面是可行的。(3)运行可行性本系统经过精心设计开发,比较紧凑,项目比较小,所以对软硬的要求并不高,运行投入也相对较少,现在普通的电脑都能够满足条件,因此,本系统在运行上是可行的。3系统的详细设计3.1系统设计的原则(1)系统性。系统是作为统一整体而存在的,因此,在系统设计中,要从整个系统的角度进行考虑,系统的代码要统一,设计规范要标准,传递语言要尽可能一致,对系统的数据采集要做到数出一处、全局共享,使一次输入得到多次利用。(2)灵活性。为保持系统的长久生命力,要求系统具有很强的环境适应性,为此,系统应具有较好的开放性和结构的可变性。在系统设计中,应尽量采用模块化结构,提高各模块的独立性,尽可能减少模块间的数据耦合,使各子系统间的数据依赖减至最低限度。这样,既便于模块的修改,又便于增加新的内容,提高系统适应环境变化的能力。(3)可靠性。可靠性是指系统抵御外界干扰的能力及受外界干扰时的恢复能力。一个成功的管理信息系统必须具有较高的可靠性,如安全保密性、检错及纠错能力、抗病毒能力等。(4)经济性。经济性指在满足系统需求的前提下,尽可能减小系统的开销。一方面,在硬件投资上不能盲目追求技术上的先进,而应以满足应用需要为前提;另一方面,系统设计中应尽量避免不必要的复杂化,各模块应尽量简洁,以便缩短处理流程、减少处理费用。3.2系统功能设计该系统主要分为前台用户、游客,后台管理员权限,前台用户可以发布留言信息的列表,普通用户和游客都有浏览的课件和教学视频的信息的功能,而如果想发布留言信息,需要登陆系统后才能进行,后台管理员功能有:课程信息、课件信息、视频信息、试题信息、添加、修改、删除、管理,前台注册用户的,管理用户信息,对用户的删除,对前台发布的留言信息管理、删除、回复,修改管理员密码等。如图3-1所示。图3.1系统功能图3.3数据库的概念设计概念模型是数据库系统的核心和基础。由于各个机器上实现的DBMS软件都是基于某种数据模型的,但是在具体机器上实现的模型都有许多严格的限制。而现实应用环境是复杂多变的,如果把实现世界中的事物直接转换为机器中的对象,就非常不方便。因此,人们研究把现实世界中的事物抽象为不依赖与具体机器的信息结构,又接近人们的思维,并具有丰富语义的概念模型,然后再把概念模型转换为具体的机器上DBMS支持的数据模型,该模型不依赖于具体的硬件环境和DBMS。概念设计是对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型”(ER模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但ER模型只能说明实体间语义的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。用户信息实体图如图3.2所示:主要包括编号、用户名、密码、姓名、电话、地址、邮箱。图3.2用户信息实体图课程信息实图如图3.3所示:主要包括编号、名称、内容、用户实现了房屋管理员在还后台的课程信息的发布。图3.3课程信息实体图教学信息表实体图如图3.4所示:主要包括了编号、题目、内容、类型等。图3.4教学信息实体图留言表实体图如图3.5所示:主要储存留言信息表、编号、名称、内容、留言时间、回复内容、留言用户。图3.5留言信息实体图管理员表实体图如图3.6所示:主要储存管理员信息表、编号、名称、密码。图3.6管理员信息实体图3.4数据库的物理设计(1)数据库结构定义:目前的数据库管理系统(DBMS)有的是支持联机事务处理CLTP(负责对事务数据进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有联机分析处理CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的、有的可支持面向对象数据库。针对选择的DBMS,进行数据库结构定义。(2)数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。(3)存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。(4)数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。根据E-R图可以对数据库进行设计,以下列出主要的数据表新闻信息表,主要用于系统信息管理模块中的课程信息管理的设置功能的实现。在此表中录入相应信息后,系统运行后便可在的系统登录时进行身份验证,如表3.8所示。表3.1课程信息表字段名称字段类型主要属性说明IDChar(20)无重复,不允许为空用于表示编号titlechar(20)可重复,不允许为空用于存储课程题目contentVarchar(20)可重复,允许为空用于存储课程内容用户信息表主要用于基础信息管理模块中的职位信息管理。用户注册之后可以在线留言,系统便可顺利的进行其他模块对数据库进行操作,如表3.2所示。表3.2用户信息表字段名称字段类型主要属性说明IDInt(4)递增,无重复,不允许为空用于与其他表关联unamechar(40)可重复,不允许为空用于存储名称upasschar(20)无重复,允许为空用于存储密码uemailchar(10)可重复,允许为空用于存储邮箱uphonechar(10)可重复,允许为空用于存储电话uaddrVarchar(50)可重复,允许为空用于储存地址课程表存储用课程的基本信息,方便日后用户在线留言和查看及管理员管理设置。如表3.3示。表3.3课件表字段名称字段类型主要属性说明IDChar(20)不可重复,不允许为空用于存储的编号cidVarchar(50)可重复,不允许为空用于存储类别titleVarchar(50)可重复,不允许为空用于存储题目contentVarchar(50)可重复,不允许为空用于存储内容urlVarchar(50)可重复,不允许为空用于存储附件地址试题基本信息表,用于存储费试题信息,后台管理管理员可以管理、删除、修改,前台用户可以子在线测试,具体字段如表3.4示。表3.4试题信息表字段名称字段类型主要属性说明IDInt(4)无重复,不允许为空存储编号titleChar(20)可重复,不允许为空存储试题题目t1Char(10)可重复,不允许为空存储试题A选项t2Char(20)可重复,不允许为空存储试题B选项t3Char(20)可重复,不允许为空存储试题C选项t4Char(20)可重复,不允许为空存储试题D选项ansChar(20)可重复,不允许为空存储试题答案留言表,用于留言的信息,包括留言编号、留言题目、留言内容、留言时间、回复内容、留言用户ID。具体字段如表3.5所示。表3.5留言信息表字段名称字段类型主要属性说明IDInt(4)无重复,不允许为空主键titleChar(200)可重复,不允许为空存储留言名称contentChar(2000)可重复,不允许为空存储留言内容addtimeChar(20)可重复,不允许为空存储留言时间replyChar(200)可重复,不允许为空存储回复内容uidChar(20)可重复,不允许为空存储留言用户3.5系统的接口设计(1)用户接口设计本系统采用的标准的HTML编写,内部套用JavaScript。风格统一,用户可通过一个窗体即可完成所有输入工作,本模块不射界大图片、音频和视频等,这样能保证输出时的快速性。用户可以直观的查看数据和填写数据,尽可能的简化操作,其主界面简便易于使用。(2)外部接口设计系统的数据库连接主要采用JDBC的方式,这样的连接方法简单,避免了过多的配置,数据库的访问全部由操作系统内部来完成。数据库的接口采用JDBC连接实现。使用Oralce来存放的所有数据,包括报警信息,用户信息,报警信息,远程控制,地图定位信息等。(3)内部接口设计Hibernate完成J2EE程序和数据库的连接;方便对数据库的读写,采用了三层架构了数据层,业务层,控制层,提高重用度,减少代码量。4系统的实现幼儿信息论与编码学习服务网站采用jsp编写,利用MYSQL数据库存储信息及DreamWeaver设计网站模板。4.1首页的实现首页最上面是一个导航条,可以方便的进行网站的导航,首页、课件介绍、在线测试、教学视频、课件资料、在线留言,首页简洁而明朗。图4.1首页截图4.2用户注册功能模块这里用户注册有检查用户是否存在在数据库中的功能,如果存在了就不允许用户注册了,用户信息包括了用户名姓名、密码、性别、真实姓名、所在城市、详细地址、邮编、电话、邮箱、如果用户填写正确了,通过点击提交提交按钮,就可以把填写的信息提交到数据库中去,如果用户不提交数据,而是直接的点击提交,程序就用javacript脚本来判断是否为了空提示用户需要输入信息。图4.2用户注册4.3用在线留言模块该功能实现了用户登陆后才可以提出问题,如果用户没有登陆,系统就会提示用户需要登陆后才可以提出问题,用户输入题目和内容才可以点击“发帖按钮”,如果不符合,就提示其错误。图4.3用户留言截图4.4课件下载功能模块该功能主要是针对数据库中课件下载表,主要是课程信息,是本JAVA精品课程系统的核心部分,普通用户的点击下载,系统会提示其需要登陆后才可以下载,而当用户登陆后,当用户点击了下载,系统就会把路径返回给用户,从而下载课件到本地磁盘上。图4.4课件下载图4.5教学视频功能模块该功能主要是实现了用户浏览课程视频的,用户点击了首页的导航中的“教学视频荐”。菜单,程序就会从数据库中筛选符合条件的视频信息,如果用户没有登陆系统,系统也会提示需要登陆才可以浏览视频。图4.5教学视频图4.6管理员登陆功能模块此模块实现用户身份验证的功能,由于本系统后台管理只是内部供操作人员使用,前台信息浏览无需登陆即可浏览,在登录模块中,输入用户名及密码,点击提交按钮完成用户身份验证的功能。图4.6管理员登陆图4.7课程信息管理模块课程资料录入模块:此模块完成课程资料录入的功能,首先输入课程的相应的信息,点击“添加”按钮,首先要检查输入数据的完整性。确认合法性后,系统将数据存入课程资料表中,课程录入模块的窗口设。图4.7课程信息图4.8教学视频功能模块课程视频管理主要是管理员对所有课程的视频进行管理,可以进行修改和删除管理,课件视频的信息包括课程资料名称、ID、路径,后台的管理是可以管理所有的课程的视频。图4.8教学视频图4.9用户管理功能模块该功能主要包括对数据库中的会员信息查询出来,通过列表方式展示出来,如果超过5条记录,程序中的datagriw就会对其他进行分页,每个记录前面有一个ID号,通过ID唯一性,可以查看到详细的会员信息,以及通过ID删除会员的资料。图4.9用户管理图4.10留言管理功能模块该功能在线交流在实现在线交流的的删除管理,主要包括了编号、发帖人、题目、内容,还可以对帖子进行搜索等操作该功能主要实现了学生需要回复问题的互动交流问题,用户提交回复,即可在下方显示,回复需要输入内容才可以提交,如果用户没有输入评论,点击提交,系统就会其实需要输入内容才可以提交。图4.10留言管理图5测试5.1软件测试的平台(1)软件开发环境本系统采用Java语言来完成系统代码编写。Java技术具有卓越的通用性、高效性、平台移植性和安全性,是目前最流行的开发语言之一。系统选用适合Java语言开发的基于MVC模式的Struts框架,作为系统总体开发框架。(2)服务器操作系统本系统采用Linux作为服务器操作系统。Linux是一款开源、免费、多用户多线程操作系统,以丰富的网络功能和高安全性、高稳定性而被广泛使用,并且支持多种硬件平台。(3)Web服务器本系统使用Apache软件提供基本的Web访问服务。作为世界使用排名第一的Web服务器软件,它被广泛应用于计算机平台。作为一款开源软件,其凭借卓越的跨平台性和安全性被广泛使用,成为最流行的Web服务器端应用软件之一。它的特点是简单、速度快、性能稳定。使用Tomcat作为Java环境引擎。Tomcat作为Apache的独立模块,是Apache上实现JSP和JavaBean环境的接口程序。5.2系统测试的实例1、用户登录测试方案:当用户输入错误的密码,点击“登录”按钮,提示密码错误并可以重新输入;当用户输入正确密码,点击“登录”按钮,可以正常进入系统并显示系统页面。测试用例1:输入错误密码,点击登录按钮。期待结果1:弹出消息“密码错误”。测试结果1:OK测试用例2:输入正确密码,点击登录按钮。期待结果2:进入系统,显示系统主界面。测试结果2:OK通过上面测试之后,输入错误的密码,系统就不能登陆,如果输入正确的用户名和密码系统就会顺利进入系统,该测试结果符合的当初预期效果。2、课件信息模块测试方案:进入课件信息可以正常显示课件信息;在这部分功能中可以新建,删除和根据条件查询信息。测试用例1:进入课件信息管理。期待结果1:显示已有课件信息。测试结果1:OK测试用例2:新建一条课件信息包括:题目、内容、路径、时间,点击“确定”按钮。期待结果2:新建信息被保存,并可以显示在课件信息主界面中。测试结果2:OK测试用例3:选中一条信息,点击“删除”按钮。期待结果3:传递过来的ID=1,该课件信息的ID为1的信息被删除。测试结果3:OK该测试主要是测试课件信息模块添加、删除功能,新的时候主要测试是否输入数据,如果没有输入数据,那么提交是不能成功;当满足条件之后,添加成功之后,课件信息管理就会出现新添加的信息,当点击删除链接,系统就会删除掉该条记录,该功能符合预期的测试的效果。3、用户退出测试方案:可以正常退出系统。测试用例1:点击主界面中的“退出登录”按钮。期待结果1:退出登录。测试结果1:OK该功能测试的是用户退出系统的功能,如果用户点击“退出登陆“按钮,系统就会提示”退出成功“,系统顺利退出系统。该测试的结果符合预期的效果。。总结本设计实现了软件工程教学网站系统主要功能及体系结构,重点讨论了系统数据准备、数据库的逻辑结构分析、各模块系统流程各功能模块的关联和响应,JSP与后台数据库链接等关键技术。这些技术的实现,满足了系统的需要,优化了系统的性能。本系统主要完成了前台功能包括了课程信息浏览、用户的注册和登陆、用户登陆系统后才可以发布留言信息、查看课程介绍、课件信息下载,课件视频的观看、在线课题的测试;网站后台采用了独立风格页面,实现了和前台风格迥异,管理员登陆模块、课程信息模块、课件信息、视频信息实现添加、修改、删除、功能,以及对前台用户的发布的留言的回复管理,课题信息的发布,最后对前台注册的用户的进行管理,可以对用户的信息进行删除操作。系统仍然存在一些不足,如在登陆方面没有对SQL语句的危险字符串的过滤,可能会造成登陆攻击;在编程方面编码不够规范等,没有采用加密算法;没有实现白盒测试;有待进一步完善。参考文献参考文献[1]刘好增,张坤.JSP动态网站开发实践教程.北京:中国青年出版社2008.1[2]张海藩.软件工程导论.北京:清华大学出版社,2009.6[3]李晓黎,张巍.JSP+SQLServer网络应用系统开发与实例.北京人民邮出社,2008.3[4]石志国.软件程序员系列丛书——JSP动态网站编程.北京:清华科学出社2009.4[5]汪晓平,钟军.JSP网络开发技术(第二版).北京:人民邮电出版社,2008.12[6]宣小平,但正刚.JSP数据库系统开发实例导航.北京:人民邮电出版2008.1[7]李学军.JSPWeb开发教程.海洋出版社,2009.3[8]李劲.精通JSP数据库设计[M].北京:科学出版社,2009[9]侯云峰.Client/Serve应用开发指南[M].北京:电子工业出版社.2009[10]张庆华.JSP2.0完全自学手册[M].北京:机械工业出版社,2007年.致谢致谢首先,在这里我要深深的感谢我的指导教师老师!感谢她对我在整个毕业设计的各个阶段的悉心指导和耐心帮助!从接受课题到现在完成毕业设计论文,指导老师给予本人精心的指导和热情的帮助,尤其在课题设计的前期准备阶段和本人的数据库设计阶段,指导教师提出许多宝贵的设计意见,在最后的测试阶段老师在百忙之中抽出时间提供了必要的帮助,这样使得本人得以顺利的完成毕业设计开发工作,在短暂的几个月的相处时间里,老师渊博的知识,认真负责的工作态度,严谨治学的精神和深厚的理论水平都使本人受益匪浅。在这里本人向他表示真诚的感谢!愿母校明天更辉煌,全体老师身体健康、心想事成。附录附录importjava.util.List;importjava.util.Map;importorg.hibernate.Query;importorg.hibernate.Session;importorg.hibernate.Transaction;importcom.jiaoxue.utils.HibernateUtils;importcom.jiaoxue.utils.PageInfo;importcom.jiaoxue.vo.study;publicclassstudyDao{Sessionsession=null; /** *添加 *@parammanagers *@return */ publicbooleaninsert(studym){ session=HibernateUtils.getSession(); try{ session.beginTransaction(); session.save(m); session.getTransaction().commit(); returntrue; }catch(Exceptionexp){ exp.printStackTrace(System.out); }finally{ HibernateUtils.closeSession(session); } returnfalse; } /** *删除 *@paramm_id *@return */ publicbooleandelete(intid){ session=HibernateUtils.getSession(); try{ session.beginTransaction(); Stringhql="deletefromstudywhereid=?"; Queryq=session.createQuery(hql); q.setInteger(0,id); q.executeUpdate(); session.getTransaction().commit(); returntrue; }catch(Exceptionexp){ exp.printStackTrace(System.out); }finally{ HibernateUtils.closeSession(session); } returnfalse; } /** *分页列表 *@parampage *@return */ publicPageInfoqueryPage(PageInfopage){ //TODOAuto-generatedmethodstub session=HibernateUtils.getSession(); try{ StringBuffersql=newStringBuffer("selectcount(*)fromstudy"); Querycq=session.createQuery(sql.toString()); session.beginTransaction(); Listlst=cq.list(); session.getTransaction().commit(); if(lst.size()>0){ page.setSum(Integer.parseInt(lst.get(0).toString())); session.beginTransaction(); Stringhql="fromstudyorderbyiddesc";//User是类名 Queryq=session.createQuery(hql); q.setFirstResult(page.getBeginRow());//从第0条开始 q.setMaxResults(page.getPagecount());//取出10条 page.setList(q.list()); session.getTransaction().commit(); } returnpage; }catch(Exceptionexp){ exp.printStackTrace(System.out); }finally{ HibernateUtils.closeSession(session); } returnpage; } /** *分页列表 *@parampage *@return */ publicPageInfocidqueryPage(PageInfopage,Stringcid){ //TODOAuto-generatedmethodstub session=HibernateUtils.getSession(); try{ StringBuffersql=newStringBuffer("selectcount(*)fromstudyswheres.cid='"+cid+"'"); Querycq=session.createQuery(sql.toString()); session.beginTransaction(); Listlst=cq.list(); session.getTransaction().commit(); if(lst.size()>0){ page.setSum(Integer.parseInt(lst.get(0).toString())); session.beginTransaction(); Stringhql="fromstudyswheres.cid='"+cid+"'orderbyiddesc";//User是类名 Queryq=session.createQuery(hql); q.setFirstResult(page.getBeginRow());//从第0条开始 q.setMaxResults(page.getPagecount());//取出10条 page.setList(q.list()); session.getTransaction().commit(); } returnpage; }catch(Exceptionexp){ exp.printStackTrace(System.out); }finally{ HibernateUtils.closeSession(session); } returnpage; } publicbooleanupdate(studym){ session=HibernateUtils.getSession(); try{ session.beginTransaction(); session.update(m); session.getTransaction().commit(); returntrue; }catch(Exceptionexp){ exp.printStackTrace(System.out); }finally{ HibernateUtils.closeSession(session); } returnfalse; } publicstudyqueryid(intid){ session=HibernateUtils.getSession(); try{ session.beginTransaction(); studya=(study)session.get(study.class,id); session.getTransaction().commit(); returna; }catch(Exceptionexp){ exp.printStackTrace(System.out); }finally{ HibernateUtils.closeSession(session); } returnnull; }publicclasstestDao{ Sessionsession=null; /** *添加 *@parammanagers *@return */ publicbooleaninsert(testm){ session=HibernateUtils.getSession(); try{ session.beginTransaction(); session.save(m); session.getTransaction().commit(); returntrue; }catch(Exceptionexp){ exp.printStackTrace(System.out); }finally{ HibernateUtils.closeSession(session); } returnfalse; } /** *删除 *@paramm_id *@return */ publicbooleandelete(intid){ session=HibernateUtils.getSession(); try{ session.beginTransaction(); Stringhql="deletefromtestwhereid=?"; Queryq=session.createQuery(hql); q.setInteger(0,id); q.executeUpdate(); session.getTransaction().commit(); returntrue; }catch(Exceptionexp){ exp.printStackTrace(System.out); }finally{ HibernateUtils.closeSession(session); } returnfalse; } /** *分页列表 *@parampage *@return */ publicPageInfoqueryPage(PageInfopage){ //TODOAuto-generatedmethodstub session=HibernateUtils.getSession(); try{ StringBuffersql=newStringBuffer("selectcount(*)fromtest"); Querycq=session.createQuery(sql.toString()); session.beginTransaction(); Listlst=cq.list(); session.getTransact

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论