 
        
        Федеральное агентство связи
Федеральное государственное образовательное бюджетное учреждение высшего образования «Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А.Бонч-Бруевича»
Факультет «Инфокоммуникационных сетей и систем»
Кафедра «Программной инженерии и вычислительной техники»
Отчет
Лабораторная работа №1
Дисциплина: Проектирование и архитектура программных систем
Название: «Игровой движок».
- 
	Студент группы ИКПИ-93 ________________ Козлов Н.С кандидат технических наук _________________ Кокарев А.С. 
Санкт-Петербург
2023
Оглавление
Постановка задачи
Требуется ознакомиться с технологиями управления проектами, подобными Microsoft Project, например, GanttPRO, и освоить выбранный инструментарий для успешного выполнения работы. В рамках проекта необходимо провести планирование и построение развернутой диаграммы Ганта с учетом параллельных работ, чтобы продемонстрировать усилия по сокращению времени изготовления продукта.
Актуальность
Игровая индустрия - одна из наиболее актуальных и быстрорастущих отраслей в области цифровых технологий. Не обошла эта отрасль и Российский рынок. По данным источника «Tadviser», по итогам 2021-го года, Россия оказалась в пятёрке по потреблению игрового контента. Тем не менее лишь небольшая часть разработчиков из России занимается производством собственных продуктов в пределах Российского рынка, в то время как большая часть компаний вовлечена в аутсорсинг для компаний из-за рубежа, закономерно работающих с иностранным программным обеспечением.
В связи с этим, в стране почти отсутствуют основные инструменты, такие как игровые движки, для создания подобных продуктов. На мировом рынке представлен лишь Unigine, разрабатываемый Российской компанией, однако тот больше предназначен для разработки различных эмуляторов и сложных инженерных 3D-визуализаций, что делает его менее привлекательным для разработчиков на фоне иностранных аналогов.
В Июне 2022-го года, на фоне оттока иностранных компаний, о потребности создания собственных игровых движков заговорили и на уровне государственной думы. Горелкин. А.В, заместитель председателя комитета государственной думы по информационной политике, высказался о приоритетности таковой задачи для поддержания отечественного игрового рынка, что подчёркивает актуальность создания собственного игрового движка.
Общие сведения
- Полное наименования системы: повторно используемая и свободно расширяемая система для разработки компьютерных игр. 
- Условное обозначение: «RemaEngine» 
Назначение
Программное обеспечение "RemaEngine" предназначено для создания компьютерных игр в жанре "визуальная новелла". Оно имеет ключевые функции, которые позволяют разработчикам избежать проектирования сложных составных частей игры, таких как отрисовка изображений на экране, проигрывание аудио файлов и управление памятью. Вместо этого разработчики могут сконцентрироваться только на создании игры. "RemaEngine" является сложной системой реального времени.
Краткое описание используемого пакета планирования проекта
GanttPRO - это инструмент для планирования проектов, который предоставляет пользователям возможность создавать графики Ганта, управлять задачами и ресурсами, а также сотрудничать в режиме реального времени. Этот инструмент был разработан компанией GanttPRO Inc. и доступен в качестве программного обеспечения как услуга (SaaS) на основе облачных вычислений.
Права использования
 
	Рис.
	. Тарифные планы GanttPRO 
  
Описание функций
- Диаграмма Ганта: Это основная функция GanttPRO, которая позволяет пользователям создавать диаграммы Ганта и управлять ими. Диаграмма Ганта отображает задачи в виде горизонтальных баров на оси времени. Это дает пользователям ясное представление о том, какие задачи должны быть выполнены, когда и кем. 
- Управление задачами: GanttPRO позволяет пользователям управлять задачами, присваивая им даты начала и окончания, отслеживая прогресс, присваивая ответственных и добавляя комментарии. 
- Управление ресурсами: GanttPRO позволяет пользователям управлять ресурсами, присваивая задачам определенных сотрудников, устанавливая доступность сотрудников в определенные даты и отслеживая загрузку ресурсов. 
- Коллаборация: GanttPRO позволяет пользователям работать над проектом в режиме реального времени, общаться в чате, обмениваться файлами и делиться информацией о проекте. 
Управление проектом
Проектирование
Проектирование программного обеспечения можно разделить на следующие этапы:
- Разработка документа о концепции и границах проекта. 
- Проектирование архитектуры. 
- Разработка прототипа. 
- Тестирование. 
- Оценка качества. 
- Релиз. 
- Поддержка. 
Таблица 1 – описания этапов проектирования.
| Номер | Название этапа | Описание этапа | 
| 1 | Разработка документа о концепции и границах проекта. | Документ содержит описание концепции, границы проекта, основные цели, планы и оценку рисков. Документ является основой для дальнейшей работы над проектом ПО. | 
| 1.1 | Анализ требований | На этом этапе определяются требования к ПО, а также осуществляется анализ текущей ситуации, в которой будет использоваться ПО. | 
| 1.2 | Определение границ проекта | В рамках этого шага определяются границы проекта, то есть конкретные параметры и ограничения, которые будут учитываться при создании ПО. Например, это могут быть ограничения по времени, бюджету, функциональности или совместимости. | 
| 1.3 | Разработка концепции | На основе анализа требований и определения границ проекта разрабатывается концепция ПО, которая определяет основные цели и направления разработки. Концепция может включать в себя описание основных функций, планируемые сроки, возможные риски и т.д. | 
| 1.4 | Оценка рисков | На этом этапе проводится оценка рисков, связанных с проектом. Определяются возможные проблемы и негативные последствия, которые могут возникнуть в процессе разработки, а также разрабатываются стратегии и планы для минимизации этих рисков. | 
| 2 | Проектирование архитектуры | Определение общей структуры системы, выбор подходящих платформ и технологий, разработка схемы взаимодействия компонентов. | 
| 3 | Разработка прототипа | Создание рабочего прототипа системы для демонстрации ключевых функций и проверки соответствия требованиям заказчика. | 
| 3.1 | Разработка Back-End части ПО | На этом шаге создаётся часть приложения, которая отвечает за обработку данных и бизнес-логику приложения. Back-end разработка включает в себя проектирование и создание серверной архитектуры, базы данных, API (Application Programming Interface) и бизнес-логики приложения. | 
| Продолжение таблицы 1. | ||
| 3.2 | Разработка Front-End части ПО | В рамках этого этапа создаётся часть приложения, которая отвечает за пользовательский интерфейс программы. Front-end разработка включает в себя создание интерактивных элементов, таких как кнопки, поля ввода, выпадающие списки и т.д., а также визуального дизайн. | 
| 4 | Тестирование | На этом этапе специалисты по тестированию проверяют работоспособность и соответствие требованиям разрабатываемого программного обеспечения. | 
| 5 | Оценка качества | Процесс измерения и проверки соответствия программного обеспечения требованиям, стандартам и ожиданиям заказчика и конечных пользователей. | 
| 6 | Релиз | Является завершающим этапом в жизненном цикле разработки программного обеспечения, на котором выпускается окончательная версия приложения для публичного использования. В рамках этого этапа осуществляется подготовка к выходу программного продукта на рынок. | 
| 7 | Поддержка | Период времени после релиза программного обеспечения, когда команда разработчиков продолжает обеспечивать работоспособность и эффективность ПО, а также предоставляет техническую поддержку для пользователей. | 
| 7.1 | Исправление ошибок и багов | Если пользователи обнаружат проблемы в работе ПО, то команда поддержки должна быстро исправить эти ошибки. | 
| 7.2 | Обновление и улучшение ПО | Команда может выпускать обновления, чтобы улучшить производительность, добавить новые функции или исправить обнаруженные проблемы. | 
Планирование
Для начала создадим виртуальные ресурсы, отражающие наш рабочий персонал и зададим им их гипотетическую цену за час работы.
 
Рис. 2. Виртуальные ресурсы и их стоимость.
После этого, разместим описанные в таблице задачи на диаграмме Ганта и прикрепим к ним соответствующий персонал и сделаем расчёт стоимости проекта.
| 
			 
				Рис.
				. Диаграмма Ганта. | 
| 
			 
				Рис.
				. Расчёт стоимости проекта. | 
Заключение
Было проведено планирование проекта, построена диаграмма Ганта. Были определены
трудовые затраты и удалось разделить некоторые задачи на параллельную работу. Стоимость проекта составила 689 000 рублей.

 
  
