zoukankan      html  css  js  c++  java
  • 收集的资料(十三)论坛需求分析2

    收集的资料(十三)---论坛需求分析2 
    论坛为何?是何方神圣?其实呢?论坛也称为BBS,是bulletin Board System的简称,意即电子公告板,是一种在Internet上常见的用于信息服务的Web系统,它主要给浏览者提供相互沟通的平台,以此来吸引用户,服务用户。

    BBS起源于20世纪80年代初。最初,论坛只是用于发布公告信息,讨论问题的在线交流平台。后来,随着网络的普及,论坛的功能越来越丰富,受到广大网民的欢迎。因此,商业网站对论坛重视起来,纷纷在自己的网站上开辟论坛。作为与网民交流的园地。同时在线技术支持和在线服务也在论坛中开展起来。

    由此可见,论坛系统也是一种很值得掌握的程序。

    论坛的需求规划

    在开始编写一个论坛系统之前,首先要确定论坛的功能是什么,也就是开发中常提到的需求是什么。那么什么决定需求呢?用户使用论坛,有一定的流程:用户注册登录进入论坛,就某个话题(主题贴)展开讨论,通过发贴功能发布新的话题,通过回贴的功能回复已有的话题,通过搜索功能查找已的话题;管理通过管理功能创建、编辑、删除论坛的板块,管理注册的用户,管理贴子。设置论坛的基本参数。这样的流程就决定了论坛的需求,如图:

    浏览者

    用户

    注册登录

     

    搜索

     

    管理板块

     

    浏览板块

     

    管理用户

     

    发帖

     

    浏览帖子

     

    回帖

     

    管理帖子

     

    管理员

     

    从流程图上可以看到论坛完成的走向,其实每一个流程的节点处都有许多功能,如表2-1

    论坛功能列表

    论坛板块列表

    浏览帖子

    发帖回帖

    搜索帖子

    编辑帖子

    删除帖子

    精华帖

    置顶帖子

    转移帖子

    用户注册

    用户登录

    控制用户权限

    修改注册信息

    设置论坛参数

    管理板块

    管理用户

    211分析需求并确定思路

    在看了表2-1所示的功能需求后,你是不是觉得论坛的功能很凌乱无序?可是如何把这些凌乱的功能能整理好,拨云见日呢?这正是程序员分析设计的地方。

    设计一个应用系统的过程,其实就是将凌乱无序的需求进行分析以得到功能列表,然后进行整理、归纳、再构建系统的整体框架,读者设计出数据实体、接口、用户界面,最终将所有功能需求转化为可以编码实现的程序框架。

    现在就开始根据论坛的功能需求讲解设计思路。首先,观察论坛所有功能需求,你会发现在这16个需求中,如果执照不同的事物分类,可以分类4类对象:板块、帖子、用户和论坛。这4类对象,可以设计为4个数据实体,如果使用数据库存储它们,即可以设计4个基本数据表。

    接下来分析每个对象的相关操作。设计为对象的功能实现接口,即为对象的操作类的方法,如图2-3所示。论坛类只有设置参数一个方法,即可以把设置一组参数作为一个方法,也可以把设置一个参数作为一个方法。由于现在只是设计程序框架,这些参数设置的细节将在编写程序的时候详细说明。

    板块类有浏览列表和管理两个方法,管理方法可以分为创建、修改和删除3个方法,如图。

    管理员

    设置论坛参数

    论坛分页参数

    基本参数

    用户相关参数

    管理员

    设置论坛参数

    创建板块

    修改板块

    删除板块

    用户

    浏览板块列表

    帖子类有浏览、发帖、回帖、搜索和管理5个方法,浏览方法又可以分为列表和查看2个子方法,管理方法又可以分为编辑、删除、置顶、转移、指定精华5个子方法,如图2-5所示。

    用户

    管理员

    浏览帖子

    搜索

    回帖

    管理帖子

    编辑

    指定精华

    置顶

    转移

    删除

    发帖

    用户类有注册、登录和管理3个方法,管理方法又分为添加、删除和设置权限3个子方法,如图2-6所示。

    用户

    管理员

    修改个人信息

    注册

    登录

    管理用户

    设置权限

    添加

    删除

    经过上面分析后,当初列出的功能列表就分别有了各自的归属对象。

    论坛一般存在两种用户,分别为注册用户和管理员。用户的权限是向下覆盖的,即上级权限包含下级权限,在这里的论坛中,管理员的权限是上级权限。接下来,需要归好类的对象及其方法分配给不同的论坛用户。具体功能的分配结果如表2-2所示。

    如表2-2 论坛功能和用户权限对应表

     

    对象实体

    功能方法

    用户类型

    论坛

    设置参数

    管理员

    板块

    浏览列表

    注册用户

    创建板块

    管理员

    修改板块

    管理员

    删除板块

    管理员

    帖子

    浏览列表

    注册用户

    查看帖子

    注册用户

    发帖

    注册用户

    回帖

    注册用户

    搜索

    注册用户

    编辑(自己所有)

    注册用户

    编辑(全部)

    管理员

    删除

    管理员

    置顶

    管理员

    指定精华

    管理员

    转移

    管理员

    用户

    注册

    注册用户

    注册用户登录

    注册用户

    管理员登录

    管理员

    添加

    管理员

    删除

    管理员

    设定权限

    管理员

    与注册用户相关的功能,其实就是论坛前台的主要功能。论坛系统的前台,是用户讨论问题的平台,发帖、浏览、回帖一直惯穿用户整个的前台活动。同时,由于论坛系统的帖子管理是管理员在帖子浏览时进行的,所以编辑帖子、删除帖子、转移帖子、置顶帖子和指定精华等到功能也安排在前台实现,其他与管理员相关的功能,包括板块管理、用户管理和论坛设置都是管理员在后台进行的操作。

    这样,一路分析下来,论坛的基本功能,也就是必要的功能就浮现在眼前了。接下来,将要讲解怎么样设计论坛的基本功能。

    212设计基本功能

    通过以上分析,论坛的基本功能可以从众多需求中筛选出来。顾名思义,基本功能就是构成论坛系统的必要功能,具备这些功能的这eb系统即是论坛。

      论坛大类表

    名称

    类型

    说明

    CateId

    Int

    分类编号,主键

    Catename

    Varchar

    分类名称

    Cateposition

    Varchar

    分类显示位置

    Date

    Datetime

    创建时间

    论坛小类表

      

    名称

    类型

    说明

    Forcunid

    Int

    板块id 主键

    Cateid

    Int

    归属那一大类

    Forcumname

    Varchar

    板块名称

    Forcumdesc

    Varchar

    板块描述

    Forcumposition

    Varchar

    板块位置

    Date

    Datetime

    创建时间

    Member

    Varchar

    版主名称

    Topic

    Varchar

    主题数(舍去)

    Reply

    Varchar

    回复数(舍去)

    Click

    Varchar

    点击数(舍去)

    Imageurl

    Varchar

    小类图像url

     

     

     

     

    论坛人员表

     

     

    名称

    类型

    说明

    Memberid

    Int

    用户id 主键

    Membername

    Varchar

    用户名

    Memberpwd

    Varchar

    用户密码

    Membericon

    Varchar

    用户图标

    Memberrealname

    Varchar

    用户真实姓名

    Showemail

    Bit

    是否显示email(舍去)

    Signature

    Varchar

    个性化签名

    AvatarUrl

    Image

    用户自定义图像(舍去)

    Homepage

    Varchar

    用户主页

    Email

    Varchar

    用户email

    Mobile

    Varchar

    手机号

    Homephone

    Varchar

    固定电话

    Qq

    Varchar

    Qq

    Adress

    Varchar

    地址

    Code

    Varchar

    邮编(舍去)

    Cardno

    Varchar

    身份证号(舍去)

    Ip

    Varchar

    用户Ip

    Isadmin

    Bit

    是否管理员

    Ispower

    Bit

    是否版主

    Mark

    Varchar

    积分

    Action

    Bit

    是否在线

    Topiccount

    Varchar

    发帖数量

    Replycount

    Varchar

    回帖数量

    Date

    Datetime

    注册时间

    Notused

    Bit

    是否删除(舍去)

    LastVist

    Datetime

    登出时间

     

     

     

     

     

    论坛主题表

     

    名称

    类型

    说明

    Id

    Int

    主键编号

    Topiccaption

    Varchar

    主题标题

    Content

    Varchar

    主题内容

    Focumid

    Int

    论坛id编号

    Memberid

    Int

    发帖人id

    Istop

    Bit

    是否置顶

    Isgood

    Bit

    是否精华

    Notused

    Bit

    是否删除(舍去)

    Date

    Datetime

    法帖时间

    Ip

    Varchar

    发帖人ip

    Click

    Int

    点击数也是阅读数

    Replycount

    Int

    回复数(舍去)

    Lastreplyuser

    Varchar

    最后回复人

    Lastreplydate

    Datetime

    最后回复时间

     

     

    回帖表

     

    名称

    类型

    说明

    Id

    Int

    主键

    Forumid

    Int

    板块Id(用于计算版块的回帖数)

    Topicid

    Int

    主题编号

    Memberid

    Int

    回复人id

    Catption

    Varchar

    回复贴标题

    Content

    Varchar

    回复内容

    Ip

    Varchar

    回复人ip

    Date

    Datetime

    回复时间

    Notused

    Bit

    是否删除(舍去)

     

    论坛登陆日志

    名称

    类型

    说明

    Id

    Int

    主键

    Membername

    Varchar

    登陆名

    Action

    Varchar

    动作名

    Time

    Datetiem

    登陆时间

    Ip

    Varchar

    Ip地址

     

     

     

     

     

     

    权限表

    名称

    类型

    说明

    PermissionId

    Int

    编号

    Description

    Varchar

    权限说明

    CategoryId

    Int

    分类号

     

     

    角色表(Forums_Role

    名称

    类型

    说明

    RoleId

    Int

    编号

    Description

    Varchar

    角色描述

     

    角色权限表(Forums_Role_Permission

    名称

    类型

    说明

    RoleId

    Int

    编号

    PermissionId

    Int

    编号




    需求下载
  • 相关阅读:
    洛谷题单 算法1-1 模拟和高精度
    第十一届蓝桥杯 b组
    jdk的安装、java环境配置
    哈夫曼树 java
    机器学习基石8-Noise and Error
    Java基础12-工具类;变长参数;IO
    机器学习基石7-The VC Dimension
    Java基础11-List;Set;Map
    Java基础10-集合
    机器学习基石6-泛化理论
  • 原文地址:https://www.cnblogs.com/xbf321/p/878521.html
Copyright © 2011-2022 走看看