这是敏捷开发用户故事系列的第十一篇。(栏目目录

经常有人问起有没有完整的用户故事案例。本人在网上找了一下,大约能找到两三篇,但多数只是为了描述用户故事的语法而已,都不涉及用户故事的颗粒度、大量故事的组织结构这类内容。

本来想用我们自己的火星人做案例,但考虑到大家都不熟悉我们的工作内容,一直没有动手。前天突然想到何不用大家都熟悉的CSDN博客系统做一个演示,所以才有此文。

分析过程使用的方法是敏捷开发用户故事系列之十:八步走从用户故事生成代码结构提到的方法(前四步),如果只计算用Word生成故事树的时间,只有1小时不到(当然这是在系统已经完工的情况下,如果尚未开工正在头脑风暴,可能要花费两个人一上午,一般还会遗漏20%左右。当然这已经很快了)。这种方法的优点是不必迟疑下一步该怎么办,而可以聚焦于正在分析的业务本身。

定义

子系统 无特殊含义,作为目录使用
模块 无特殊含义,作为目录使用
业务数据 一般为名词,用户在系统中需要管理的业务信息。一般每个核心信息包含4~9个下面提到的业务操作,否则应考虑合并或拆分。
业务操作 一般为动词或动宾词组,用户在系统中对业务数据所作的业务操作。最常见的业务操作即我们常说的“增删改查(查看所有,查看单个)”等五个操作。

CSDN博客用户故事分析

下面的三个大子系统,可参考以下页面:

前台功能可参考:
http://blog.csdn.net/cheny_com
后台功能可在登录后访问:
http://write.blog.csdn.net/postlist
社区功能可参考:
http://blog.csdn.net/

下面是火星人帮助系统中的截图,因无法显示悬停内容,在图后有一些展开的说明文字。

注意事项

以下是图中的部分解释(不限于图中有图标的地方,大致从左到右,从上到下)
 
他人博客
若将自己和他人的博客统称为“博客”,则所涉及的操作数量远远超过9个;而且博客用户也能明确感知到两者的区别,故将两者拆分处理。
自己博客
对于自己的博客也可以查看两种视图,但由于与他人博客的数据格式、展示目的、展示方式大致相同,故不再单独计数。
评论
评论无论长短都是直接展开显示在评论列表中的,故没有“查看评论详情”。
查看博客配置信息
博客标题、描述等内容大致目的相同(即都在简单说明网站信息),所以合并并称为“博客配置信息”。
博客栏目
指博客左侧显示内容的设置,不是“博客系列”所指的栏目。
查看自定义栏目详情
即“将栏目的内容显示在博客栏目列表中”。在功能点分析FPA中,这是一类最常被遗忘的功能,又称“隐含操作”。

其他遗漏内容

对博客管理员而言,“推荐的栏目”“推荐的专家”“推荐的博客”等都是业务数据,不过由于没见过实际的操作界面,所以未加以分析。
这些业务数据面向普通用户的几个“查看所有推荐栏目”(就是具体页面上左边或右边边框的推送框)等操作,我暂时写在博客首页-首页文章下面了。实际上,管理员应该还有一个“查看所有推荐栏目”的页面,但逻辑可能和我们的不太一样,因此可能应该计数为另外一个用户故事。

此方法的优势

使用这种名词-动词方法的优势在于,不同的人分析结果大致相同。
差异一般在于对具体故事的名称、描述、所处位置的略微不同,但对故事的存在性、数量的差异很小。
实际上,这种方法的原型是功能点分析法,而名词就是ILF(本文没有分析EIF),动词就是EI/EO/EQ。据称不同人使用功能点分析法对同一系统所作分析的差距小于10%(一说5%),这是这种方法被用来做早期报价和估算的原因。
如有问题,欢迎在下面留言:)

敏捷开发用户故事系列之十一:CSDN博客用户故事分析的更多相关文章

  1. 业余草通告CSDN博客用户zhang__ao非法转载文章的公告

    今天早上有粉丝给我反馈,CSDN的一位用户大量非法的转载了我的个人网站:业余草(www.xttblog.com)上的大量文章.现一对该用户转载业余草上网站上的所有文章进行了举报! 从上图中可以看出,该 ...

  2. CSDN博客的积分计算方法和博客排名规律

    开通博客一段时间了,近期莫名其妙得获得"持之以恒"的勋章,看着日益增长的积分,既兴奋又好奇.本人对CSDN博客积分的计算方法非常疑惑,也不知当中怎么回事,好奇度娘一番,并结合CSD ...

  3. CSDN博客积分规则

    1.博客积分规则 博客积分是CSDN对用户努力的认可和奖励,也是衡量博客水平的重要标准.博客等级也将由博客积分唯一决定.积分规则具体如下: 每发布一篇原创或者翻译文章:可获得10分: 每发布一篇转载文 ...

  4. Android应用开发-小巫CSDN博客client之嵌入有米广告

    Android应用开发-小巫CSDN博客client之嵌入有米广告 上一篇博客给大家介绍怎样集成友盟社会化组件,本篇继续带来干货,教大家怎样嵌入广告到应用中去.小巫自称专业对接30年,熟悉各大渠道SD ...

  5. [置顶] CSDN博客第四期移动开发最佳博主评选

    CSDN博客第三期最佳移动开发博主评选圆满结束,恭喜所有上榜用户,为继续展示移动开发方向优秀博主,发掘潜力新星,为移动开发方向的博客用户提供平台,CSDN博客第四期移动开发最佳博主评选开始.同时,获奖 ...

  6. Android应用开发-小巫CSDN博客客户端开发开篇

    2014年9月8日 八月十五 祝各位中秋节快乐 小巫断断续续花了几个星期的时间开发了这么一款应用——小巫CSDN博客,属于私人定制的这样的一款应用,整个客户端的数据全部来自本人博客,是通过爬取本人博客 ...

  7. Notepad++前端开发常用插件介绍 - BorisHuai前端修炼 - 博客频道 - CSDN

    Notepad++前端开发常用插件介绍 - BorisHuai前端修炼 - 博客频道 - CSDN.NET http://blog.csdn.net/borishuai/article/details ...

  8. Android应用开发-小巫CSDN博客clientJsoup篇

    Android应用开发-小巫CSDN博客clientJsoup篇 距上一篇博客已经过去了两个星期,小巫也认为很抱歉,由于在忙着做另外一个项目,差点儿抽不出空来,这不小巫会把剩下的博文全部在国庆补上.本 ...

  9. Android应用开发-小巫CSDN博客client之显示博文具体内容

    Android应用开发-小巫CSDN博客客户端之显示博文具体内容 上篇博文给大家介绍的是怎样嵌入有米广告而且获取收益,本篇博客打算讲讲关于怎样在一个ListView里显示博文的具体信息.这个可能是童鞋 ...

随机推荐

  1. WPF 自带Datagrid编辑后无法更新数据源的问题

    原文  WPF 自带Datagrid编辑后无法更新数据源的问题 解决办法: 在列的绑定属性里加上UpdateSourceTrigger,示例XAML如下 <DataGrid Grid.Row=& ...

  2. premake Ubuntu下的安装

    premake是个跨平台的编译工具,先看看在Ubuntu下怎么安装. 首先下载,在/usr目录下: sudo wget -O premake-4.4-beta4-linux.tar.gz http:/ ...

  3. protected的一些功能

    java的访问限制有private.protected.public.这里只想进一步认识一下protected. 我对protected有4个疑问: 1,在相同包中,是否可以调用其它类的protect ...

  4. 在SharePoint 2013 中使用文档库Scheduling (计划公布功能)

    本文讲述在SharePoint2013 中使用文档库Scheduling (计划公布功能)的步骤和注意的事项. 文档库Scheduling (计划公布功能) 用于设定当文档通过审批后特定的时间区间内才 ...

  5. tcp接收xml数据解析

    避免tcp接收xml数据时加上xml数据长度,根据xml数据特点来解析recv到的xml数据 int nPos1 = 0; int nPos2 = 0; int nTempPos = 0; int n ...

  6. hdu 4812 D Tree(树的点分治)

    D Tree Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/102400 K (Java/Others) Total ...

  7. 【水】HDU 2099——整除的尾数

    来源:点击打开链接 数据范围小,枚举水过就行了……不过要注意格式! #include <iostream> #include <cstring> #include <io ...

  8. C++学习之路—运算符重载(一)概念、方法及规则

    (根据<C++程序设计>(谭浩强)整理,整理者:华科小涛,@http://www.cnblogs.com/hust-ghtao转载请注明) 1    什么是运算符重载 先来说下什么是重载吧 ...

  9. HDU 4869 Turn the pokers (2014 多校联合第一场 I)

    HDOJ--4869--Turn the pokers[组合数学+快速幂] 题意:有m张扑克,开始时全部正面朝下,你可以翻n次牌,每次可以翻xi张,翻拍规则就是正面朝下变背面朝下,反之亦然,问经过n次 ...

  10. Effective C++ 第二版 8) 写operator new 和operator delete 9) 避免隐藏标准形式的new

    条款8 写operator new 和operator delete 时要遵循常规 重写operator new时, 函数提供的行为要和系统缺省的operator new一致: 1)正确的返回值; 2 ...