AR>Да, сегодня архитектура и код оказались разъединенными. Но вот каким образом их соединить? Представляется три возможных варианта:
AR>1) Расширить возможности UML и инструментария для работы с ним, включив в него возможности для встраивания исходного кода непосредственно в UML-модели (путь описанный _Obelisk_). В таком варианте исходный код может автоматически генерироваться прямо из полной UML-модели.
Ужаснейший вариант, просто страшно становиться если это кто-то сделает... чем это лучше RAD-средств, абстракция иная только. Представляете как с этим работать...
AR>2) Расширить возможности исходного года и инструментария по работе с исходным кодом с тем, чтобы обеспечить комфортную работу архитекторов именно с исходным кодом, но не на уровне конкретных строк, а на уровне самой модели системы. В таком варианте UML-модели могут автоматически генерироваться из исходного кода. (путь в некотором приближении близкий идиологии Together и DSL).
Были такие интересные идеи помнится, как абстрагироваться от файлов и от места хранения, вроде того что достаточно СУБД по проекту, код представим структурами и классами и навигация идёт не по файлам, что в принципе не очень удобно ибо искуственно разными способами всё группируется и логически выстраивается, а от классов... вобщем идеи явы мне нравятся, реализация вообще не нравится
Из такой концепции однозначно строиться любая UML или что-то иное позволяющее просмотреть взаимодействие классов/объектов, стурктура этих классов и может является с одного представления UML, с другого обычным кодом, редактировать такое будет просто с одной стороны можно графически, с другой текстово... по-моему удобно, возможно это путь DSL, я пока что это не видел.
AR>3) Заменить UML чем-то иным.
я бы выбрал 3. или по крайней мере пересмотреть UML от и до -- рефакторинг вобщем.
p.s. кстати на Use Case мне откровенно смотреть проивно ибо кажется поделкой из десткого сада. Его целесообразность вообще мне сомнительна. Текстовый документ описывающий всё тоже самое более подробно и ясно, займёт меньше места, сэкономит бумагу и время.