Отношения между OOAD, UML. какое знание является необходимым условием?


Я пытаюсь понять OOAD и UML. В этом задании я столкнулся с некоторыми ситуациями, в которых я чувствовал, что любая из них является предпосылкой для другого предмета. То есть в некоторых ситуациях при чтении OOAD я чувствовал, что должен иметь предварительное знание UML, а в некоторых ситуациях наоборот. Вместо того чтобы поддерживать эту путаницу, я ищу некоторые входные данные:

1) Следует ли сначала понять, что такое OOAD, прежде чем исследовать ' UML?

2) какова связь между OOAD и UML?

Любые ответы простыми словами окажут большую помощь в выходе из этой запутанной петли.
4 2

4 ответа:

Я бы посоветовал вам узнать о правильном OO до UML. Гораздо важнее знать, как правильно выполнять анализ и проектирование, чем придерживаться синтаксиса UML для его выражения. Аналогия заключается в том, что любой может написать роман, используя правильный синтаксис, но это будет отстойно. Трудно писать хорошо.

UML - одна из многих нотаций, но она была стандартизирована как OMG, так и ISO. Я впервые узнал об этом из книги Рамбо о OMT, которая, как мне казалось, была лучше нотация, но теперь она была заброшена из-за стандарта UML.

Я думаю, вы можете сделать это рука об руку - если вы делаете маленькие шаги. Я согласен с JimL. что вы должны сначала изучить основную концепцию ОО. Я знаю, что это трудно, если вы исходите из чисто функционального подхода. Но даже основную концепцию ОО легко понять-как только у вас есть правильная соломинка, чтобы держаться. Так вот, УМЛ-это очень сложный зверь, подобный ОО во всей своей длине и ширине. Но, поедая его маленькими кусочками, подаваемыми на крошечных UML-тарелках (обозначение класса), вы можете достичь состояния знаток не толстеет. ООАД, наконец, это просто хороший ужин, построенный из знания ОО и применения его правильным образом с небольшим количеством UML.

N. B.: Я сам научился OOAD способом ICONIX (вы можете погуглить их). Я нашел, что это самый практичный подход, который мне очень помог. Позже я прочитал Биттнера / Спенса о случаях использования и обнаружил, что это еще более ценный ресурс. Требования (которые на самом деле являются фундаментом любой конструкции) дошли до меня только в очень позднем состоянии. Это было не так уж плохо. все с тех пор, как имеешь с ними дело, крайне обидчивы!

Я бы сказал, что вы должны иметь представление о концепциях OO, прежде чем пытаться справиться с UML. Самое главное-концепция класса, инкапсулирующего данные / состояния и операции.

OO-это способ структурирования проектирования и реализации, в то время как UML-это способ документирования обоих (и других вещей помимо этого).

Хотя существуют аспекты UML, которые не являются особенно объектно-ориентированными в своем подходе (примеры использования и диаграммы активности приходят на ум), когда вы добираетесь до вы обнаружите, что операции, например, могут существовать только в контексте элемента (обычно класса), и что файл-это не фундаментальное понятие, А класс.

Таким образом, трудно документировать коллекцию исходного кода в классическом C, используя готовый UML. Если то, что вы хотите документировать, само по себе является объектно-ориентированным,вам будет намного легче.

Ну, и UML, и OOAD служат разным целям.Если вы спросите меня о приоритете, который я бы оценил больше для OOAD, а не UML, теперь к вашему вопросу, я бы предложил вам иметь идею высокого уровня для UML, такую как представление вашего класса ,представление ассоциаций в UML ,представление композиции и т. д., а затем дать время для OOAD .