Я не уверен, что четко понимаю ваш вопрос, но постараюсь ответить на основании некоторых разумных предположений ...
По сути, моя рекомендация такая же, как и то, что Джон Сондерс уже предлагал: рассмотреть возможность использования UML вместе с хорошим инструментом UML. Но я хотел бы добавить несколько моментов, которые могут быть важны в вашей конкретной ситуации.
Прежде всего, я не думаю, что UML "слишком ориентирован на код". Наоборот, его можно использовать для моделирования практически любого аспекта программной системы, практически на любом уровне абстракции. С хорошим инструментом под рукой (например, Sparx EA), прелесть UML в том, что вы действительно получаете четко определенную модель под капотом (в отличие от просто набора несвязанных чертежей / диаграмм). В результате, даже если сам инструмент не дает вам функции, которую вы ищете (например, возможность отслеживания из БД в случаях использования) ... ну, по крайней мере, у вас есть возможность автоматизировать (или, по крайней мере, полуавтоматизировать) Задача самостоятельно: например, вы можете экспортировать свою модель UML в XMI (стандарт!) и затем извлечь из нее всю необходимую информацию о трассируемости (например, используя XSL или любую XML-библиотеку для вашего любимого языка программирования / скриптинга) , Я не говорю, что это было бы легко сделать (особенно если вы хотите прослеживаемость на уровне отдельных столбцов БД 8-), но это возможно, и очень вероятно, что он превзойдет любой ручной метод, если он будет масштабироваться по размеру проект.
Кстати, говоря о Sparx EA ... Я еще не знаю всех его возможностей, но их так много, что я бы не удивился, если бы он позволил вам выбрать класс (или даже атрибут класса). ) и покажет вам другие элементы модели, которые каким-то образом зависят от нее. Вы можете проверить это.
Сказав все это, я понимаю, что у вас могут быть по крайней мере следующие две важные проблемы относительно UML:
- Может потребоваться слишком много деталей моделирования, чтобы получить желаемое.
- Как и любой «универсальный инструмент», он может существенно уступать специализированным инструментам моделирования, которые вы уже используете.
Относительно проблемы # 1: Опять же, с хорошим инструментом UML под рукой, вы можете сделать столько ярлыков, сколько захотите. Например, вместо построения очень подробной и точной модели действий для варианта использования, вы могли бы сосредоточиться только на классах, включенных в вариант использования (достаточно, чтобы включить отслеживание классов обратно для вариантов использования). То же самое относится и к пользовательскому интерфейсу, конечно.
По вопросу № 2: я не знаю, какие именно инструменты вы используете сейчас для моделирования вариантов использования, пользовательского интерфейса и схемы БД. Таким образом, теоретически возможно, что все они настолько превосходят UML, что вы не захотите отказываться от них в обмен на более легкую отслеживаемость. Однако кое-что говорит мне, что ваш инструмент моделирования БД (с его возможностями генерации кода) может быть единственным, который действительно необходим. Если это так, то я все равно рекомендую рассмотреть использование UML: вы просто не моделируете до уровня схемы БД и не «останавливаетесь» на уровне модели предметной области (даже если у вас его нет в приложении!). На этом этапе инструмент UML предоставит вам возможность отслеживания от элементов модели домена (сущностей, их атрибутов и их отношений) до вариантов использования и элементов пользовательского интерфейса, а сопоставления между вашей моделью домена и схемой БД можно оставить «в воздухе» потому что, в подавляющем большинстве случаев, они должны быть достаточно простыми, чтобы отследить, ничего не рисуя. Это может не дать вам 100% того, что вы хотите, но это может дать вам 80%, что будет достаточно для решения большинства ваших проблем.
Итог: если вы используете три разных инструмента / технологии для моделирования трех разных аспектов вашей системы ... ну, очевидно, что любая прослеживаемость между этими тремя аспектами остается во власти этих трех инструментов: вы можете автоматизировать только настолько, насколько позволяют эти инструменты (что, вероятно, означает, что вы застрянете с большим количеством трудоемких ручных задач). На сегодняшний день UML является единственным четко определенным и широко поддерживаемым языком общения, который может помочь вам подключить ваши модели и позволить автоматизировать значительную часть вашей аналитической деятельности. Просто убедитесь, что вы отличаете UML "инструменты для рисования" (как и большинство надстроек и шаблонов Visio) от настоящих инструментов моделирования UML (таких как Sparx EA и многие другие).