版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、在线答疑系统项目名称:在线答疑系统班 级:学 号:姓 名:小组成员:20仃年6月12日目录功能析 性需求非功能性需流程系统总体项目规划系统构总体结系统功学生模块功能定义教师模块功能定义管理员功能模块定义3 数 据 库 设计析项 目 E-R图数据库表的设计4 系 统 详 细设 计与 实现界面设计系统分层的实现表现层的设计控制层的设计数据连接与操作的实现数据源的配置数据库操作的实现各个功能模块的设计与实现 用户登录和注册学生用户模块教师用户模块管理员模块5 系 统 测试测试目的系统关键部分测试分析注册用户名唯一性验证 分页的实现6结论系统功能总结系统的特色之处体会与总结7小组分工第一章系统分析需求
2、分析在开发任何一个系统之前,进行必需的系统分析是非常有必要的,主要是根据对客户的需求和本系统的一些特点和模块的分析等来确定如何有效地进行实 际的开发。需求分析是软件设计的一个重要组成部分。 为了确定系统的目标,应 在本阶段对系统的应用情况进行全面的调查1.1.1功能性需求分析本系统包含学生、教师和后台管理员这3类用户,其各用户的具体功能如下。学生用户功能?注册和登录,学生不仅可以很方便地进行用户注册,也能够登录在线答疑系统。?资料的修改,注册后学生可以修改自己的注册资料。?查看提问,学生发起问题后,可以查看该问题的回复情况。?申请课程,如果学生还不能修某课程,可提交该课程的申请表。?查询课程,
3、搜索自己感兴趣的课程,支持模糊检索。?查看参与的提问,学生不仅可以对自己参与课程下的问题进行讨论,而且还可以查看这些问题。教师用户功能?用户的登录,老师可自由地登录在线答疑系统。?资料的修改,老师可以修改自己的资料。?查看未回答的提问,老师登录后,可以查看待回答问题的列表。?查看已回答的提问,对于已经回答的问题,老师不仅可查看,而且还可以继续回复讲解。?添加学生,老师能够将学生添加到自己所教授的某门课程。?删除学生,老师能够删除自己所教课程下的学生。管理员功能?课程管理,管理员可以对课程信息进行维护。?内容管理,管理员可以对提问内容和回复内容进行管理。?用户管理,管理员可以对学生用户和老师用户
4、进行管理。?管理员管理,主要是超级管理员对普通管理员的管理。1.1.2非功能性需求分析(1)系统安全性需求在软件使用方面,学生用户和教师用户通过系统主界面登录进入系统,但必须通过必要的身份验证。管理员则通过专门的登录页面来进入系统,一旦管理员登录成功就可以对系统进行常规管理。 用户登录的角色不同,从系统获得的操作 权限也不同。(2)系统开发运行环境需求JDK作为整个Java的核心包含了 Java的基础类库、运行环境和Java工具, 是Java语言的软件开发工具包。MyEclipse :是一个非常杰出的Java开发工具,对各种开源产品的支持非 常好。它不仅功能非常强大,而且具备非常广泛的支持性能
5、。Tomcat服务器:适用于中小型系统开发的 web应用服务器,开放源代码且 免费。其性能稳定、技术先进,因此不但博得了 Java开发人员的喜爱,而且也 得到了一些软件开发商的肯定,是当今较流行的 Web应用服务器。MySQL数据库:是目前小型应用开发中比较流行的数据库,且从版本开始 支持事务,保证了数据库的完整性和安全性。1.1.3系统流程图用户进入系统主界面后,会显示所有课程列表,成功登录后才能查看课程的 提问以及进行其它操作。如果是学生用户,则可以查看个人资料、自己的课程、 提问、参与的问题和申请处理情况,还可以进行课程的申请,修改资料和登录密 码。如果是老师用户,则可以查看个人资料、自
6、己的课程和申请列表,并能对学 生进行管理(添加或删除学生),修改资料和登录密码,系统会提示老师未回答 问题和未处理申请的个数。管理员经由后台登录界面进入系统,成功地登录以后,系统会根据管理员 角色(超级管理员和普通管理员)的不同来显示相应的操作权限列表。管理员能 够对课程、提问和回复、学生和老师用户以及管理员用户进行管理。本系统的流程图如下页图所示系统首页在线答疑系统*1后台登录界面用户登录I否 否修改资料是老师用户学生用户管理员管理员用户的管理学生和老师用户的管理提问和回复管理查看老师的课程添加和删除学生回答问题和处理申请图系统流程图1.1.4系统数据流图本系统数据流的设计主要包括在线答疑信
7、息管理、课程管理和用户管理等的 实现,其相应的数据流图分别如下图所示。个人 信息托线 答疑在线答覆管理信忌输入输汨倬自VI教师卜人BE信息答疑佶息沾中图系统顶层数据流图管理员管理部分主要实现了课程管理、 提问和回复管理以及学生和老师用户管理,其数据流图如图所示图 第一层数据流图一管理员管理教师管理部分主要实现了学生管理、回答问题、处理申请以及查看课程信息, 其数据流图如图所示。图 第一层数据流图一教师管理学生管理部分主要实现了搜索课程和申请课程、提出问题和参与讨论、查看自己的课程和提问以及产看申请处理情况,其数据流图如图所示。输入输出请课柠和提问仁思勢与讨论输输入A1r问题信黑清单输输A入1所
8、讨论问题信息清单图第一层数据流图一学生管理可行性分析可行性分析(Feasibility Analysis),即可行性研究,它是针对新系统的开发是不是具备必可能性和必要性并基于对系统的调查,对新系统的开发从技 术、社会和经济等方面开展分析和研究工作,以避免投资失误,从而保障新系统的开发成功。可行性研究的目标是用最小的代价在尽量短的时间内确定问题是否 可以得到解决。其实质上是要进行一次大大压缩简化了的系统分析和设计过程, 即以较抽象的方式在较高层次上进行的系统分析和设计的过程。技术可行性分析技术可行性不仅要考虑使用现有的技术可否完成系统的开发,而且还要考虑软件和硬件的配置可否能够满足开发的需要等。
9、本系统的开发是一个较具代表性的 Java Web项目,采用Java程序语言,如今计算机硬件的配置已经完全可以满足开发过程的需求。从软件方面来看,系统使用Java Web技术进行开发,前端界面使用的是 DIV+CS敲术,所需的软 件环境如下:JDK MyEclipse、Web应用服务器以及MySQ数据库。这些软件都 已经有了功能全面、稳定的版本,故软件的开发平台成熟可行 ,它们不仅可靠性 高而且稳定,因此完全可以满足系统的需求。经济可行性分析系统所需要的硬件环境,即计算机及其相关的硬件,从市场上可以很容易地购买到。所需软件环境(JDK+MyEclipse+Tomcat+MySQL可以从网上免费下
10、载,从 而降低了开发成本。本系统主要的开发与维护成本也不会造成太大的经济压力。此系统正式投入使用后,学校的教学质量能够得到大幅度的提高,答疑工作也能 更顺利的开展,并且师生之间的在线互动也可以更加方便地进行。同时对于学校学生来说,有问题可以立即登入系统进行提问,只要是该课程下的学生用户都可 以参与讨论。对于教师来说,能够很方便地查看学生提出的问题并回答,了解学生对知识的掌握程度,从而把握教学重点,这样学校的教学质量便得到了提高。操作可行性分析本系统主要是为了方便教师与学生之间的答疑工作的开展,提高学生的学习 效率。学生将所学习课程的疑问通过系统呈现给教师, 待教师解答后,可查看到 问题回复。第
11、二章 系统总体设计总体设计,也可以称为概要设计或者初步设计,其基本目的便是回答“概括 地说,应当如何实现系统”这个问题。经过这个阶段,将划分出构成系统的物理 元素(数据库、程序、文件、文档和人工过程等) ,然而所有的物理元素依旧处 于黑盒子级, 这些黑盒子里的具体内容将在之后进行详细的设计。 总体设计阶段 的另外一项重要任务是确定系统中的每一个程序由哪些模块构成以及这些模块 相互之间的关系,即设计软件的结构。项目规划总体规划:在线答疑系统是一个非常典型的 Java Web项目,它由系统前台 展示模块和后台数据管理模块等两大模块构成。前台展示模块主要提供身份登录验证, 提出问题与回复、 参与讨论
12、, 查看课 程和提问,申请课程和处理申请、修改资料以及添加 / 删除学生等功能模块。后台管理模块: 该模块主要进行数据库的管理和维护, 包含对学生和教师用 户的管理、课程的管理、提问和回复的管理、管理员用户的管理等。系统总体结构系统总体结构是系统总体设计的核心部分, 通过系统结构图可以很清楚地看 出整个系统的结构。 根据各个结构模块分别进行分析, 从而为将来的设计和实现 打下良好的基础。根据前面对系统所做出的分析,本系统总体上包括 3 类用户, 即学生用户、老师用户和后台管理员用户。系统总体结构如图所示。在线答疑系统学生用户老师用八住n-,LA即果fr和茁 JT- -1 L - - J _li
13、 n J rnJ|!和MJT.和1. 门 If- 7? 屮11/E 叮!门:171图系统结构图系统功能模块在线答疑系统依据用户的类别共分成三个模块:学生模块、教师模块和管理 员模块。学生模块功能定义表学生模块功能列表功能名称定义学生注册用于注册学生信息学牛登录用于学生登录系统的身份验证修改资料用于学生修改个人资料搜索课程用于学生搜索所有可提问的课程申请课程用于学生申请感兴趣的课程提问问题用于学生提出对课程内出现的疑问参与讨论用户学生之间针对问题进行交流讨论我的提问用于学生查看自己所提出问题的回复情况我的课程用于学生查看自己已经申请的课程我的申请用于学生查看自己的申请处理情况退出学生退出系统登录
14、教师模块功能定义表教师模块功能列表功能名称定义教师注册用于注册教师信息教师登录用于教师登录系统的身份验证修改资料用于教师修改个人资料回答问题用于教师回答学生所提出的问题申请处理用于教师处理学生的课程申请添加学生用于教师为自己的课程添加学生删除学生用于教师删除自己课程下的学生查看课程用于教师查看自己的课程退出教师退出系统登录管理员功能模块定义定义表管理员模块功能列表功能名称定义管理员登录用于管理员登录系统的身份验证课程管理用于对课程信息进行添加、修改和删除提问管理用于问题信息的维护,对过时答疑信息的删除回复管理用于回复信息的维护,对不良回复信息的删除学生管理用于对学生用户的信息进行修改和删除教师
15、管理用于教师用户信息的修改和删除管理员管理用于管理用户信息的修改、添加和删除退出管理员退出系统登录第三章数据库设计数据库技术是管理信息资源的最佳方式。数据库设计是针对一个特定的应用 环境构造出最优的数据库模式来创建数据库及其应用系统,从而实现对数据的有 效存储,以满足用户对信息和处理的要求。数据库结构的设计将直接影响到应用 系统的效率和实现的效果。因此,合理的数据库设计不但能够提升数据存储的效 率,而且可以有效的确保数据的完整性和一致性。确定了系统需要开发的功能之后,接下来应该进行数据库的设计工作, 分析 该系统的各个实体之间的关系,做好数据库的设计对后期的开发有着非常重要的 作用。数据库分析
16、由于本系统的规模不是很大,因此选用MySQ数据库,该数据库为开源免费 产品,可以直接通过网上下载得到,从而大大节约了开发成本。 MySQ 数据库是 现今小型应用开发中比较流行的数据库, 且从其版本开始支持事务,能够确保数据的完整性和安全性。项目E-R图在线答疑系统作为学生和老师之间针对于学生所提出的问题进行沟通和交 流的桥梁,所包含的实体有提问信息、回答信息、课程、用户、申请信息和关系 下面将依次介绍各个实体所对应的 E-R图。用户的E-R图主要包括用户的编号、用户名、密码和电子邮件等信息,具体如图所示iLTihlitIO图用户E-R图课程实体包含课程名、课程编号和课程描述,具体如下图所示课程
17、图课程E-R图提问信息实体主要包括提问的编号提问用户的ID、提问标题等信息,具体如图所示图提问信息E-R图回复信息实体主要包括所回复问题的编号、回复标题和内容等信息,其E-R图如图所示。申请信息实体主要包含申请人编号、所申请课程编号、是否处理以及申请理 由等的一些标志信息,其E-R图如图所示。 HC巾请状o用户IDo訂I)图关系信息E-R图图申请信息E-R图学生和课程之间存在学习的关系,该关系记录了学生的ID和课程的ID信息,具体如图所示实体之间存在着一定的关系,如一个老师能教授多门课程,并且一门课程也能被多个学生学习,具体关系如图所示数据库表的设计系统数据库设计的好坏不仅对今后网站连接数据库
18、的速度有着非常重要的影响,而且也对查询更新的复杂度有着非常重要的影响。 本节介绍对本系统的数 据库表进行的设计,是在完成系统功能分析的基础上根据系统的需求目标而进行 的设计。根据前面所介绍的实体所拥有的属性以及实体之间的关系描述,下面将介绍数据库中这些实体对应的表的设计,分别是课程表、提问表、回复表、用户 表、申请表和关系表,具体设计如下所示。(1)用户表:主要包含用户名、用户ID、登录密码、电子邮件和其它相关信息, 表中各字段的详细信息如下表所示。表用户信息表DY_User字段名称数据类型字段大小是否主/外键字段说明备注UIDintN/A主键用户编号非空UNamevarchar20否用户名唯
19、一且非空UPwdvarchar20否登录密码非空UGe nderchar2否用户性别无UEmailvarchar40否电子邮件无URoleintN/A否用户角色默认值UHeadvarchar50否图像URL默认值URegDatedateN/A否注册日期无ULastLogi ndatetimeN/A否最后登录时间无ULastEmitdatetimeN/A否最后发表时间无UPermitintN/A否用户权限默认值(2)课程信息表:包含课程名、课程ID以及课程描述信息,表中各字段的详细信息如下表所表课程信息表DY_Topic_Group字段名称数据类型字段大小是否主/外键字段说明备注TGIDintN
20、/A主键课程编号非空TGNamevarchar50否课程名非空TDetailvarchar200否课程描述非空(3)提问信息表:该表主要包括提问标题、内容和所属课程等提问信息,表中 各字段的详细信息如下表所示。表提问信息表DY_Topic字段名称数据类型字段大小是否主/外键字段说明备注TIDintN/A主键提冋编号非空UIDintN/A外键提问人ID无TGIDintN/A外键所属课程ID无TTitlevarchar200否提问标题非空TCo ntenttextN/A否提问内容非空TDatedatetimeN/A否提问时间非空TReadCou ntintN/A否阅读次数默认值(4)回复信息表:该
21、表主要包含所回复冋题ID、回复标题、回复ID以及回复内容等信息,各字段的详细信息如下表所示。表回复信息表DY_Revert字段名称数据类型字段大小是否主/外键字段说明备注RIDintN/A主键回复编号非空TIDintN/A外键所回复提问ID无UIDintN/A外键回复人ID无RTitlevarchar200否回复标题无RCo ntenttextN/A否回复内容非空RDatedatetimeN/A否回复时间非空(5)申请信息表:该表主要包含申请编号、申请人编号和所申请课程编号等表中各字段的详细信息如下表所示。表申请信息表DY_Apply字段名称数据类型字段大小是否主/外键字段说明备注AIDint
22、N/A主键申请编号非空UIDintN/A外键申请人ID无TGIDintN/A外键所申请课程ID无AReas onvarchar200否申请理由非空AFlagintN/A否申请处理标志默认值AStatuschar10否申请处理状态默认值(6)用户-课程关系表:用于记录存在于用户和课程之间的关系, 包含用户编号 课程编号和关系编号等信息,表中各字段的详细信息如下表所示。表 用户-课程关系表DY_TU字段名称数据类型字段大小是否主/外键字段说明备注TUIDintN/A主键关系ID非空UIDintN/A外键用户ID无TGIDintN/A外键课程ID无第四章 系统详细设计与实现通过这一阶段的工作进行了详
23、细的设计, 我们将会确切地描述所要开发的目标系 统,其基本任务是要确定能够具体地实现所要求的系统的方法途径。界面设计对于任何系统来讲, 设计用户界面都是相当重要的。 因为一个交互良好的界面不仅可以使浏览者对系统的印象更深刻,而且可以为与客户进行沟通提供方便。本系统的界面使用JSP页面来实现,并采用DIV+CSS技术对界面进行美化。在页面的实现过程中,主要遵循了以下两个原则:(1)统一连贯。页面的整体风格要与自己所要表达的内容相符,本系统是 在线答疑系统, 采用草绿色为界面的颜色基调, 能凸显学生的活力和知识学习生 机勃勃的景象。(2)布局合理、和谐。整个页面要符合大众人群的审美观念。布局是一个
24、页面显示的主体框架, 一个设计良好的布局, 能给用户很好的使用效果和深刻的 浏览记忆。本系统的主界面如下图所示在线答疑系统ill 9Tfttiirs汕昭 C 日賊*,|itt|_IB_|it七Ftin * 下切理次駅i n:i *图系统主界面系统分层的实现根据MVC设计思想,本系统以Struts2框架为控制器,用来管理各页面传过 来的请求,从而发给相应的action处理;各JSP页面作为动态页面表示层来进 行显示;DBUtil和各个Action等均作为Spring当中的受管Bean。表现层的设计JSP技术能够将普通静态的HTML技术和动态的HTM技术相结合起来进行编 码。它具有运行效率高、跨平
25、台性等优点。根据系统的分层情况,表示层选用的 是JSP动态页面技术。控制层的设计控制层的采用的是Struts2框架。因为能够使用Struts2的控件上传文件, 并且其拦截器机制也能够对特定信息进行拦截。该系统中Struts2的工作原理体 现如下:当用户从前台JSP页面选择操作后,通过Struts2控制器转发给相应的 action进行处理,各action通过Spring的依赖注入的DBUtil来实现对数据库vfilter- namestruts2的各项操作,最后将得到的数据传到JSP页面进行显示。本系统在项目结构中WEB-INF文件夹下的文件中对Struts2进行的配置如下:数据连接与操作的实现
26、数据源的配置由于系统采用数据库连接池技术访问数据库,所以在连接数据库之前要对数 据源进行配置,本系统在项目结构中WEB-INF文件夹下的文件中对其进行的配置 如下:vdescriptionDB Connectionvres-ref- namejdbc/zxdyv/res-ref- name数据库操作的实现 Container本项目中的DBUtil类包含全部要用到的数据库方法,需要将DBUtil类的资 源注入到项目中开发的 Action,并将Action配置成为Spring框架中的受管public class DBUtilBean0 DBUtil类的具体实现代码见附录1,其大致结构如下:各个功能
27、模块的设计与实现面具根据系统分析和系统的总体设计, 基本确定了该系统所包含的模块,体介绍各个模块的基本功能的设计与实现0用户登录和注册依据系统分析和功能的需求, 用户在没有登录的情形下, 除了对系统首页进 行浏览外无法执行其它操作。只有在登陆成功的情况下,才能够发表疑问和回复 并执行其它操作。学生和老师用户通过系统首页登录系统,而管理员则通过后台 登录界面进入系统。在利用Struts2框架进行开发的过程中,有时一个动作要与一个Action对应,可是这些Action中有些属性或方法是通用的,倘若在每一个Action里面反 复书写相同的属性或方法就会导致代码看起来不仅冗长并且枯燥。因此,首先要定义
28、一个可以让之后的所有Actio n继承的一个包含通用属性和方法的基类Action ,即 BaseAction 类。其具体实现类是 DYBaseAction,DYBaseAction 类的 主要源代码如下。public class DYBaseActi on exte nds Acti on Supportpublic String execute()throws ExceptionStri ng result = SUCCESS;i f(logout.equals(actionStr)Stri ng role = (Str in g)getSessio n( ).get(role);getSe
29、ssi on( ).clear();(1)用户注册用户通过系统首页进入注册页面,因为注册的用户有很多,本模块使用了Ajax技术,在客户端还未提交注册表之前可以对信息进行验证,倘若注册信息 不符合要求则禁止提交,这样不但使得网络流量在很大程度上得到减少,而且也使得服务器的负担得到极大的减轻。采用Ajax技术向服务器发送异步请求,在创建好XmlHttpRequest对象后要获取 用户注册时所填写的用户名,而后再把验证请求发送到服务器端。(2)用户登录学生和老师用户通过系统主页登录。管理员通过后台的登录页面进入系统。学生用户模块学生用户成功登录系统后,主页面显示了所有的课程列表,学生可以搜索课 程并
30、查看自己课程下的所有提问,但无法查看未申请课程的提问。学生用户主界 面显示了全部课程,实现了分页功能,项目中的FenYeAction类是所要用到的全 部分页类的基类,单击用户名,可以进入学生的个人控制页面。教师用户模块教师用户成功登录系统后,主页面显示了自己的课程列表,具体页面与学生 用户主页面类似,单击用户名,可以进入教师的个人控制页面管理员模块管理员分为普通管理员和超级管理员,普通管理与与超级管理员相比只是少 了对管理员进行管理的权限。接下来以超级管理员为例来描述管理员模块的详细设计与实现。管理员成功登录系统后进入系统的在线管理中心第五章 系统测试测试目的软件测试的不但要对软件是否完成了你所期望的那些事情进行确认, 还要对 软件是否使用了正确的方式来完成这个事情进行确认, 其目的之一便是确认软件 质量。软件测试不但要测试软件产品自身,同时也包含对软件开发过程的测试。本系统在开发过程中通过了各项测试, 测试工作与编码工作同时进行, 每完成一个功能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部编版八年级下册第六单元 单元测试题(含答案)
- 2026年厦门华天涉外职业技术学院单招职业适应性测试题库附参考答案详解(能力提升)
- 2026年信阳涉外职业技术学院单招职业倾向性测试题库含答案详解(轻巧夺冠)
- 咨询工程师《工程项目组织与管理》考试试题含答案参考25
- 2026年共青科技职业学院单招职业适应性测试题库带答案详解(突破训练)
- 2026年厦门华天涉外职业技术学院单招职业倾向性测试题库附参考答案详解(综合卷)
- 2026年南昌理工学院单招职业倾向性考试题库附答案详解(综合题)
- 2026年厦门东海职业技术学院单招职业适应性考试题库及完整答案详解1套
- 2026年南充电影工业职业学院单招职业适应性测试题库附答案详解(a卷)
- 2026年保险职业学院单招职业适应性测试题库附答案详解(综合卷)
- 2026年春季学期全体教师大会校长讲话:点燃新学期教育奋进之力
- 手部关节损伤的人工关节置换
- 标准日本语高级课件
- 山东省平度市九中2026届化学高一第一学期期末联考试题含解析
- 2025课堂惩罚 主题班会:马达加斯加企鹅课堂惩罚 课件
- 2026届安徽省六安二中河西校区高二化学第一学期期末调研试题含答案
- JJF 1218-2025标准物质研制报告编写规则
- 一次函数-经典趣题探究
- 解读《水利水电工程单元工程施工质量验收标准第3部分:地基处理与基础工程》(SLT 631.3-2025)课件
- 京东人事与组织效率铁律十四条
- 2025年吉林省吉林市中考二模数学试题(含部分答案)
评论
0/150
提交评论