2010-03-11 2 views
6

ExtendsС какой UML-схемой я должен начать?

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

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

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

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

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

ответ

6

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

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

+1

Я должен сказать, что этот ответ был особенно полезен. Мне особенно нравилась деятельность перед конечным автоматом, а класс перед последовательностью и активность перед классом. – bobobobo

+1

@bobobobo, tx за то, что вам нравится - всегда рад помочь! –

0

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

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

0

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

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

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

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

2

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

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

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

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

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

Смежные вопросы