5

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

设计一个计算器

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

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

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

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

5.存储最后的语句和答案,以便在用户按下“最后计算”按钮时显示。

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

使用演员表 1

替代文字 替代文字

4

2 回答 2

4

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

一些更具体的评论:

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

  • 不清楚是做什么Press Backspace的。Backspace 只是一个键,而不是一个用例。

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

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

编辑:

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

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

于 2010-06-18T09:16:11.190 回答
3

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

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

于 2010-06-18T08:42:13.083 回答