每日一得

不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速开发
最近关心的内容:SSH,seam,flex,敏捷,TDD
本站的官方站点是:颠覆软件

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  220 随笔 :: 9 文章 :: 421 评论 :: 0 Trackbacks

1  Jive 功能需求

Jive 功能需求分析类似于一个新系统的需求分析。只有了解 Jive 系统实现了哪些论坛功能,才能进一步研究和学习它是怎样巧妙、优雅地实现这些功能的。

论坛系统是网络交流的一种主要互动功能系统,如图 3-1 所示。通过论坛系统,用户可以共同就某个话题不断进行讨论,通过发贴功能发布新的话题,通过回贴功能回复别人的话题。 Jive 论坛系统可以允许管理员动态地创建新的论坛、编辑论坛的内容、设置论坛过滤信息以及管理注册用户等。

3-1  Jive 用例图

Jive 论坛系统中,用户角色和权限是紧密联系在一起的。主要分两大角色:普通用户和管理员,具体的表现形式是通过权限组合来体现的。管理方面的权限有:

·          SYSTEM_ADMIN ,系统管理员,可以管理整个系统。

·          FORUM_ADMIN ,论坛管理员,可以管理某个特定的论坛。

·          USER_ADMIN GROUP_ADMIN ,用户和组管理员,可以管理一些特定用户和用户 组。

论坛的读写权限包括:读权限,创建一个新主题,创建一个新的帖子等。

Jive 中没有明确定义普通用户和管理员角色,而是直接通过以上权限组合和具体用户直接建立联系,并将这种直接联系保存到数据库中。

在权限不是很复杂的情况下,这种没有引入角 色的做法比较简单直接。但由于用户和权限直接挂钩,而用户和权限都可能在不断地动态变化,那么它们之间由于联系太直接和紧密,对各自变化形成了限制。所 以,对于复杂的权限系统,引入了基于角色的权限系统,这将在以后章节中进一步讨论。

Jive 论坛业务对象主要分为 Forum ForumThread ForumMessage ,它们之间的关系如图 3-2 所示。

每个论坛 Forum 包含一系列 ForumThread (主题),而每个主题都是由很多内容帖子 ForumMessage 组成的,这是一个聚集关系。这 3 种对象中每一个对象都涉及到对象数据的创建、编辑、查询和删除,这些对象数据分别保存在数据库中。这 3 个对象对于不同的角色可操作访问权限是不一样的,只有系统管理员和论坛管理员可以对 Forum 相关数据实行操作,普通用户可以创建或编辑 ForumThread ForumMessage

Jive 论坛为了实现不同用户对不同基本对象的不同操作权限,通过设定一个统一的入口,在这个入口将检查客户端每次对数据的操作权限,如图 3-3 所示。

  

3-2  基本对象关系图                             3-3  入口示意图

客户端每次对数据库的操作,都要经过 ForumFactory 入口进入。在 ForumFactory 中会动态生成一个访问控制代理 ForumFactoryProxy ,通过 ForumFactoryProxy 检查客户端访问方法是否符合整体权限访问控制要求。

下面将从 ForumFactory 作为 Jive 论坛系统分析入手,结合设计模式逐步分解论坛功能的具体实现。

posted on 2006-08-31 12:25 Alex 阅读(2084) 评论(1)  编辑  收藏 所属分类: java

评论

# re: [zt]Jive论坛系统完整分析(1) 2006-08-31 17:16 eliza
文中的图都成了chinaitpower的动画图片,请问能恢复正常吗?  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: