在线论坛系统分析与设计.docx
《在线论坛系统分析与设计.docx》由会员分享,可在线阅读,更多相关《在线论坛系统分析与设计.docx(14页珍藏版)》请在冰豆网上搜索。
![在线论坛系统分析与设计.docx](https://file1.bdocx.com/fileroot1/2022-12/1/7157dbe3-f84f-4164-9881-a41fbb1e5368/7157dbe3-f84f-4164-9881-a41fbb1e53681.gif)
在线论坛系统分析与设计
在线论坛系统分析与设计
1系统规划
1.1系统开发背景
论坛又名网络论坛BBS,全称为BulletinBoardSystem(电子公告板)或者BulletinBoardService(公告板服务)。
是Internet上的一种电子信息服务系统。
它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。
它是一种交互性强,内容丰富而即使的Internet电子信息服务系统。
用户在论坛上可以获得各种信息服务,发布信息,进行讨论,聊天等等。
在线论坛系统的开发,为人们的交流提供了更好的途径,便于人们信息的共享以及找到与自己志同道合的人。
论坛的开发丰富了人们的生活方式。
当今网络技术逐渐渗入社会生活各个层面,各个层次的用户都可以进行论坛访问,大至国家领导,小至一个普通干部,访问和留言从到指定用户进行表格到现在通过网络直接点击相应就可进行。
论坛管理系统可解决游客访问及留言,致使现在几乎各个网站都有各种类型的专题论坛管理系统,用户可选择自己的看法。
同时为分散于五湖四海的人们提供一个共同交流、学习、倾吐心声的平台,实现来自不同地方的用户极强的信息互动性,用户在获得自己所需要的信息的同时也可以广交朋友,拓宽自己的视野和社交面。
1.2系统目标
1、根据系统设计所要实现的功能,本论坛所针对的对象如下:
1用户:
论坛的使用人员,对论坛进行某些操作时需要注册。
2论坛版面:
表明发言的内容。
3帖子:
论坛中单个观点的讨论。
4管理员:
为论坛服务的人员。
这些对象不是孤立的,它们相互联系,只有当每个对象功能的正常发挥系统才能完整。
2、对于典型的数据库管理系统,尤其是对像论坛这样的数据流量特别大的网络管理系统,必须要满足使用方便、操作灵活等设计需求。
本系统在设计时应满足以下几个目标:
1采用人机对话的操作方式,界面设计美观友好,信息查看灵活、方便、快捷、准确,数据存储安全可靠。
2全面展示系统内所有分类的帖子,并进行分页显示。
3为用户提供一个方便、快捷的主题信息查看功能。
4实现在线发表帖子。
5提供登录模块,主要用开管理员登录系统和发表帖子时留下发表者的信息。
6用户随时都可以查看自己发表的帖子。
7对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。
8系统最大限度地实现了易维护性和易操作性。
9系统运行稳定安全可靠。
2系统分析
2.1需求分析
开发BBS论坛系统的目的是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的社区。
因此,BBS论坛系统最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法。
此外,为了记录主题的发表者和主题的回复者,系统还需要提供用户注册和登录的功能。
只有注册的用户登录后才能够发表和回复主题,游客只能浏览主题信息。
1、BBS论坛系统的基本需求如下:
1可通过WEB浏览器进行访问;
2系统支持三种用户(游客、注册用户、管理员),每种用户使用的功能都是不同的;
3游客只可以查看帖子;
4游客可以通过注册的方法变为注册用户。
5注册用户可以查看所有旧帖子,并发新帖子;
6注册用户可以回复他人或自己发表的帖子;
7注册用户可以管理自己的附属信息并修改它
8管理员是管理BBS的用户,且是一种特殊的注册用户;
9管理员可以管理注册用户,如查看、修改、删除注册用户信息;
10管理员可以管理BBS的帖子,如删除恶意的帖子等。
2、根据用户的需求及以上的分析,BBS论坛需要具备前台功能和后台功能。
1系统前台功能:
显示各论坛类别及版面、查看版面下所有主帖、个人账户管理、搜索、用户注册、用户登录、退出登录、发表帖子、回复帖子等。
2系统后台功能:
进入后台、论坛全局管理、版块管理、用户管理、界面管理等。
我们本次主要实现用户发帖回帖部分和帖子管理部分。
2.2可行性分析
可行性分析是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
1、技术可行性
技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。
该BBS论坛管理系统采用了流行的JSP语言和当前新兴的Browser/Server(浏览器/服务器)模式进行开发。
三层的B/S体系结构具有许多传统Client/Server(客户机/服务器)体系结构不具备的优点,而且又紧密的结合了Internet/Intranet(国际互联网/企业内部互联网)技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。
数据库服务器选用SQLServer2000数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。
它的灵活性、安全性和易用性为数据库编程提供了良好的条件。
因此,系统的软件开发平台已成熟可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台能满足此系统的需要。
2、经济可行性
主要是对项目的经济效益进行评价,利用计算机来实现网上交流信息。
开发一套能满足网上信息交流的软件是十分必要的,实现用户发帖,回帖等功能,能发表自己的观点。
本系统在经济上是完全可以接受的,只需要用户在本地安装Web浏览器,登录论坛就可以浏览帖子并发表自己的意见。
所以本系统在经济上是可行的。
3、社会可行性
随着Internet技术的不断发展,以及用户群爆炸性地增长,网络不再仅仅是信息的被动获取来源,更成为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色,随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点己成为Web信息库的重要组成部分,所以在如今信息时代的社会上是必不可少的一部分。
2.3业务描述
对于访问论坛的用户,可分为注册会员和临时用户(也称游客),这两种用户有着不同的权限,比如临时用户只能对帖子进行查看,而注册用户除了查看帖子之外,还可以发帖,回复,查找用户,并且可以对自己的注册资料进行修改等等。
管理员通过管理功能创建、编辑、删除论坛的版块;管理注册的用户;管理帖子。
系统的用例图如图2.3所示
2.3系统用例图
2.4过程建模
2.4.1前台流程图
论坛的前台流程图如图1.5.1所示
3.2.1论坛前台流程图
2.4.2后台流程图
论坛的后台流程图如图1.5.2所示
3.2.2论坛后台流程图
2.4.3系统数据流图(DFD)
图0:
较低阶层的数据流图(用户发帖回帖功能):
较低阶层的数据流图(帖子管理功能):
2.5对象建模
2.5.1用户发帖回帖
用例图:
时序图:
2.5.2帖子管理
用例图:
时序图:
3系统设计
3.1系统功能结构
3.1.1前台功能结构
用户访问论坛首页面后,可进行用户注册登陆、个人账户管理、发表帖子、回复帖子、搜索、查看所有主帖等功能。
用户在此BBS论坛中通过注册成为该网站的真正用户并成功登录系统后,可进行发表帖子、回复帖子、查看自己发表的帖子等操作。
前台功能结构图如图1.3.1所示。
1.4.1论坛前台功能结构图
3.1.2后台功能结构
若用户的权限为管理员,则可进入后台,管理员是一个特殊的群体,他们的主要工作是进行论坛全局的管理、界面管理、版块管理和用户管理的操作。
后台功能结构图如图1.3.2所示。
1.4.2论坛后台功能结构图
3.2数据库设计
3.2.1概念模型设计(E-R图)
3.2.2逻辑设计—数据表
用户信息表
序号
字段名
数据类型
说明
1
UserID
Int
用户ID
2
UserName
Varchar
用户姓名
3
UserPassword
Varchar
用户密码
4
UserSex
Varchar
用户性别
5
UserBirth
Varchar
用户生日
6
UserEmail
Varchar
用户邮箱
7
Regdate
Date
注册日期
8
Privilege
Int
权限
9
ImageAddr
Varchar
头像地址
10
Selfintroduction
Varchar
自我介绍
版面信息表
序号
字段名
数据类型
说明
1
BoardID
Int
版面ID
2
BoardName
Varchar
版面名称
3
BoardMaster
Varchar
版主
4
PostsNumber
Varchar
帖子数量
5
BoardIntroduction
Varchar
版块介绍
6
BoardAnnouncement
Varchar
板块公告
帖子信息表
序号
字段名
数据类型
说明
1
PostsID
Int
帖子ID
2
PostsType
Varchar
帖子类型
3
PostsTitle
Varchar
标题
4
PostsContent
Varchar
正文
5
UserName
Varchar
发帖人
6
PostsDate
Varchar
发帖日期
7
ClickNum
Date
点击数量
8
ReplyNum
Int
回帖数量
管理员信息表
序号
字段名
数据类型
说明
1
AdministratorID
Int
管理员ID
2
AdministratorName
Varchar
管理员姓名
3
AdministratorPassword
Varchar
管理员密码
4
AdministratorSex
Varchar
管理员性别
5
AdministratorBirth
Varchar
管理员生日
6
AdministratorEmail
Varchar
用户邮箱
7
Regdate
Date
注册日期
8
Privilege
Int
权限
9
ImageAddr
Varchar
头像地址
10
Selfintroduction
Varchar
自我介绍
4系统实施
4.1系统开发运行环境
服务器端:
操作系统:
WindowsXP。
Web服务器:
Tomcat6.0。
Java开发包:
JDK1.6。
数据库:
SQLServer2000。
浏览器:
IE8.0。
分辨率:
最佳效果为1024×768像素。
客户端:
浏览器:
IE8.0。
分辨率:
最佳效果为1024×768像素。
4.2系统的实现
实现本系统需要分为较多模块,比如注册模块、用户登录模块、个人信息管理模块等。
我们主要实现的是用户发帖回帖模块以及帖子管理模块。
在用户发帖回帖模块中,由于注册的用户的用户名和密码已经被添加到数据库的用户信息表中,所以只要输入用户名和登录密码就可以进入到论坛主页。
用户可以查看论坛中的帖子,可以恢复其他用户的帖子,也可以自己发表新帖,更新的帖子信息将会被保存到数据库的帖子信息表中。
在帖子管理模块中,管理员进入系统时需要输入用户名和登录密码,由于管理员是有特殊权限的注册用户,所以可以进入到后台帖子的管理中。
管理员要做的具体工作有:
审核新帖,审核通过之后将会更新数据到数据库中;删除一些恶意贴;将重要的帖子置顶;选出精华帖。
4.3结构化应用系统开发
结构图:
4.4测试
软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。
第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。
第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。
如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。
因此软件测试的第三个目的是保证整个软件开发过程是高质量的。
4.4.1单元测试
针对个别程序或模块的测试称为单元测试,其目的是确认并消除让程序造成不正常终止的执行错误,和可能在桌面检查中忽略的逻辑错误。
测试数据应当同时包含正确数据及错误数据,且应当测试所有可能的情况。
例如,对于一个允许一定区间数值的字段,测试数据应当包含最小值、最大值、超出可接受范围之外的值,以及文数字符号。
在单元测试中,需要一种称为连接点测试的技术。
在连接点测试中,程序设计人员仿真每一个程序的输出或结果,并显示出一个讯息来表明这个程序是否成功执行。
每一个连接点代表一个后来将连接到另一个程序或数据文件的进口或出口点。
4.4.2集成测试
每个模块都能单独工作,但这些模块集成在一起之后却不能正常工作。
主要原因是,模块相互调用时接口会引入许多新问题。
例如,数据经过接口可能丢失;一个模块对另一模块可能造成不应有的影响;几个子功能组合起来不能实现主功能;误差不断积累达到不可接受的程度;全局数据结构出现错误,等等。
综合测试是组装软件的系统测试技术,按设计要求把通过单元测试的各个模块组装在一起之后,进行集成测试以便发现与接口有关的各种错误。
自顶向下集成是构造程序结构的一种增量式方式,它按照软件的控制层次结构,逐步把各个模块集成在一起。
首先将用户、管理员模块和帖子模块集成在一起,再将后台管理模块集成起来。
之后再将用户、管理员模块和后台管理模块集成在一起,再加上帖子模块。
4.4.3系统测试
完成了集成测试之后,需要进行涵盖整个信息系统的系统测试,系统测试包括全部典型的处理状况,并试图向所有使用者、开发者,及管理人员保证每个程序均符合规格而且所有必要的机能都已涵盖。
在系统测试期间,用户输入数据,包括实际或实时数据的样本、执行询问、产生报表,来仿真实际的操作条件。
5系统维护
5.1概述
该阶段是系统开发生命周期的最后一个阶段。
在前面实施阶段已经完成了系统开发、测试、安装和评估,在本阶段将会继续支持一个工作着的信息系统,不但要持续评估和改进系统,还要警惕系统的任何退化迹象,还要采用多级别的分析,恰当的方法来保护系统和维护其数据的完整性。
5.2管理系统支持
5.2.1维护团队
由一位系统管理员、一个或多个系统分析员和程序设计人员组成。
系统管理员:
管理计算机及网络系统。
系统管理员必须能在压力下仍然如常工作、有良好的组织及沟通技巧,而且能够在时限内了解并解决复杂问题。
在大多数组织中,一个系统管理员对一或多个系统的运行、设定,及安全具有主要的责任。
系统管理员负责操作系统、网络,及硬件组件的例行维护。
系统管理员通常被授权采取预防行动以避免诸如主机当机、网络中断、安全危机,或硬件故障等立即的紧急事件。
分析员:
被指派到维护团队的系统分析员,运用分析与组合的能力,进行调查研究,迅速查明问题的根源。
需要良好的人际和沟通技巧,而且必须有创造力、精力充沛,并渴望新知识。
在小型组织中,一个程序设计员需要去处理各式各样的工作,但在大型公司,程序设计则倾向于较为专精。
5.2.2维护申请管理
1维护申请
2初步决定
3维护工作完成
4通知用户
5.2.3建立优先级
最重要的项目得到最高的优先级,无论它是维护项目还是新开发项目。
5.2.4配置管理
配置管理在系统开发生命周期的各开发阶段中控制系统需求变更的过程。
配置管理也是在系统开始运作之后用来管理系统变更和成本的重要工具。
配置管理还帮助文件的整理及建立。
一个运行中的系统有大量的文件,这些涵盖对已安装系统的所有版本的开发、修改,和维护。
大多数文件材料,包括初始的系统申请、项目管理数据、各个阶段结束的报告、资料词典,以及IT操作与用户手册,都储存于IT部门。
大多数维护项目都需要文件的变更。
要避免惊动用户和IT人员,追踪全部文件并保证更新版本的正确发行是配置管理的一个重要部分。