学生在线答疑系统的设计与实现(编辑修改稿)内容摘要:

数据 层 底层链接数据库 第二章 系统分析 7 系统需求分析 系统开发运行环境 鉴于系统的开发语言和数据库 ,采用如下的开发环境 开发环境: Windows XP 硬件实现: Intel 酷睿 2 1G 内存 320G硬盘 开发语言 : Java 数 据 库 : 开发工具 : , Macromedia Dreamweaver 预期成果: 一个可扩展的基于 MVC模式的学生在线答疑系统。 业务描述 对于访问答疑系统的用户 ,可分为注册会员和非注册的临时用户 ,这两种用户有着不同的权限 ,比如非注册用户只能对别人的答疑工程进行查看 ,但是不能发表自己的看法。 而注册会员除了查看答疑过程之外 ,还可以发布问题 ,回复问题 ,查找用户 ,并且可以对自己的注册资料进行修改等等 , 图 系统 流 程图 系统功能概述 学生在线答疑系统,是一种学生和老师之间为了进一步很好的交流和沟通,利用网络技术为基础而实现的一个平台。 同时 ,该平台把 BBS 论坛形式的交流方本科生毕业论文(设计) 8 式应用到数字化校园教学中,不仅能够让老师和同学之间的沟通更加高效,而且能够及时的解决学生课后的疑问和顾虑。 鉴于本系统的性质 ,系统应该实现以下功能 . (1)用户的登录 (2)用户的注册 (3)用户资料的修改 (1)发表疑问 (2)回复疑问 (1)教师可以发表课程信息 (2)学生可 以查看课程信息 (3)学生可以评价课程信息。 (1)用户的管理 (2)答疑的管理 (3)版块信息的管理 根据系统的概要设计,学生在线答疑系统的系统用例如下: 图 系统用例图 会员用户 临时用户 浏览答疑 发表疑问 回复疑问 修改资料 管理员 教师 发布课程 会员管理 答疑管理 版块信息管理 第三章 系统概要设计 9 第 三 章 系统概要设计 数据库设计 本系统使用 MySql 数据库作为后台数据库,根据需求分析中提到的各种功能,首先应该有用来存储教师或者学生的注册用户信息用户表,然后应该有存储答疑模块分类信息的类别表,还应该有存储用户发表疑问的发表表,用户发表答疑以后,应该有回复答疑的回复管理表。 此外还应该有超级管理表, 用其来管理后台数据的处理。 综上分析,所以为数据库建立以下这些表,如下表。 表 总体表设计 表名 user post response admin course teacher 字段数 5 5 7 5 5 5 概要功能 用户信息 疑问信息 回复信息 管理员信息 课程表 教师表 user: (用户表 ) user 表主要用来保存用户的注册信息,分别用不同字段表示用户的各种信息,包括用户的用户序号 、 用户名、用户密码、用户性别、用户头像等。 具体内容见下表。 图 用户实体图 post: (疑问表 ) 该表主要用来保存学生或者是老师,在登陆的情况下,发表的疑问问题和别人对其给予的解决办法的记录和显示。 其字段主要如下:疑问序号,疑问所属模块,疑问主题,帖名,疑问内容,发表时间,发表者是谁。 具体内容见下 图。 本科生毕业论文(设计) 10 图 疑问实体图 response:(回复表) 该表主要用来保存商品的各种信息,各个字段分别用来表示回复疑问 ID,回复 的内容,回复 的 时间,给哪个疑问回复,回复者姓名等 等。 其中, po_no是引用 post表的 ID。 具体内容见 下 图。 图 回复实体 图 admin: (管理员表 ) 该表用来保存已下订单的各种信息,各个字段分别用来表示管理员 ID,用户名,密码。 具体内容见下 图。 第三章 系统概要设计 11 图 管理员实体 图 5. 设计表 course: (课程表 ) 课程表:主要储存教师和学生有关的课程信息。 c_id 为课程编号、 c_name为课程名称、 c_content为课程具体信息、 u_id 有关用户的 ID、 t_name教师表的名称 . 具体内容见下 图 图 课程实体图 根据以上的数据库设计,总结了数据库中表与表之间的关系如下: 本科生毕业论文(设计) 12 图 数据库综合实体图 功能模块的 设计 根据绘制出的系统综合用例图 ,系统分为四个较大的子模块 ,他们分别是用户子模块 ,疑问子模块,课程信息子模块和后台管理子模块。 模块 顾名思义,本人设计的该模块主要用来实现用户的管理。 而管理的内容有用户的登录,用户的注册,用户的个人资料修改等等的一系列的操作。 对于用户而言,本人将用户分为会员用户和非会员用户。 会员对大家并不陌生,只有你是会员了,才可以享受其中的一些会员特权。 而登录模块就是专门为会员设立的一个登录窗口, 只有用户登录了,才能进行下一步的操作,如发表疑问,回复疑问,浏览答疑信息,查看个人课程信息,针对自己选修的课程进行答疑操作等等。 如果你是一个非会员,那么你的权力将得到限制。 为了给用户提供一个人性化的,合理的设置,只要有意向的用户,就可以成为该平台的一员。 只要通过注第三章 系统概要设计 13 册页面的所有操作,就可以顺利的成为会员用户。 根据以上所述,初步设计了有关用户登陆和用户注册的类图如下: 图 用户登陆的 类图 图 用户注册的 类图 本科生毕业论文(设计) 14 答疑信息管理模块设计 对于会员和非会员的最大的 区别之处在于:会员可以在登陆的情况下,发表问题,回复问题等等操作。 学生在登陆成功的前提下,可以查看自己的选课情况,并且在相应的课程下,发表自己的疑问,寻求老师的答疑。 教师在登陆的情况下,可以查询跟自己有关课程下的疑问,然后根据情况进行答疑。 所以本人初步设计的发表疑问,回复疑问的类图如下: 图 发表问题类 图 发表问题类的调用关系:用户在登陆的情况下,用户可以发表疑问。 首先用户跳转到发表问题的页面,点击发表按钮后,经过 JavaScript 校验以后,把数据提交到名字为 select_bip 的 Servlet。 然后把得到的数据进行封装处理,封装成一个 PostBean,再调用 Opost的 insertPost()方法,在该方法里,再次调用 DB类,连接数据库。 最后把封装的 PostBean插入到数据库中。 同理,回复问题的类图如图 : 第三章 系统概要设计 15 图 回复问题类图 回复问题的调用关系:首先用户跳转到回复问题的页面,点击回复按钮后,经过 JavaScript校验以后,把数据提交到名字为 select_bip的 Servlet。 然后把得到的数据进行封装处理,封装成一个 ResponseBean,再调用 Oresponse 的 insertResponse()方法,在该方法里,再次调用 DB类,连接数据库。 最后把封装的 PostResponse 插入到数据库中。 课程信息模块 设计 作为一个学校学生在线答疑系统,课程信息必不可少。 根据系统需求分析,决定课程信息做以下概要设计: (1)老师可以开设自己的课程,并做专题的答疑模块。 (2)学生可以根据个人需求,查看有关方面的课程,并且可以发表疑问,而且可以给别人回复自己的看法。 根据以上分 析,课程信息的有关类图设计如图 本科生毕业论文(设计) 16 图 发布 课程信息类图 发布课程信息的类的调用 关系:首先用户 (老师角色 )跳转到 发表课程 的页面,点击 发布课程 按钮后,经过 JavaScript 校验以后,把数据提交到名字为select_bip 的 Servlet。 然后把得到的数据进行封装处理,封装成一个CourseBean,再调用 Ocourse的 insertCourse ()方法,在该方法里,再次调用DB类,连接数据库。 最后把封装的 CourseBean插入到数据库中。 第四章 系统详细设计 17 第四章 系统详细设计 界面设计 对于系统来说,用户界面设计将是非常重要的,因为一个交互良好的界面能够加深浏览者的印象和很好的和 客户沟通。 根据实际需求,本人分两步来设计。 第一部分是草图的绘制。 第二部分是具体网页的设计和实现 [7]。 第一步是设计版面布局。 对于一个页面的设计,版面的布局设计时首要设计。 通过网络资源的查阅和利用, 常用的软件是 Macromedia的 以及Adobe的 Photoshop等等。 本系统主要采用的是 ,通过站点的建立,配合 ,最终设计和实现了 JSP页面的雏形和最终页面的完成。 第二步是界面的实现。 在页面的实现过程中,我主要遵循了一下 几个规则。 统一 连贯。 首先页面的整体风格要适合自己所要表达的内容。 设计的是一个学生在线答疑系统,那么采用的是以蓝色为基调的风格,凸显了学生的活力和热情。 布局合理、 和谐。 是指整个页面 要符合大众人群的一个审美观念,不能走非主流的设计风格。 布局是一个页面显示的主体框架,一个好的布局,能给用户很好的使用效果和深刻的浏览记忆。 经过本人的初步设计,最后系统的简单主界面如下 图 图 首页设计图 本科生毕业论文(设计) 18 在实际调试和设计、运行之后,该系统的主页面如下 图 图 主界面图 系统分层的实现 根据 MVC设计思想,决定使用 JSP作为动态页面表示层, JavaBean作为 Model层, Servlet作为控制层。 具体实现如下叙述。 表示层的设计 JSP是一种实现普通静态 HTML技术和动态 HTML技术混合编码的网页技术 [8]。 它具有跨平台性、运行效率高等优点。 该系统根据分层情况,表示层我选用的是JSP动态页面技术。 下面以用户登录界面作为例子。 具体顺序图如下 图 第四章 系统详细设计 19 图 表示层 的顺序图 控制层的设计 控制层的选用,首选 Servlet。 因为 Servlet可以和其他资源交互。 该系统中 servlet 的工作原理体现如下:当用户从前台 JSP 页面选择操作后,触发servlet请求服务器。 然后 JSP 页面会携带参数并访问服务器。 服务器会根据请求初始化 servlet,并找到 ,然后根据发射机制,定位到 servlet所对应的那个 JAVA类,然后进行一系列的逻辑处理。 本系统使用的 Servlet的配置如下: servletmapping servletnamecheck_ul/servletname ! 检查登陆的控制 urlpattern/check_ul/urlpattern /servletmapping servletmapping servletnameuser_logout/servletname! 检查注销的控制 urlpattern/user_logout/urlpattern /servletmapping servletmapping servletnamecheck_reg/servletname ! 前台注册的控制 urlpattern/check_reg/urlpattern /servletmapping servletmapping 本科生毕业论文(设计) 20 servletnameinsert_bp/servletname ! 发表疑问的控制 urlpattern/insert_bp/urlpattern /servletmapping servletmapping servletnameselect_bip/servletname! 回复疑问的控制 urlpattern/select_bip/urlpattern /servletmapping servletmapping servletnameinsert_br/servletname ! 后台管理的控制 urlpattern/insert_br/urlpattern /servletmapping welefilelist welefile/welefile ! 首页的控制 /welefilelist /webapp 各个功能 模块 的 设计 根据系统分析和系统的概要设计,基本确定该系统有会员模块,内容模块,后台管理模块三大模块组成。 所以基于上面的设计基础,下面具体介绍各个模块的基本功能的实现。 会员模块详细设计 根据系统分析和功能的要求,基本确定的是用户在没有登录的情况下,只能浏览系统的内容 ,而不能发表内容。 只有在登陆的情况下,才可以回复和发表疑问。 所以会员登陆的顺序图如下: 第四章 系统详细设计 21 图 用户 登陆 功能 顺序图 用户登陆类的调用关。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。