UML学习手记(二):用例分析之使用叙述

来源:互联网 发布:python顶级黑客 编辑:程序博客网 时间:2024/05/16 05:20

UML学习手记(二):用例分析之使用叙述

粟卫民http://www.gisdev.cn/ http://blog.csdn.net/suen/ 日期:2007-11-30

保留所有版权。如需转载,请联系作者,并在醒目位置注明出处

Alistair Cockburn所著的《Writing Effective Use Cases》一书中,提到了一个对于分析用例十分有用的工具,就是使用叙述(usage narrative)。简单的说,使用叙述就是一个具体的执行者使用系统的例子。它不是用例,但是能够为我们分析用例服务,所以非常适合没有用例编写经验的开发人员或业务专家。

“在使用叙述中,编造一个虚构但具体的执行者,然后试图去捕捉这个人的心理状态——他为什么想要这样做,或者什么条件驱使他那样去做。对于所有的用例编写,不必写得太多。简明扼要的几句话所能表达的信息量常常是惊人的。在这个具体的事例中,捕捉从开始到结束整个过程中的运作情况。”

“简明性很重要,因为读者可以很快地了解整个故事。细节和动机或者情感内容也是很重要的,它们使得每一个读者(包括需求审核人员、软件设计人员、测试用例编写人员以及培训材料作者)都能清楚如何优化系统以使用户获得更多的益处。”

“系统使用叙述易于阅读,篇幅也很小,但它能很容易地、循序渐进地把读者引入到用例当中。”下面我们用几个例子来具体的说明使用叙述。第一个例子是原书的例子,后两个是我做的一些练习,有什么问题请大家给我指出来。

1)例子:ATM机获得“快速兑现”

玛丽在上班的路上顺便带她的两个女儿去日托中心。她开车到达ATM机,把她的卡插入读卡口,输入PIN号码,然后选择“快速兑现”(FAST CASH),并输入金额$35ATM机输出一个$20和三个$5的现金,外加一个显示她取出$35后帐号余额的收据。每完成一次快速兑现交易,ATM机就重置其屏幕,这样玛丽就可以开车离开而不用担心下一个司机会进入她的帐号。玛丽喜欢快速兑现的原因是它避免了许多减慢交互速度的问题。她到这个特殊的ATM机取钱的原因是这个ATM机能够兑换出$5的现金钞票,她用来$5来付日托的费用,此外,她不必下车就可以使用这个ATM机。

2)中国现有银行ATM机系统改进版(增加兑换零钱功能)

小刘下班去菜市场买菜,发现自己只有百元大钞,没零钱了。他找到银行ATM机,发现没带银行卡(带银行卡的话可以直接从银行账户中取零钱)。所以选择“兑换零钱”à“输入50元或100元”,然后放入一张面额100元的钞票,点击“确定”。ATM验证钞票的面额及真伪,并检查机内钞票情况,如果有零钱就显示“请输入要兑换零钱的面额,可多选”,(如果没零钱就显示“对不起,本机已无零钱,请找其它ATM机或与银行工作人员联系”),并显示“1元”、“5元”、“10元”等选项,小刘选择“1元”、“5元”两个选项,然后系统给出150元、410元、15元、51元的钞票。小刘喜欢这个ATM机系统的原因是它可以根据银行卡和大面额钞票两种方式兑换零钱,而且可以兑换1元面额,十分方便乘坐公交、买菜等。

3)去录像带出租商店租原版“The Parent Trap”录像带

小王周末没什么事,准备去租一直想看的“The Parent Trap”录像带。他来到录像带出租商店,要求租借原版“The Parent Trap”录像带,店主首先查询租借记录发现此录像带还有,于是找到此录像带拿给小王,小王付给店主押金就离开了。店主记录下租借人的名称和开始租借的日期。

4)删除已废弃的移动基站

小李是移动公司总部的基站管理人员,现在有一个基站年久失修,位置选择也不恰当,已经由另一新基站完全替代,现在要在公司现有基站档案中把此基站删除并归为废弃基站存档。小李输入用户名和密码登录移动基站管理WebGIS系统,首先通过基站编号搜索到此基站,然后对比基站的位置和名称等属性,确认是待删除基站。然后选择“删除并归档”选项,点击“删除”按钮即完成此基站的删除和归档。小李喜欢此WebGIS系统的原因一个是它可以有多种查询方式查询基站,另一个是此系统使用地图来表示基站的位置及周边情况,非常直观,所见即所得。

通过这些练习,我个人看来,使用叙述编写要记住以下几点:(1简明2具体3)记录动机和情感内容