社区类论坛设计方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
社区类论坛设计方
案
第1章需求分析
论坛能够为社区提供一个自由的空间,来方便大家交流。最初,论坛只是用于发布公告信息、讨论问题的在线交流平台,后来,随着网络的普及,论坛的功能越来越丰富,受到广大网民的欢迎。因此商业也对论坛重视起来,纷纷在自己的上开辟论坛,作为与网民交流的园地。同时,在线技术支持和在线服务也在论坛中开展起来。
1.1用例分析
在论坛里,人们之间的交流打破了空间,时间的限制。在与别人进行交往时,无须考虑自身的年龄,学历,知识,社会地位,财富,外貌,健康状况,也无从知道交谈的对方的真实社会身份。这样,参与讨论的人可以处于一个平等的位置与其他人进行任何问题的探讨。论坛往往是由一些有志于此道的爱好者建立,对所有人都免费开放。而且,由于BBS的参与人众多,因此各方面的话题都不乏热心者。我们当然可以利用它来解决学习中的一些疑惑,也可以把自己的心事吐露出来。图1-1是论坛的用例分析。
图1-1论坛的用例分析
我们来分析每类对象的相关操作,设计对象的功能实现接口,既设计对象的操作类的方法或者说是功能函数。
论坛类只有设置参数一个方法,既把设置一组参数作为一个方法,也可以把设置一个参数作为一个方法。图1-2是论坛对象的用例分析。
图1-2论坛对象的用例分析
版块实体类有了浏览列表和管理两个方法,管理方法又可分为创建、修改、和删除三个子方法,图1-3是板块对象的用例分析,管理员可以管理版块和浏览版块列表,而用户只能浏览版块列表。
图1-3版块对象的用例分析
帖子类有浏览、发帖、回帖、搜索和管理5个方法,浏览方法,浏览方法又可分为列表和查看两个子方法,管理方法又可分为编辑、删除、置顶、转移、指定精华5个子方法。图1-4是帖子对象的用例分析,只有管理员可以管理帖子,一般用户是没有这个权限的。
图1-4帖子对象的用例分析
用户类有注册、登陆和管理3个方法,管理方法又分为添加、删除和设置权限3个子方法。图1-5是用户对象的用例分析,用户的信息和权限是由管理员来设置管理的。
图1-5用户对象的用例分析
1.2业务/机构划分
像日常生活中的黑板报一样,论坛按不同的主题分为许多版块,版面的设立依据是大多数拥护的要求和喜好,用户可以阅读别人关于某个主题的看法,也可以将自己的想法毫无保留地帖到论坛中。一般来说,论坛也提供功能,如果需要私下的交流,也可以将想说的话直接发到某个人的电子信箱中。
用户在前台的注册、登陆,以及修改个人的注册信息组合成注册登陆模块;用户浏览版块、浏览主题帖列表、查看帖子组成合成浏览模块;用户发帖、回帖、编辑发布的帖子组合成发帖回帖模块;管理员编辑帖子、删除帖子、转移帖子、置顶帖子和指定精华帖组合成管理帖子模块。
1.3业务流程
用户注册登陆进入论坛,就某个话题展开讨论,通过发帖功能发布新的话题,通过回帖功能回复已有的话题,通过搜索功能查找已有的话题。管理员要管理论坛,软件需要具有的功能有创建、编辑、删除论坛的版块,管理注册的用户,管理帖子,设置论坛基本参数。这样的流程决定了论坛所具有的功能,图1-6表示论坛功能流程。
图1-6 论坛功能流程
1.4实体-关系分析
每个模块的功能,真实反映需求,通过对需求的认真分析,可以设计出符合要求的单独模块。对于论坛来说,联系各个模块的主线是使用者的权限,用户能使用论坛的那些功能由用户权限决定。论坛的每个功能都与相应的权限对应。
浏览版块与发帖回帖模块、管理帖子模块关联,是由论坛的系统流程决
图1-7帖子相关模块关系
管理版块模块与浏览模块关联,是由帖子与版块的父子关系决定的,帖子依附于版块,先有版块,后有帖子,帖子必须发表在某个版块中,图1-8是管理板块模块与浏览模块的关系。
图1-8 管理版块模块与浏览模块的关系
管理用户模块与注册登陆模块关联,是由同一类对象——用户决定的,注册后获得论坛的身份,后成为用户,所有的用户需要接受管理员的管理,用户登录证明自己在论坛中的身份,图1-9是管理用户模块与注册登录模块的关系。
图1-9管理用户模块与注册登陆模块的关系
1.5实体属性和职责
表1-5-1是网上论坛实体目录表
表1-5-1 网上论坛实体目录表
下图以“管理员”为例,说明实体条目的具体编制方法,图1-5-2 表示了实体条目的编制方法。
1-5-2实体条目的编制方法
第2章设计方案
上一节中确定了论坛系统的设计思路,分析了论坛系统的整体需求。但是只知道需不行的,整体需对系统目标的一个模糊描述。要实现一个系统,还需要从需求分析上升到软件设计阶段。
2.1系统结构
从需求分析中得知,可以将功能分为前台和后台两类,因此模块也分为两大类:前台模块和后台模块。
用户在前台注册、登陆,以及修改个人的注册信息组合成注册登录模块;用户浏览版块、浏览主题帖列表、查看帖子组成合成浏览模块;用户发帖、回帖、编辑发布的帖子组合成发帖回帖模块;管理员编辑帖子、删除帖子、转移帖子、置顶帖子和指定精华帖组合成管理帖子模块。以上4个模块组成前台的功能模块。
后台模块都是与管理员相关的,设置论坛参数单独为论坛设置模块;创建、修改和删除版块为管理版块模块;添加、删除和设置权限为管理用户模块。图2-1表示了论坛的模块体系。
图2-1论坛的模块体系
2.2系统架构选择
本系统将采用三层架构。所谓三层架构即三层体系结构,顾名思义,我们将运用程序从整体上分为三个独立而又彼此相关联的层次,这三层分别是:界面层、业务逻辑层、数据层。
(1)界面层:界面层就是运用程序与用户的操作接口,提供给用户一个视觉上的界面,通过界面层,用户输入数据、获取数据。界面层同时也提供一定的安全性,确保用户不会看到的信息。比如说:网页。在用户层,常用到的技术如:HTML、CSS、JavaScript、ASP/等。
(2)业务逻辑层:业务逻辑层就是将一些业务处理的逻辑与规则经过封装,它提供一些接口与用户层与数据层进行交互,是界面层和数据层的桥梁,它响应界面层的用户请求,执行任务并从数据层抓取数据,并将必要的数据传送给界面层。在业务逻辑层,当今比较流行的技术和规,如:Microsoft 的COM/DCOM/COM+/NET组件,SUN 的 EJB等。
(3)数据层:数据层主要是提供业务逻辑层的数据接口和后台的数据管理,数据层定义、维护数据的完整性、安全性,它响应逻辑层的请求,访问数据。这一层通常由大型的数据库服务器实现,比较典型的数据库管理系统有:SQL Sercer 2000/2005 、Orcale 8i/9i,DB2等。
图2-2三层架构