2010-08-01 2 views
1

У меня есть программа, которую я сделал на C++, которая не использует классы, просто функции и main(). Я хочу знать, какие диаграммы я могу сделать для этого. Вот несколько вещей, которые я имею в виду.Можем ли мы нарисовать диаграммы последовательности, если у нас нет классов в программе?

  1. Диаграмма активности
  2. Диаграмма последовательности
  3. диаграмма
  4. класс - очевидно, не может сделать это, потому что я не использовал классы
  5. архитектура системы
  6. диаграммы состояний
  7. случай использования диаграмм

Из этого можно рисовать?

+0

Попробуйте рисовать каждый и посмотреть, возможно ли это. – Oded

+0

хорошо некоторые говорят, что вы не можете нарисовать диаграмму последовательности, если у вас нет классов. – Haxed

+0

Некоторые люди говорят любую старую глупую вещь. Не делает их правильными.Трюк состоит в том, чтобы * разбить код вверх * на модули или компоненты или что-то вроде этого, которые имеют * различные обязанности *. Вы можете создавать диаграммы последовательности для вызовов/сообщений между этими модулями. –

ответ

2

Я угадываю из диаграмм, что вы выровнены по принципу * Унифицированный процесс.

ИМХО:

  • Use Case - определенно - вызывать бизнес-требований и системного уровня является реализация агностиком
  • System Architecture - определенно - слои, процессы, сеть, БД и модули/пакеты.
  • Диаграммы действий - определенно - используйте это для описания потоков процессов для ключевых процессов.
  • Диаграммы состояний - применимы, хотя обычно связаны с состоянием и продолжительностью жизни одного экземпляра объекта, но он по-прежнему концептуально полезен, если вы поддерживаете состояние с помощью других средств
  • Диаграмма последовательности - это применимо, хотя вы, возможно, потребуется обеспечить произвольное имя класса присоединять свои функции (?, если вы используете пространство имен, то, возможно, агрегат для них это вместо)

Однако, вы можете столкнуться с проблемами, если вы хотите создать код и код туда и обратно с вашего номера грамм, например. из инструмента CASE, такого как Rational Rose, большинство из них предпочтет язык реализации OO (отметив, что три амигоса сильно связаны с OO!)

Я думаю, это задает вопрос, почему вам нужно разработать процедурное приложение используя язык OO и документируйте его с помощью методов OO?

НТН

1

В качестве обобщения: Вы можете использовать все типы, кроме диаграмм классов. Если вы можете нарисовать диаграмму классов, вы должны спросить себя, почему вы не использовали классы в этом случае.

Для всех других диаграмм вы можете использовать части своего приложения как «актеры» или «компоненты». Похоже, вы еще не исследовали, для чего используются эти диаграммы и что вы выражаете с ними. Если вы это сделаете, вы сможете определить, какая диаграмма имеет смысл для вас.

Помните, что каждая диаграмма должна иметь цель. Если вы делаете это только ради того, чтобы быть там, тогда не делайте этого.

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

  • Нет связанных вопросов^_^