建立网站服务的公司网站,云服务器免费永久,网络规划设计师取消了,天津软件开发培训机构博主介绍#xff1a;专注于Java .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的可以… 博主介绍专注于Java .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的可以先收藏起来还有大家在毕设选题项目以及论文编写等相关问题都可以给我留言咨询希望帮助更多的人 系统需求规划
用户使用论坛有一定的流程用户注册登陆进入论坛就某个话题主题帖展开讨论通过发帖功能发布新的话题通过回帖的功能回复已有的话题通过搜索功能查找已有的话题管理员通过管理功能创建、编辑、删除论坛的板块管理注册用户管理帖子设置论坛基本参数。这样的流程就决定了论坛的需求如图所示 论坛流程图
一需求分析 从流程图上可以看到论坛完成的走向其实每一个流程的节点处都有许多功能如下表
论坛功能列表 论坛板块列表 浏览帖子 发帖回帖 搜索帖子 编辑帖子 删除帖子 精华帖 置顶帖子 转移帖子 用户注册 用户登陆 控制用户权限 修改注册信息 设置论坛参数 管理板块 管理用户 在这十六个凌乱无序的需求进行整理、归纳、再构建系统的整体框架设计处数据实体、接口、用户界面最终将所有功能需求装化为可以编码实现的程序框架。首先通过观察论坛所有功能需求可以发现在这十六个功能需求中如果按照不同事务分类可以分为四类对象板块、帖子、用户和论坛。这四类对象可以设计为四个数据实体如果用数据库存储它们即可以设计四个基本数据表。如图
板块类有浏览列表和管理两个方法管理方法又可以分为创建、修改和删除3个子方法如图 板块对象的相关用例图 帖子类有浏览、发帖、回帖、搜索和管理5个方法浏览方法又可以分为列表和查看2个子方法管理方法又可以分为编辑、删除、置顶、转移、指定精华5个子方法如图 帖子对象的相关用例图 用户类有注册、登陆和管理3个子方法管理方法又分为添加、删除和设置权限3个子方法如图 用户对象的相关用例图 论坛一般存在两种用户分别为注册用户和管理员。用户的权限是向下覆盖的即上级权限包含下级权限在本论坛中管理员的权限是上级权限。与注册用户相关的功能其实就是论坛前台的主要功能。论坛系统的前台是用户讨论问题的平台发帖、回帖一直贯穿用户整个的前台活动。同时由于论坛系统的帖子管理是管理员在帖子浏览时进行的所以编辑帖子、删除帖子、转移帖子、置顶帖子和指定精华帖等功能也安排在前台实现。其他与管理员相关的功能包括板块管理、用户管理和论坛设置等都是管理员在后台进行的操作。
二功能设计
1基本功能设计
通过需求分析论坛的基本功能可以从众多的需求中筛选出来。顾名思义基本功能就是构成论坛系统的必要功能具备这些功能的Web系统即是论坛。
基本功能
发帖。论坛最初是为了相互讨论话题而诞生的发表帖子就是表达自己的看法与他人进行讨论因此发帖是论坛首要的功能。
浏览帖子。发表了帖子就要供他人浏览查看与他人分享自己的想法和经验。
回帖。浏览了他人发表的帖子想要发表自己的想法参与讨论就可以回复这个帖子。 2扩展功能设计
除了基本功能之外其他的论坛功能都是扩展功能。
注册登陆。原先的论坛在发帖回帖时需要填写自己的笔名。这样经常发帖的人总是要重复填写笔名比较麻烦。因此论坛扩展了用户注册登陆功能参与论坛的注册自己的笔名以及个人信息拥有论坛中的身份发言时就不需要重复填写个人信息了。
分板块浏览帖子。随着论坛帖子数量的增多讨论相同话题的帖子聚集在一起引出了论坛新的扩展功能即分板块浏览帖子属于同一板块的帖子讨论同样的话题。这样就使得对某一话题感兴趣的用户不会被其他帖子干扰也有利于相同兴趣的用户相互间讨论不易跑题。
编辑帖子。发帖回帖的用户如果需要修改更新自己发表的帖子内容就引出了编辑帖子内容这个扩展功能提供给用户更新自己发言的选择。对于论坛管理员可以编辑任何帖子的内容也算是提供给管理员进行管理的选择。
删除帖子。如果用户发表了不符合论坛规则的帖子则需要管理员删除这些帖子这就引出了删除帖子的扩展功能。
转移帖子。论坛划分了板块如果帖子内容不属于所在板块的关注话题那么管理员可以选择将此帖移动到所属话题的板块中去这就引出了移动帖子的扩展功能。这个功能是随着板块功能的出现而出现的板块将帖子进行了分组从而提出了随板块移动帖子的要求。
置顶帖子。帖子一般是根据发表以及回复时间到序排列的这样先发的帖子就慢慢排到后面管理员如果需要强调某些帖子重要又必看性就要打乱默认的排列顺序将这些帖子放在列表的最前端不再按照时间进行顺序的变化但是还要保证其他帖子按照时间变化顺序进行排列这就引出了置顶帖子的扩展功能。
指定精华帖。如果管理员认为某个帖子的内容非常好可以打上标记推荐给看帖的用户这就引出了指定精华帖的扩展功能。用户可以选择只看打上标记的精华帖。
搜索帖子。论坛中的帖子越来越多用户需要从大量的帖子中找到自己需要的内容这就引出了搜索帖子的扩展功能。
管理板块。论坛板需要先创建才能被使用管理员还可以删除修改板块的相关信息因此管理板块是管理员使用的扩展功能。
设置参数。论坛一般有一些初始化信息比如论坛名称每页显示帖子数量等参数信息管理员也可以在后台界面自行设置这页属于扩展功能。
管理用户。管理员可以对论坛的注册用户进行管理直接添加用户赋予相关权限也可以修改已注册用户权限对违规用户可以删除这个扩展功能便于管理员对论坛用户的管理。
论坛的扩展功能如图 三设计可扩充功能的接口
列出了所有基本的和扩展功能之后在设计时需要考虑以后扩充的余地即在给论坛添加新的功能的时候原有的功能正常可用不受影响。或者丰富扩展某个功能时能够方便衔接。
这就要求在设计程序时每个功能保留开放的接口通过接口可以对功能进行扩充也可以与新功能进行挂接。其实现的原理及思路如图 功能的可扩充接口实现原理 四、功能模块与数据库设计
一设计框架
在确定了论坛系统的设计思路之后还需要归纳成系统的相关模块每个模块实际上就是功能的合理组合。由于已经将功能做了前台与后台的分类因此模块也应该分为两大类前台模块和后台模块。用户在前台的注册、登陆以及修改个人的注册信息组合成注册信息组合成注册登陆模块。用户浏览板块、浏览主题帖列表、查看帖子组合成浏览模块。用户发帖、回帖、编辑自己发布的帖子组合成发帖回帖模块。管理员编辑帖子、删除帖子、转移帖子、置顶帖子和精华帖子组合成管理帖子模块。以上4个模块是前台模块。后台模块都是与管理员相关的设置论坛参数单独为论坛设置模块创建、修改和删除板块为管理板块模块添加、删除和设置权限为管理用户模块。
BBS的模块体系图 从用户角度分析问题首先区分系统中有几种用户目前的论坛系统为了使其清楚易懂简化了用户体系论坛中只有两种用户注册用户和管理员。一般论坛中的版主权限划分为管理员这也是为了使读者容易分清论坛的使用者和管理者。对于注册用户在论坛中的行为可归纳如下
注册个人身份登陆论坛登陆成功后可以修改自己的注册信息。这些行为只与用户自身相关功能独立设计成注册登陆模块。浏览板块列表选择某板块浏览其下的主题帖列表查看帖子内容搜索需要的帖子。这些行为是用户读取论坛的板块及其帖子的相关信息设计成浏览模块。
可以发表新帖子也可以回复已有的帖子同时可以编辑自己写的帖子内容。这些行为是用户参与论坛讨论发表自己见解的行为设计为发帖回帖模块。 管理员需要负责整个论坛的正常运转因此他需要更多的管理功能可以归纳为如下行为
具备注册用户的所有功能。因为管理员也是论坛用户可以参与论坛中的讨论。管理帖子。管理员对论坛的帖子有监督的权利好的帖子要奖励捣乱的帖子要删除标识精华帖置顶帖子转移发错板块的帖子这些行为都是针对帖子的操作设计成管理帖子模块。管理板块。论坛中的板块需要管理员进行创建、管理板块信息这些针对板块的操作设计成管理板块模块。管理用户。用户注册成功后需要管理员赋予权限才能使用论坛的相关功能。同时管理员可以自主添加、删除用户这些针对用户信息的操作设计成管理用户模块。
二模块的划分及设计
每个模块的功能都真实反映需求通过对需求的认真分析可以设计出符合要求的单独模块。但是对于一个论坛系统来说要很好地把握系统地构架把零散地功能模块用一条主线串连起来构建完整的系统。
对论坛系统来说联系各个模块的主线是使用者的权限用户能够使用论坛的哪些功能是由用户的权限决定的。论坛的每个功能都与相应的权限对应。例如注册用户具有浏览帖子、发帖、回帖的权限那么他就能使用论坛中的浏览、发帖、回帖功能。同一类用户使用的功能模块是以使用者为中心连接起来的。另外操作同类事务的功能模块也是有相互关系的。 因此浏览模块与发帖回帖模块、管理帖子模块关联是由论坛的系统流程决定的如图 帖子相关模块关系图
管理板块模块与浏览模块关联是由帖子与板块的父子关系决定的。帖子依附于板块先有板块后有帖子帖子必须发表在某个板块中如图 管理用户模块与注册登陆模块关联是由同一类对象——用户决定的。注册后获得论坛的身份成为用户所有的用户需要接受管理员的管理用户登陆证明自己在论坛中的身份如图 管理用户模块与注册登陆模块关系图
弄清楚模块间的相互关系就可以设计出论坛系统的整体架构了如图 系统整体架构图
系统因入口的不同而分为前台系统与后台系统。前台系统包括注册登陆模块、浏览模块、发帖回帖模块、管理帖子模块后台包括管理用户模块、管理板块模块。之所以要把属于管理员权限的管理帖子模块归属于前台是因为对于一个论坛系统帖子是最主要的为了方便管理管理员需要一边浏览查看一边进行管理管理时需要了解帖子的详细内容以及相关回帖信息因此将帖子的管理界面融合在前台的浏览界面中。至于其他的模块则比较清楚是根据用户的权限划分的。
三设计数据库
本系统所使用的数据库服务器为ACCESS 2000它在ACCESS 2000 的基础上 扩展了ACCESS的总体功能与性能、工具界面更加方便合理、全面的数据完整性保护、系统安全性更高。ACCESS 2000的数据库空间不会受限于Device空间大小 方便了数据空间的扩展 使ACCESS 2000作为一个网络数据库管理系统其扩展已超出了单个物理计算机的限制并且多服务器“分布式”事物的内在支持更加充分。本系统主要使用了存储过程Stored Procedure 所谓Stored Procedure实际上就是一段保存在数据库中的程序 通过一个名称的命名其中包含有处理数据库存取与运算的SQL语句 并且将这样的程序文件紧密结合在数据库中这样我们的前台应用系统在执行过程中可以直接执行数据库中设置好的Stored Procedure甚至可以传递参数。
四创建数据库
ACCESS 2000 的Manager管理工具是一个非常好用的可视化管理工具 ACCESS 2000中提供的datetime和text两种字段类型其中datetime是用来保存日期和时间数据的text 是用来保存不定长度的备注说明内容的 有了这两个数据类型 应用系统中就不用再为输出格式和限制字符串长度而增加额外代码了。 数据表间关系 序 号 数据表名称 说 明 1 T_Operator 操作员用户表 2 T_Forum 论坛回帖表 3 T_Topic 论坛主题表 4 T_UserPara 系统参数表 5 T_Mark 积分头衔表 6 T_OperatorFunction 用户功能权限关联表 7 T_Function 功能表 之所以这样设计数据表间关系主要是考虑论坛中各个对象得相互关系帖子属于板块回复帖从属于主题帖帖子的作者属于用户因此板块、主题帖、回复帖是一层层的从属依赖关系帖子的作者必须是论坛的用户帖子不能脱离板块、用户而单独存在。
五、系统实现与测试
本论坛系统完成之后就必须设计许多的测试用例来验证本系统的正确性容错能力/恢复能力信息安全性可靠性等尽可能多地找出系统的错误所在。
一 验证性测试
在登录论坛之前论坛首页上显示 “您的当前状态是未登录”如图1此时该用户除了能够进行用户注册之外没有任何权限访问论坛的任何一个模块。当点击任何一个功能按钮时页面将会显示“您没有登录请返回”
当用户点击“注册”按钮页面便跳转到用户注册界面如图 2若注册成功则显示“注册成功”如图3否则显示“发生错误···返回”。 图 1 图 2 图 3 当点击登录按钮则页面跳转到登录界面如图 4用户成功登陆之后页面即显示您的当前状态为“已登录”如图 5。只有当用户登录之后才能够修改该用户的信息否则当用户点击“修改注册信息”按钮时页面会显示“没有登录取不到用户信息。请返回”。 图 4 图 5 二 添加、编辑和删除功能测试
当管理员点击“新建论坛”按钮页面即跳转到图 9管理员可以根据需要添加某些论坛若添加成功则显示“添加成功”否则显示错误信息。 图 9
有了论坛的添加当然也少不了论坛的编辑和删除如图 10点击编辑按钮则论坛信息全部变为编辑状态当编辑完成则点击更新否则点取消。若要删除某个论坛在点击删除按钮时会有确认信息提示以防错误操作如图 11。若这些操作成功则页面显示更新过的数据否则提示错误信息。 图 10 图 11 大家点赞、收藏、关注、评论啦 其他的定制服务 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者