软件工程二报告

2018-10-28 18:14

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

对于系统的已注册用户:在页面中的输入框中输入用户名及密码后,单击【登录】按钮。如果用户名及密码通过验证,则进入网站,可以使用前台的全部功能。

对于游客:在未使用账号进行登陆则不能进行有关的权限操作。游客可以浏览网站公开的文章,但不允许进行。

对于想注册用户:单击“注册”链接即可进入注册页面,在填写完相关信息后,即成为系统的已注册用户,拥有了普通用户的所有权限。 (2) 用户注册

在用户登录页面中单击“注册”链接,即可进入注册用户页面。此页面提供填写用户注册信息的表单。用户填写完表中信息后,单击【确认】按钮,则提交相应请求以成为系统注册用户。此时用户在前台用户登录页面中登录进入之后,即可使用前台的全部功能。 (3) 求医问答

注册用户进入网站之后,可以单击主题列表页面右上角的发新话题链接,以使用编写问题描述病情的的功能,系统将转至发表问题页面。用户填写完病情内容及标题后,单击【发表】按钮,即可发表提问。系统将转至问题列表页面,此时问题列表页面汇总已经有了用户所发表的问题。 (4) 回复

在某一问题的帖子列表页面中,注册用户可以单击页面右上角的回复,可以去了解到该注册用户的病情以及现阶段的状态,通过回复给予鼓励或者是建议。用户填写相关建议内容及标题后,单击【发表】按钮,即可发表自己对该问题的看法。当然注册用户为心理学老师的,可以通过学生的问题,给予专业知识上的指导,如该同学需要注意些事项等。系统将该问题的描述以及相关人员的回复状态都会,转到求医问答页面中去。 (5) 注销登录

用户单击页面右上角的“注销登录”链接,则系统会销毁用户此次登录的信息,转至用户登录页面。 (6) 管理员登录

管理员登录页面提供用于填写用户名及密码的表单,页面中有一个【登录】按钮及一个【重置】按钮。管理人员填写完用户名及密码后,单击【登录】按钮。如果用户名及密码与数据库中相应信息吻合则可进入后台,可以使用后台的全部功能。

7

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

(7) 用户管理

在管理选项页面中单击“用户管理”链接,即可进入用户管理页面,页面提供了显示系统所有注册用户信息的表格。在表格中列表项依次为用户名、级别(admin、banzhu或者user)、编辑链接及删除链接,此外,在页面左下角提供了用于模糊搜索用户的表单,在右上角提供了用于注销登录及回到管理选项页面的连接。 (8) 编辑用户权限

在管理选项页面中单击某行用户的“编辑”链接,则可进入修改用户权限页面,页面提供了两个下拉框,用于指定该用户的权限为管理员、用户或者某个论坛的版主。在此页面中,用于选择级别的下拉框选项只有3种:管理员、版主、用户,而用于选择所在论坛的下拉框选项是动态变化的,数据库中有多少个论坛,在下拉框中便有多少个选项。 (9) 编辑

在论坛列表页面中单击某行论坛的“编辑”链接,则进入修改论坛信息页面。页面提供了填写论坛名的文本框及选择版主的下拉框。下拉框选项是动态变化的,数据库中有多少位注册用户,在下拉框中便有多少个选项。 (10)管理员注销

管理员单击页面右上角的“注销登录”链接,则系统会销毁管理员此次登录的信息,转至登录页面。

2)基于系统角色划分

目前本系统主要有三个身份分别是:游客,用户,管理员。 1. 注册用户:

(1) 发表问题,寻求帮助。评论其他用户话题内容; (2) 网上心理测试; 2. 注册老师

(1) 上传心理学有关的教育文章;

(2) 查看学生所提出的问题,给予专业上的帮助; 3. 管理员

系统管理员主要管理整个网站系统,具有整个网站的最高权限。功能包括:

(1)

管理系统的用户基本信息;

8

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

(2) (3)

管理用户提交的问题以及评论; 网站维护;

3.3系统功能

引用编号 功能 类别

R1 用户登陆 R2 用户注册 R3 发表问题 R4 回复 R5 管理员登陆 R7 用户管理

3.3.1 大学生心理驿站网站系统用例分析

图3-1 大学生心理驿站网站用例图

大学生心理驿站网站分为前台和后台两个模块。前台模块的使用对象包括了所有用户(管理员、用户、游客),提供的功能包括注册账号、浏览文章、发表问题、回复。后台模块的使用对象为管理人员(管理员),提供的功能包括管理用户、管理论坛、管理文章。

9

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

(1) 用户登录

用户登录页面提供用于填写用户名与密码的表单,页面中有一个【登录】按钮,网站默认为游客身份登陆。对于心理驿站网站系统的已注册用户:在页面中的输入框中输入用户名及密码后,单击【登录】按钮。如果用户名及密码通过验证,则进入论坛,可以使用前台的全部功能。

对于游客:单击“游客”链接即可进入论坛。游客可以浏览其他用户发布的文章,但不允许在论坛中发表文章。

对于想注册用户:单击“注册”链接即可进入注册页面,在填写完相关信息后,即成为网站的已注册用户,拥有了普通用户的所有权限。

表3-1用户登录用例规约

用例名称: 用例ID: 角色: 用例说明: 前置条件: 基本事件流: 用户登录 SQL_DBScores_01 管理员,用户 用例主要用于身份的登录 用户名及密码通过验证,则进入论坛 在页面中的输入框中输入用户名及密码后 单击【登录】按钮。如果用户名及密码通过验证,则进入论坛, 操作之后停留在当前页面,或者点击其他菜单进入其他页面

后置条件: (2) 用户注册

在用户登录页面中单击“注册”链接,即可进入注册用户页面。此页面提供填写用户注册信息的表单。用户填写完表中信息后,单击【确认】按钮,则提交相应请求以成为网站注册用户。此时用户在前台用户登录页面中登录进入之后,即可使用前台的全部功能。

10

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

表3-2 用户注册用例规约

用例名称: 用例ID: 角色: 用例说明: 前置条件: 基本事件流: 用户注册 SQL_DBScores_02 未注册用户 用例主要用于注册用户 在用户登录页面中单击“注册”链接 1. 此页面提供填写用户注册信息的表单。 2. 用户填写完表中信息后,单击【确认】按钮,则提交相应请求以成为BBS系统注册用户。

(3) 发新话题

注册用户进入网站之后,可以单击主题列表页面右上角的求助链接,以使用发表问题的功能,系统将转至发表问题编辑页面。用户填写完内容及标题后,单击【发表】按钮,即可发表问题。系统将转至问题列表页面,此时主题列表页面汇总已经有了用户所发表问题求助的信息。

表3-3发表新话题用例图

用例名称: 用例ID: 角色: 用例说明: 前置条件: 基本事件流: 发表新话题 SQL_DBScores_03 注册用户 用例主要用于教师发布新的话题,发表文章 成功登录教师端网站,点击发表管理 1. 可以单击主题列表页面右上角的发新话题链接,以使用发表文章的功能,系统将转至发表文章页面。 2. 用户填写完文章内容及标题后,单击【发表】按钮,即可发表文章。 后置条件: 停留在当前页面,或者点击其他菜单进入其他页面 (4) 回复

11

软 件 学 院

软件工程实践(二)

课题名称: 中原工学院大学生心理驿站网站的设计与实现

专 业: 软件工程JAVA方向 班 级: RB Java 123&124 姓 名: 程世磊 张克慧 高旭博

指导教师: 张西广

2015年 4 月 13日

中原工学院软件学院

软件工程(二)

姓 名 程世磊 张克慧 高旭博 软件工程(Java)专业 软工rBjava123&124 班 题 目 中原工学院大学生心理驿站网站的设计与实现 利用所学知识,开发一个基于SSH的心理驿站网站,按角色将系统分为三个模块,角色分类设 计 任 务 及主要功能包括: 管理员:用户信息管理、网站信息管理、网站维护 用户:浏览文章、求助问答、个人信息管理 游客:注册账号、浏览文章、在线心理测试 开发工具:MyEclipse、MySQL、Tomcat 时 间 进 度 第1周(15-03-09~ 15-03-16):进行整体进行系统的需求分析。 第2周(15-03-17~15-03-24):根据总体设计方案和详细设计进行界面设计,模块设计。 第3周(15-03-24~15-04-05):设计系统数据库,编写课题文档总结报告。 原 主 始 要 资 参 料 考 与 文 献 [01] 孙卫琴、李洪成.Tomcat 与 Java Web 开发技术详解[M].电子工业出版社.2003 [02] 刘京华.Java Web整合开发王者归来[M]. 北京:清华大学出版社.2010 [03] 钱雪忠、罗海驰、陈国俊数据库原理及技术课程设计[M];北京:清华大学出版社.2002 [04] 蒲子明、于勇.ssh整合开发技术详解[M]. 北京:清华大学出版社.2010 指导教师签字: 年 月 日

目 录

第1章 引言 ................................................................................................................................... 1 1.1项目背景 .............................................................................................................................. 1 1.2研究现状 .............................................................................................................................. 1 1.3项目意义 ............................................................................................................................. 2 第2章 关键技术 ........................................................................................................................... 3 2.1 系统开发思想与技术 ......................................................................................................... 3 2.2 系统的基本框架 ................................................................................................................. 3 2.3 ssh简介 ................................................................................................................................ 3 2.3.1 Struts .......................................................................................................................... 3 2.3.2 Spring ......................................................................................................................... 3 2.3.3 Hibernate .................................................................................................................... 4 第3章 系统需求 ........................................................................................................................... 6 3.1 业务分析 ............................................................................................................................. 6 3.2功能需求分析 ...................................................................................................................... 6 3.3.1 系统角色...................................................................................................................... 6 3.3系统功能 .............................................................................................................................. 9 3.3.1 大学生心理驿站网站系统用例分析........................................................................ 9 3.4系统环境需求 .................................................................................................................... 14 3.4.1开发环境需求............................................................................................................. 14 3.4.2运行环境需求............................................................................................................. 15 第4章 系统分析与设计 ............................................................................................................. 16 4.1 系统结构图 ....................................................................................................................... 16 4.1.1 系统总体结构图........................................................................................................ 16 4.1.2用户端结构图............................................................................................................. 16

4.1.3游客端结构图............................................................................................................. 17 4.2系统交互模型 .................................................................................................................... 17 4.3数据库分析与设计 ............................................................................................................ 20 4.3.1实体及其属性分析..................................................................................................... 20 4.3.2 数据库表设计............................................................................................................ 21 4.3.3表设计......................................................................................................................... 23 4.4体系结构设计 .................................................................................................................... 26 4.5过程设计 ............................................................................................................................ 27 第5章 系统实现 ......................................................................................................................... 31 5.1系统登录界面的实现 ........................................................................................................ 31 5.2游客登录界面 .................................................................................................................... 32 5.3用户登录页面 .................................................................................................................... 34 5.4注册界面 ............................................................................................................................ 35 5.5用户管理功能界面 ............................................................................................................ 37 5.6用户修改个人信息界面 .................................................................................................... 38 5.7用户发表问题界面 ............................................................................................................ 40 5.8用户回复问题界面 ............................................................................................................ 43 5.9心理测试功能界面 ............................................................................................................ 44 第6章 系统测试 ......................................................................................................................... 47 6.1软件测试目的 .................................................................................................................... 47 6.2测试功能 ............................................................................................................................ 47 6.2.1测试内容..................................................................................................................... 47 第7章 结束语 ............................................................................................................................. 49

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

第1章 引言

1.1项目背景

随着社会多元化时代的到来,竞争压力的不断增大,人们的生活节奏不断加快,人们的活动范围在不断拓展,人与人的交往越来越频繁,处理微妙复杂的人际关系为每个人所不可避免,人与人之间的收入、社会地位等差异越来越显著。许多大学生都有一种感觉,仿佛来自工作、家庭、就业等方方面面的压力就像一张无形的大手将人压得有些喘不过气来。心理压力、心理危机、失眠、抑郁、学习效率下降等问题成为困扰大学生精神的症结.心理健康状态逐渐成为大学生日常生活的焦点。某些大学的已把去进行心理教育作为日常生活中的一件平常事,甚至以拥有校内的心理咨询室。人与人之间需要温暖,需要心灵的沟通,但在现实生活中,常出现这样的情景:当我们迫切需要找一个人倾诉心中的烦恼、不快时,举目四望,思前想后,竟找不到一个合适的对象。人们的困惑、忧虑、恐惧、孤独、压抑、失望、悲伤,迫切需要交流,需要诉说,需要安抚需要宣泄。

综合上述情况,利用ssh整合开发技术和数据库技术设计开发的中原工学院大学

生心理驿站网站,实现传统心理教育工作与现代网络技术相结合的迫切需要,创建了

网络学习环境给予更大的交流空间。它基于SSH框架,采用Java语言,MyEclipse开发工具实现注册、问答、学习交流等系列功能。同时,中原工学院大学生心理驿站网

站对解决学生与学生、学生与老师的交流问题,学生在心理驿站网站中能不断的强

化自我认知,锻炼学生的学习能力、沟通能力。网站优点是:学生可以更加隐秘的进行心理问题的咨询,心理老师也可以通过用户信息跟踪病情的发展。在日常的学习中,用户可以再网站上进行自发的心理学常识学习,开放的网络空间平台让更多的学生参与进来,从而缓解或是治疗心理上存在的问题。

1.2研究现状

现阶段,心理咨询被越来越多的大学生所承受和接受,越来越多的院校开设设置心理咨询室和心理咨询中心。但居于现状分析,大学生心理健康教育信息资源的获取,还是不够方便快捷,交流的空间也有所局限。随着网络技术的发展,可以通过网络获取大学生心理健康教育资源和交流,但信息集中度不够,功能也不强大,自动化程度不高,也不易于管理,和传统的心理咨询室和心理网站相比,大学生心理驿站网站提供了丰富的心理健康教育资源和方便的获取方式。在这里,不仅可以

1

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

通过网络查看心理咨询各方面的知识,还可以进行心灵留言,畅所欲言,甚至可以进行心理小测试,了解自己近段时间的心理动态,以便更好的调节自己的心理。通过这样一个平台,可以提高自身的心理素养,更好的面对各方面的挑战。从而轻松迎接和有效的适应外界环境。

1.3项目意义

随着社会开放程度的加大、生存竞争压力的增大、文化和价值取向的多元化,处于特殊时期的大学生不可避免地受到来自各个方面的冲击,心理健康问题呈上升趋势。因此,大学生心理健康教育问题迫在眉睫。

中原工学院大学生心理驿站网站是一个传统方式与信息化技术结合的创新。中原工学院大学生心理驿站网站使学生能够更加自主的学习心理学的有关知识。老师可以在网上更加方便快捷的对学生的在校心理状况进行了解、可以更好的将希望学生认识的心理常识传播下去,让学生变得更加主动、不扭捏。学生也可以通过驿站更好的解决自己身心存在的心理问题,通过老师的一对一的帮助,使学生更快的摆脱心理问题,更积极的投入到校园生活当中去。设计大学生心理驿站网站,使网络成为学生学习知识、解决问题的另一个平台,充分体现学生的自主性。大学生心理驿站,作为一个平台,能够帮助更多心理存在问题的同学有一个较为安全的环境,通过心理驿站网站也让更多得想要了解心理学的同学有一个学习环境。

在心理驿站网站中,大家通过交流,能够排解心中的苦闷,将压力释放出来,通过在线心理测试,也可以更快、更及时的了解到现阶段自身的心理状况,通过这个驿站每一个学生都可能成为一个心理医生,通过你的经历或者一段感悟,去帮助那些你可以帮助的同学,或者通过这个驿站,有着同样困惑的同学能够聚在一起,一起面对生活、学习上的一些问题。对于有着专业心理学知识的老师,在心理驿站可以为学生提供一些生活中的常识,如何缓解压力,也可以通过驿站去了解到现阶段,学生心理的大致状态,也可以通过这个平台跟好的与学生进行沟通交流,心理驿站提供了一个互助、学习的平台,为大学中心理教育建设提供强有力的支持。

2

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

第2章 关键技术

2.1 系统开发思想与技术

本系统是基于SSH的一个论坛系统,本系统采用JSP技术,基于MVC模式开发。

2.2 系统的基本框架

本系统采用JSP技术,基于MVC模式开发,ssh技术整合框架。

2.3 ssh简介

2.3.1 Struts

Struts对Model,View和Controller都提供了对应的组件。

ActionServlet这个类是Struts的核心控制器,负责拦截来自用户的请求。Action这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。

Model部分由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。

View部分采用JSP实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。

Controller组件有两个部分组成系统核心控制器,业务逻辑控制器。系统核心控制器,对应ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。 2.3.2 Spring

用来解决企业应用开发的复杂性,使用基本的JavaBean代替EJB,并提供了更多的企业应用功能,可以任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

3

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

轻量,从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。

控制反转,Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反,不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

面向切面,Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。

容器,Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个Bean如何被创建基于一个可配置原型(Prototype),你的Bean可以创建一个单独的实例或者每次需要时都生成一个新的实例,以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。

框架,Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。

所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。 2.3.3 Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍[13]。

4

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。

SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。

Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。

Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。

Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。

5

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

第3章 系统需求

3.1 业务分析

中原工学院大学生心理驿站网站是一个基于传统BBS论坛,通过框架重组而定义的一个网站系统,通过整合框架将整个网站结构更合理,网站的核心放在了各个层面的交互中去。在心理驿站,通过数据库的设计将信息大批量的保存,实现了各个用户的数据的保存,通过JSP的跳转可以将用户的事件流,更加快速的进行,合理的划分使整个网站不冗杂。在心理驿站中,用户根据自己的操作权限进行相关的操作,游客只能进行相关文章的阅读,以及在线的心理测试,这样就增强了网站信息的安全性。用户可以通过认证自己的信息,可以提出自己现阶段的心理问题,然后可以向有关的老师进行求助。用户中的角色可以是在校学生、也可以是有着心理学知识专业的老师;管理员拥有最高的权限,可以对用户信息,网站信息进行维护。中原工学院大学生心理驿站网站可以分为前台、后台管理,各级用户层次分明、权限严格限制,前台主要包括用户、游客的相关操作,后台则是管理员管理的空间,前后台都是通有事件流,并将数据储存在数据库了。

中原工学院大学生心理驿站网站,操作方便,减少不必要的学习时间,用户只须掌握对基础性计算机知识的熟悉,便可以进行对本系统使用,大大减少了学校的开支,也同样促进了大学生心理教育普及的实现。

3.2功能需求分析

3.3.1 系统角色

1)基于职能模块的划分

中原工学院大学生心理驿站网站分为前台和后台两个模块。前台模块的使用对象包括了所有用户(管理员、用户、游客),提供的功能包括注册账号、心理文章、发表问题、心理测试、资料的上传与下载、回复。后台模块的使用对象为管理人员(管理员权限),提供的功能包括管理用户信息、管理网站。 (1) 用户登录

进入首页后,系统默认为游客进入,可以选择用户登录,用户登录页面提供用于填写用户名与密码的表单,页面中有一个【登录】按钮,也可以通过上面的用户登录、管理员登录按钮进行选择登录。也可以通过单击注册按钮,进行用户注册。

6

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

在某一问题的帖子列表页面中,注册用户可以单击页面右上角的回复链接,以发表相对于该问题的回复。用户填写完内容及标题后,单击【发表】按钮,即可发表自己对该主题的回复文章。系统将转到该问题的列表页面,此时帖子列表页面已经有了用户所发表评论的信息。

表3-4回复用例图 用例名称: 用例ID: 角色: 用例说明: 前置条件: 基本事件流: 回复 SQL_DBScores_04 注册用户 用例主要用于注册用户 注册用户可以单击页面右上角的回复链接 1. 单击【发表】按钮,即可发表自己对该主题的回复文章。 2. 系统将转到该主题的帖子列表页面,此时帖子列表页面已经有了用户所发表文章的信息。 后置条件: 停留在当前页面,或者点击其他菜单进入其他页面

(5) 注销登录

用户单击页面右上角的“注销登录”链接,则系统会销毁用户此次登录的信息,转至用户登录页面。

表3-5注销登录用例图

用例名称: 用例ID: 角色: 用例说明: 前置条件: 基本事件流: 注销登录 SQL_DBScores_05 注册用户、管理员 用例主要用于系统的退出 成功登录网站 1. 用户单击页面右上角的“注销登录”链接,则系统会销毁用户此次登录的信息,转至用户登录页面。 12

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

后置条件 停留在当前页,或者点击其他菜单进入其他页面

(6) 管理员登录

管理员登录页面提供用于填写用户名及密码的表单,页面中有一个【登录】按钮及一个【重置】按钮。管理人员填写完用户名及密码后,单击【登录】按钮。如果用户名及密码与数据库中相应信息吻合则可进入后台,可以使用后台的全部功能。

表3-6管理员登录用例

用例名称: 用例ID: 角色: 用例说明: 前置条件: 基本事件流: 管理员登录 SQL_DBScores_06 管理员 用例主要用于管理员的登录 管理人员进入系统页面 1. 页面中有一个【登录】按钮及一个【重置】按钮。 2. 管理人员填写完用户名及密码后,单击【登录】按钮。 后置条件: 停留在当前页,或者点击其他菜单进入其他页面

(7) 用户管理

在管理选项页面中单击“用户管理”链接,即可进入用户管理页面,页面提供了显示网站所有注册用户信息的表格。在表格中列表项依次为用户名、级别(admin、banzhu或者user)、编辑链接及删除链接,此外,在页面左下角提供了用于模糊搜索用户的表单,在右上角提供了用于注销登录及回到管理选项页面的连接。

表3-7 用户管理用例规约 用例名称: 用例ID: 角色: 用例说明: 用户管理 SQL_DBScores_07 管理员 用例主要用于管理员查看用户的问题及回复

13

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

前置条件: 基本事件流: 管理员成功登录网站,点击用户管理 在管理选项页面中单击“用户管理”链接,即可进入用户管理页面,页面提供了显示网站所有注册用户信息的表格。 后置条件: 停留在当前页,或者点击其他菜单进入其他页面

(8) 网站维护

在论坛列表页面中单击某行论坛的“编辑”链接,则进入修改论坛信息页面。页面提供了填写论坛名的文本框及选择版主的下拉框。下拉框选项是动态变化的,数据库中有多少位注册用户,在下拉框中便有多少个选项。

表3-8 网站维护用例规约

用例名称: 用例ID: 角色: 用例说明: 前置条件: 基本事件流: 网站维护 SQL_DBScores_8 管理员 用例主要用于管理员来维护论坛 管理员成功登录网站 1在管理选项页面中单击某行用户的“编辑”链接,可以删除编辑网站上的信息内容 后置条件: 停留在当前页面,或者点击其他菜单进去其他页面

3.4系统环境需求

3.4.1开发环境需求

硬件要求:CPU PIII 500以上PC服务器,内存1GB以上,硬盘8GB以上。操作系统: Windows XP

14

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

软件要求:Microsoft Visual Studio.NET 2010开发环境,SQL Server 2008(企业版、个人版) 3.4.2运行环境需求

硬件要求:CPU PIII 500以上PC服务器,内存1GB以上,硬盘8GB以上。操作系统: Windows XP

软件要求:.net Frammework4.0 ,SQL Server 2008(企业版、个人

15

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

第4章 系统分析与设计

该系统拟采用成熟的数据库技术与软件开发技术,使用MySQL和Tomcat 6.0服务器与JSP技术。JSP对于在Web应用中集成JavaBean组件提供了完善的支持,这种支持不仅能缩短开发时间(可以直接利用经过测试和可信任的已有组件),避免重复开发。JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互及数据提取等。

在系统分析与设计这个阶段,需要划分出组成该系统的一些物理元素----程序,文件,数据库,人工过程和文档等等。同时,系统分析与设计阶段另一项重要任务是设计软件的结构,确定系统中每个程序由哪些模块组成,以及这些模块间的关系。具体到该系统,开发任务是实现平时成绩系统化和自动化,从而提高平时成绩管理系统的工作效率。

4.1 系统结构图

4.1.1 系统总体结构图

心理驿站网站主要分为三个部分分别是:管理员端,用户端,游客 如图4-1所示。

图4-1 心理驿站网站结构图

4.1.2用户端结构图

用户通过系统可以提出问题、发表文章、评论、回复等,如图3-2所示。

16

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

图4-2 用户端结构图

4.1.3游客端结构图

游客通过网站可以浏览网站的文章,通过注册成为用户。如图3-3所示。

图4-3游客结构图

4.2系统交互模型

用户登录心理驿站网站系统,如果用户输入的登录账号错误或者不存在,则返回登录页面,如果用户输入的登录密码错误则返回登录页面,如果用户登录账号和登录密码都正确,允许用户进入系统。如下图5-1所示。

17

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

图5-1用户登录时序图

用户登陆系统之后,可以将自己的问题通过发表到网站中去,可以需求帮助通过发 表话题。如下图5-2所示。

图5-2用户个人问题管理的时序图

18

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

用户进入网站系统,点击个人中心进入个人中心页面。选择个人问题查看问题的回复状况,实现在线的交流。如下图5-3所示。

图5-3用户在线交流时序图

学生进入心理驿站网站,在网站的首页面进行在下的心理测试评估,通过回答相关的问题,测试自己现阶段的心理状态。如下图5-4所示。

图5-4心理测试时序图

19

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

4.3数据库分析与设计

数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。

设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。一般人们设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度。

介于本系统大量涉及数据的交换、存储、变更等,所以非常需要加入数据库,以便于系统有条不紊的进行各项功能。数据库的加入一般要先进行对数据库的设计,而数据库的设计一般包括七个步骤:1.规划 2.概念设计 4.逻辑结构设计 5.数据库的物理设计 6.数据库的实现 7.数据库的运行与维护。

4.3.1实体及其属性分析

数据库逻辑模型的设计就是把E-R图转变为关系模式,主键用单下划线表示,外键用双下划线表示。

根据前面的需求描述,本系统所涉及到的可以抽象出来的数据模型有:用户(User)、管理员(manager)、文章(article)、回复(reply)、试卷(question)、问题(post),这些数据模型在系统中相互联系:

1.用户(User):代表用户实体。主要属性有用户名(userName)、密码(userpassword)、性别(sex)、电子邮箱(userEmail)、昵称(nickname)、备注(remark)、出生日期(birthday)

2.管理员(manager):管理员。主要属性有ID(managerid)、名字(managername)、密码(managerPassword)

3.文章(article):代表主题实体。主要属性有标题(AricleTitle)、内容(articlecontent)、作者(ArticleAuthor)

20

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

4.回复(reply):代表回复实体。主要属性有ID(replyid)、标题(replyTopic)、内容(replycontent)、提交日期(relyDate)

5.试卷(question):心理测试试卷,主要属性有ID(questionid)、内容(questionContent)、答案(questionAnswer)

6.问题(post):问答,主要属性有标题(topic)、评论(matter)、时间(postTime)

4.3.2 数据库表设计

表4-1 数据库表

表名 user manager article reply question post 用户信息表 管理员信息表 文章表 回复信息表 试卷 问题 表4-2 user表

表名 列名 UserId(主) userName userPassword userEmail userNickname userBirthday sex userRemark User 数据类型(精度范围) 空/非空 约束条件 Int varchar(16) Varchar(12) Varchar(100) Varchar(20) timestamp Varchar(20) Varchar(200) 非空 非空 非空 非空 非空 非空 非空 非空

编号 用户名 密码 类型 姓名 出生日期 性别 备注 备注 功能说明

21

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

表4-3 post表

表名 列名 postId(主) userId topic matter postTime post 数据类型(精度范围) 空/非空 约束条件 int(11) varchar(255) Varchar(255) Varchar(255) Varchar(255) 非空 非空 非空 非空 非空 主键 外键 编号 用户ID 标题 评论 时间 备注 表4-4 manager表

表名 列名 ManageId(主) managerName managerPassword manager 数据类型(精度范围) 空/非空 约束条件 int(11) Varchar(16) Varchar(12) 非空 非空 非空 主键 编号 姓名 密码 备注 表4-5 article表

表名 列名 AriticleId ArticleTitle ArticleAuthor ArticleContent ArticleDate article 数据类型(精度范围) 空/非空 约束条件 int(11) varchar(255) Varchar(255) Varchar(1000) timestamp 非空 非空 非空 非空 非空 主键 编号 标题 作者 内容 日期 备注 表4-6 question表

表名 列名 questionId(主) questionContent questionAnswer question 数据类型(精度范围) 空/非空 约束条件 int(11) Varchar(1000) Varchar(255) 非空 非空 非空 主键 编号 内容 答案 备注 22

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

表4-7 reply表

表名 列名 replyId(主) userName replyTopic replyContent replyDate question 数据类型(精度范围) 空/非空 约束条件 int(11) Varchar(16) Varchar(200) Varchar(1000) timestamp 非空 非空 非空 非空 非空 主键 编号 用户名 标题 内容 时间 备注

4.3.3表设计

根据实体之间的设计,在数据库中建立相应的数据库表。为了对本功能的数据库的结构有一个更清晰的认识,下面给出数据库中所包含的数据库的部分结构图。

对应于数据模型,设计出的数据库一共分为四个表,即用户信息表、文章表、管理员信息表、问答信息表、试卷表、回复表。数据库名称是heartpost。 (1) 用户信息表

(2) 文章信息表

23

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

(3) 管理员信息表

(4) 问答信息表

(5) 试卷信息表

24

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

(6) 回复信息表

数据库如下图:

25

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

4.4体系结构设计

本系统采用JSP技术,基于MVC模式开发,使用JSP+JavaBean+Servlet来增加系统的开发速度。所谓的MVC模式是“Model-View-Controller”的缩写,中文翻译为“模式-视图-控制器”。程序就是用JavaBean和Servlet这两个框架来实现模型层和控制器这两层,JSP实现视图这一层。一般来说程序就是在数据库和页面之间起桥梁作用的,Jsp页面请求先到Servlet,再到JavaBean,再回到Servlet,回到JSP页面,Servlet主要处理来自页面的请求,JavaBean主要是和数据库的交互,使用JDBC技术获取的数据主要封装在JavaBean中。

。M 26

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

}

}

public void setPageNumber(int pageNumber) { }

public List getPersonalPost() { }

public void setPersonalPost(List personalPost) { }

public String execute(){ }

HttpServletRequest request = ServletActionContext.getRequest(); HttpSession session = request.getSession(); User user = (User)session.getAttribute(\

String pageNumberStr = request.getParameter(\if(pageNumberStr == null || \ }

ForumDao forumDao = new ForumDao(); pageSize = 10;

int postAmount = forumDao.personalPostAmount(user); int[] paging = new int[2];

paging = forumDao.pageNumber(postAmount, pageNumberStr, pageSize); pageNumber = paging[0]; totalPage = paging[1];

personalPost = forumDao.personalPost(user,pageNumber,pageSize); return SUCCESS;

pageNumberStr = \this.personalPost = personalPost; return personalPost;

this.pageNumber = pageNumber;

42

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

5.8用户回复问题界面

进入网站的注册用户,老师通过回复,给予专业行的指导。如图6-8

图6-8回复界面

关键代码如下:

public class PostMatterAction extends ActionSupport {

private Post post; private Reply reply; public Post getPost() { }

public Reply getReply() { }

public void setReply(Reply reply) { }

public void setPost(Post post) {

this.post = post;

43

this.reply = reply; return reply; return post;

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

}

}

public String execute() { }

HttpServletRequest request = ServletActionContext.getRequest(); //HttpSession session = request.getSession(); String postIdStr = request.getParameter(\int postId = Integer.parseInt(postIdStr); ForumDao forumDao = new ForumDao(); post = forumDao.findPost(postId); String s = post.getMatter();

List list = forumDao.findReply(post.getTopic()); if (list != null) { }

post.setMatter(s); return SUCCESS;

for (Reply r : list) { }

s = s + \:\

5.9心理测试功能界面

进入网站,可以通过回答问题,对自身心理状况进行测试。如图6-9

44

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

图6-9心理测试界面

关键代码如下:

public class Answerquestion extends ActionSupport{

private Question question; public Question getQuestion() { }

public void setQuestion(Question question) { }

public String execute(){

HttpServletRequest request = ServletActionContext.getRequest(); HttpSession session = request.getSession();

int questionId = Integer.parseInt(request.getParameter(\int score = Integer.parseInt(request.getParameter(\ForumDao forumDao = new ForumDao(); question = forumDao.findquestion(questionId); if(question == null){

question = forumDao.findquestion(questionId-1);

45

this.question = question; return question;

程世磊 张克慧 高旭博:中原工学院大学生心理驿站网站的设计与实现

}

}

}

String answer = request.getParameter(\if(answer.equals(\ }

String answer = request.getParameter(\

Question question1 = forumDao.findquestion(questionId-1); if(answer.equals(\ }

answer = \是\

if(question1.getQuestionAnswer().equals(answer)){ }

answer = \否\

if(question1.getQuestionAnswer().equals(answer)){ }

score += 10; score += 10; answer = \是\

if(question.getQuestionAnswer().equals(answer)){ }

answer = \否\

if(question.getQuestionAnswer().equals(answer)){ }

score += 10; score += 10;

}else if(answer.equals(\

}else if(questionId > 1){

}else if(answer.equals(\

session.setAttribute(\session.setAttribute(\return SUCCESS;

46


软件工程二报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:煤矿开采技术专业剖析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: