我想了解OOAD
和UML
。在这个任务中,我遇到了一些情况,我觉得如果其中任何一个是其他项目的先决条件。在某些情况下,在阅读OOAD
时,我觉得我应该事先知道UML
,在某些情况下反之亦然。我没有保持这种混乱,而是寻求一些投入:
1)在探索“UML”之前,首先应该先了解OOAD
是什么吗?
2)OOAD
和UML
之间的关系是什么?
任何简单的答案对于摆脱这个令人困惑的循环都会有很大的帮助。
答案 0 :(得分:4)
我建议你在UML之前了解适当的OO。了解如何正确地进行分析和设计比了解如何遵循UML语法来表达它更重要。一个类比是,任何人都可以使用正确的语法编写小说,但它会很糟糕。写得好很难。
UML是众多符号中的一种,但它恰好已经由OMG和ISO标准化。我首先从Rumbaugh关于OMT的书中学到了这一点,我认为这是一个更好的符号,但由于UML标准,它现在已被抛弃。
答案 1 :(得分:3)
我想你可以携手合作 - 如果你采取小步骤。我同意JimL的观点。你应该首先学习OO的基本概念。我知道,如果你来自纯粹的功能方法,那就太难了。但即使是OO的基本概念也很容易掌握 - 一旦你掌握了正确的吸管。现在,UML是一个非常复杂的野兽 - 就像OO一样,它的长度和范围都很广。但是在小片中吃它,在小的UML盘子上(标记符号),你可能会达到成为鉴赏家的状态而不会发胖。 OOAD最后只是一个很好的晚餐构建,从OO的知识和正确的方式与一些UML应用它。
N.B。:我自己学会了OON的ICONIX方式(你可以google)。我发现这是一种最实用的方法,对我帮助很大。后来我读了关于用例的Bittner / Spence,发现了一个更有价值的资源。要求(实际上是任何设计的基础)只在很晚的状态下才能达到我的要求。这根本不是太糟糕,因为处理它们非常敏感!
答案 2 :(得分:1)
我想说在你试图掌握UML之前,你应该掌握OO概念。最重要的是,类的概念封装了数据/状态和操作。
OO是一种结构化设计和实现的方式,而UML是一种记录两者(以及其他东西)的方式。虽然UML的各个方面在他们的方法中并不是特别面向对象(用例和活动图会浮现在脑海中),但是当你到达实现方面时,你会发现操作,例如,只存在于元素(通常是Class)的上下文中,并且文件不是基本概念,而是类。
因此,使用开箱即用的UML很难在经典C中记录源代码集合。如果您想要记录的内容本身就是面向对象的,那么您将会有更轻松的时间。
答案 3 :(得分:0)
嗯,UML和OOAD都有不同的用途。如果你问我优先级,我会更多地评价OOAD而不是UML,现在你的问题,我建议你对UML有一个高层次的想法,比如如何代表你的类,如何用UML表示关联,如何表示组合等,然后给OOAD留出时间。