2016-06-08 4 views
3

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

Программист, который сделал этот сайт совсем не ООП - он не использовал никаких PHP-класс для создания этого сайта. Вместо этого он сделал много php-файлов. Я считаю, что в мире PHP довольно популярный подход.

Теперь мне интересно, как я могу создать диаграмму классов для этого кода? Как я знаю, диаграмма классов - это всего лишь способ показать архитектуру системы и концепцию программирования. Я считаю, что в этом случае я могу представить один файл php как один класс и переменные, используемые в этом файле как атрибут класса. Если в какой-то файл включен какой-то другой файл, я могу представить его как отношение класса. Правильно ли это?

ответ

0

Ну, вы можете начать этот путь. Это, вероятно, будет таким же, как рисование вангога Пикассо.

Конечно, это зависит от многих факторов, но, если возможно, я бы сбросил код и разработал его правильно. Но это, вероятно, невозможно в большинстве случаев (слишком дорого, я слышу, что менеджеры говорят, да, да). Поэтому правильный подход в этом случае: сохранить зомби в живых, но забыть UML. Здесь вам не поможет.

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

Интересно, что в древней индийской пословице «Когда вы находите, вы едете на мертвой лошади, сойдите», никогда не достигал многих менеджеров.

Хорошо. Итак, давайте попробуем несколько способов прокатиться на мертвой лошади.

  • Сначала сделайте документацию по UC. Это будет работать даже с программным обеспечением, отличным от OO.
  • Найдите несколько частей, которые являются OO, и поместите их в документацию UML (статические диаграммы классов и, при необходимости, некоторые SD-файлы).
  • Создайте структуру зависимостей объектов существующих файлов PHP. Просто используйте объект для каждого файла и нарисуйте зависимость. Это будет в большинстве случаев пугать менеджеров достаточно, чтобы водить редизайн.
  • Где распознаются интерфейсы изоляции и вывести их на свет в диаграмме классов.
  • Где бы ни было возможно указать существующий беспорядок и настаивать на рефакторинге.
  • Сделать труп очевидным. Чем больше пахнет, тем больше будет денег на рефакторинг.
  • Попробуйте изолировать подсистемы, которые можно обрабатывать индивидуально.

Наконец:

  • Успехов!
+1

Дамп код и редизайн всего или части этого сайта ... невозможно. Почему? Потому что приложение работает, и никто не заботится. Как вы писали - это, как правило, подход к управлению. Давайте принять эту ситуацию и попытаемся найти «справедливое» решение. Я думаю, это очень популярная проблема - часть кода - это OPP, а другая часть - «простой» функциональный код в JS или PHP. Как описать этот тип кода в диаграмме классов? Очень часто функциональный (не OPP) код является важной частью приложения и должен быть документирован также на диаграмме последовательности. – ortep

+0

Я расскажу немного об этом. Трудно получить это в короткий ответ. –