本书未发布
26. 产品分解
简介
在本节,我们将首先分析一下要构建项目( ThinkBBS )的功能,便大家对我们要开发的项目有一个初步概念。
用例分析
ThinkBBS 是本教程将要构建的项目名称,是一款论坛软件。此论坛软件是以 [ThinkPHP 技术论坛] (learnku.com/thinkphp) 作为基础原型来构建。
下面我们简单地从产品用例的角度上来分析 ThinkBBS 的需求,好让大家对我们即将开发的项目有个基础的概念。我们主要从以下三种元素入手:
- 角色
- 信息
- 动作
接下来做单独分解。
1. 角色
在 ThinkBBS 里,将会出现以下角色:
- 游客 —— 没有登录的用户(前台模块);
- 用户 —— 社区注册用户(前台模块);
- 运营 —— 辅助管理员做社区内容管理(后台模块);
- 站长 —— 权限最高的用户角色(后台模块)。
我们项目在构建过程中前后台是分离的,前后台权限是完全独立的,但在同一平台内高权限用户将包含低权限用户的权限,即 用户 拥有 游客 的所有权限,站长 拥有 运营 的所有权限。
2. 信息结构
主要信息有:
- 用户 —— 模型名称 User,论坛为 UGC 产品,所有内容都围绕用户来进行;
- 话题 —— 模型名称 Topic,ThinkBBS 论坛应用的最核心数据,有时我们称为「帖子」;
- 分类 —— 模型名称 Category,话题的分类,每一个话题必须对应一个分类,分类由 运营 或 站长 创建;
- 回复 —— 模型名称 Reply,针对某个话题的讨论,一个话题下可以有多个回复。
3. 动作
角色和信息之间的互动称之为『动作』,动作主要由以下几个:
- 创建 Create
- 查看 Read
- 编辑 Update
- 删除 Delete
用例
我们将分别讲解角色的用例,为了减少重复,我们对讲解的顺序做了设计,同平台内排后的高权限角色适用前面角色的用例。
1. 游客
- 游客可以查看所有话题列表;
- 游客可以查看某个分类下的所有话题列表;
- 游客可以按照发布时间和最后回复时间进行话题列表排序;
- 游客可以查看单个话题内容;
- 游客可以查看话题的所有回复;
- 游客可以通过注册按钮创建用户(游客专属);
- 游客可以查看用户的个人页面。
2. 用户
- 用户可以在某个分类下发布话题;
- 用户可以编辑自己发布的话题;
- 用户可以删除自己发布的话题;
- 用户可以回复所有话题;
- 用户可以删除自己的回复;
- 用户可以编辑自己的个人资料。
3. 运营
- 运营可以访问后台;
- 运营可以编辑所有的话题;
- 运营可以删除所有的回复;
- 运营可以编辑分类。
4. 站长
- 站长可以编辑用户;
- 站长可以删除用户;
- 站长可以修改站点设置;
- 站长可以删除分类。
推荐文章: