С какой диаграммы UML мне начать? - PullRequest
7 голосов
/ 11 марта 2010

Расширяет

Допустим, вы смотрите на 6 основных типов диаграмм UML (из этого стиля "Элементы UML 2.0")

  1. Диаграммы классов
  2. Диаграммы вариантов использования
  3. Схемы конечных автоматов
  4. Диаграмма активности
  5. Диаграмма последовательности
  6. Физическая схема

Представьте, что вы сошли с ума, и вам хочется составить все 6 диаграмм для вашей системы.

С чего бы вы начали? Тогда к чему бы вы пошли? Каков наилучший порядок посещения каждой диаграммы, если у вас есть довольно четкое представление о том, что вы хотите, чтобы ваша система делала?

Я думаю, вам следует начать с физической диаграммы и перейти к диаграмме классов. Сверху вниз, я всегда говорю ..? Я не прав?

Ответы [ 4 ]

8 голосов
/ 11 марта 2010

Варианты использования - это основные из них, которые определяют, "что" ваша система делает , возможно, за ними следуют автоматы и диаграммы действий (которые можно увидеть в любом случае - обычно это активностьдиаграммы больше о «что» и о конечных автоматах больше о «как», но я видел контрпримеры к каждому);Диаграммы классов и последовательностей, а также диаграммы компонентов и развертывания (в совокупности "физические") все больше и больше о том, как ваша система делает то, что делает.Я бы определенно пошел от «что» к «как», поскольку обратная последовательность не имеет смысла - как может «как» иметь смысл, если вы не определили «что»?

Итак,Подводя итог, примерно: варианты использования, активность, конечный автомат, класс, последовательность, компонент, развертывание.Этот порядок имеет смысл, потому что он углубляется в сторону аспектов реализации и отходит от аспектов анализа, например, кто-то заинтересован в том, чтобы понять, какие именно варианты использования вам подойдут, и какие бизнес-правила, которые вы будете применять (диаграммы деятельности), могут перестать "читать«раньше, чем кто-то, кто должен понять всю подробную логику вашей стратегии развертывания.

2 голосов
/ 15 марта 2010

Диаграмма классов, последовательностей и вариантов использования представляет более 90% обычно создаваемой диаграммы внутри проекта. Сама диаграмма классов иногда представляет больше диаграмм, чем все другие диаграммы.

Лучшее решение - сохранить простоту и адаптировать моделирование к уровню команды.

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

Если уровень новичка , начните с прецедента, последовательности и диаграммы классов.

Если средний уровень , тогда используйте все диаграммы, потому что каждая диаграмма покрывает другое представление, которое не всегда возможно кодировать с Java. Я имею в виду, что Java относится только к диаграмме классов и последовательностей.

0 голосов
/ 11 марта 2010

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

Это зависит от того, какой аспект дизайна вас интересует в любой момент времени, когда вы используете соответствующую диаграмму для «просмотра» модели дизайна.

Я видел предложенные варианты «начать с диаграммы классов» и «начать с варианта использования». Я пришел к выводу, что это действительно не имеет значения.

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

0 голосов
/ 11 марта 2010

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

Я думаю, что на самом деле вам захочется вернуться к любому дизайну, который вы делаете в первую очередь (повторный дизайн, добро!), Так что, вероятно, стоит начать с того, что принесет вашему проекту максимальную ясность.

...