在线答疑系统项目名称:在线答疑系统班级:学号:姓名:小组成员:2017年6月12日目录1系统分析………………………………………………………………………………………………………………1.1需求分析…………………………………………………………………………………………………………1.1.1 功能性需求分析…………………………………………………………………………………………1.1.2 非功能性需求分析……………………………………………………………………………………1.1.3 系统流程图………………………………………………………………………………………………..1.1.4 系统数据流图……………………………………………………………………………………………1.2可行性分析………………………………………………………………………………………………..2系统总体设计……………………………………………………………………………………………………2.1 项目规划……………………………………………………………………………………………………2.2 系统总体结构………………………………………………………………………………………………2.3 系统功能模块………………………………………………………………………………………………2.3.1学生模块功能定义………………………………………………………………………2.3.2 教师模块功能定义………………………………………………………………………2.3.3 管理员功能模块定义………………………………………………………………………3数据库设计…………………………………………………………………………………3.1 数据库分析…………………………………………………………………………………3.2 项目E-R图…………………………………………………………………………………3.3 数据库表的设计…………………………………………………………………………………4系统详细设计与实现…………………………………………………………………………………4.1 界面设计…………………………………………………………………………………4.2 系统分层的实现…………………………………………………………………………………4.2.1 表现层的设计…………………………………………………………………………………4.2.2 控制层的设计…………………………………………………………………………………4.3 数据连接与操作的实现…………………………………………………………………………………4.3.1 数据源的配置…………………………………………………………………………………4.3.2 数据库操作的实现…………………………………………………………………………………4.4 各个功能模块的设计与实现4.4.1 用户登录和注册…………………………………………………………………………………4.4.2 学生用户模块…………………………………………………………………………………4.4.3 教师用户模块…………………………………………………………………………………4.4.4 管理员模块…………………………………………………………………………………5 系统测试…………………………………………………………………………………5.1 测试目的…………………………………………………………………………………5.2 系统关键部分测试分析…………………………………………………………………………………5.2.1 注册用户名唯一性验证5.2.2 分页的实现…………………………………………………………………………………6结论…………………………………………………………………………………6.1 系统功能总结…………………………………………………………………………………6.2 系统的特色之处…………………………………………………………………………………6.3体会与总结…………………………………………………………………………………7小组分工…………………………………………………………………………………第一章系统分析1.1需求分析在开发任何一个系统之前,进行必需的系统分析是非常有必要的,主要是根据对客户的需求和本系统的一些特点和模块的分析等来确定如何有效地进行实际的开发。
需求分析是软件设计的一个重要组成部分。
为了确定系统的目标,应在本阶段对系统的应用情况进行全面的调查1.1.1功能性需求分析本系统包含学生、教师和后台管理员这3类用户,其各用户的具体功能如下。
●学生用户功能•注册和登录,学生不仅可以很方便地进行用户注册,也能够登录在线答疑系统。
•资料的修改,注册后学生可以修改自己的注册资料。
•查看提问,学生发起问题后,可以查看该问题的回复情况。
•申请课程,如果学生还不能修某课程,可提交该课程的申请表。
•查询课程,搜索自己感兴趣的课程,支持模糊检索。
•查看参与的提问,学生不仅可以对自己参与课程下的问题进行讨论,而且还可以查看这些问题。
●教师用户功能•用户的登录,老师可自由地登录在线答疑系统。
•资料的修改,老师可以修改自己的资料。
•查看未回答的提问,老师登录后,可以查看待回答问题的列表。
•查看已回答的提问,对于已经回答的问题,老师不仅可查看,而且还可以继续回复讲解。
•添加学生,老师能够将学生添加到自己所教授的某门课程。
•删除学生,老师能够删除自己所教课程下的学生。
●管理员功能•课程管理,管理员可以对课程信息进行维护。
•内容管理,管理员可以对提问内容和回复内容进行管理。
•用户管理,管理员可以对学生用户和老师用户进行管理。
•管理员管理,主要是超级管理员对普通管理员的管理。
1.1.2非功能性需求分析(1)系统安全性需求在软件使用方面,学生用户和教师用户通过系统主界面登录进入系统,但必须通过必要的身份验证。
管理员则通过专门的登录页面来进入系统,一旦管理员登录成功就可以对系统进行常规管理。
用户登录的角色不同,从系统获得的操作权限也不同。
(2)系统开发运行环境需求JDK:作为整个Java的核心包含了Java的基础类库、运行环境和Java工具,是 Java 语言的软件开发工具包。
MyEclipse:是一个非常杰出的Java开发工具,对各种开源产品的支持非常好。
它不仅功能非常强大,而且具备非常广泛的支持性能。
Tomcat服务器:适用于中小型系统开发的web应用服务器,开放源代码且免费。
其性能稳定、技术先进,因此不但博得了Java 开发人员的喜爱,而且也得到了一些软件开发商的肯定,是当今较流行的Web 应用服务器。
MySQL数据库:是目前小型应用开发中比较流行的数据库,且从MySQL5.0版本开始支持事务,保证了数据库的完整性和安全性。
1.1.3系统流程图用户进入系统主界面后,会显示所有课程列表,成功登录后才能查看课程的提问以及进行其它操作。
如果是学生用户,则可以查看个人资料、自己的课程、提问、参与的问题和申请处理情况,还可以进行课程的申请,修改资料和登录密码。
如果是老师用户,则可以查看个人资料、自己的课程和申请列表,并能对学生进行管理(添加或删除学生),修改资料和登录密码,系统会提示老师未回答问题和未处理申请的个数。
管理员经由后台登录界面进入系统,成功地登录以后,系统会根据管理员角色(超级管理员和普通管理员)的不同来显示相应的操作权限列表。
管理员能够对课程、提问和回复、学生和老师用户以及管理员用户进行管理。
本系统的流程图如下页图1.1所示图1.1 系统流程图1.1.4系统数据流图本系统数据流的设计主要包括在线答疑信息管理、课程管理和用户管理等的实现,其相应的数据流图分别如下图1.2所示。
图1.2 系统顶层数据流图管理员管理部分主要实现了课程管理、提问和回复管理以及学生和老师用户管理,其数据流图如图1.3所示。
图1.3 第一层数据流图—管理员管理教师管理部分主要实现了学生管理、回答问题、处理申请以及查看课程信息,其数据流图如图1.4所示。
图1.4 第一层数据流图—教师管理学生管理部分主要实现了搜索课程和申请课程、提出问题和参与讨论、查看自己的课程和提问以及产看申请处理情况,其数据流图如图1.5所示。
图1.5 第一层数据流图—学生管理1.2可行性分析可行性分析(Feasibility Analysis),即可行性研究,它是针对新系统的开发是不是具备必可能性和必要性并基于对系统的调查,对新系统的开发从技术、社会和经济等方面开展分析和研究工作,以避免投资失误,从而保障新系统的开发成功。
可行性研究的目标是用最小的代价在尽量短的时间内确定问题是否可以得到解决。
其实质上是要进行一次大大压缩简化了的系统分析和设计过程,即以较抽象的方式在较高层次上进行的系统分析和设计的过程。
1.2.1 技术可行性分析技术可行性不仅要考虑使用现有的技术可否完成系统的开发,而且还要考虑软件和硬件的配置可否能够满足开发的需要等。
本系统的开发是一个较具代表性的Java Web项目,采用Java程序语言,如今计算机硬件的配置已经完全可以满足开发过程的需求。
从软件方面来看,系统使用Java Web技术进行开发,前端界面使用的是DIV+CSS技术,所需的软件环境如下:JDK、MyEclipse、Web应用服务器以及MySQL数据库。
这些软件都已经有了功能全面、稳定的版本,故软件的开发平台成熟可行,它们不仅可靠性高而且稳定,因此完全可以满足系统的需求。
1.2.2 经济可行性分析系统所需要的硬件环境,即计算机及其相关的硬件,从市场上可以很容易地购买到。
所需软件环境(JDK+MyEclipse+Tomcat+MySQL)可以从网上免费下载,从而降低了开发成本。
本系统主要的开发与维护成本也不会造成太大的经济压力。
此系统正式投入使用后,学校的教学质量能够得到大幅度的提高,答疑工作也能更顺利的开展,并且师生之间的在线互动也可以更加方便地进行。
同时对于学校学生来说,有问题可以立即登入系统进行提问,只要是该课程下的学生用户都可以参与讨论。
对于教师来说,能够很方便地查看学生提出的问题并回答,了解学生对知识的掌握程度,从而把握教学重点,这样学校的教学质量便得到了提高。
1.2.3 操作可行性分析本系统主要是为了方便教师与学生之间的答疑工作的开展,提高学生的学习效率。
学生将所学习课程的疑问通过系统呈现给教师,待教师解答后,可查看到问题回复。
第二章系统总体设计总体设计,也可以称为概要设计或者初步设计,其基本目的便是回答“概括地说,应当如何实现系统”这个问题。
经过这个阶段,将划分出构成系统的物理元素(数据库、程序、文件、文档和人工过程等),然而所有的物理元素依旧处于黑盒子级,这些黑盒子里的具体内容将在之后进行详细的设计。