Какие UML-диаграммы было бы логично использовать для описания программы по распознаванию образов?
===================================================================================================

 Программа представляет собой средство по распознаванию рукописного текста с графическим интерфейсом (Windows Forms). Разработана на языке C# в среде Visual Studio. Для распознавания используется ансамблевая парадигма. В программе 7 модулей. Каждый модуль имеет свою форму.  

Таким образом, на вход программы подается изображение с рукописным текстом, далее пользователь выбирает метод распознавания (можно какой-то один выбрать или несколько для работы ансамбля), и дальше программа по выбранному алгоритму производит распознавание и выводит результат. Программу нужно предварительно обучить.  
  
**Вопрос:**  

Для демонстрации и защиты данного проекта мне необходимо описать ее с помощью [UML диаграмм](https://ru.wikipedia.org/wiki/UML). Нужно 3 UML диаграммы. Я вероятно буду использовать диаграмму классов и диаграмму компонентов. Но я не знаю какую еще UML диаграмму было бы уместно использовать для описания программы.  
  

Выбор стоит перед:  

- [Диаграмма деятельности](https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%B4%D0%B5%D1%8F%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8)  

- [Диаграмма состояний](https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B9_(UML))   

- [Диаграмма последовательности](https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8)   
  

Что было бы уместно и логично использовать для описания вышеописанной программы? 

 Все три и рисуй