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

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

本来想用我们自己的火星人做案例,但考虑到大家都不熟悉我们的工作内容,一直没有动手。前天突然想到何不用大家都熟悉的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. Spring mvc之提交表单

    表单内容: <body> <form action="user/login"> <table> <tr> <td>用户名 ...

  2. Eclipse验证码

    package MyEclipse; import java.io.*;     public class MyEclipseGen {     private static final String ...

  3. jstl标签经典

    1. <c:out> 库 :Core(核心库) URI : http://java.sun.com/jsp/jstl/core 前缀 : c 描述 :<c:out> 标签是一个 ...

  4. 【linux】linux内核移植错误记录

       欢迎转载,转载时请保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http ...

  5. LINQ to SQL的一些简单用法

    static void Main(string[] args) { var personList = new List<Person> { new Person() { PersonID= ...

  6. xcode-build/version-bump

    # xcode-build-bump.sh # @desc Auto-increment the build number every time the project is run. # @usag ...

  7. 基于visual Studio2013解决C语言竞赛题之1057打印加数

       题目 解决代码及点评 /* 功能: 已知N是正整数, 它可拆写成三个正整数N1.N2和N3之和的形式N=N1+N2+N3. 请编程序打印出满足上式的全部组合,并当N1.N2和N3中至 ...

  8. 基于visual Studio2013解决C语言竞赛题之1052求根

       题目 解决代码及点评 /* 功能:用简单迭代法解方程 e^x - x - 2 = 0 它有两个根(如图),其迭代公式为: 1) x[n+1]= e^x*n-2 (初值X<0时) ...

  9. html5之拖放简单效果

    <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title> ...

  10. Kendo UI开发教程(25): 单页面应用(三) View

    View为屏幕上某个可视部分,可以处理用户事件. View可以通过HTML创建或是通过script元素.缺省情况下View将其所包含的内容封装在一个Div元素中.Kendo创建View有两种方式: 使 ...