Здравствуйте, Merle, Вы писали:
AF>> Требуется процесс разработки, который позволяет вести проекты при, в среднем, довольно средней квалификации программистов. Причём делать это прогнозируемым образом. А такой процесс неизбежно требует средств описания тех же моделей — в первую очередь для самих разработчиков.
M>Не пойдет, за отмазку не канает...
Проблема в том, что UML сам по себе достаточно сложен, и чтобы его адекватно применять разработчик и так должен быть хорошей квалификации. Соответственно разработчик низкой квалификации UML не понимает, а как только он начинает его понимать то его квалификация уже достаточно хороша, чтобы UML ему был не нужен.
M>Таким образом делаем вывод, что UML хорош в качестве buzz word, чтобы красиво разогнуть пальцы перед заказчиком, мол "... наши разработки ведуться по RUP с применением UML... " и подсунуть клиенту красивые диаграмки, чтобы тот покивал с умным видом и ощутил свою причасность. Вот для этого UML и используется.. хм... дефакто.
Например, в telecom-секторе UML становится заменителем SDL, вобрав в себя все фичи последнего.
Поэтому использование UML для тех задач, которые хорошо сводятся с statemachine-ам и синхронному/асинхронному обмену сообщениями, дает существенное преимущество перед ручным кодированием этих самых statemachine. Реализация ручками hierarchical statemachine с поддержкой save-ов и guard conditions черезвычайно муторное дело на любом языке программирования.