1、I基于WEB的在线答疑系统摘要随着计算机网络技术的飞速发展与普及,很多的大学生已习惯了生存于“网络”的世界中,网络已经融入了他们的现实生活,网上学习也慢慢的成为一种学习方式。而在许多高校中普遍存在着教师和同学上课的时间段不同、教师和同学的空余时间很难统一起来等问题。因此,教师和同学想要在相同的时间和地点进行交流,就变得很不切合实际。在此需求的基础上开发出来的在线答疑系统既可以突破时间和地点上的限制、提高答疑的及时性和高效性、又可以很好地解决教师和学生之间因各种原因导致的互动不足与交流障碍等课堂之上难以解决的现实问题。因此,可以说此项目是解决此类问题的有效解决途径。本系统使用JAVA语言进行编写
2、,采用浏览器、服务器体系结构。在数据的存储选择上使用MYSQL数据库保存数据,TOMCAT作为服务器,前端主要使用JSP、HTML进行页面的整体的编码,而页面的统一布局于美化则使用级联样式、JAVASCRIPT等技术进行实现。在后端的实现上主要采用了主流的STRTUS、SPRING框架来进行开发,很大程度上减少了系统开发的代码量,使项目层次分明,逻辑清晰。本系统的使用者主要由学生,教师和学校教务管理人员组成。针对各自职能的不同,有其相应的功能的实现。关键词在线答疑系统;SERVLET/JSP;JAVAWEB项目;IITHELIVEANSWERINGSYSTEMABSTRACTWITHTHERA
3、PIDDEVELOPMENTANDPOPULARIZATIONOFCOMPUTERNETWORKTECHNOLOGY,MANYOFTHEUNIVERSITYSTUDENTSHAVEBEENACCUSTOMEDTOLIVINGINTHEWORLDOF“NETWORK”,THENETWORKHASBEENINTEGRATEDINTOTHEIRREALLIFE,ONLINELEARNINGHASBEENSLOWLYTOBEAWAYOFLEARNINGTHEPREVALENCEOFMANYPROBLEMSSUCHASTHEDIFFERENTCLASSTIMEBETWEENTEACHERSANDSTUD
4、ENTSANDHARDTOUNIFYTHESPARETIMEBETWEENTEACHERSANDSTUDENTSEXISTINMANYCOLLEGESANDUNIVERSITIESTHEREFORE,TEACHERSANDSTUDENTSWANTTOBEINTHESAMETIMEANDPLACETOEXCHANGE,ITISNOTPRACTICALINTHISDEMANDDEVELOPMENTONTHEBASISOFANONLINESYSTEMCANBREAKTHROUGHTIMEANDPLACELIMITATIONSON,ANDRAISEASUSPICIONOFTIMELINESSANDEF
5、FICIENCY,ANDCANBEAGOODSOLUTIONTOTEACHERSANDSTUDENTS,FORAVARIETYOFREASONSFORTHEINADEQUATEINTERACTIONANDCOMMUNICATIONBARRIERS,ANDOTHERCLASSROOMCANBEDIFFICULTTORESOLVETHEPROBLEMSTHEREFORE,ITCANBESAIDTHATTHISPROJECTISTORESOLVETHISTYPEOFISSUEOFEFFECTIVESOLUTIONSTHISSYSTEMUSESTHEJAVALANGUAGEWRITTENINTHEBR
6、OWSER,THESERVERARCHITECTUREINTHEDATASELECTIONOFMYSQLSAVETHEDATABASEDATA,TOMCATASASERVER,ANDAFRONTSIDEMAINUSINGJSP,HTMLCODINGWHOLEPAGES,ANDUNIFIEDLAYOUTOFTHEPAGEISUSEDINLANDSCAPINGCSSANDJAVASCRIPTTECHNOLOGIESTOACHIEVEONTHEBACKENDOFTHEREALIZATIONBYTHEMAINSTREAMSTRUTS,SPRINGFRAMEWORKFORDEVELOPMENT,SIGN
7、IFICANTLYREDUCINGTHEAMOUNTOFCODESYSTEMDEVELOPMENTANDMAKETHEPROJECTSTRUCTURED,LOGICISCLEARTHESYSTEMISBEINGUSED,MAINLYBYSTUDENTS,TEACHERSANDSCHOOLATTENDANCEMANAGEMENTSTAFFFOREACHFUNCTION,THEREISACORRESPONDINGFUNCTION1目录摘要I前言311课题研究背景及意义3111研究背景3112研究意义312背景说明313系统目标4第一章系统分析421可行性分析4211技术可行性4212经济可行性42
8、2需求分析5221功能性需求分析5222非功能性需求6223系统流程图7223系统数据流图9第三章系统总体设计1131项目规划1132系统总体结构1133系统功能模块12331学生模块功能定义12332教师模块功能定义12333管理员模块功能定义13第四章数据库设计1341数据库分析1342项目ER图1343数据库中表的设计16第五章系统详细设计与实现18251界面设计1852系统分层19521VIEW层设计20522MODEL层设计20523CONTROL层设计2053各个功能模块的设计与实现21531用户注册21532用户登录24533学生用户操作26534管理员用户操作29534教师用户
9、操作32第六章系统测试计划3561编写目的3562主要功能部分测试分析36621注册部分测试36622课程搜索测试36623权限控制测试37第七章项目评价3971项目功能总结3972项目中使用到的技术4073项目中的不足之处40第八章个人总结41谢辞433前言11课题研究背景及意义111研究背景随着计算机网络技术的飞速发展,计算机网络已经与我们的生活密切相连,作为当代大学生该如何正确、高效地使用网络来帮助我们学习更多的知识,已成为一个重要的课题。答疑作为教师教学过程的一个重要环节,对教学的质量有着重要的意义,是教学过程中不可避免的。但由于受课时与教学进度、师生比例的差距、上课地点的变动等原因,
10、使得无法满足学生的答疑需求。因此,答疑的方式急需改进。在这种情况下,基于WEB的在线答疑系统,无疑是有效的解决方法之一。它不仅可以充分的利用教育资源,而且可以促进教师与学生之间的交流。具有高效及时的特性。112研究意义通过对本系统的研究可以充分地利用网络技术带给我们的便利,使教师和同学之间不再有交流的障碍,拉近师生之间的距离,提高答疑工作的高效性与普遍性,增强学校的学习氛围。12背景说明待开发系统名称在线答疑系统的设计与实现开发者吴飞龙针对人员管理员、教师、学生技术支持JAVAWEB开发相关技术,如SERVLET、FILTER、框架技术。413系统目标开发此系统的目的在于解决以下几类问题答疑时
11、间和地点无法确定的问题学生有了自己无法解决的问题不能及时向教师提问的问题“独学而无友”的问题教师无法了解学生的学习和对知识的掌握情况的问题答疑工作不及时且效率低下的问题第一章系统分析21可行性分析211技术可行性本系统是基于浏览器、服务器体系的项目,主体开发主要采用的编程语言是JAVA语言。现如今计算机硬件的配置足以满足JAVA的开发的需求。从软件方面来看本系统中将使用J2EE技术进行开发,前端主要为DIVCSS使用到得软件主要为DREAMWEAVER,后台数据库使用MYSQL,后台编码使用的软件为MYECLIPSE。这些软件在网上都可以下载使用。因此,该项目在技术实现上是可行的。212经济可
12、行性本系统对硬件的要求并不高,因此,在市场上很容易购买的到,且价格相对较为便宜。所使用的软件MYECLIPSE、MYSQL、TOMCAT、DREAMWEAVER等在网上都有免费的版本可供下载,从而在很大程度上节约了开发项目所需要的的成本。本系统需求明确,功能模块清晰,逻辑简单,因此开发难度不是很大。至于后期的维护也不需要太大的改动。因此,不会造成太大的经济负担。522需求分析221功能性需求在开始本系统开发之前需求主要是以问卷调查、情景模拟、当面口头询问的方式获取的,经过分析之后得出的教师、学生、后台管理员其各自的需求与功能如下1学生用户注册和登录学生用户要想使用本系统就必须先要填写相应的个人
13、信息进行注册。学生用户通过注册后,要想成功登录本系统就必须使用已注册的正确的用户名和密码进行登录。否则,登录系统的操作将以失败而告终。修改资料由于本系统中涉及到的个人信息并不是一成不变的。因此,如果用户想要修改自己的个人信息,那么首先就要登录本系统,之后便可修改自己的信息。查看提问作为答疑系统中问题的提出者和使用者,学生用户应该据有查看问题的功能。学生用户登录成功之后,学生可查看之前提问的回复情况也可以查看其它人提出的问题,如果自己对问题很感兴趣或者是知道该如何解答,那么也可以参与到其中与其他人一起讨论交流。查询课程学生用户在选择课程之前应该据有了解课程详细信息的功能。若是自己想学习更多的知识
14、可以通过查找找到相应的课程。由于有些学生可能对课程名称和编号不是很了解,因此,该查询过程支持模糊查询。申请课程学生用户可以对自己感兴趣的课程提出申请,通过填写申请表单提交到教师处,最终由教师来确定是否批准该请求。查看自己参与的提问学生可以对自己参与的讨论进行查看,这样可以增加同学之间的互动与交流,有助于交到更多志趣相同的朋友。2教师用户用户的登录教师登录本系统时与学生用户使用的为同一系统入口,本系统通过后台可以智能的识别该用户是否为教师用户,进而跳转至相应的首页。主要原理是通过与数据库中的识别标志字段进行比较。修改资料考虑到教师信息也可能发生变化这一因素。因此,教师用户6应该具有修改自己信息的
15、功能和权利。添加学生学生用户申请课程成功之后,他的相应信息会提交到该课程的授课教师处,授课教师根据实际情况决定是否添加该学生。删除学生教师可以根据实际的情况来删除学生。如毕业离校的学生、故意扰乱秩序、发布恶意信息的不良学生。查看需要回答的问题教师登录系统后,系统会使用红色字体提醒需要回答的问题的个数以及需要处理的申请的个数,教师点击查看之后,可以看到具体的问题信息和申请信息。查看已经回答的问题教师登录系统之后,可以查看已经回答过的问题,若同学有新的疑问可以给出更加详细的回答,直到学生理解为止。3后台管理员课程管理,管理员可以根据学校开设课程和教师的情况合理的调节资源分配。内容管理,管理员对内容
16、的管理主要体现在可以对提出的问题与回答的内容进行审查。如果提出的问题或问答为非法内容,则及时的删除。用户管理,管理员可以对教师用户和学生用户进行管理,主要体现为对非法内容和用户的删除,对授课教师的调整。在本系统中注册账号时系统默认为学生用户,教师用户是由管理员来任命的,这也是用户管理的一个重要体现。管理员管理,在本系统中设置有最高权限的管理员即超级管理员,拥有系统最高使用权限,可以对其他普通管理员进行添加和删除管理。222非功能性需求1系统安全型需求从系统软件使用方面来看本系统中涉及到得三种不同身份的用户在使用本系统时,必须经过系统的安全认证之后即成功的登陆之后,才可以使用其功能。各自的功能必
17、须限定在其允许的权限之内。2系统的开发与运行环境JDK提供了JAVA开发和运行环境。MYECLIPSE集成了JAVA开发过程中用到的各种技术,本系统的主要开发7工具。MYSQL一款中小型关系数据库系统。最大的优势所有开发人员都可以免费使用。TOMCAT常用WEB服务器之一,体积小,性能稳定,品质优良。DREAMWEAVERDREAMWEAVER主要用与快速的构建前台页面,加快开发的效率。223系统流程图使用本系统时首先需要对用户身份的合法性进行验证,如果系统验证成功则成功登录进系统。否则,返回登录页面提示登录失败。当用户成功登陆本系统后,此用户才能进行相应的操作。如果是学生用户登录,则可以修改
18、自己的个人信息、查看自己的个人资料、查看自己的提问、查看自己选择的课程、个人申请的处理情况、查看个人参与的问题的讨论。如果是教师登录该系统,教师可以查看自己的信息、修改自己的信息、查看自己的课程、学生申请列表、并对学生进行增加删除操作,查看学生对教师提出的问题和问题的讨论情况,根据讨论的结果给出正确的评价并给出正确的结果。管理员用户,经系统验证之后,若成功登录本系统之后,则可以对学生用户进行添加和删除、对学生用户进行是否禁言的、可以添加新课程、指定新课程的授课教师、对现有的教师和课程进行调整、对非法内容进行删除、可以修改自己的个人信息等操作。本系统的流程图如图21所示。8图21系统流程图922
19、3系统数据流图本系统数据流的设计如图22所示,所有用户的个人信息都会输入存储到系统中,学生提问和教师答疑的过程也依赖与系统实现,管理员通过本系统实现对其他用户和问题与回复的管理。图22系统数据流图管理员管主要实现了对课程的信息的添加、修改和删除等管理;对学生用户的添加与删除和对教师的任命和取消任命等管理;以及对提问回复管理,数据流图如下所示。10图23管理员数据流图教师用户主要实现了对学生、学生申请、自己所授课程信息、以及回答问题的管理,其数据流图如下。图24教师数据流图学生用户不仅可以查看自己所选择的的课程、查看自己的申请处理情况、自己参与的问题讨论情况而且还可以搜索课程和申请课程等。数据流
20、图图25所示。图25学生数据流图11第三章系统总体设计31项目规划总体规划该在线答疑系统是一个基于WEB项目,主要分为前端和后端两部分。前台展示模块主要由用户身份登录验证、参与的讨论、查看自己的课程和提问、自己参与的讨论、申请课程和处理申请、修改自己的资料对于管理员可以对不良用户进行删除操作,并对新生进行添加等功能模块组成。后台管理模块该模块主要负责对管理员用户的增删改查操作、提问和回复的增删改查操作、课程的的增删改查操作、学生和教师用户的的增删改查操作等。32系统总体结构根据前面对系统所做出的分析和解读,本系统总体的使用人群主要有3类用户组成,即学生用户、教师用户和后台管理员用户。系统总体构
21、图如下所示。图31系统结构图1233系统功能模块该系统根据用户身份、具体职责、需求的不同可以划分为3类,进而设计了学生、教师、管理员三大功能模块。其详细的功能介绍如下所示。331学生模块功能定义图31学生功能表332教师模块功能定义图32教师功能表13333管理员模块功能定义图33管理员功能表第四章数据库设计41数据库分析由于在本系统的设计过程发现数据不是很庞大,因此选择使用MYSQL数据库,而且相较于其他数据库MYSQL的优点有开源、免费、性能稳定、且支持事务处理等方面的好处。42项目ER图本在线答疑系统主要针对的是关于教员和学生间的交流障碍问题,其涉及到得实体有用户、提问信息、回答信息、课
22、程等实体。下面将对涉及到的所有实体进行分析,并绘制出相应的ER图。对于用户实体其实体关系图如下图41所示,该图中列出了用户实体的所有属性。14图41用户实体关系图课程实体包含的属性如下图42所示。图42课程实体关系图提问信息的主要内容包括如下几个方面提问人的用户编号、提问所属课程的ID、提问的内容、提问标题、查看次数、提问发表日期等,具体如下图所示。图43提问信息实体关系图15回复问题信息实体主要包括的属性及之间的关系,具体如下图所示。图44回复信息实体关系图申请信息实体与所涉及到的属性之间的ER图如图45所示。图45申请信息实体关系图学生和课程之间存在着学习关系,该关系图如46所示。图46关
23、系实体关系图实体和实体之间存在着如下图所示的对应关系。16图47实体总体关系图43数据库中表的设计用户表涉及到得所有内容具体如下图所示。图48用户表设计用户课程表设计如下所示。图49课程表设计提问信息表设计如图所示。17图410提问信息表设计回复信息表字设计如下所示。图411回复信息表设计申请信息表设计如下图所示。图412申请信息表设计用户课程表设计如下图所示。图413用户课程表设计18第五章系统详细设计与实现51界面设计本系统的界面设计主要目的是为了针对用户得到更好的用户体验。所以本系统的界面设计需要满足以下几点简洁明了的人机交互、美观的界面等。为了充分体现软件的定位和特点,我们需要设计出符
24、合用户需求的系统界面。本在线答疑系统的主要是以JSP页面来展示的,主要采用了DIV和TABLE布局,CSS进行美化,同时又融入了JAVASCRIPT、AJAX等主流的前端技术,给人一种耳目一新的感觉。本系统的界面主要以黄绿色为基色,符合大众的审美观念,能给用户很好的使用效果,给人带来深刻的印象。本系统的部分界面如下登陆界面图51用户登录界面19图52管理员功能界面教师功能界面图53学生用户主页面52系统分层该在线答疑系统采用了MVC模式进行开发,MODEL层主要用于数据模型的20建立以及与后台数据库的交互连接,VIEW(视图层)主要有JSP构成,负责页面的动态显示,CONTROL层主要交由ST
25、RTUS框架来实现,用来处理业务逻辑和页面之间的跳转。并将STRTUS中的ACTION类交由SPRING来管理,可以很大程度上简化开发。521VIEW层设计在本系统中视图层主要采用JSP技术。JSP页面在运行时,会先转成SERVLET在经过编译生成JAVA文件。所以JSP也就具有JAVA语言的特性。因此,相较于静态的HTML语言,JSP具有运行效率高,跨平台性等优点。但是由于JSP页面在第一次打开时会先存在编译的过程,所以在第一次打开时可能比较慢,这也是由其自身特性决定的。为了使本系统具有好的体验效果还采用了级联样式表(CSS)等技术对前端页面进行美化。522MODEL层设计模型表示数据和业务
26、规则。在本系统中模型层主要采用JDBC技术来实现与数据库中数据的交互。JAVABEAN对应本系统中所涉及到的对象,它地属性与数据库中表的字段相对应。在DBUTIL类中将数据库中的数据封装进相应的对象中,在根据前端显示页面决定是否将封装好的对象放置到集合中。在本项目中还用到了数据库连接池技术,当在TOMCAT启动时便创建好数据库连接的实例,这样便可以带来资源重用、更快的系统响应速度、避免数据库连接泄露等方面的好处。采用这种技术需要注意的是如果要退出系统必须要先销毁两者之间的连接。523CONTROL层设计本系统中控制层主要STRUTS框架实现,对于由客户端发出的请求全部交由STRUTS来管理,每
27、一个请求对应一个ACTION类。本系统中的所有业务逻辑、业务处理都在STRUTS中的ACTION类中进行处理。配置STRUTS环境如下21在本WEB项目工程中添加所需的JAR包;在WEB项目中的WEBXML中进行配置。编写相应的ACTION类,其中涉及到业务逻辑的处理等。配置ACTION类,在STRTUS的配置文件中配置已经编写好的ACTION类。在该配置文件中可以有多个ACTION,每一个ACTION类中可以有多个方法,其中的RESULT中的NAME对应着该类中的返回值。为一个字符串类型对应着相应的跳转页面。在本系统中有着严格的权限控制,其主要功能是由拦截器实现的,本系统通过自定义的拦截器来
28、实现权限控制。本系统的字符编码等是由FILTER拦截器来实现的。FILTER拦截器原理所有来自浏览器的请求和服务器的响应都会先经过FILTER类的拦截,因此可以在该类中对REQUEST、RESPONSE对象的属性进行相应的属性设置。STRUTS的运行原理对于每一个来自页面的请求,都会被STRUTS的核心控制器截获进而转向相应的ACTION类进行处理。在执行ACTION类中的方法之前,STRTUS会创建一个代理类对象并将相应的对象添加到值栈中,在实例化该代理类时将相应的值赋给对象。这样在相应的展示页面就可以使用STRTUS提供的标签获得相应对象的属性值。STRUTS与SPRING的整合将上述编写
29、好的ACTION类交由SPRING来管理,具体的做法是在SPRING的配置文件中使用BEAN标签的ID和CLASS两个属性来指定其相对应的ACTION和其所在的JAVA类。这样就避免了手动NEW对象的过程。极大地提高开发的效率。53各个功能模块的设计与实现531用户注册学生用户在进入本系统时需要在浏览器地址栏输入地址22HTTP/1270018080/ZXDY/INDEXJSP时,该请求会被相应的ACTION截获,该ACTION会自动获取数据库中的所有的提问信息,并将其封装处理之后自动跳转至主显示页面显示,如果浏览器不支持自动跳转则需要用户手动的点击超链接跳转至主显示页面。该信息不管你是否为该
30、系统的用户都可以看见。图54主页面图55提示页面如图54与55所示,主显示页面,该页面有登录和注册按钮,当用户点击注册按钮跳转至注册页面。注册页面,如图56所示。其中需要注册的信息有用户名、密码、及邮箱等信息。在该注册页面,带号的为必填的项目,为了使用户的信息合法有效,该页面采用AJAX技术实现的验证,可以实时的检验您的注册信息如图57所示。该种做法可以减少与数据库之间的交互次数,提高系统的运行效率。该页面中还设置有验证码输入框,对于需要注册的用户在提交用户信息之前,必须填写验证码。此项措施的目的在于防止别有用心之人恶23意注册。图56注册页面图57注册验证图只有当填写的所有注册信息符合要求时
31、,才会跳转至注册成功页面。如图58所示24图58注册成功提示图否则,跳转至注册失败页面。图59注册失败提示图532用户登录当在主显示页面点击用户登录时,跳转至登录页面。该页面主要有用户名、密码、验证码三部分组成,采用验证码主要是为了防止恶意破解个人密码的情况发生。只有输入正确的用户名、和相匹配的密码、以及正确的验证码才能跳转至成功登录后的页面。用户名、密码、验证码三者缺一不可。页面如图510所示。图510登录页面当填写完登录信息点击登录按钮之后,若登录信息与后台数据库中存储的数据吻合时,即进入登录成功页面。登录成功后,系统会将用户的信息放置在25SESSION中,在页面中可以从SESSION中
32、获取用户信息进行显示。如图511所示登录成功后,从用户SESSION中获取用户名在页面进行显示。图511主页面显示图若登录信息不正确,则跳转至登录错误页面。图512登录失败提示图在主显示页面中,还可以根据不同的选项来查询相关的课程信息。该查询功能可以按课程名和课程编号来查询,并且支持模糊查询。如下图所示按照课程名字查找。26图513搜索操作演示图查找到的结果,如下图所示。图514搜索结果图533学生用户操作学生用户成功登录系统后,将鼠标箭头指向文字“我的”该文字标签,会触发一个鼠标悬浮事件,显示当前用户可以进行的所有操作。具体如下图所示。图515学生功能演示图登录成功之后的用户,可以查看自己相
33、应的信息。如我的资料,该页面会显示当前用户的注册信息。如下图所示。图516个人资料27也可以进行修改密码的服务,如下图所示。需要注意的是输入的旧密码即为原始密码必须填写正确,新密码与确认密码必须要一致。上述两点是成功修改密码的必要条件,缺一不可。图517修改密码上传头像的操作,如图518所示。该操作需要注意的是上传的头像必须为计算机可识别的图片格式如JPG、PNG、GIF等;修改邮箱时邮箱的格式必须符合要求。两者都符合要求,才能修改成功。图518上传头像申请想要学习的课程,如图519所示。该操作要求申请人必先获取到相应课程的课程编号,这是此操作的必要前提。其次为申请的理由该项目用来供教师用户决
34、定是否添加该学生的唯一条件,必须认真的填写。这将决定着你的请求是否会通过。28图519申请课程我要提问,可以发表自己的问题。如图520所示。在该项操作中需要注意的是在自己的提问中不要发表与课程无关的内容、不要发表带有政治色彩的内容、不要谩骂他人发表恶意内容,管理员会根据你发表的内容进行审查,判定该内容是否为非法内容。若判定为非法内容则会删除,甚至可能会将用户判定为非法用户进行删除。还需注意的有发表内容时需选择课程,填写标题,内容不得少于8个字符。否则会被视为无效的内容,导致提问失败。图520问题图对于自己的提问,自己可以查看该问题下的所有回复,你也可以和他人进行讨论交流,从中找到志趣相同的人。
35、设置该功能的初衷是“独学而无友,则孤陋而寡闻”。在于他人的交流与讨论中,即可以找出自身的不足,时刻鞭策自己。也可以向他人请教,“三人行,必有我师”。29图521查看提问图自己也可以加入到他人讨论的过程中去,如图522所示是用户参与问题讨论的编辑区域。这样可以更有利于自己交到跟多的朋友、学习更多的知识图522参加讨论图534管理员用户操作在本系统的使用中学生用户和管理员用户有着不同的进入页面,管理员通过管理员入口进入,具体地址HTTPLOCALHOST8080/ZXDY/ADMININDEXJSP,通过验证成功登录后的页面如图所示30图523管理员主界面课程管理中作为管理员可以添加一门课程,如图
36、524所示。需要注意的是课程名必须为学校以开设的课程,课程描述需要正确。图524添加课程在课程列表页面中,作为管理员可以对课程名、描述、授课老师进行管理。其具体的操作为点击编辑按钮会跳转至修改课程的页面,在该页面中可以对课程信息进行管理。需要注意的是在修改课程授课老师时,该用户的身份一定要为老师用户否则会报错。并且课程名与课程编号要匹配,否则也会操作失败。31图525管理课程在内容管理功能中,所有的提问标题、作者、发表日期等信息都会显示在管理员的操作界面如下526所示,管理员可以通过点击“查看”会显示具体的内容。管理员通过对内容的审查,决定是否删除该内容。图526内容管理在内容管理功能中,管理
37、员还可以查看所有的问题回复,并对其进行审核,如下图所示。对于非法的回复内容进行删除。图527审查内容在用户管理功能中,管理员可以查看所有的用户列表,正常情况下默认显示所有的用户信息如528所示。也可以通过“请选择分类”后的下拉列表中的“学生用户”和“教师用户”来选择查看的对象。对于一些发表恶意内容的用户可以选择禁言操作,以示惩戒。若以后表现良好可以考虑给予其重新发表内容的权利。若该用户仍然执迷不悟,则可以选择删除该用户。32图528用户管理在用户管理功能中,考虑到用户可能会遗忘密码或记混用户名和密码的可能,管理员还可以根据用户的书面或口头请求为用户提供重置密码的服务。需注意的是重置密码由申请人
38、提供,管理员不做记录。图529重置密码作为管理员可以对自己的密码进行修改,长期使用同一密码可能会存在密码泄露风险。通过不定期的修改密码进而提高管理员账户的安全性。需注意的是新密码一定要便于记忆。图530修改密码534教师用户操作教师用户该系统的地址HTTPLOCALHOST8080/ZXDY/INDEXJSP,在登陆页面填写33相应的用户名和密码之后,进行验证正确之后进入管理页面,可以对学生和课程进行相应的操作。教师用户成功登录之后会进入如531所示的界面,该页面会显示当前教师用户需要回答的问题、需要处理的申请信息。通过点击问题的标题,查看并回复问题;通过点击“申请列表”进入申请处理页面如图5
39、32所示,可以通过查看申请的理由等信息来决定是否添加该学生。图531查看未回复问题图532申请处理图教师用户可以填加学生用户,对于添加多个学生用户时,使用英文状态下的分号隔开,在后台处理时会使用到字符串的分割,而分割的依据便是英文状态下的分割符号。通过点击“请选择课程”可以选择将学生添加到自己所授的哪门课程下。34图533添加学生教师用户也可以对自己课程下的所有学生进行是否删除的管理,具体的依据是通过查看该用户的日常提问及回复是否存在非法内容,来认定该生是否为屡教不改之徒,若是则可以进行删除操作。图534学生管理教师用户可以查看自己的个人资料。图535查看个人信息35教师用户可以修改自己的密码
40、。图536修改密码教师用户可以修改自己的个人资料。图537上传头像第六章系统测试计划61编写目的本在线答疑系统经过前期需求分析、概要设计、详细设计、以及编码已基本完成,而且初步运行顺利。但作为一个成熟的系统还需经过严格的测试才能说明。软件测试并不仅仅只针对于软件的产品本身,不是系统运行时没有出现大的错误就是一个成功的产品。软件测试还注重于软件的开发过程。软件系统是否严格的遵循需求也是测试的关键。本系统在开发过程中经历过单元测试、功能模块测试、系统集成测试。36现将系统部分主要功能测试情况进行简要的阐述。62主要功能部分测试分析621注册部分测试在本系统的注册页面中为了进一步的确保注册信息的合法
41、和有效性,减少与数据库之间的交互次数过多的压力,主要采用AJAX技术来实现对输入数据的验证。若输入信息不能通过验证则无法提交到后台对其处理。如下图61所示。图61测试AJAX验证用户名当在文本框中输入一个已经注册过的用户名时,该页面就会显示如上图所示的错误提示信息。该信息的出现是因为在鼠标离开文本框时触发了AJAX,它会对输入的信息与数据库中的信息进行比较,如没有该用户则显示用户名可用,若该用户已存在,则显示上述的错误提示信息。622课程搜索测试37图62测试搜索当点击“按课程名”进行搜索时,系统会通过输入的课程信息在数据库中查找。若找到了相匹配的项目则返回。若没有找到,则会提示没有该课程信息
42、。如下所示找到相应的课程。需要说明的一点是该查询支持模糊查询,因为对于课程的信息不是每个人都了解的很详细,像课程编号之类的信息只有管理人员或老师知道详情。图63测试结果623权限控制测试在本系统中对于未成功登录本系统的用户是不可以参与问题讨论以及与提问相关的活动。在本系统中如果未成功登录就想查看问题相关的信息,系统会自动的跳转至登陆页面。提示用户登录本系统,或注册用户。该权限控制是由拦截器实现的。在本系统中虽然管理员用户的登录入口地址是相同的,但是不同权限的管理员登录之后的主显示页面是不同的。在超级管理员的显示页面会有对普通管理员的管理项目,但是在普通管理员的主显示页面却没有。如64所示为UR
43、OLE3即超级管理员的显示页面。38图64超级管理员如图65所示为UROLE2即普通管理员的主显示页面。图65普通管理员如上图64与65所示红色矩形框中的相关管理内容便是两者因权限身份的不同,而显示出的不同主页面。如图66所示在管理员用户任命老师的操作中,若该用户为学生,则显示如图67中所示的提示信息。判断的依据便是检查该用户是否选修了某门课程,若选择了则认定为学生用户。否则为教师用户。只有选择了认定为教师的用户39此操作才可以成功。图66用户列表图67设置老师第七章项目评价71项目功能总结40本系统利用计算机网络资源,主要实现了在高校教学过程中教师与学生的互动交流功能。解决了教师学生在交流过
44、程中因时间、地点等因素带来的交流障碍问题,使得教师与同学之间的交流更加的顺畅、及时、便捷。主要实现的功能有学生用户的提问以及查看回复、参与讨论、教师用户处理申请、解决问题、添加学生、管理员用户添加教师、删除教师、添加课程、删除课程等功能。72项目中使用到的技术本系统的开发过程中用到了许多当前软件开发过程中的主流开发技术。前台页面主要采用了HTML、JSP技术,页面整体采用DIVCSS布局。采用该布局的好处在于减少页面的代码量,能够提高页面的访问速度。样式表与代码分离,使页面看起来比较整洁。设计出的页面显示效果比较好该项目中采用了现在开发过程中常用的STRTUS2框架技术,采用该技术的优点在于页
45、面之间参数的传递比较方便。提供了许多比较常用的拦截器。易于测试。本项目中还使用了SPRING技术,将编写好的ACTION类统一交给SPRING来管理。其强大的依赖注入功能,避免了在编写代码时手动NEW对象的过程,极大的加快了开发的速度。除上述技术之外还用到了数据库连接池技术、AJAX技术、以及利用拦截器来实现权限控制等当前主流的一些技术。73项目中的不足之处技术不足在本项目的开发过程中由于知识储备不足,对当前主流的框架HIBERNATE掌握的不是很好,所以未使用其相关的技术。导致在本项目开发过程中涉及到41与数据库交互方面的操作时,编写代码量大,代码不够精简。在SQL语句优化方面知识掌握不够,
46、使得SQL的执行效率低。在本项目的开始之初拟采用JMF技术实现在线视频答疑聊天室的功能,但是由于对该技术掌握的不是很清楚,所以导致获取的视频质量不是很好,而且视频有卡顿的现象,最终不得以放弃了该功能的实现。项目功能不足在本系统中教师只能有管理员来指定,注册用户的默认角色为学生用户,这就为教师用户带来不便之处。在该系统中问题的审核以及删除工作都是由管理员权限来处理的,使得管理员的任务太过于繁重。本系统还存在着教师用户与管理员用户功能重叠的问题,使得一旦出现工作失误很难界定各自的责任划分。第八章个人总结经过几个月的努力毕业设计终于接近了尾声,在过去的这些日子里让我对大学四年里学习到的知识有了更深一
47、层的理解。在没有开始做毕业设计之前我自己始终认为毕业设计只是对过去四年学习成果的一次检测与展示,但经过这些天在做设计的过程中我渐渐的发现我之前的观点有点片面。毕业设计不仅是对以前所学知识的熟练应用,也是一次查缺补漏的过程。做毕业设计的这些天使我充分的认识到自己在知识上的不足,有很多知识急需学习,如HIBERNATE、SPRING等。通过这次毕业设计使我明白了,软件行业新技术,新思想迭出不穷,要想从事软件行业就必须要有“活到老,学到老”决心。我曾经以为四年时间是一个漫长的过程,但现在我深刻的认识到时间过得42是多么的飞快,转眼之间大学生活就要结束了。我很高兴在我最美好的年纪里遇见同样美好的老师与
48、同学,一起见证我的成长,分享我的喜悦。43谢辞在毕业设计期间使我对同学之间的友谊有了新的认识,同学之间相互帮助,相互鼓励,有什么问题大家一起想办法解决。因此,在这里我非常感谢帮助过我的同学们。在此我还要感谢我的指导老师XXX老师,在此次毕业设计的过程中曾经遇到过很多的困难,幸得张教师的悉心指导才使得我的毕业设计能够顺利的完成。44参考文献1任胜兵等编著软件工程M北京清华大学出版社出版社2004年5月2萨师煊等编著数据库系统概论M北京高等教育出版社2004年12月3何慧容编著数据库应用基础与实用教程VFM北京清华大学出版社出版社2003年9月4耿祥义,张跃平编著JAVA2实用教程M2版北京清华大学出版社20065林锐编著软件工程思想M西安西安电子科技大学出版社,20016孙良军,胡秀娥著HTMLCSSJAVASCRIPTM北京清华大学出版社2011年6月7毛养红在线答疑系统的设计与实现D广州华南理工大学2010年5月8韩璐基于MVC模式的在线答疑系统的设计与实现D辽宁辽宁科技大学2012
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。