скажите а какие диагрыммы вы бы использовали?
А те, которые помогут составить внятное и понятное описание системы.
Я, например, не очень понимаю, ЧТО вы пытаетесь описать?
Конструкцию фреймвёрка? Модель системы?
UML - это язык, пользование языком может быть различным. Но когда мы его используем, мы пытаемся передать смысл. Мы можем ошибаться в деталях, но успешно смысл этот передать.
Любая система - это совокупность таких описаний, совокупность описаний с разных точек зрения.
UML- язык, но не МЕТОДОЛОГИЯ. ТО как использовать язык решать Вам.
Ясно, что UML это достаточно гибкий. но ограниченный язык. Вы не сможете на нем высказать любое предложение. Но это и не нужно.
Следует внимательно посмотреть на имеющиеся диаграммы и точно понять, что же вам нужно, минимально исходя из следующего:
описать структуру (диаграммы классов. диаграммы компонентов, диаграммы размещения)
описать поведение (три способа - через автоматы, через последовательности, через деятельности) - то что есть три способа напрягает, но Вам решаеть что и когда применять
описать взаимодействие (диаграммы использования, коммуникации, последовательности)
Если у вас уже имеется код, то можно попытаться сделать реинжениринг и вытащить структур классов, возможно диаграммы последовательностей, явно выстроить диаграммы использования
Либо вообще имеет смысл абстрагироваться от имеющегося и выстроить все с нуля.
Для отображения элементах используемого Шаблона - подойдут кооперации или структурированные классификаторы.
Параметризированная кооперация будет задавать явный шаблон, а конкретные классы вы берете из контектса приложения.
При этом у Вас явно будут несколько множеств моделей - модели описывающие действие интерфейса (гуи), модели, описывающие структуру данных и правила работы с ними, модели слоя бизнес-логики