Долгое время занимаюсь поисками продукта, который даст возможность описывать систему, с которой я работаю.
А для чего? Каков конечный результат и пользователь?
Я тоже работаю в сложной системе, но не представляюю кому это может понадобиться.
1. Дело в том, что система каждый день развивается и кажый раз отслеживать изменения в диаграммах, тех.документациях, в функционале - это надо держать дополнительно обученные кадры. Причем если для пользовательской документации это оправдано, то для техн. не всегда;
2. сложная система выполняет различный функционал и каждая компания, используя разнообразные функции, строит свой бизнес процесс, так что описанные классы в этом русле особо не пригодятся;
3. для описания таблиц есть навигаторы или своя среда разработки, так что ни один технарь не будет читать доку - легче в базе посмотреть, а простому пользователю нет необходимости видеть всю таблицу, чаще всего им интересна какая то часть -для это реализуют различные фильтры (представления);
4. взаимосвязи между сущностями также легче и практичнее реализовывать в среде разрабоке, нежели каждый раз переносить на "бумагу" . В нашей системе автоматом можно сформировать диаграмму взаимосвязей. Честно скажу, ни одного спеца не знаю, кто этим в реальности пользуется. Она такая сложная, что мозг взрывается глядя на нее. Легче смотреть связь по отдельности для каждого объекта.
Поддержка версий - это отдельная тема.