Действительно, как уже говорилось, UML не поддерживает напрямую то, что вам нужно.Насколько я понимаю, вы хотите захватить структуру (модули), поведение (функции) и взаимодействия (зависимости), хотя в базовой форме вы все же стремитесь захватить слишком много одновременно.
ИтакДавайте рассмотрим ваши возможности с UML, надеюсь, это поможет вам решить:
Диаграмма пакетов может отображать структуру и зависимости как пакеты и импорт
Диаграмма компонентов может отображать структуру и зависимости как компоненты с соединителями
Диаграмма составной структуры позволяет отображать сложную структуру и взаимодействия через композиты, порты, соединители и взаимодействия
Диаграмма прецедентов содержит акторов, взаимодействующих с системой для выполнения прецедентов, которые можно комбинировать с диаграммой пакетов для простой декомпозиции системы в разные модули, которые предоставляют разные функции - прецеденты и для отображения взаимодействий, с которыми можно связать актеровварианты использования.
Итак, как вы уже догадались, моим выбором будет диаграмма вариантов использования с диаграммой пакетов.Они довольно простые, содержат небольшое количество шума, что может быть важно для вашего простого случая.Эта комбинация позволяет для большинства того, что вам нужно, однако, чтобы показать, что модули взаимодействуют определенным образом, вам потребуется модуль как в виде пакета, так и в качестве субъекта, что не является хорошей практикой.Но из того, что вы говорите, я думаю, что вы хотите рекламировать изменение существующей системы, что будет хорошо выглядеть на этих диаграммах и будет легко объяснить клиентам, которые ничего не знают о UML.Вы можете рассмотреть возможность удаления взаимодействий между модулями и показывать только функции, предоставляемые пользователям (изображены как актеры).