软件工程课程设计网上论坛管理系统.docx

上传人:b****8 文档编号:9963823 上传时间:2023-02-07 格式:DOCX 页数:22 大小:424.90KB
下载 相关 举报
软件工程课程设计网上论坛管理系统.docx_第1页
第1页 / 共22页
软件工程课程设计网上论坛管理系统.docx_第2页
第2页 / 共22页
软件工程课程设计网上论坛管理系统.docx_第3页
第3页 / 共22页
软件工程课程设计网上论坛管理系统.docx_第4页
第4页 / 共22页
软件工程课程设计网上论坛管理系统.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

软件工程课程设计网上论坛管理系统.docx

《软件工程课程设计网上论坛管理系统.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计网上论坛管理系统.docx(22页珍藏版)》请在冰豆网上搜索。

软件工程课程设计网上论坛管理系统.docx

软件工程课程设计网上论坛管理系统

网上论坛(BBS)管理系统

1课程设计目的

随着互联网的日益健全,信息时代的到来,网络走进了我们的家庭。

我们每天浏览着形形色色的网站遇到了各种各样的论坛。

我们可以通过论坛发布困惑求解,也可帮助他人解决问题。

它形成了一个虚拟的交流天地。

论坛

面向的用户是很多的,各个层次都可进行论坛访问及留言,访问和留言从到指定用户进行表格到现在通过网络直接点击相应就可进行。

2设计方案论证

网上论坛管理系统可解决游客访问及留言,致使现在几乎各个网站都有各种类型网站论坛管理系统。

互联网正在融入我们的生活,影响和改变着我们的生活。

网络提供给我们的不只是一个获取信息的来源,而且还是一个可以互相交流的空间,网上论坛正是一种提供人们进行交流的网络空间。

它不受时间和空间的约束,论坛用户可以发表自己的观点,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。

2.1可行性分析

2.1.1经济可行性

在二十一世纪,地球因为互联网的存在,早已变成一个村落。

人们在互联网世界里尽情的遨游,享受着Internet带来的无限乐趣。

我们习惯了上网看新闻、去论坛看帖、网上购物、撰写自己的网络日志等等。

当然,最离不开的,还是各种搜索引擎,帮我们找到想要的信息。

总之,互联网已经成为我们的一种生活方式,一个巨大的知识库。

本篇设计论文,围绕如何构建网上论坛系统展开研究。

网上论坛系统(BBS)是各种信息交流和传布的场所,它不同于电视报纸等传统的媒体,任何人都可以随便的在BBS上发表自己的言论,不受任何限制。

除了可以发表文字信息外可以上传和转贴图片、音乐、Flash,可以选择字号、颜色,还可以选择有趣的表情图案。

只要花几分种注册(甚至不需要)你就能畅游BBS,从中得到无穷的乐趣。

本系统就是基于以上功能的一个BBS,旨在为广大网民提供了一个交流平台,能够在这里畅所欲言,发表自己的看法、观点,同时能够结交朋友为生活增添乐趣。

3.2技术可行性

技术方面的可行性则需要研究的是在当前的技术下本系统的研发工作是否能够继续顺利的进行下去,是否提供了足够的软件条件和硬件条件。

本系统基于C#语言编写,C#语言为面向对象的高级语言,强大的文档支持和丰富的类库以及对SQLServer的友好支持促使本系统在技术方面可行性。

因此,在技术方面的可行性是没有问题的。

3.3操作可行性

本系统要解决网上论坛(BBS)管理的基本功能:

用户注册、用户登录、发表文章、阅读文章、回复文章、分页查找、作者查找、个人资料修改。

版主可以添加版块,修改版块,查看版主信息,修改版主信息。

管理员可以对帖子进行管理,修改管理员自己的信息。

超级管理员可以添加新的管理员以及删除管理员,修改管理员资料,以及对帖子的管理,超级管理员还可以添加版主。

在设计过程中要解决了JSP最常见的中文乱码问题,并针对不同平台总结出了处理乱码的方法,为今后系统的移植做了铺垫。

在数据库连接方面采用数据库连接池技术,数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个。

3.4法律可行性

考虑这个系统在社会方面是否违反国家法律,侵犯他人权益。

本系统的研究和开发都选用正版软件,将不会侵犯他人、集体和国家的利益,不会违反任何的国家政策和法律。

本系统的功能只会给人们带来社会效益,不会侵犯人们的安全、隐私、经济等权益。

4.需求分析

软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程,管理软件需求分析尤其如此。

软件的需求分析是从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出我们的软件产品。

这个步骤是对用户业务需求的一个升华,是一个把用户业务管理流程优化,转化为软件产品,从而提升管理而实现的质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否得到用户认可,顺利交付给客户,客户能否真正运用我们的产品帮助他解决业务或管理问题。

4.1功能描述

为了系统的各模块功能够正常使用、系统更加人性化,还为了满足系统的实用性及安全性,本系统包含5个角色:

游客,用户,管理员、超级管理员、版主。

(1)游客的各项功能:

游客可以浏览本论坛,但是不可以发帖,不可以回帖,也不可以看帖,只有注册了以后成为本论坛的用户,才可以执行用户的功能。

(2)用户的各项功能:

一旦成为本论坛的用户后享有的功能:

用户注册、

用户登录

发表文章

阅读文章

回复文章、

作者查找

个人资料修改

(3)管理员的各项功能:

修改管理员自己的信息

对帖子进行管理

进入前台以及退出后台

(4)超级管理员的各项功能:

超级管理员可以添加新的管理员以及删除管理员,修改管理员资料,以及对帖子的管理,超级管理员还可以添加版主。

(5)版主的各项功能:

版主可以具有的功能如下:

添加版块

修改版块

查看版主信息

修改版主信息

4.2数据字典

对于数据流图中的每个元素,都可以通过数据字典加以描述,以保证数据定义的严格性,该在线考试系统的数据词典的描述如下:

数据源点及汇点描述:

表1

名称:

管理员

简要描述:

论坛系统后台管理

有关数据流:

后台管理的结果显示

名称:

用户

简要描述:

浏览论坛

有关数据流:

后台管理结果的显示

(2)加工逻辑词条描述:

加工名:

添加分类

加工编号:

1.1

简要描述:

添加论坛分类

输入数据流:

输入相关数据

输出数据流:

添加结果

加工逻辑:

添加论坛分类,前台显示出添加的分类,用户可以浏览发帖

加工名:

分类改名

加工编号:

1.2

简要描述:

修改分类名

输入数据流:

输入分类名

输出数据流:

修改结果

加工逻辑:

修改论坛分类名,用户可以查看修改结果

加工名:

删除分类

加工编号:

1.3

简要描述:

删除论坛分类

输入数据流:

删除命令

输出数据流:

删除结果

加工逻辑:

删除成功后,前台没有显示

加工名:

分类排序

加工编号:

1.4

简要描述:

输入数据流:

输入分类顺序

输出数据流:

排序结果

加工逻辑:

排序完成后,用户看到的是排好序的分类

(3)数据流名词条描述:

数据流名:

管理成功

说明:

用来通知管理员操作结果

数据流来源:

分类记录

数据流去向:

管理员

数据流组成:

管理成功=相应操作成功,返回论坛分类板块

数据流名:

显示结果

说明:

用于系统前端显示

数据流来源:

分类记录

数据流去向:

用户

数据流组成:

显示结果=存在添加的分类,分类名称更改成功,删除的分类不存在,分类排序成功

4.3数据流图

(1)游客数据流图如图1所示:

图1游客数据流图

 

(2)注册用户与管理员数据流图如图2所示:

图2注册用户与管理员数据流图

4.4数据E-R图

E-R模型是对现实世界的一种抽象。

它的主要成分是实体、联系和属性。

使用这三种成分,我们可以建立许多应用环境的ER模型。

本系统的实体和属性的定义如下:

用户表(用户ID、用户密码、用户昵称、用户电子邮箱、用户级别、用户留言、用户自述、用户权限)

主题帖子表(主题帖子编号、主题帖子标题、主题帖子作者、帖子内容、发表帖子的时间、回复数、所属版块号、主题类型)

回复帖子表(回复编号、回复帖子编号、回复作者、回复帖子时间、回复内容)

版块表(版块编号、版块名称、版块类型、子版块编号、版主、主题数、文章数、版块描述)

管理员表(管理员ID、管理员密码、管理员电子邮箱、管理员自述、注册时间、管理员留言、管理员权限)

具体实体属性的关系图如图3所示:

图3用户信息实体图

主题帖子信息实体图如图4所示:

图4主题帖子信息实体图

回复帖子信息实体图如图5所示:

图5回复帖子信息实体图

版块信息实体图如图6所示:

图6版块信息实体图

管理员信息实体图如图7所示:

图7管理员信息实体图

ER模型的“联系”用于刻画实体之间的关联。

一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。

若有联系,进一步确定是1:

N,M:

N,还是1:

1等。

还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。

本系统的ER模型如图8所示:

m

m

n

m

1

n

1

n

图8ER模型图

5总体设计

5.1功能结构图

 

BBS论坛系统(前台)的主要功能模块及其关系,如图9所示:

 

 

 

图9BBS论坛系统前台主要功能模块

 

根据BBS系统功能分析和论坛管理的特点,需要设计BBS论坛的后台管理系,其主要功能模块如图10所示:

 

 

 

图10BBS论坛系统后台功能模块

根据BBS论坛系统后台的模块图可以得到系统的具体功能:

(1)管理员管理:

管理员信息管理功能:

管理员输入正确用户名、密码之后便可以进入到后台管理系统。

管理员可以查看自己的信息,可以添加管理员,可以修改管理员的资料,还可以删除管理员。

主题帖子管理功能:

管理员可以对用户发表的帖子进行管理,管理员可以按主题帖子序号,主题名,发表的话题进行看帖,修改帖子和删除帖子等操作。

版主管理功能:

管理员可以根据版块具体要求的不同,添加这一版块的版主负责管理此版块。

来分担管理员的管理论坛的工作,可以更好的为广大用户服务。

(2)版主管理:

版块管理功能:

只有版主输入正确用户名、密码之后便可以进入到版主后台管理。

版主根据版块的分类,可以添加其版块下的子分类,或者修改原有版块下子分类的名称,子分类的描述介绍。

版主信息管理功能:

可以查看版主自己的信息,可以修改版主的信息资料。

5.2主要功能流程图

主要功能流程图如图11所示:

图11主要功能流程图

 

各模块功能解释如下:

用户登录模块:

新用户注册成功之后,在登录界面输入注册时填写的正确用户名、密码之后,再输入出现的验证码之后便可以进入本系统。

如果用户名和密码正确,但是输入的验证码错误,则不允许进入本系统,跳转到登录界面重新输入。

用户注册模块:

建立账号,如果游客以前没有建立账号,则只可以浏览论坛的主题话题但是不可以发表新话题和回复有关帖子,只有当游客在本论坛注册成为论坛的用户后,才能进行相关操作。

同时在用户创建新账号的时候,必须输入用户名(系统会在提交时检查该用户名是否已存在)。

用户在建立新账号之后就可以具有合法登录系统的身份,可以进行相关的操作。

用户信息资料管理模块:

在用户登录成功之后,可以修改用户自己的信息,进一步完善用户自己的资料和修改注册时用户填写的资料。

主题帖子模块:

为了方便信息交流,首先帖子主题类型分为精华主题(红色)和普通主题(黑色),用户可以根据需要游览自己感兴趣的帖子,获得所需信息。

用户可以发表话题,还可以根据帖子主题浏览帖子内容和回复帖子。

查询模块:

用户只要输入想查询的用户ID,点击查询按钮,便可以查询出该用户发表的所有帖子以及该用户发表的帖子序号、标题、发帖的时间、发帖人等详细信息,方便用户快速的找到自己想要的信息。

管理员信息管理模块:

管理员输入正确用户名、密码之后便可以进入到后台管理系统。

管理员可以查看自己的信息,可以添加管理员,可以修改管理员的资料,还可以删除管理员。

主题帖子管理模块:

管理员可以对用户发表的帖子进行管理,管理员可以按主题帖子序号,主题名,发表的话题进行看帖,修改帖子和删除帖子等操作。

版主管理模块:

管理员可以根据版块具体要求的不同,添加这一版块的版主负责管理此版块,来分担管理员的管理论坛的工作,可以更好的为广大用户服务。

版主还可以修改自己的资料,添加本版块的子版块。

5.3数据库设计

该系统采用MySQL作为后台数据库去存储所有与系统相关的数据。

这些数据表包括用户表(userinfo)、主题帖子表(topicinfo)、回复帖子表(replyinfo)、版块表(foruminfo)以及管理员表(admininfo)。

数据模型的最终目的就是规划能够有效地处理事务,并且保持应用开发的简洁性的关系数据库,并在数据库的规范化、性能优化以及数据的简洁性之间达到平衡。

在这个数据库管理系统中要建立5张数据表,包括用户表(userinfo)、主题帖子表(topicinfo)、回复帖子表(replyinfo)、版块表(foruminfo)以及管理员表(admininfo)。

在刚刚建立的hello2数据库节点下的“表”节点右击,在弹出的快捷菜单中选择“新增资料表”命令,就可以开始新建各个数据表。

这5张数据表的各个字段意义如下所示。

表1 回复帖子表(replyinfo)

字段

字段类型

字段长度

说明

id

int

11

回复编号(主键)

topicid

int

11

主题号(外键)

replyuserid

varchar

20

回复者(外键)

replytime

datetime

0

回复时间

replycontent

varchar

300

回复内容

回复帖子表:

表2主题帖子表(topicinfo)

字段

字段类型

字段长度

说明

topicid

int

11

主题编号(主键)

topictitle

varchar

60

标题

topicuserid

varchar

20

发帖人(外键)

topiccontent

varchar

300

发帖内容

topictime

datetime

0

发帖时间

replynum

int

10

回复数

forumid

int

10

版块号(外键)

groupid

int

2

主题类型

主题帖子表:

表3 版块表(foruminfo)

字段

字段类型

字段长度

说明

mid

int

10

版块编号(主键)

name

varchar

80

版块名

isparent

int

 2

 版块是否分类

sortid

int

 3

 子版块号

adminauthor

varchar

60

版主

totaltopic

int

10

主题数

totalpost

int

11

文章数

description

varchar

160

版块描述

userlevel

int

20

 级别

usersay

varchar

150

留言

userstate

varchar

20

自述

right

int

10

权限

 

6.详细设计

6.1用户登录模块

用户登录界面如图12所示:

图12用户登录界面

6.2用户注册模块设计

用户注册界面如图13所示:

图13用户注册界面

 

7.心得体会

任何一个系统的正确运行都是建立在多次测试基础上的,只有经过多次测试才可以发现系统存在的不足或逻辑错误。

课程设计过程中或多或少地遇到一些问题,但最终基本一一解决。

在整个设计过程中,主要的工作有:

系统的权限及安全设计,包括用户密码保护与修改。

用户注册、用户登录、发表文章、阅读文章、回复文章、搜索查找、个人资料维护、帖子管理、版主管理、管理员管理、超级管理员管理等模块的页面设计及功能的设计实现。

设计中力求界面友好、简洁,易于操作。

代码部分尽量避免逻辑错误,算法设计简单合理,尽量使程序具有较好的可读性,有利于其他的设计者对程序的阅读。

力求对数据库操作的安全与稳定,尽量避免数据库操作异常,并要保证查询的快速无误。

保证程序的逻辑结构,编程时注意多使用通用方法(函数和过程)。

当然在设计中还有很多不足的地方。

对于这样的软件开发,由于没有相应的切合实际的需求分析,所以在开发过程中遇到了许多棘手的问题。

现在开发出来的软件对数据库的操作还不够稳定,在设计时,由于时间和能力有限还有部分的功能没有实现,希望系统能在以后升级成更高版本时得以实现。

 

8.参考文献

[1]张海藩.软件工程(第二版)[M].北京:

人民邮电出版社,2006

[2]张海藩,牟永敏.面向对象程序设计使用教程(第二版)[M].北京:

清华大学出版社,2007

[3]金敏,周翔.高级软件开发过程[M].北京:

清华大学出版社,2005

[4]朱如龙.SQLserver2000数据库应用系统开发技术[M].北京:

机械工业出版社,2005

[5]谭浩强.软件工程系统分析与设计[M].北京:

清华大学出版社,2005

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1