学生在线答疑系统的设计与实现大学论文.doc
《学生在线答疑系统的设计与实现大学论文.doc》由会员分享,可在线阅读,更多相关《学生在线答疑系统的设计与实现大学论文.doc(49页珍藏版)》请在咨信网上搜索。
安康学院本科生毕业论文(设计) 版权声明 任何收存和保管本论文各种版本的单位和个人,未经本论文作者同意,不得将本论文转借他人,亦不得随意复制、抄录、拍照或以任何方式传播。否则,引起有碍作者著作权之问题,将可能承担法律责任。 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明,本声明的法律结果由本人承担。 论文作者签名: 日期: 年 月 日 摘 要 学生在线答疑系统的设计与实现 xx (xxxxxxxxxxxxxxxxxxxxxx) 摘 要 建立一个以网络为基础的学生老师答疑系统,对于学生的自主学习及教师的因材施教,具有重大的意义。系统是在Servlet+Jsp技术的基础上开发的。系统采用的是B/S模式,数据库采用的是Mysql数据库。系统采用MVC分层模式来设计。表示层应用Jsp页面技术,控制层应用的是Servlet技术,数据访问层应用的是JavaBean技术。 系统实现如下的功能:学生查看自己的课程信息,对所选课程在学习过程中存在的问题进行提问;老师查看自己所带的课程信息,发表自己的课程信息,对学生问题进行答疑。系统增加了一些拓展模块,如校园新闻;主题讨论模块,学生可以根据自己的兴趣爱好,到专题下进行交流学习;同时设计有娱乐中心,方便学生和老师在课余时间的交流和娱乐。 关键词 答疑系统 Servlet JSP Students online question-answering system xx (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) Abstract Establishing a web-based student question-answering system is of great significance for the teachers and students which used for learning and teachers. System is on the basis of the development of Servlet + Jsp technology. System adopts on B/S mode, the database uses a Mysql database. System uses the MVC layered model to design. Jsp page technologies used in the presentation layer, control layer using a Servlet technology, data access layer using JavaBean technology. System can realize the function as follows: students look at their course information,which for selected courses on problems existing in the learning process of asking questions; Teacher check yourself with the course information, published their own course information, answering the problems of the students. System added some expansion modules, such as campus news. Module theme discussion, students can according to your own interests, to the project under the exchange of learning; Recreation center is designed at the same time, convenient student and teacher communication and entertainment in their spare time. Keywords question-answering system , Servlet,JSP 安康学院毕业论文(设计) 目 录 第一章 绪论 1 1.1总体概述 1 1.2 开发背景 1 1.3 本文研究意义 2 第二章 系统分析 3 2.1技术可行性分析 3 2.1.1 开发语言综述 3 2.1.2 MySql数据库的选用 3 2.1.3 JSP技术介绍 4 2.1.4 Servlet介绍[5] 5 2.1.5 系统层次设计 6 2.1.6技术可行性综述 6 2.2 系统需求分析 7 2.2.1 系统开发运行环境 7 2.2.2 业务描述 7 2.2.3 系统功能概述 7 第三章 系统概要设计 9 3.1 数据库设计 9 3.2 功能模块的设计 12 3.2.1.用户模块: 12 3.2.2 答疑信息管理模块设计 14 3.2.3 课程信息模块设计 15 第四章 系统详细设计 17 4.1 界面设计 17 4.2 系统分层的实现 18 4.2.1 表示层的设计 18 4.2.2 控制层的设计 19 4.3 各个功能模块的设计 20 4.3.1 会员模块详细设计 20 4.3.2 答疑模块详细设计 22 4.3.3后台管理模块详细设计 23 4.3.4 会员模块的实现 25 4.3.5 答疑模块的实现 26 4.3.6 后台管理模块的实现 27 第五章 系统的调试与测试 29 5.1 测试理论概述 29 5.1.1软件测试的目的和方法 29 5.1.2软件测试的任务 29 5.2 测试的分类[10] 29 5.2.1黑盒测试 29 5.2.2白盒测试 30 5.3单元测试 30 5.4 集成测试 31 5.5 系统测试 31 5.6确认测试 31 第六章 总结与展望 32 参考文献 33 致 谢 34 附录 35 第三章 系统概要设计 第一章 绪论 1.1总体概述 随着网络技术的普及应用,越来越多的软件走进了们的生活里。网络技术已经成熟,并且向着多元化,集成化方向发展。因此,在现代教育中,我们可以充分利用网络,实现教育形式的多元化,网络化,移动化[1]。 目前中高等院校的校园网络都已部署和使用。校园网络的成功普及和应用,让学生和老师可以借助网络为载体,随时随地了解有关学校的最新消息和动态,了解学校的一些背景,学校的整体信息以及和自己相关的院系信息。但是,就目前的情况而言,学生和老师在课后的交流少之又少。学生有问题了不能直接找老师解决,老师也不能及时了解学生的学习情况。尽管有网络存在,但是现在大多数的学生主动的学习能力还相对较弱。根据以上叙述情况,本人有理由相信开发一个同时具备老师和学生交流,学生和学生交流,学生课后咨询老师,老师可以随时答疑学生等等功能于一身的交流平台。最后,本人决定设计一个学生在线答疑系统。 该系统应该具备一些自己的特色和优点,总结如下:只要用户注册成功,就可以进行老师和同学之间的答疑,同时学生和学生之间也可以交流。在课程信息方面,老师可以查看自己所任教课程的一些疑问信息,并且进行相应的答复。由于是借助网络,所以让学习多了一些趣味性,并且学生不会像在课堂上那样拘束或害羞。相反,学生可以畅所欲言,积极的参加到课程信息的讨论中来。 1.2 开发背景 随着现代中高等院校规模的扩大,学校上课地点不固定等等原因,所以发现老师和学生之间的答疑工作存在不固定性。经分析传统的教学模式,本人发现,传统的老师给学生答疑的方式有如下缺点: (1)答疑时间和地点的不确定性。(2)学生有了新问题没有办法及时向自己的老师提问和获得帮助。(3)考虑到同学们有可能不住一起,所以学生间的讨论和交流相对就比较少。(4)学生和老师之间的交流比较少,所以老师很难了解到学生的实际掌握知识的程度。 为了弥补以上的这些缺陷,提高答疑工作的工作效率,实现老师和学生沟通的多元化,决定开发这个基于B/S的学生在线答疑系统。 1.3 本文研究意义 学生在线答疑系统,它弥补了现代教育中老师和同学交流少的这一弊端。在本系统的开发过程中,本人利用JAVA语言和网络技术使的该平台得到实现。从而让学生利用这一平台进行交流和学习,最终达到教学目的和学生自主学习的目标。本人认为,这是一种现代化教学手段的体现。学生网上答疑系统是一种现代教育理念和现代教育方式的有效结合,它的引入,丰富了教育教学手段,提高了教学质量,向教育现代化迈出了有意义的一步。 31 第二章 系统分析 第二章 系统分析 2.1技术可行性分析 2.1.1 开发语言综述 本系统是基于面向对象思想的JAVA语言中J2EE平台进行编写的,本人经过总结发现,J2EE平台具有以下优点[2]: 1.结构简单:J2EE平台支持简单化的、基于组件的开发模型。Java语言的一个很大的优点就是一处编译,处处运行,这个是Java语言强大的可移植性。此外,JAVA语言不依赖于任何操作系统或者是中间件。同时,J2EE标准并且允许客户可以兼容第三方的插件的使用。正是由于它的实用性和经济性,所以它的推广越来越来广泛。 2.开发效率高:由于JAVA组件技术的使用,可以按照开发人员的技能对应用程序开发进行并行开发,提高了整体开发的效率。例如:现代企业级的开发模式之一的是敏捷式开发。它的特点就是分层思想。属于前台表示层的,由专人进行设计。数据处理层的,一般由Java工程师来编码完成。这样,无论是前台的数据展示还是后台的数据处理,一个项目组的不同开发人员可以同时工作,有效的提高了开发的速度和效率。 3.重用性好:Java语言的特点即是面向对象。同时它的一大特性即是夸平台性。由于Java中引入了JVM—Java虚拟机,该虚拟机是一套支持Java语言运行的软件系统,运行在操作系统之上。JVM更类似一个翻译官,在不同的操作平台上,它扮演不同的角色,从而把文件编译成字节码,从而让不同的操作系统的计算机能够识辨和运行该文件。 4.易于维护:因为组件的设计简单化了,所以易于维护。同时用户可以增加许多自己设计的功能。 5.使用广泛:目前全球范围内,主要的IT供应用商几乎都采纳EJB体系结构,不同供应商的产品只要符合EJB体系结构,就是可以操作的。 2.1.2 MySql数据库的选用 MySQL是现在流行的关系数据库中其中的一种[3]。和ORACLE等大型的数据库相比较,本人认为它还是有很多自己的优点和特色。比如:它虽然小,但是功能齐全。并且它的查询速度也很出色,基本上能完成一般的功能性需求。其中最关键的是它的使用是免费的,可以在Internet上免费下载到,同时可免费使用很长时间,对于一般的中小型,甚至大型应用都能够胜任。 经过总结后发现,MySQL主要具有以下优点: (1) 首先是速度。对于MySQL来说,速度的要求是他们追求的主要目标之一,基于这个原因,在MySQL的TODO中,对约束和触发器这样肯定会降低速度的功能也列入了日程。所以本人相信,MySQL将有可能一直保持速度方面的优势。 (2) MySQL更流行。对于一个商业软件来说,使用流行也是一个很重要的参考指标。流行意味着拥有更多的用户,意味着能更好用于商业化、意味着更多、更完善的资料等等。 (3) MySQL更适宜在Windows环境下运行。MySQL作为一个本地的Windows应用程序运行(在NT /WindowsXP下,其是一个服务), 在Windows运行中,MySQL的性能更加的稳定,可靠。 (4) MySQL使用了多线程,在不同线程之间的交流和通信,显然要比在不同的进程之间要快得多。 (5) MySQL可以在32/7上运行。一般情况下,你不需要为MySQL运行进行任何的清除程序的动作。 (6) MySQL在权限系统上更为完善。MySQL你可以定义一系列的不同数据的级别权限、表级和列级的权限。 (7) 由于MySQL 4.5.1-alpha开始支持事务。因此事务对于MySQL不再是劣势。恰恰相反,因为MySQL保留无事务的表类型,这就为用户提供了更多的选择。 2.1.3 JSP技术介绍 JSP的是Java Server Page它的简称。它是一种动态的网页技术。尤其是在JAVA WEB领域的使用现为突出。SUN公司在1999年,利用JAVA语言作为脚本语言来开发它的。此技术在J2EE体系中扮演重要的角色[4]。 本人通过总结发现,JSP页面的最大的特点是:它结合了JAVA代码和Html页面。相对而言,html主要是一个静态的展示页面,它内部有一些自己的标签。并且JAVA代码是不能锲入到其页码代码内部。相反,JSP页面克服了这一个缺陷,使JAVA代码可以在页面中嵌入。因此,程序员可以充分利用JSP页面进行很多胡操作,比如操作数据库,操作JAVA Bean,甚至可以发送Email等等一系列操作。JSP的优点:(1)速度快。由于JSP页面的所有操作是由Web Server 进行更新的,所以它的刷新速度给人的感官上很快的。(2)容易部署。对于它的部署而言,JSP的要求很简单。只要客户端拥有其最基础的接口配置,就可以提供JSP展示的环境要求,那么它的工作环境也是没有问题的。同时,由于它的部署环境的要求比较低,所以它的系统维护方面显然也是比较容易的。(3)容易接受。对于页面展示来说,静态页面html可谓是耳熟能详,所以是受大众的喜爱和高度的使用。而静态页面它的缺陷很多,为了弥补这种缺陷,JSP理所当然成功的充当了这一角色。它不但拥有静态页面的所有属性和特点,同时具备了自己的特点,比如说它的动态特性,能够容纳JAVA代码等等特性。所以它的出现势必是HTML的一个很好的补充。(4)效率高。能够拥有高的效率,是一个程序永远追求的目标。对于JSP而言,因为其小,速度快的特点,所以它的高效性得到显著地提高。所以它的效率也是能够满足现有的商业模式的要求。以下是JSP的工作的一个流程图。如图2.1: 图2.1 JSP执行过程图 2.1.4 Servlet介绍[5] servlet是运行在服务器上的小程序。这个词是在Java applet的环境中创造的,Java applets是一种小程序,它通常在服务器端运行。 最早支持Servlet技术的是JavaSoft的JAVA Web Server。此后,一些其它的基于Java的WebServer开始支持标准的ServletAPI。Servlet的主要功能在于交互式地浏览和修改数据,生成动态的Web内容。这个过程是:客户端发送请求至服务器,服务器初始化Servlet,然后运行其init方法。服务器(容器)再将请求信息发送到Servlet,然后其运行它的Servise方法。最后Servlet将生成响应内容再次传给服务器。服务器将响应返回给客户端。其工作原理图如下: 图2.2 Servlet的工作原理图 2.1.5 系统层次设计 任何功能性的开发,都需要一个层次的设计。根据MVC这一经典思想[6],再结合Servlet的特点,决定使用三层结构,这样做的优点是: (1)可以分层开发,访问数据库与业务逻辑实现能够分开。提高开发效率。 表示层 业务逻辑层 数据层 底层链接数据库 (2)提高代码的复用。 图2.3 答疑系统的分层结构 2.1.6技术可行性综述 综上所述,这些成熟的Servlet+JSP技术和优秀MVC设计思想,为系统建设提供了技术条件。计算机等基础设施的更新换代也紧跟潮流的发展,这就为开发系统提供了夯实的基础。 2.2 系统需求分析 2.2.1 系统开发运行环境 鉴于系统的开发语言和数据库,采用如下的开发环境 开发环境: Windows XP Apache-tomcat-6.0.35 JDK1.5 硬件实现:Intel 酷睿2 1G内存 320G硬盘 开发语言: Java 数 据 库: Mysql-5.0.22-win32 开发工具: MyEclipse8.5, Macromedia Dreamweaver 8.0 预期成果: 一个可扩展的基于MVC模式的学生在线答疑系统。 2.2.2 业务描述 对于访问答疑系统的用户,可分为注册会员和非注册的临时用户,这两种用户有着不同的权限,比如非注册用户只能对别人的答疑工程进行查看,但是不能发表自己的看法。而注册会员除了查看答疑过程之外,还可以发布问题,回复问题,查找用户,并且可以对自己的注册资料进行修改等等, 图2.4 系统流程图 2.2.3 系统功能概述 学生在线答疑系统,是一种学生和老师之间为了进一步很好的交流和沟通,利用网络技术为基础而实现的一个平台。同时,该平台把BBS论坛形式的交流方式应用到数字化校园教学中,不仅能够让老师和同学之间的沟通更加高效,而且能够及时的解决学生课后的疑问和顾虑。 鉴于本系统的性质,系统应该实现以下功能. 1.用户功能实现 (1)用户的登录 (2)用户的注册 (3)用户资料的修改 2.答疑功能实现 (1)发表疑问 (2)回复疑问 3.课程信息功能实现 (1)教师可以发表课程信息 (2)学生可以查看课程信息 (3)学生可以评价课程信息; 4.后台管理 (1)用户的管理 (2)答疑的管理 (3)版块信息的管理 会员用户 临时用户 浏览答疑 发表疑问 回复疑问 修改资料 管理员 教师 发布课程 会员管理 答疑管理 版块信息管理 根据系统的概要设计,学生在线答疑系统的系统用例如下: 图2.5 系统用例图 第三章 系统概要设计 第三章 系统概要设计 3.1 数据库设计 本系统使用MySql数据库作为后台数据库,根据需求分析中提到的各种功能,首先应该有用来存储教师或者学生的注册用户信息用户表,然后应该有存储答疑模块分类信息的类别表,还应该有存储用户发表疑问的发表表,用户发表答疑以后,应该有回复答疑的回复管理表。此外还应该有超级管理表,用其来管理后台数据的处理。综上分析,所以为数据库建立以下这些表,如下表3.1。 表3.1 总体表设计 表名 user post response admin course teacher 字段数 5 5 7 5 5 5 概要功能 用户信息 疑问信息 回复信息 管理员信息 课程表 教师表 1.设计表user:(用户表) user表主要用来保存用户的注册信息,分别用不同字段表示用户的各种信息,包括用户的用户序号 、用户名、用户密码、用户性别、用户头像等。具体内容见下表3.1。 图3.1 用户实体图 2.设计表post:(疑问表) 该表主要用来保存学生或者是老师,在登陆的情况下,发表的疑问问题和别人对其给予的解决办法的记录和显示。其字段主要如下:疑问序号,疑问所属模块,疑问主题,帖名,疑问内容,发表时间,发表者是谁。具体内容见下图3.2。 图3.2 疑问实体图 3.设计表response:(回复表) 该表主要用来保存商品的各种信息,各个字段分别用来表示回复疑问ID,回复的内容,回复的时间,给哪个疑问回复,回复者姓名等等。其中,po_no是引用post表的ID。具体内容见下图3.3。 图3.3 回复实体图 4.设计表admin:(管理员表) 该表用来保存已下订单的各种信息,各个字段分别用来表示管理员ID,用户名,密码。具体内容见下图3.4。 图3.4 管理员实体图 5. 设计表course:(课程表) 课程表:主要储存教师和学生有关的课程信息。c_id为课程编号、 c_name为课程名称、c_content为课程具体信息、u_id有关用户的ID、 t_name教师表的名称. 具体内容见下图3.5 图3.5 课程实体图 根据以上的数据库设计,总结了数据库中表与表之间的关系如下: 图3.6 数据库综合实体图 3.2 功能模块的设计 根据绘制出的系统综合用例图,系统分为四个较大的子模块,他们分别是用户子模块,疑问子模块,课程信息子模块和后台管理子模块。 3.2.1.用户模块 顾名思义,本人设计的该模块主要用来实现用户的管理。而管理的内容有用户的登录,用户的注册,用户的个人资料修改等等的一系列的操作。对于用户而言,本人将用户分为会员用户和非会员用户。 1.会员登陆模块设计 会员对大家并不陌生,只有你是会员了,才可以享受其中的一些会员特权。而登录模块就是专门为会员设立的一个登录窗口,只有用户登录了,才能进行下一步的操作,如发表疑问,回复疑问,浏览答疑信息,查看个人课程信息,针对自己选修的课程进行答疑操作等等。 2.会员注册模块设计 如果你是一个非会员,那么你的权力将得到限制。为了给用户提供一个人性化的,合理的设置,只要有意向的用户,就可以成为该平台的一员。只要通过注册页面的所有操作,就可以顺利的成为会员用户。 根据以上所述,初步设计了有关用户登陆和用户注册的类图如下: 图3.7 用户登陆的类图 图3.8 用户注册的类图 3.2.2 答疑信息管理模块设计 对于会员和非会员的最大的区别之处在于:会员可以在登陆的情况下,发表问题,回复问题等等操作。学生在登陆成功的前提下,可以查看自己的选课情况,并且在相应的课程下,发表自己的疑问,寻求老师的答疑。教师在登陆的情况下,可以查询跟自己有关课程下的疑问,然后根据情况进行答疑。所以本人初步设计的发表疑问,回复疑问的类图如下: 图3.9 发表问题类图 发表问题类的调用关系:用户在登陆的情况下,用户可以发表疑问。首先用户跳转到发表问题的页面,点击发表按钮后,经过JavaScript校验以后,把数据提交到名字为select_bip的Servlet。然后把得到的数据进行封装处理,封装成一个PostBean,再调用Opost的insertPost()方法,在该方法里,再次调用DB类,连接数据库。最后把封装的PostBean插入到数据库中。 同理,回复问题的类图如图3.10所示: 图3.10 回复问题类图 回复问题的调用关系:首先用户跳转到回复问题的页面,点击回复按钮后,经过JavaScript校验以后,把数据提交到名字为select_bip的Servlet。然后把得到的数据进行封装处理,封装成一个ResponseBean,再调用Oresponse的insertResponse()方法,在该方法里,再次调用DB类,连接数据库。最后把封装的PostResponse插入到数据库中。 3.2.3 课程信息模块设计 作为一个学校学生在线答疑系统,课程信息必不可少。根据系统需求分析,决定课程信息做以下概要设计:(1)老师可以开设自己的课程,并做专题的答疑模块。(2)学生可以根据个人需求,查看有关方面的课程,并且可以发表疑问,而且可以给别人回复自己的看法。 根据以上分析,课程信息的有关类图设计如图3.11 图3.11 发布课程信息类图 发布课程信息的类的调用关系:首先用户(老师角色)跳转到发表课程的页面,点击发布课程按钮后,经过JavaScript校验以后,把数据提交到名字为select_bip的Servlet。然后把得到的数据进行封装处理,封装成一个CourseBean,再调用Ocourse的insertCourse ()方法,在该方法里,再次调用DB类,连接数据库。最后把封装的CourseBean插入到数据库中。 第四章 系统详细设计 第四章 系统详细设计 4.1 界面设计 对于系统来说,用户界面设计将是非常重要的,因为一个交互良好的界面能够加深浏览者的印象和很好的和客户沟通。 根据实际需求,本人分两步来设计。第一部分是草图的绘制。第二部分是具体网页的设计和实现[7]。 第一步是设计版面布局。对于一个页面的设计,版面的布局设计时首要设计。通过网络资源的查阅和利用,常用的软件是Macromedia的Dreamweaver8.0以及Adobe的Photoshop等等。本系统主要采用的是Dreamweaver8.0,通过站点的建立,配合Myeclipse8.5联合开发,最终设计和实现了JSP页面的雏形和最终页面的完成。 第二步是界面的实现。在页面的实现过程中,我主要遵循了一下几个规则。 统一连贯。首先页面的整体风格要适合自己所要表达的内容。设计的是一个学生在线答疑系统,那么采用的是以蓝色为基调的风格,凸显了学生的活力和热情。 布局合理、和谐。是指整个页面要符合大众人群的一个审美观念,不能走非主流的设计风格。布局是一个页面显示的主体框架,一个好的布局,能给用户很好的使用效果和深刻的浏览记忆。经过本人的初步设计,最后系统的简单主界面如下图4.1 图4.1 首页设计图 在实际调试和设计、运行之后,该系统的主页面如下图4.2 图4.2 主界面图 4.2 系统分层的实现 根据MVC设计思想,决定使用JSP作为动态页面表示层,JavaBean作为Model层,Servlet作为控制层。具体实现如下叙述。 4.2.1 表示层的设计 JSP是一种实现普通静态HTML技术和动态HTML技术混合编码的网页技术[8]。它具有跨平台性、运行效率高等优点。该系统根据分层情况,表示层我选用的是JSP动态页面技术。下面以用户登录界面作为例子。具体顺序图如下图4.3 图4.3 表示层的顺序图 4.2.2 控制层的设计 控制层的选用,首选Servlet。因为 Servlet可以和其他资源交互。该系统中servlet的工作原理体现如下:当用户从前台JSP页面选择操作后,触发servlet请求服务器。然后JSP页面会携带参数并访问服务器。服务器会根据请求初始化servlet,并找到WEB.XML文件中请求的路径,然后根据发射机制,定位到servlet所对应的那个JAVA类,然后进行一系列的逻辑处理。 本系统使用的Servlet的配置如下: <servlet-mapping> <servlet-name>check_ul</servlet-name> <!-- 检查登陆的控制 --> <url-pattern>/check_ul</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>user_logout</servlet-name><!-- 检查注销的控制-> <url-pattern>/user_logout</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>check_reg</servlet-name> <!-- 前台注册的控制 --> <url-pattern>/check_reg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>insert_bp</servlet-name> <!-- 发表疑问的控制 --> <url-pattern>/insert_bp</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>select_bip</servlet-name><!-- 回复疑问的控制 --> <url-pattern>/select_bip</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>insert_br</servlet-name> <!-- 后台管理的控制 --> <url-pattern>/insert_br</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> <!-- 首页的控制 --> </welcome-file-list> </web-app> 4.3 各个功能模块的设计 根据系统分析和系统的概要设计,基本确定该系统有会员模块,内容模块,后台管理模块三大模块组成。所以基于上面的设计基础,下面具体介绍各个模块的基本功能的实现。 4.3.1 会员模块详细设计 根据系统分析和功能的要求,基本确定的是用户在没有登录的情况下,只能浏览系统的内容,而不能发表内容。只有在登陆的情况下,才可以回复和发表疑问。所以会员登陆的顺序图如下: 图4.4 用户登陆功能顺序图 用户登陆类的调用关系:首先在user_login.jsp页面上,用户输入用户名和密码,然后跳转到check_ul的servlet中,把得到的用户名和密码封装到userBean中,再调用Ouser的getUser()方法。getUser()再次调用DB类,与数据库链接,最后检索数据库中是否有前台传过来的并且是匹配的用户名和密码。根据系统分析和功能的要求,基本确定的是普通用户拥有可以注册的权利,升级为会员用户。所以以下是用户注册的顺序图4.5 图4.5 用户注册顺序图 4.3.2 答疑模块详细设计 答疑模块的完成流程和会员模块类似,都是先根据JSP网页,建立相映的Servlet逻辑判断类,之后通过调用Dao层建立和帖子有关的数据库访问,最后利用JDBC实现和数据库数据的交互。当用户登陆后,就是会员用户,那么他就可以发表疑问和查看自己的课程。所以用户的发表疑问的顺序图如下图4.6 图4.6 发表疑问顺序图 发表问题类的调用关系:用户在登陆的情况下,用户可以发表疑问。首先用户跳转到发表问题的页面,点击发表按钮后,经过JavaScript校验以后,把数据提交到名字为select_bip的Servlet。然后把得到的数据进行封装处理,封装成一个PostBean,再调用Opost的insertPost()方法,在该方法里,再次调用DB类,连接数据库。最后把封装的PostBean插入到数据库中。 根据系统分析和功能的要求,用户在登陆的情况下,可以回复疑问,所以以下是用户回复疑问的顺序图,如图4.7 图4.7 回复疑问顺序图 回复问题的调用关系:首先用户跳转到回复问题的页面,点击回复按钮后,经过JavaScript校验以后,把数据提交到名字为select_bip的Servlet。然后把得到的数据进行封装处理,封装成一个ResponseBean,再调用Oresponse的insertResponse()方法,在该方法里,再次调用DB类,连接数据库。最后把封装的PostResponse插入到数据库中。 4.3.3后台管理模块详细设计 后台管理模块是管理员对前台进行管理的平台,在此模块实现的过程中,最重要的一点就是权限的控制,只有管理员的身份才可以对此模块进行操作,权限的控制已经交给了控制组件进行完成. 管理员可以在此模块中主要完成对帖子和会员的管理,管理员可以管理前台的版块内容,发表和回复内容的管理等,从而实现管理的功能。 图4.8 管理员登陆顺序图 后台超级管理员给模块上发表新闻的顺序图如图4.9 图4.9 管理员发布新闻 4.3.4 会员模块的实现 此次会员登陆模块的设计上,使用了JavaScript作为前台登陆输入信息的校验。并且使用了动态码验证技术,提高了前台登陆的验证,使系统的安全性得到一些提高。并且该系统支持会员注销结合着这两种技术的使用,的前台会员登陆实现如下图4.10 图4.10 会员登陆图 前台模块中,用户注册实现图如下: 图4.11 用户注册界面图 4.3.5 答疑模块的实现 主界面分为四个版块,每个版块下面有自己独立的帖子内容。在实现的过程中,首先遇到的问题是如何区别几个版块的帖子内容。为此,给每个版块设置了固定的编号,每一次用户点击,都会把当前所点击的所属版块ID传递到控制层,控制层接受到从前台传递过来的数据后,然后到数据库进行检索匹配,检索相应的内容。 在设计的过程中,遇到的第二个问题是如何发表和回复。为此,利用了数据库知识,在设计表的时候,给回复表添加了帖子表的ID,那么你回复的时候便会把信息存入数据库,然后你就可以检索出该帖子下的所有回复,以及是谁给你回复的。同理,在帖子发表的时候,也是经过这样的处理。 经过导师指导和自己努力实践以后,功能基本实现,功能界面如下: 图4.12 发表疑问图 其代码实现后的页面展示如图4.13所示 图4.13 回复疑问图 4.3.6 后台管理模块的实现 根据系统分析以及系统设计之后,在导师的带领下,完成了自己的后台页面的设计和实现,具体如下: 图4.14 后台管理员登陆图 根据实践,得到以下实际的效果图,如下: 图4.15 管理员发表新闻图 第五章 系统的调试与测试 第五章 系统的调试与测试 5.1 测试理论概述 5.1.1软件测试的目的和方法 随着测试在国内的流行趋势,测试目的也正在发生着变化,从最开始能够证明软件正常工作为目的,到20世纪70年代中期以发现错误为目的,到今天软件测试已经演变成了提高软件质量,进行软件控制为目的[9]。 本人通过学习总结发现,按照软件测试理论的分类如下:主要的软件测试分为单元测试、集成测试、系统测试和验收测试。如图5.1所示: 图 5.1 软件测试分级模型图 5.1.2软件测试的任务 1、对于软件测试而言,测试人员的首要任务是分析清楚客户的需求,跟客户有效的高效的沟通是一个测试人员的首要素质; 2、遵循用户的需求,制定详细的测试用例,然后测试,并能够尽量多的找出Bug; 3、根据测试出的Bug数目,来衡量当前软件的质量; 最终的目标是:确保软件的质量; 5.2 测试的分类[10] 5.2.1黑盒测试 黑盒测试(black box testing):是指不考虑程序内部结构和处理过程的情况下,仅仅根据程序的功能人为的来设计测试用例的一种方法。 本人首先对用户模块,帖子模块,课程信息模块,后台管理模块等进行了黑盒测试。比如在登录时,输入空白用户名等等。在发帖的时候,发一个空白的帖子等等的测试,得出结论是该系统基本实现了概要设计时的基本功能。 5.2.2白盒测试 白盒测试(white box testing):是指完全了解程序的结构和处理工程的情况下设计测试用例从而进行测试的一种方法。 白盒测试们可以这样通俗的理解,测试对象就像一个透明的盒子,而测试人员能够清楚的知道其内部的一些属性和方法,然后根据实际- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 在线 答疑 系统 设计 实现 大学 论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文