Здравствуйте, Merle, Вы писали:
M>Здравствуйте, Alexey Rovdo, Вы писали:
AR>>А нельзя ли чуть подробнее раскрыть суть этой идеи или дать ссылочки. Я лично с VS 2005 пока не работал, посему любопытно.
M>В двух словах: архитектор создает свой DSL (Domain Specific Language) под конкретную задачу, и уже в терминах этого языка описывает модель. В момент описания модели код генерится на лету, нет необходимости даже нажимать нарошную кнопку для генерации исходников. В таком виде проект поступает к разработчику, разработчик правит код, и все его изменения моментально отражаются в модели, терминах DSL, и опять-таки нет никакой необходимости нажимать хитрые кнопки, чтобы получить актуальное состояние модели, это 100% on-line инструмент, оба представления проекта, и код, и DSL, всегд анаходятся в актуальном состоянии откуда бы проект не правили. DSL так же поддерживает валидацию, в отличии от UML-я.
M>http://msdn.microsoft.com/library/en-us/dnvs05/html/vstsmodel.asp
Вы будете смеяться, но это всё давно (лет уже как 5 — 7) реализовано в Togethersoft Control Center (который сейчас принадлежит Борланду) применительно к UML. Актуальность кода и диаграмм поддерживается автоматически, независимо от разработчика и количества людей, правивших этот код или диаграммы. Классы можно одновременно просматривать как в виде диаграмм, так и кода — в соседних видах. Изменение диаграммы автоматически приводит к изменению кода и наоборот. По методу класса можно автоматически построить sequence диаграмму, в которой отобразятся все внутренние и внешние вызовы, создания и уничтожения объектов, условные операторы, циклы. По любой диаграмме классов и последовательности выполнения (sequence) автоматически генерируется исходный код (болванка) на выбранном (C++, Java и др. объектно-ориентированные) языке. Создание документации (в формате javadoc) автоматизировано, при условии, что разработчик добросовестно комментирует код и придерживается некоторых простых правил, принятых в javadoc.
Работает это всё как под виндами, так и под юниксами, потому что написано на java.
Так что M$, как обычно, идёт своей путёй. И дело на в буквах DSL или UML, а в реализации.