用例建模与计算器相关

5
我需要帮忙从主题中建模用例图,它将在Java GUI中实现。设计一个计算器,允许用户输入合法的算术语句,包括数字、运算符+、-和括号“(”和“)”。当用户按下“计算”按钮时,显示结果;一些合法的语句将是((3+2)-4+2)(等于3)和(-2+3)-(3-1)(等于-1);你不应该使用现有的函数只将语句作为参数并返回结果,而应该在代码中编写解析每个字符的逻辑。存储最后一个语句和答案,以便在用户按下“上一次计算”按钮时显示。我已经在NetBeans 6.5.1上使用UML设计了两个用例图,其中一个我不确定是否包含太多的用例等,而另一个则可能对主题太模糊。我希望能得到一些反馈,看看用例图是否合适,谢谢。我在GUI中包含了所需的内容。

1
很高兴看到你已经尝试了一下,希望你能得到一些合适的答案。 - Matt Mitchell
2个回答

4
你必须知道的关于用例图的第一件事是它应该描述系统的功能,以及为哪个角色。它应该处于如此高的层次,以至于任何没有编程知识的人都能理解它。作为程序员,用例可能对你来说非常模糊,但这没关系。它不应该说什么关于系统,只是它能做什么。
一些更具体的评论:
- 如我所提到的,用例应该描述高级功能。 "按计算" 不是一个功能, "计算" 才是。 "按上次计算" 应该是 "存储上次计算",等等。 - "按退格键" 的作用不清楚。退格键只是一个键,不是一个用例。 - “ParserSys”包试图描述系统的内部情况。这不属于用例图。其他图应该用于此。 - 用例“存储结果”(第一张图片)不应该出现在这个图中。但是如果这是用户可以执行的操作,则应将其与用户相关联。
编辑:
“... 我相信主要问题是我很难识别用例...”
识别用例的好方法就是简单地问自己这个问题:“[演员] 应该能够 [做什么]”(或类似的问题)。 [做什么] 然后就是你的用例。如果它不适合这个句子,那么它可能不是一个用例。

3
在第二个用例图中,用户根据执行第一个用例的操作序列具有使用用例。这些最好表示为活动图或状态机——用户关心获取计算结果,输入表达式和按按钮只是附带的。创建用例时,要重点关注用例发起者的目标,而不是系统如何帮助他们实现这些目标。
另外,您提供的规范并未说明如何使用Java GUI模拟键盘或后退键,就像您的模型一样。请与利益相关者确认,“允许用户输入”是否仅意味着提供输入位置,还是提供屏幕键盘。

感谢您的回答,“创建用例时,应专注于用例发起人的目标,而不是系统如何帮助他们实现这些目标。” 这帮助我澄清了一些疑惑,我相信主要问题在于我很难确定用例,并且在规格方面,这是一个作业,非常简单,需要使用Java GUI创建,而其他功能(例如退格键等)可以添加以获得“奖励”分数。 - sutoL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接