OOAD、UML的关系。哪些知识是先决条件?
Relationship between OOAD, UML. which knowledge is prerequisite?
我正在尝试理解 OOAD
和 UML
。在这个任务中,我遇到了一些情况,在这些情况下,我觉得它们中的任何一个是否是另一个项目的先决条件。也就是说,在某些情况下,在阅读 OOAD
时,我觉得我应该事先了解 UML
,而在某些情况下,反之亦然。我没有保持这种混乱,而是寻求一些意见:
1) 在探索 `UML 之前,是否应该先了解 OOAD
是什么?
2) OOAD
和UML
有什么关系?
任何简单的答案都会对走出这个令人困惑的循环有很大帮助。
我建议您在学习 UML 之前学习适当的 OO。知道如何正确地进行分析和设计比知道如何遵守 UML 语法来表达它更重要。打个比方,任何人都可以使用正确的语法写小说,但它会很烂。很难写好。
UML 是众多符号之一,但它恰好已被 OMG 和 ISO 标准化。我最初是从 Rumbaugh 的关于 OMT 的书中学习的,我认为这是一个更好的表示法,但现在由于 UML 标准而被放弃了。
我想你们可以手拉手地做 - 如果你采取小步骤。我同意 JimL。你应该首先学习OO的基本概念。我知道如果你来自纯函数式方法,这很难。但即使是 OO 的基本概念也很容易掌握——一旦你抓住了正确的稻草。现在,UML 是一头非常复杂的野兽——就像 OO 一样。但是把它切成小块,放在微型 UML 盘子(class 符号)上食用,您可能会达到成为鉴赏家的状态而不会发胖。 OOAD 最终只是一顿美味的晚餐,建立在 OO 知识的基础上,并通过一些 UML 以正确的方式应用它。
N.B.: 我自己以 ICONIX 的方式学习了 OOAD(你可以 google 他们)。我发现一种最实用的方法对我帮助很大。后来我阅读了 Bittner/Spence 有关用例的内容,发现这是一个更有价值的资源。需求(实际上是任何设计的基础)只是在很晚的时候才到达我这里。这还不算太糟糕,因为与他们打交道非常棘手!
我想说的是,在尝试掌握 UML 之前,您应该掌握 OO 概念。最重要的是,一个class的概念封装了data/state和操作。
OO 是一种结构化设计和实现的方式,而 UML 是一种记录两者(以及其他内容)的方式。
虽然 UML 的某些方面在其方法中并不是特别面向对象(请记住用例和 activity 图 spring),但当您到达事物的实现方面时,您例如,您会发现操作只能存在于元素的上下文中(通常是 Class),并且文件不是基本概念,但 class 是。
因此很难使用开箱即用的 UML 在 classic C 中记录源代码集合。如果您要记录的内容本身就是面向对象的,那么您会轻松很多。
好吧,UML 和 OOAD 的服务不同 purposes.If 你问我关于 OOAD 而不是 UML 的优先级,现在你的问题,我建议你有一个高层次的想法UML,例如如何表示您的 class,如何在 UML 中表示关联,如何表示组合等,然后给 OOAD 时间。
我正在尝试理解 OOAD
和 UML
。在这个任务中,我遇到了一些情况,在这些情况下,我觉得它们中的任何一个是否是另一个项目的先决条件。也就是说,在某些情况下,在阅读 OOAD
时,我觉得我应该事先了解 UML
,而在某些情况下,反之亦然。我没有保持这种混乱,而是寻求一些意见:
1) 在探索 `UML 之前,是否应该先了解 OOAD
是什么?
2) OOAD
和UML
有什么关系?
任何简单的答案都会对走出这个令人困惑的循环有很大帮助。
我建议您在学习 UML 之前学习适当的 OO。知道如何正确地进行分析和设计比知道如何遵守 UML 语法来表达它更重要。打个比方,任何人都可以使用正确的语法写小说,但它会很烂。很难写好。
UML 是众多符号之一,但它恰好已被 OMG 和 ISO 标准化。我最初是从 Rumbaugh 的关于 OMT 的书中学习的,我认为这是一个更好的表示法,但现在由于 UML 标准而被放弃了。
我想你们可以手拉手地做 - 如果你采取小步骤。我同意 JimL。你应该首先学习OO的基本概念。我知道如果你来自纯函数式方法,这很难。但即使是 OO 的基本概念也很容易掌握——一旦你抓住了正确的稻草。现在,UML 是一头非常复杂的野兽——就像 OO 一样。但是把它切成小块,放在微型 UML 盘子(class 符号)上食用,您可能会达到成为鉴赏家的状态而不会发胖。 OOAD 最终只是一顿美味的晚餐,建立在 OO 知识的基础上,并通过一些 UML 以正确的方式应用它。
N.B.: 我自己以 ICONIX 的方式学习了 OOAD(你可以 google 他们)。我发现一种最实用的方法对我帮助很大。后来我阅读了 Bittner/Spence 有关用例的内容,发现这是一个更有价值的资源。需求(实际上是任何设计的基础)只是在很晚的时候才到达我这里。这还不算太糟糕,因为与他们打交道非常棘手!
我想说的是,在尝试掌握 UML 之前,您应该掌握 OO 概念。最重要的是,一个class的概念封装了data/state和操作。
OO 是一种结构化设计和实现的方式,而 UML 是一种记录两者(以及其他内容)的方式。
虽然 UML 的某些方面在其方法中并不是特别面向对象(请记住用例和 activity 图 spring),但当您到达事物的实现方面时,您例如,您会发现操作只能存在于元素的上下文中(通常是 Class),并且文件不是基本概念,但 class 是。
因此很难使用开箱即用的 UML 在 classic C 中记录源代码集合。如果您要记录的内容本身就是面向对象的,那么您会轻松很多。
好吧,UML 和 OOAD 的服务不同 purposes.If 你问我关于 OOAD 而不是 UML 的优先级,现在你的问题,我建议你有一个高层次的想法UML,例如如何表示您的 class,如何在 UML 中表示关联,如何表示组合等,然后给 OOAD 时间。