沈阳工学院综合实验验收报告题目:论坛系统的设计与实现院系:信息与控制学院专业:计算机科学与技术班级学号:11301105、11301121、11301122学生姓名:李媛媛、金鑫、李福林指导教师:靳新成绩:2013年12月13日当今社会正处在网络时代,信息化大潮席卷全球,网络正以前所未有的速度在我国普及开来。
网站以其独特的优势在信息化的过程中占有重要的一席。
论坛在Struts2+Hibernate框架的基础上,用当今主流的网站开发技术jsp语言进行开发。
论坛将采用B/S体系结构,人们通过浏览器就可以访问论坛的主页,保证的服务器的安全。
数据库采用免费,小巧,易用的SQL Server数据库。
开发BBS论坛的目的是提供一个用户交流的平台,为广大用户提供交流经验,探讨问题的网上社区。
因此,BBS论坛的最基本功能是发表帖子,其次是其他人根据帖子发表自己的看法和贴主回帖等功能。
此外论坛还提供用户登录和注册功能。
本网站严格按照软件项目开发的流程进行开发,对于网站开发的可行性分析、需求分析、概要设计、详细设计以及实现过程。
本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合网民创建自己的中小型BBS论坛!关键词:BBS,Struts,Hibernate,SQL Server随着Internet技术的不断发展,以及用户群爆炸性地增长,网络不再仅仅是信息的被动获取来源,更成为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色,随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点己成为Web信息库的重要组成部分,自网上论坛诞生20多年以来,随着Web技术的发展,己经由原来简单的电子公告板系统发展为功能丰富的网上论坛和虚拟社区模式。
各种论坛随着网络迅速发展,几乎充实着生活工作的每一个方面,无论是商界、政界,还是娱乐界,都有各种论坛。
本文分为两章,第一章为系统分析与设计,包括需求分析、系统功能设计、数据库设计。
第二章为系统设计,包括系统框架和各功能模块。
1系统分析与设计1.1需求分析1.1.1功能性需求本系统是一套网上交流的BBS软件,根据用户的需要和实际的管理条件,应由用户功能实现,帖子功能实现和后台管理等几个模块所构成,用户可以对一些数据进行查看和修改,并且注册的用户可以对帖子进行特定的操作,而管理员可以对用户和帖子进行相关的管理.首先系统提供用户注册和登录功能。
然后BBS论坛系统最基本的功能首先是发表帖子,其次是其他人员根据帖子发表自己的看法。
此外,只有注册的用户登录后才能够发表和回复帖子。
根据用户的需求及以上的分析,BBS论坛需要具备前台功能和后台功能。
(1)系统前台功能:查看所有帖子、查看帖子内容、用户注册、用户登录、发表帖子、回复帖子。
(2)系统后台功能:进入后台、帖子删除、帖子修改、回帖删除、用户管理。
1.1.2非功能性需求开发语言及实现平台或实验环境:Windows系统,JDK,myEclipse开发环境,Tomcat服务器,Struts2、Hibernate开发平台1.2可行性分析1.2.1技术可行性系统性质为BBS论坛管理,因而开发技术JSP Struts框架和Hibernate技术,开发平台:MyEclipse。
Web服务器:Tomcat。
数据库服务器选择SQL Server2008。
对于所有硬件和技术需求,对于本系统开发来说已经足够。
1.2.2操作可行性用户注册登录后可进行浏览帖子、发帖、回帖等操作,管理员登录后可对帖子、回帖进行删除、修改,也可对用户进行管理,操作简单,无需任何的专业计算机知识。
1.2.3法律可行性系统的开发所用到的任何软件都是正版,开发语言主要使用开源的java进行开发。
因此本系统开发不涉及到个人版权问题。
综上所述,本系统的开发立项是可行的。
1.3系统总体设计1.3.1系统目标对于典型的数据库管理系统,尤其是对像论坛这样的数据流量特别大的网络管理系统,必须要满足使用方便、操作灵活等设计需求。
本系统在设计时应满足以下几个目标:1.采用人机对话的操作方式,界面设计美观友好,信息查看灵活、方便、快捷、准确,数据存储安全可靠。
2.全面展示系统内所有的帖子,并进行分页显示。
3.为用户提供一个方便、快捷的主题信息查看功能。
4.实现在线发表帖子。
5.提供登录模块,主要用于用户登录和管理员登录。
6.用户随时都可以查看自己发表的帖子。
7.对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。
8.系统最大限度地实现了易维护性和易操作性。
9.系统运行稳定安全可靠。
1.3.2系统基本功能系统分为前台和后台,分别为用户和管理员提供不同的功能服务,对普通用户来说,系统提供注册、登录、浏览信息、发帖、回贴等功能;对管理员来说,系统提供登录验证、管理帖子、管理用户等功能。
1.3.3系统功能模块及介绍如图1.3.1,本系统分为前台用户模块和后台管理员模块两部分,当登录身份为普通用户时,自动跳转到前台用户界面。
前台用户界面包括用户注册登录模块、信息浏览模块、发帖回帖模块。
当登录身份为管理员时,自动跳转到后台管理员界面。
后台管理界面包括管理员登录验证模块、帖子管理模块、管理用户模块。
图1.3.1系统功能模块图1、前台用户模块前台用户模块分为三个模块:用户注册登录模块、信息浏览模块、发帖回帖模块。
前台用户功能模块图如图1.3.2图1.3.2前台用户功能模块图(1)用户注册登录模块:为新用户提供填写表单注册成为会员的服务;为已注册的会员提供登录验证的服务,验证成功后就可以登录系统。
(2)信息浏览模块:用户可以浏览帖子列表、详细内容及回帖内容。
(3)发帖回帖模块:已登录的合法用户可以发帖和回帖。
2、后台管理员模块后台管理员模块分为三个模块:管理员登录验证模块、帖子管理模块、管理用户模块。
其功能模块图如图1.3.3所示图1.3.3后台管理员功能模块图(1)管理员登录验证模块:对管理员的身份进行验证,只有管理员才能登录后台。
(2)帖子管理模块:对帖子提供修改、删除操作。
(3)管理用户模块:提供删除用户的功能。
1.4数据库设计1.4.1数据库概念设计1、帖子实体帖子实体包括帖子编号、用户名、主题、内容、发表时间。
帖子实体的E-R 图如图1.4.1所示图1.4.1帖子实体E-R图2、回帖实体回帖实体包括回帖编号、用户名、内容、回帖时间、帖子编号。
回帖实体的E-R图如图1.4.2所示图1.4.2回帖实体E-R图3、用户实体用户实体包括用户名、密码、权限。
用户实体E-R图如图1.4.3所示图1.4.3用户实体E-R图1.4.2数据库逻辑设计1、帖子信息表帖子信息表包括id(帖子编号、主键)、username(用户名)、title(主题)、content(内容)、time(发表时间)。
如表1.1表 1.1T_Invitation帖子信息表字段名称数据类型说明id int帖子编号,主键username varchar(20)用户名title varchar(50)主题content varchar(500)内容time datetime发表时间2、回帖信息表回帖信息表包括id(回帖编号)、username(用户名)、content(内容)、time(回帖时间)、inid(帖子编号、外键)。
如表1.2表1.2T_ReplyInvitation回帖信息表字段名称数据类型说明id int回帖编号username varchar(20)用户名content varchar(500)内容time datetime回帖时间inid int帖子编号、外键3、用户信息表用户信息表包括username(用户名、主键、非空)、password(密码)、authority(权限)。
如表1.3表1.3T_User用户信息表字段名称数据类型说明username varchar(20)用户名、主键、非空password varchar(20)密码autority int权限(1用户;0管理员)1.5系统UML建模1.5.1用例图系统中有用户和管理员两个参与者,其用例图如图1.4.4所示。
图1.4.4用例图1.5.2活动图1、前台活动图用户进入论坛系统后可选择登录或注册,注册成功后可进行登录。
登录后进入前台首页,可查看论坛文章主题,然后可查看帖子详情或发表帖子,也可对帖子进行回帖操作。
如图1.4.5,前台活动图所示。
图1.4.5前台活动图2、后台活动图管理员进入论坛系统后进行登录验证,验证成功后进入后台管理首页,然后可进入帖子管理或用户管理进行相应操作。
如图1.4.6,后台活动图所示。
图1.4.6后台活动图2系统实现2.1系统框架2.1.1MVC组成1、Model(1)处理用户信息的类User.java(2)处理帖子信息的类Invivation.java(3)处理帖子回复信息的类ReplyInvivation.java2、View前台:(1)登录界面Login.jsp(2)新用户注册界面register.jsp(3)论坛内容界面Invivation.jsp(4)帖子详情界面InvivationDetail.jsp后台:3、Controller前台:(1)负责用户注册的Action AddUserAction.java(2)负责帖子查看、发表、查询详情的Action InvivationAction.java (3)负责帖子信息回复、帖子回复信息浏览的Action ReplyInvivationAction.java(4)负责用户登录的Action LoginAction.java后台:(1)负责管理员登录的Action LoginAction.java(2)负责管理用户的Action ManageUserAction.java(3)负责管理帖子内容的Action InvivationAction.java(4)负责管理回复帖子的Action ReplyInvivationAction.java2.2功能模块实现2.2.1前台用户模块实现1、用户注册登录模块用户注册登录模块中包括用户注册模块和用户登录模块。
(1)用户登录模块普通用户进入系统后,首先进入登录模块,登录模块显示用户名、密码两个文本框和登录、注册两个按钮。
普通用户输入用户名和密码,若用户名、密码正确,则进入论坛首页,若用户名或密码为空则做出相应提示,且若用户名或密码错误也会弹出相应的错误提示信息。
如图2.2.1,普通用户登录模块图所示。
图2.2.1普通用户登录模块图实现过程:普通用户登陆模块登陆时调用erAction中的LoginAction,通过里面的execute方法来验证用户名是否存在,当用户名存在时验证密码是否与正确密码匹配并验证权限,如果全部通过,则跳转到论坛首页,如果验证不成功,仍然在登陆界面。