见仁见智

用程序员的眼光看世界

二 乌有和Diego的对话(如何确定需求)

    乌有和Diego在讨论需求
   
    乌:Diego,对这个系统的看法怎样?
    D:嗯,我觉得我们遗漏了某些东西.查看bug列表时,是允许所有用户查看呢?还是经过系统验证的用户?
    乌:.... 我觉得应该是经过系统验证的用户吧.
    D:不一定.如果用户要登录之后才能看到bug列表,不方便.理想状况应该打开系统就能看到.   
    乌:但是你要考虑这么一个问题,假设bug按发现时间的顺序分页列出且bug的数量很多,很可能在第一页该用户看不到属于自己的bug,他就以为没有bug.假如我们要求他必须先登录,那我们就可以根据他的登录信息,列出他的bug的总数,bug的列表...等等.
    D:我上当当网购书的时候,发现他们可以在不登录的情况下记下用户的浏览历史.我猜想这可以通过写用户的cookie实现.
    乌:但我们公司的技术人员对这项技术不熟.我可不能凭猜测确定这个需求.
    (虽然Diego跃跃欲试,但看到乌有先生坚决的神色,也只有妥协)
    D:好吧,那我们就必须先登录,再看列表.
   
    (于是乌有先生编写系统的用例如下:)
   
    用例1:用户查看bug列表
    1.用户点击"bug列表"标签,查看属于自己的bug列表.   
    前置条件:用户已登录系统.
   
    (该用例获得一致通过)
   
    (乌有先生编写系统用例2)
    用例2:用户查看bug详细信息
    1.用户点击bug列表中的某个bug,进入bug详细信息页面.
    2.用户可以修改bug的状态,修改时间.
    前置条件:用户已登录系统.
   
    D:我发现,如果系统要求用户必须先登录才能查看bug,那么此时系统列出的bug都是他的,列出其他人的bug好像没什么必要.
    乌:但是你要考虑,假设我是项目经理或者测试组组长,我想看到所有bug的列表.系统列出所有bug还是必要的.
    D:解决办法有两种.1)访问系统的时候,根据某种逻辑(如时间,模块,bug性质)列出bug的列表.大家不用登录就可以看到.我称这个为"公共bug列表界面".用户一访问系统就能看到这个界面. 2)或者用户登录之后,点"列出所有bug"列表.当然,用户还可以构造自己的过滤器,以决定列出bug的条件.
    乌:那么其实"列出所有bug"和"列出自己的bug"功能可以合并到一起.只不过默认状态列出属于自己的bug,简单的选取条件后又可以列出所有bug.
    D:对,这种想法不错.而且,各自选择应该能汇总成一个名称,姑且称之为过滤器.用户可以建几个常用的过滤器以供快捷使用.
    乌:好办法!
   
    (于是乌有先生修改用例1如下:)
   
    用例1:用户查看bug列表
    1.用户点击"bug列表"标签,查看bug列表. (此时列出的所有bug属于该用户).
    2.用户可以选择某些条件,系统根据这些条件列出相应的bug.如果什么条件都不选,系统列出所有bug.
    前置条件:用户已登录系统.
   
    (乌有先生继续编写用例如下)
   
    用例3:用户添加bug
   1.用户点选"添加bug"标签,进入添加bug界面.   
   2.用户可以添加bug,设定bug的简单描述,详细描述,bug的发现时间,建议修复时间,所属模块,添加人,所有人,修改人,状态.
  
   用例4:用户增删改过滤器
   1.用户点击"过滤器列表"标签,查看当前过滤器列表和当前所采用的过滤器.
   2.用户可以增删改新的过滤器.
  
   (乌有满意的伸伸懒腰)
   乌:我想差不多了.这个系统确实不算太复杂.
   D:我设计个原型,然后一起找子虚先生继续讨论.
   乌:好的,加油!

posted on 2007-04-04 16:13 Diego 阅读(854) 评论(2)  编辑  收藏 所属分类: 需求分析/系统设计

评论

# re: 二 乌有和Diego的对话(如何确定需求) 2007-04-04 16:32 sjun

呵呵,挺有趣的!  回复  更多评论   

# re: 二 乌有和Diego的对话(如何确定需求) 2007-04-04 17:00 yuri

写的好,通俗有趣的例子就把需求分析阶段整个描绘出来  回复  更多评论   


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


网站导航: