
- •Курсовая работа по курсу «Автоматическое проектирование информационных систем»
- •Постановка задачи проектирования
- •Формирование Use-Case диаграммы
- •Описание Business Use-Case diagram
- •Описание Use-Case diagram
- •Потоки событий
- •Нефункциональные требования
- •Техническое задание
- •Требования к функциональности
- •Диаграмма классов
- •Описание Class Diagram
- •Диаграмма деятельности
- •Диаграмма компонентов
- •Тестирование приложения
Диаграмма классов
Рисунок 3. Class Diagram
Описание Class Diagram
UICotroller - класс, отвечающий за взаимодействие с элементами интерфейса пользователя.
OnStartButtonPressed() – обработчик кнопки «Начать распознавание»;
OnSettingsButtonPressed() – обработчик кнопки «Редактировать список жестов»;
OnCancelButtonPressed() – обработчик кнопки «Прекратить распознавание»;
AbstractGestureRecognizer – интерфейс класса, отвечающего за распознавание жестов
Start() – начать распознавание;
Stop() – прекратить распознавание;
GestureRecognizerImpl – реализация вышеописанного интерфейса. Содержит в себе несколько объектов, реализующих отдельные шаги по распознаванию жеста в видеопотоке;
AbstractHandFinder – интерфейс класса, отвечающего за нахождение руки в кадре;
FindHand() – распознать руку на кадре;
HandFinderImpl – конкретная реализация вышеописанного интерфейса;
AbstractContourFinder – интерфейс класса, отвечающего за выделение двоичного контура руки из кадра;
findContours() – найти двоичный контур руки;
ContourFinderImpl – реализация вышеописанного интерфейса;
AbstractFingerRecognizer – интерфейс класса, отвечающего за нахождение пальцев на контуре руки;
findFingers() – найти пальцы на контуре;
FingerRecognizerImpl – реализация вышеописанного интерфейса;
AbstractPatternMatcher – интерфейс класса, отвечающего за сопоставление жеста с набором шаблонов;
checkPatternMatching() – сопоставить найденный контур с сохраненными шаблонами;
PatternMatcherImpl – реализация вышеописанного интерфейса;
Все алгоритмически значимые компоненты разбиты на пары «Интерфейс-Реализация» для выполнения пунктов 2 и 3 раздела «Требования к архитектуре алгоритма распознавания» технического задания. См. раздел «Техническое задание».
Диаграмма деятельности
Рисунок 4. Диаграмма деятельности контурного алгоритма распознавания образов
Диаграмма компонентов
Android-version
iOS-version
Описание
диаграмм компонентов
Android-version:
Android Enviroment – совокупность программно-аппаратных средств мобильной платформы под управлением ОС Android, включающих видеокамеру, дисплей отображения и библиотеки для работы с ОС Android;
JRE – Java Runtime Enviroment, среда выполнения Java кода;
OpenCV for Java – реализация OpenCV для JRE;
UIControllers – обработчики элементов пользовательского интерфейса;
NDK – Native Development Kit, среда выполнения C/C++ кода;
GestureRecognizer – реализация алгоритма распознавания жестов;
Templates Repository – библиотека распознаваемых жестов;
iOS-version
iOS Enviroment – совокупность программно-аппаратных средств мобильной платформы под управлением iOS, включающих видеокамеру, дисплей отображения и библиотеки для работы с iOS;
OpenCV C/C++ Implementation– реализация OpenCV для C/C++;
iOS UIControllers – обработчики элементов пользовательского интерфейса;
iOS UI Views – элементы описания пользовательского интерфейса;
GestureRecognizer – реализация алгоритма распознавания жестов;
Templates Repository – библиотека распознаваемых жестов;