Skip to content

Курсовая работа

Sw3nk edited this page May 20, 2021 · 16 revisions

Курсовой проект по дисциплине "Проектирование информационных систем"

Дындин Никита, ИДБ-17-05

1. Определение требований к модели

Тема ВКР: Анализ и обоснование выбора программных средств для разработки систем распознавания графических образов.

Объект исследований: распознавание графических образов.

Предмет исследований: программные средства разработки систем распознавания графических образов.

Процессы верхнего уровня:

  • А1 Обнаружение лица.
  • А2 Анализ и нормализация лица.
  • А3 Распознавание лица.
  • А4 Отмечание присутствия.

Точка зрения: Директор.

Цель моделирования: Определение автоматизируемых функций.

2. Функциональное моделирование процессов (IDEF0)

  • A-0 (контекстная диаграмма)

A-0

  • A0 (диаграмма верхнего уровня)

A0

  • A1 (декомпозиция процесса/процессов внутренней среды)

A1

  • A2 (декомпозиция процесса/процессов внутренней среды)

A2

  • A3 (декомпозиция процесса/процессов внутренней среды)

A3

  • A4 (декомпозиция процесса/процессов внутренней среды)

A4

3. Функциональное моделирование программных и информационных средств (DFD)

Конфигурация технических средств: ПК для работы с десктопным приложением. Операционная система Windows

Конфигурация программных средств: Двухуровневая: десктопное приложение, сервер БД

Допустимые виды хранилищ и их размещение: БД MySQL

  • A13 Автоматизация процесса А13

A13

A33 Автоматизация процесса А33

A33

  • A43 Автоматизация процесса А43

A43

4. Описание выбранного процесса в формате прецедента (Use Case)

Диаграмма UML Use Case

A32

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 сек.

5. Описание структуры объекта в формате ERD (Class)

p5

6. Описание алгоритма в формате UML (Sequence)

  • Описываемые процессы и потоки данных: Распознавание лица, отметка посещения

  • Диграмма UML Sequence:

p6

7. Описание состава в формате UML (Component)

p7

8. Демонстрация реализации (личная страница)

Личная страница на GitHub

9. Подготовка к интерпретации построенных моделей

9.1 Используемые паттерны проектирования и разработки :

9.1.1 Процессная модель для сравнения: Повысить эффективность отслеживания посещений сотрудников

Решение задачи при помощи методологиии PDCA:

  1. Этап Plan (Планирование):

Выявленные проблемы: Тратится много ресурсов на контроль посещаемости сотрудников

Требования: Повысить эффективность отслеживания посещений сотрудников без увеличения трудозатрат

Ожидаемый результат: Повышение эффективности отслеживания посещений

Ресурсы, необходимые для достижения ожидаемого результата: ПК, Прикладное ПО.

Процессы (запланированные действия):

  • Создание и обучение нейросети.
  • Создание БД сотрудников.
  • Разработка системы.
  • Интеграция рабочей системы.
  1. Этап Do(Выполнение): Эксперт, администратор и разработчики выполняют поставленные задачи

  2. Этап Check (Проверка): По завершению разработки, тестировщик оценивает работоспособность данной системы

  3. Act (Улучшение): При успешной работе системы, она внедряется в учреждение, с возможностью доработки или расширения функционала в дальнейшем

Доработка рабочей системы на основе ее оценки. Исправление замечаний\недочетов

9.1.2 Используемые в разработке паттерны и фреймворки:

9.2 Используемые паттерны выявления проблем :

  • Муда: Неэффективное использование времени, потери при неправильном обучении нейросети
  • Мура: Неравномерность распределения нагрузок и ресурсов при разработке системы
  • Мури: Перегрузка системы при распознавании лица (захват камерой большого количества лиц при распознавании)

9.3 Возможные антипаттерны :

Категория Антипаттерн (риск) Действие по избежанию
Разработка Изобретение колеса/велосипеда: Создание с нуля, вместо использования готового решения Изучить портреты готовых решений
Архитектура Квадратное колесо: создание плохого решения, когда существует хорошее известное решение Проанализировать более лучшие реализации
Организация Раздутый улучшизм (Creeping featurism): Добавление новых улучшений в ущерб суммарному качеству системы Изначально реализовать только те функции, которые прописаны в ТЗ, а в дальнейшем добавлять улучшения
Среда Чрезмерное усложнение Не усложнять проект тогда, когда этого не требуется, придерживаться принципа "проще - лучше"

10. Интерпретация построенных моделей

10.1 Определение числовых показателей для поставленной цели моделирования:

Определение процессов требующих повышения качества

none

Способ получения: извлечение из диаграмм 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:

none

Расчет трудозатрат на разработку «с нуля» методом COCOMO II:

none

10.5 Сравнительный план-факт:

none

Из расчета:

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 часов.