1. Определение требований к модели ✋
Тема ВКР: Разработка системы визуализации трехмерной сцены музея промышленных достижений
Объект исследований: виртуальные музеи
Предмет исследований: системы трехмерного моделирования реалистичных сцен
Процессы верхнего уровня: ✋
- А1 Управление
- А2 Вычисление положения 3D-объектов на сцене
- А3 Формирование трехмерной сцены
Точка зрения: Директор музея
Цель моделирования: Демонстрация работы системы визуализации трехмерной сцены
2. Функциональное моделирование процессов (IDEF0) ✋
- A-0 (контекстная диаграмма)
- A0 (диаграмма верхнего уровня)
- A1 (декомпозиция процесса/процессов внутренней среды)
- A3 (декомпозиция процесса/процессов внутренней среды)
3. Функциональное моделирование программных и информационных средств (DFD) ✋
Конфигурация технических средств:
- ПК;
Системные требования:
Компонент | Рекомендуемое значение |
---|---|
CPU | Ryzen 5 3600/ i5-9600 |
GPU | 3070 RTX/ RX 6800 |
RAM | 16 |
Storage device | SSD |
OC | Windows 10 |
Конфигурация программных средств: встроенные
Допустимые виды хранилищ и их размещение: Запоминающее устройство ПК
- A11 Автоматизация процесса А11
- A13 Автоматизация процесса А13
Диаграмма UML Use Case
4.1 Идентификатор прецедента: A1
4.2 Название прецедента: Управление
4.3 Контекст: А0
4.4 Участники (actors) и цели (goals):
Участник | Категория | Цель (goal) |
---|---|---|
Директор музея | Основной | Запуск системы |
Директор музея | Основной | Утверждение планировки выставки |
Разработчик | Внешний | Корректировка системы/сцены при необходимости |
ПК | Инструмент | Стабильное количество кадров |
4.5 Предусловия (pre-conditions):
- Система скачана и успешна установлена
- Освоены и настроены клавишы управления
4.6 Постусловия (post-conditions):
- Визуализированная сцена
4.7 Основной поток выполнения (main flow):
Участник | Действие (activity) | Ожидаемый результат |
---|---|---|
Пользователь | Запускает систему | Успешный запуск системы |
Пользователь | Управляет персонажем и виртуальной камерой | Передвижение по сцене |
Пользователь | Взаимодействует с 3D-объектами | Просмотр 3D-объектов |
Пользователь | Взаимодействует с источниками освещения | Изменение освещенности сцены |
4.8 Исключения (exceptions):
Условие (риск) | Последствия | Реакция |
---|---|---|
Система не реагирует на нажатия клавиш | Пользователь не сможет управлять персонажем | Обратиться к разрабочитку |
4.9 Альтернативы (alternates):
Не предусмотрено
4.10 Временные параметры:
- Триггер (событие, стартующее прецедент): Необходимость запустить систему
- Номинальная частота повторения прецедента: 100 посетителей
- Продолжительность прецедента: 2 часа
-
Описываемый объект: Система визуализации трехмерной сцены музея промышленных достижений
-
Диаграмма UML Class:
-
Описываемые процессы и потоки данных: A13
-
Диаграмма UML Sequence:
-
Описываемый объект: Структура программных средств системы
-
Диаграмма UML Component:
Личная страница на GitHub
9.1 Используемые паттерны проектирования и разработки ✋:
- Процессная модель для сравнения: Повысить эффективность планирования музейной выставки.
Решение задачи при помощи методологиии PDCA:
- Этап Plan (Планирование):
Выявленные проблемы: Тратиться много ресурсов на создание музейной выставки
Требования: Повысить эффективность планирования музейной выставки без увеличения трудозатрат
Ожидаемый результат: Повышение эффективности планирования музейной экспозиции
Ресурсы, необходимые для достижения ожидаемого результата: ПК, Прикладное ПО.
Процессы (запланированные действия):
- Создание 3D-моделей.
- Создание необходимых скриптов.
- Разработка системы.
- Интеграция рабочей системы.
-
Этап Do(Выполнение): Разработчки и 3D-художники выполняют поставленные задачи
-
Этап Check (Проверка): По итогу разработчики производят апробацию, и в случае успеха, произвести внедрение
-
Act (Улучшение): При успешной работе системы (сокращение временных затрат на проектирование), он внедряется в учреждение, с возможностью доработки или расширения функционала в дальнейшем
Доработка рабочей системы на основе ее оценки. Исправление замечайни\недочетов
9.2 Используемые паттерны выявления проблем ✋:
- Муда: Неэффективное использование времени, потери из-за ненужных транспортировок экспонатов
- Мура: Неравномерность распределения нагрузок и ресурсов при создании музейной экспозиции
- Мури: Переутомление куратора выставки
9.3 Возможные антипаттерны ✋:
Категория | Антипаттерн (риск) | Действие по избежанию |
---|---|---|
Разработка | Таинственный код: подразумевает использование аббревиатур вместо мнемоичных имён. Приводит к нечитаемости кода. | Избегается путем документировании и введением регламентов на разработку |
Архитектура | Квадратное колесо: создание плохого решения, когда существует хорошее известное решение | Проанализировать более лучшие реализации |
Организация | Единственный знающий человек: когда жизненно важными для проекта сведениями или навыками обладает только один человек в команде | Найм персонала дополнительных специалистов |
Среда | Чрезмерное усложнение | Не усложнять проект тогда, когда этого не требуется, придерживаться принципа "проще - лучше". |
10. Интерпретация построенных моделей ✋
10.1 Определение числовых показателей для поставленной цели моделирования:
Определение процессов требующих повышения качества
Способ получения: извлечение из диаграмм IDEF0 и DFD.
10.2 Определение числовых показателей и расчет экономического эффекта от проекта автоматизации: ✋:
Числовыми показателями являются время и трудозатраты.
10.3 Определение числовых показателей и расчет затрат на реализацию проекта автоматизации: Допустим для создания выставки потребуется 100 экспонатов. При создании музейной экспозиции примерно 20% процентов принимаемых решений являются ошибочными, что в последстии приводит к их исправлению и лишней трате ресурсов. Нужно уменьшит процент ошибочных или нежелательных решений. Для достижения поставленной цели предлагается внедрить данную систему
Учреждение проводит в среднем 6 выставок в год. Предположим, что на транспортировку и установку одного экспоната на витрину уходить 3 часа.
В результате принятия ошибочных решений, неэффективно используется 20*3 = 60 ч/выставка = 360ч/год.
Если использовать данную систему, то процент ошибочных решений сократиться до 1%. Следовательнот неэффективное использование времени составит 1*3 = 6 ч\выставка = 36 ч/год.
Потенциальный эффект экономии времени составит 360ч - 36ч = 324ч/год = 27ч/месяц.
При наличии 1 сотрудника и при работе в одну смену продолжительностью 8 часов, ежемесячная экономия времени составит 27/8 ~ 3 чел/мес.
10.4 Определение числовых показателей и расчет трудозатрат на разработку программных средств:
Расчет сложности разработки методом FPA IFPUG:
Расчет трудозатрат на разработку «с нуля» методом COCOMO II:
10.5 Сравнительный план-факт:
Из расчета:
SLOC = 1 980 строк кода
PM (Трудозатраты) = 3 человеко-месяцы
TDEV (Полный срок разработки, месяцы) = 5 месяцев
Исходя из значений по факту:
SLOC = 1 090 строк кода
PM (Трудозатраты) = 320 человеко-часы
TDEV (Полный срок разработки) = 4 месяца
Готовность = 70%%
ВЫВОДЫ
Исходя из результатов таблицы п.10.5 можно сделать вывод, что за счет использования готовых функций и библиотек удалось сократить строки кода (языки программирования C#) в 1,3 раза. Также, за счет сокращения тестирования, объема документации, и использования CASE, удалось сократить срок разработки с 5 месяцев до 4. Срок окупаемости разработки сократился в 1,3 раза. На данный момент работа выполнена на 85%, и на остаток реализации по расчету осталось около 15 часов.