如何解决"设计自动售货机"等设计问题

14 architecture oop design-patterns

我想知道我应该遵循哪些步骤来解决设计自动售货机等问题并提出一些设计文档(如用例,序列图,类图).是否有任何来源/链接,我可以阅读它谈论如何一步一步走.

谢谢.

Bra*_*don 19

我不确定是否有任何普遍接受的步骤,但最简单的方法就是尽可能地分解每一步.

  1. 从主要行动开始(投入资金,按选择,接受饮料)
  2. 继续将每个动作分解为较小的动作和响应,直到它变得几乎无关紧要.因此,为了投入资金,您必须知道投入了多少,投入的总金额,要显示的金额等.
  3. 想想你的行为不再有效的任何情况(你推动一个选择并且机器是空的),以及你将如何处理它.(退还他们的钱,提示另一个选择等)
  4. 将操作和响应分配给actor和系统.谁投入资金,谁跟踪运行总额?

然后,您可以将序列图和类图基于您所提出的基础.


sal*_*sal 5

嗯,自动售货机基本上是一台状态机.

我会决定有效的输入是什么(硬币和账单?)以及输出是什么.

用户走到机器的可能结果是什么.可能会出现什么问题?(太多的钱,太少的钱)他们将如何处理?(分发更改,分发退款)

最后,写出处理用例所需的内容.你的名词可能是类.您的动词可能是属于这些类的方法.