举个例子,我想为人工自动售货机画一个用例图,如下所示:
自动售货机有 3 个选项:
carbonated drinks
、tea
、pure water
。
用户下单只能选择以上一项:
carbonated drinks
,则用户需要选择哪个品牌:例如可口可乐或百事可乐。tea
,那么他/她必须选择糖的量。pure water
,那就这样了。选择饮料后,用户必须选择饮料的数量(有点做作)。然后机器会发出确认信息供用户确认。
问题是:
这里的2个
Choose the number of drinks
和Confirm
应该独立保留为用例,还是应该与大用例合并:Buy a kind of drink
?
如果要保留其中至少 1 个,我应该将它们绘制为包含
Buy a kind of drink
的用例还是应该将它们绘制为独立用例?
我认为这 3 个用例
Buy carbonated
、Buy tea
、Buy pure water
是 Buy a kind of drink
的离散化。对于 Buy carbonated
和 Buy tea
,我应该保留包括的用例:Choose brand
和 Choose sugar amount
还是也应该删除它们?
更一般的问题:什么时候应该将做一些大用例的步骤保留为用例,什么时候不应该?这里有很多问题都是相同的,但是答案不一致。
用例是关于“什么”而不是“如何”。后者进入活动并分为操作。用例仅显示正在考虑的系统为其参与者带来的附加值。
所以唯一的附加值是Sell drink
,仅此而已。
我建议阅读 Bittner/Spence 有关用例的内容。他们称之为“综合”,这是正确的词。不分析,更不分解。
奇怪的是,技术人员总是想分解东西。嗯,我知道这很难学,因为我也一直在摸不着头脑。它可能如此复杂,因为它很简单。