С какой схемой UML я должен начать?
Вопрос
Скажем, вы смотрите на 6 основных типов диаграммы UML (от этого элементы стиля UML 2.0)
- Классовые диаграммы
- Использование диаграмм
- Государственные машины
- Диаграмма активности
- Диаграмма последовательности
- Физическая диаграмма
Притворяйтесь, что вы безумны, и вам хочется набрать все 6 диаграмм для вашей системы.
С чего бы вы начали? Тогда на что бы вы пошли? Какой лучший порядок посетить каждую диаграмму, если у вас есть Довольно ясно Идея о том, что вы хотите, чтобы ваша система делала?
Я думаю, что вы должны начать с физической диаграммы и пройти свой путь к классовой диаграмме. Вверху, я всегда говорю ..? Я ошибаюсь?
Решение
Сценарии использования основные, которые определяют «что», ваша система делает, возможно, за которым следует государственные машины и диаграммы активности (что можно увидеть в любом случае - обычно диаграммы активности больше касаются «что», и государственные машины больше о «как», но я видел контрпримеры для каждого); Диаграммы классов и последовательности, а также тем более компоненты и развертывание (в совокупности «физические»), все больше и больше о как Ваша система делает то, что делает. Я бы определенно перешел от «что» к «как», поскольку обратная последовательность не имеет смысла - как может «как« иметь смысл », если вы не определили« что »?
Итак, суммирование, примерно: варианты использования, активность, состояние состояния, класс, последовательность, компонент, развертывание. Этот порядок имеет смысл, потому что он становится все глубже к аспектам реализации и от аспектов анализа, так что, например, кто -то, кто заинтересован в том, чтобы точно понять, к каким случаям использования вы обслуживаете, и какие бизнес -правила вы применяете (диаграммы деятельности), может остановиться »чтение «Раньше, чем кто -то, кому нужно понять полную подробную логику вашей стратегии развертывания.
Другие советы
Диаграмма класса, последовательности и использования использует более 90% обычно созданной диаграммы внутри проекта. Сама классовая диаграмма иногда представляет больше диаграммы, чем все другие диаграммы.
Лучшее решение - сделать его простым и адаптировать моделирование к уровню команды.
Если нет опыта UML Затем просто создайте классовую диаграмму, чтобы представить скелет вашего приложения.
Если новичок Уровень затем начните с диаграммы использования, последовательности и класса.
Если средний уровень Затем используйте все диаграммы, потому что каждая диаграмма покрывает другое представление, которое не всегда возможно кодировать с помощью Java. Я имею в виду, что Java связана только с классой и диаграммой последовательности.
Физическая диаграмма, вероятно, такое же хорошее место для начала, как и любая. Я считаю, что диаграммы активности действительно полезны для разработки изломов в дизайне, и последовательности хороши по той же причине. Я редко беспокоился с диаграммами государственных машин.
Я думаю, что реально вы захотите вернуться к тому, какой дизайн, который вы делаете в любом случае, в любом случае (итерационный дизайн, Woo!), Так что, вероятно, стоит начать с того, что будет принести максимальную ясность в ваш проект.
Диаграммы UML являются изображениями различных моделей дизайна. Я не уверен, что их можно чисто сериализовать так, как вы описываете. Часто классовая диаграмма используется как на фазах анализа, так и в проекте процесса. Точно так же другие диаграммы используются по нескольким фазам.
Это зависит от того, какой аспект дизайна вас интересует в любой момент времени, когда вы используете соответствующую диаграмму для «просмотра» модели дизайна.
Я видел предложенные как «начнут с классовой диаграммы», так и «Начать с модели использования». Я понял, что это действительно не имеет значения.
Я думаю, что вы хотите начать с высокого уровня поведения системы, используя несколько диаграмм, а затем постепенно преодолеть свой путь к более подробной конструкции, используя тот же набор диаграмм.