计算器的用例建模

时间:2010-06-18 08:09:50

标签: java uml use-case

我需要帮助建模一个主题的用例图,它将在java GUI中

设计一个

的计算器

1.允许用户键入涉及数字,运算符+, - 和括号'('和')'的合法算术语句;

2.当用户按“计算”按钮时,显示结果;

3.有些合法陈述是((3 + 2)-4 + 2)(等于3)和(-2 + 3) - (3-1)(等于-1);

4.您不应该使用预先存在的函数,只将语句作为参数接收并返回结果,但您应该编写解析代码中每个字符的逻辑。

5.存储最后一个语句并回答,以便在用户按“上次计算”按钮时显示。

我在netbeans 6.5.1上使用UML设计了两个用例图,其中一个用例我不确定它是否包含太多用例等,而另一个是我认为可能太模糊了topic.i希望得到一些关于用例图是否合适的反馈,谢谢。我在GUI中包含了它的内容

use cast 1

alt text alt text

2 个答案:

答案 0 :(得分:4)

您必须了解的关于用例图的第一件事是,它应该描述一个系统的功能。它应该处于如此高的水平,任何没有编程知识的人都可以理解它。作为程序员,用例可能看起来很模糊,但没关系。它不应该对系统说什么,只是它可以做什么。

更具体的评论:

  • 正如我所提到的,用例应描述高级功能。 Press Calculate不是函数,Calculate是函数。 Press Last Calculation应为Store Last Calculation

  • 不清楚Press Backspace的作用。退格只是一个关键,而不是用例。

  • ParserSys包试图描述系统的内部。这不属于用例图。其他图表应该用于此。

  • 用例Store Result(第一张图片)不应在此图表中。但如果那是用户可以做的事情,它应该与用户相关联。

编辑:

  

..我认为主要问题是我无法识别用例..

识别用例的一种好方法就像问问自己一样简单:“[Actor]应该能够[what]”(或类似的东西)。 [什么]那么你的用例。如果它不适合这句话,它可能不是一个用例。

答案 1 :(得分:3)

在第二个用例图中,您的用户具有基于为实现第一个用例而执行的操作序列的用例。这些可以更好地表示为活动图或状态机 - 用户关心获取计算结果,并且为了获得这些结果表达式需要键入需要按下的按钮是偶然的。创建用例时,请关注用例的发起者所具有的目标,而不是系统如何帮助他们实现这些目标。

另一方面,您提供的规范没有说明使用Java GUI模拟键盘,或者模拟中的退格键。与利益相关者核实是否“允许用户键入”只是意味着让他们在某处键入或提供屏幕键盘。