-
Notifications
You must be signed in to change notification settings - Fork 0
Курсовая работа
1. Определение требований к модели ✋
Тема ВКР: Анализ и обоснование выбора программных средств для разработки систем распознавания графических образов.
Объект исследований: распознавание графических образов.
Предмет исследований: программные средства разработки систем распознавания графических образов.
Процессы верхнего уровня: ✋
- А1 Обнаружение лица.
- А2 Анализ и нормализация лица.
- А3 Распознавание лица.
- А4 Отмечание присутствия.
Точка зрения: Директор.
Цель моделирования: Определение автоматизируемых функций.
2. Функциональное моделирование процессов (IDEF0) ✋
- A-0 (контекстная диаграмма)
- A0 (диаграмма верхнего уровня)
- A1 (декомпозиция процесса/процессов внутренней среды)
- A2 (декомпозиция процесса/процессов внутренней среды)
- A3 (декомпозиция процесса/процессов внутренней среды)
- A4 (декомпозиция процесса/процессов внутренней среды)
3. Функциональное моделирование программных и информационных средств (DFD) ✋
Конфигурация технических средств: ПК для работы с десктопным приложением. Операционная система Windows
Конфигурация программных средств: Двухуровневая: десктопное приложение, сервер БД
Допустимые виды хранилищ и их размещение: БД MySQL
- A13 Автоматизация процесса А13
A33 Автоматизация процесса А33
- A43 Автоматизация процесса А43
4.1 Идентификатор прецедента: A32
4.2 Название прецедента: Идентификация лица
4.3 Контекст: A3
4.4 Участники (actors) и цели (goals):
Участник | Категория | Цель (goal) |
---|---|---|
Эксперт | Основной | Обученная нейросеть для распознавания> |
Тестировщик | Основной | Увеличение точности распознавания нейросети |
Администратор | Основной | Поддержание целостности информационной базы даных |
Сотрудник | Основной | Отметка посещения |
Система распознавания | Инструмент | Успешное распознавание сотрудников |
4.5 Предусловия (pre-conditions):
-
условие наличия потока управления: Эксперт
-
условие наличия потока управления: Тестировщик
-
условие наличия потока управления: Администратор
-
условие наличия входного потока: Вектор признаков
4.6 Постусловия (post-conditions):
-
выходной поток: Id сотрудника
-
выходной поток: Невозможность отметки посещения
4.7 Основной поток выполнения (main flow):
Участник | Действие (activity) | Ожидаемый результат |
---|---|---|
Сотрудник | Взаимодействие с системой | Отзывчивость системы |
Сотрудник | Получение сообщения об удачном распознавании | Корректный вывод ФИО сотрудника |
Сенсорный экран | Предоставление сотруднику возможности удобного использования системы | Работоспособность сенсора |
4.8 Исключения (exceptions):
Условие (риск) | Последствия | Реакция |
---|---|---|
Система не распознает сотрудника | Сотрудник не может отметиться и, впоследствии, попасть на объект | Сообщить о проблеме администратору |
4.9 Альтернативы (alternates):
Не предусмотрено
4.10 Временные параметры:
-
Триггер (событие, стартующее прецедент): Подход сотрудника к камере
-
Номинальная частота повторения прецедента: Кол-во сотрудников * 2(вход и выход)
-
Продолжительность прецедента: ~5 сек.
-
Описываемый объект: Система распознавания лиц
-
Описываемые процессы и потоки данных: Распознавание лица, отметка посещения
-
Описываемый объект: Структура программных средств системы
Личная страница на GitHub
9.1 Используемые паттерны проектирования и разработки ✋:
9.1.1 Процессная модель для сравнения: Повысить эффективность отслеживания посещений сотрудников
Решение задачи при помощи методологиии PDCA:
- Этап Plan (Планирование):
Выявленные проблемы: Тратится много ресурсов на контроль посещаемости сотрудников
Требования: Повысить эффективность отслеживания посещений сотрудников без увеличения трудозатрат
Ожидаемый результат: Повышение эффективности отслеживания посещений
Ресурсы, необходимые для достижения ожидаемого результата: ПК, Прикладное ПО.
Процессы (запланированные действия):
- Создание и обучение нейросети.
- Создание БД сотрудников.
- Разработка системы.
- Интеграция рабочей системы.
-
Этап Do(Выполнение): Эксперт, администратор и разработчики выполняют поставленные задачи
-
Этап Check (Проверка): По завершению разработки, тестировщик оценивает работоспособность данной системы
-
Act (Улучшение): При успешной работе системы, она внедряется в учреждение, с возможностью доработки или расширения функционала в дальнейшем
Доработка рабочей системы на основе ее оценки. Исправление замечаний\недочетов
9.1.2 Используемые в разработке паттерны и фреймворки:
9.2 Используемые паттерны выявления проблем ✋:
- Муда: Неэффективное использование времени, потери при неправильном обучении нейросети
- Мура: Неравномерность распределения нагрузок и ресурсов при разработке системы
- Мури: Перегрузка системы при распознавании лица (захват камерой большого количества лиц при распознавании)
9.3 Возможные антипаттерны ✋:
Категория | Антипаттерн (риск) | Действие по избежанию |
---|---|---|
Разработка | Изобретение колеса/велосипеда: Создание с нуля, вместо использования готового решения | Изучить портреты готовых решений |
Архитектура | Квадратное колесо: создание плохого решения, когда существует хорошее известное решение | Проанализировать более лучшие реализации |
Организация | Раздутый улучшизм (Creeping featurism): Добавление новых улучшений в ущерб суммарному качеству системы | Изначально реализовать только те функции, которые прописаны в ТЗ, а в дальнейшем добавлять улучшения |
Среда | Чрезмерное усложнение | Не усложнять проект тогда, когда этого не требуется, придерживаться принципа "проще - лучше" |
10. Интерпретация построенных моделей ✋
10.1 Определение числовых показателей для поставленной цели моделирования:
Определение процессов требующих повышения качества
Способ получения: извлечение из диаграмм IDEF0 и DFD.
10.2 Определение числовых показателей и расчет экономического эффекта от проекта автоматизации: ✋:
Числовыми показателями являются время и трудозатраты.
10.3 Определение числовых показателей и расчет затрат на реализацию проекта автоматизации:
В предприятии находится 300 сотрудников. Предположим, каждый день 5% процентов сотрудников забывает пропуск или у них возникают проблемы, связанные с проходом на территорию предприятия. В данном случае время, которое затрачивается на допуск таких сотрудников - 4 минуты(написание объяснительной). 15x4= 1 ч/день = 247 ч/год - неэффективное использование времени. При использовании данной системы, процент задержек снизится до 1%. Следовательно неэффективное использование времени составит 3*4 = 12 мин\день = 49 ч/год. Потенциальный эффект экономии времени составит 247ч - 49ч = 198ч/год = 17 ч/мес. При наличии 1 сотрудника и при работе в одну смену продолжительностью 8 часов, ежемесячная экономия времени составит 17/8 ~ 2 чел/мес.
10.4 Определение числовых показателей и расчет трудозатрат на разработку программных средств:
Расчет сложности разработки методом FPA IFPUG:
Расчет трудозатрат на разработку «с нуля» методом COCOMO II:
10.5 Сравнительный план-факт:
Из расчета:
SLOC = 2 068 строк кода
PM (Трудозатраты) = 4 человеко-месяцы
TDEV (Полный срок разработки, месяцы) = 5,4 месяцев
Исходя из значений по факту:
SLOC = 1 218 строк кода
PM (Трудозатраты) = 320 человеко-часы
TDEV (Полный срок разработки) = 3 месяца
Готовность = 80%
ВЫВОДЫ
Исходя из результатов таблицы п.10.5 можно сделать вывод, что за счет использования готовых функций и библиотек удалось сократить строки кода (язык программирования Python) в 1,4 раза. Также, за счет сокращения тестирования, объема документации, и использования CASE, удалось сократить срок разработки с 5,4 месяцев до 3. Срок окупаемости разработки сократился в 1,7 раза. На данный момент работа выполнена на 80%, и на остаток реализации по расчету осталось около 12 часов.