Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мнджмнт2.docx
Скачиваний:
0
Добавлен:
20.06.2025
Размер:
328.11 Кб
Скачать

ГУАП

КАФЕДРА № 82

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

доцент, канд. экон. наук

Е.В. Черепков

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №2

Проектирование и выбор средств разработки

по курсу: ИНФОРМАЦИОННЫЙ МЕНЕДЖМЕНТ

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ гр. №

4116

подпись, дата

инициалы, фамилия

Санкт-Петербург 2025

Введение

В данной лбораторной работе будет рассмотрен бизнес-процесс создания запроса на помощь в веб-приложении для координации добровольческой деятельности В рамках работы будет рассмотрен сам процесс и подобраны соответствующие инструменты разработки. Основная цель – создать удобную и производительную систему, позволяющую пользователям легко создавать запросы на помощь, указывать их местоположение на карте, выбирать категорию помощи и управлять взаимодействием с потенциальными помощниками.

1. Описание бизнес-процесса

Организация ДоброДел занимается поддержкой и разработкой инновационного веб-ресурса, предназначенного для координации добровольческой деятельности и обеспечения взаимодействия между добровольцами и нуждающимися в помощи. Рассмотрен бизнес-процесс создания запроса на помощь. Процесс начинается с авторизации пользователя в системе. После успешного входа пользователь переходит на главную страницу, где видит карту с существующими запросами. Для создания нового запроса пользователь нажимает кнопку и выбирает место на карте, где требуется помощь. Затем заполняет форму, указывая категорию помощи, описание проблемы и сроки. Система проверяет введенные данные и, если всё корректно, сохраняет запрос в базе данных, создает маркер на карте и добавляет запрос в список пользователя. После этого пользователь ожидает откликов от потенциальных помощников. На рисунках 1 и 2 представлены BPMN и DFD диаграммы процесса.

Рисунок 1 – BPMN диаграмма

Рисунок 2 – Dataflow диаграмма

2. Выбор средств разработки по

Проанализрованы актульные для реализации серверной стороны ПО (Таблица 1).

Таблица 1 – Технологии для реализации серверной стороны ПО

Технология

Преимущества

Недостатки

JAVA

Богатая экосистема библиотек и фреймворков. Проверенная временем технология. Хорошая масштабируемость. Отличная поддержка многопоточности

Более длительный процесс разработки

Node.js

Быстрая разработка. Единый язык на фронтенде и бэкенде (JavaScript). Активное сообщество разработчиков

Нестабильность API. Проблемы с обработкой ошибок. Не подходит для CPU-интенсивных задач

Python

Простой и читаемый синтаксис. Быстрая разработка. Богатая экосистема библиотек. Активное сообщество

Зависимость от версий Python. Ограниченная поддержка мобильной разработки. Проблемы с обработкой параллельных вычислений |

Для реализации серверной части -приложения был выбран язык программирования Java. Java представляет собой зрелую и проверенную временем технологию, которая обеспечивает высокую надежность и производительность. Богатая экосистема библиотек и фреймворков Java позволяет значительно ускорить процесс разработки, предоставляя готовые решения для различных задач. Масштабируемость Java является одним из преимуществ, система помощи должна быть способна обрабатывать большое количество одновременных запросов и эффективно управлять ресурсами. Java с его многопоточностью и оптимизированной виртуальной машиной (JVM) обеспечивает необходимую производительность и стабильность работы.

Затем проанализрованы актульные технологии для реализации клиентской стороны ПО (Таблица 2).

Таблица 2 – Технологии для реализации клиентской стороны ПО

Технология

Преимущества

Недостатки

React

Виртуальный DOM для оптимизации производительности. Компонентный подход к разработке. Богатая экосистема библиотек.

Сложность обучения для новичков. Частые обновления и изменения в API. Отсутствие встроенного роутинга и управления состоянием

Vue.js

Простой и понятный синтаксис. Встроенный роутинг и управление состоянием

Меньше готовых решений.

Сложности с масштабированием больших приложений

Angular

Мощные инструменты для тестирования. Встроенный CLI.

Сложность в освоении. Медленный процесс разработки

Для реализации клиентской части веб-приложения был выбран фреймворк React. React предоставляет виртуальный DOM, который значительно оптимизирует производительность приложения. Это особенно важно для разрабатываемого ресурса, где необходимо часто обновлять данные на карте и в списках запросов о помощи. Виртуальный DOM минимизирует количество реальных DOM-операций, что приводит к более плавной работе интерфейса и лучшему пользовательскому опыту.Компонентный подход к разработке, который предлагает React, позволяет создавать переиспользуемые элементы интерфейса. В разрабатываемом веб-приложении это особенно полезно, так как многие элементы, карточки запросов, формы создания запросов и уведомления, используются в разных частях приложения. Такой подход значительно ускорит разработку. Богатая экосистема библиотек React предоставляет готовые решения, например, наличие специализированных библиотек для работы с картами (Leaflet), управления состоянием, маршрутизации и HTTP-запросов.

В таблице 3 представлены актуальные технологии для реализации базы данных.

Таблица 3 – Технологии для реализации базы данных

БД

Преимущества

Недостатки

PostgreSQL

Поддержка сложных типов данных и JSON. Поддержка геопространственных данных. Хорошая документация

Сложная в настройке. Больший размер дискового пространства.

MySQL

Простота использования. Быстрая установка. Широкое распространение

Ограниченная поддержка сложных типов данных. Ограниченная поддержка JSON.

MongoDB

Удобство работы с JSON-данными. Быстрая разработка

Проблемы с целостностью данных. Высокие требования к памяти. Ограниченная поддержка JOIN-операций

Для реализации базы был выбран PostgreSQL. PostgreSQL предоставляет отличную поддержку геопространственных данных через расширение PostGIS, поскольку система помощи основана на работе с географическими координатами для определения местоположения запросов о помощи, PostgreSQL позволяет эффективно хранить и обрабатывать пространственные данные. Поддержка сложных типов данных и JSON в PostgreSQL дает гибкость в структурировании данных. Это особенно важно для хранения различной информации о запросах помощи, пользователях и их взаимодействиях. JSON-поля позволяют хранить дополнительные метаданные и настройки без необходимости изменения схемы базы данных, что упрощает развитие системы в будущем.

В таблице 4 представлены актуальные среды разработки.

Таблица 4 – Среды разработки

IDE

Преимущества

Недостатки

IntelliJ IDEA

Мощная поддержка Java и Spring. Умное автодополнение кода. Интеграция с системами контроля версий. Удобный интерфейс. Хорошая производительность.

Стоимость лицензии. Требует значительных ресурсов. Длительная загрузка при первом запуске.

Visual Studio Code

Бесплатная и открытая. Интеграция с Git. Кроссплатформенность. Хорошая поддержка TypeScript/JavaScript.

Необходимость установки дополнительных расширений. Низкие требования к ресурсам.

Eclipse

Хорошая поддержка Java. Большое количество плагинов.

Сложный интерфейс. Большое потребление ресурсов. Сложность настройки. Устаревший дизайн. Проблемы с производительностью при больших проектах.

Для разработки веб-приложения были выбраны две различные среды разработки: Visual Studio Code для фронтенд-части и IntelliJ IDEA для бэкенд-разработки.

Для фронтенд-разработки был выбран Visual Studio Code, который представляет собой легковесную, но мощную среду разработки. VS Code обеспечивает отличную поддержку TypeScript и JavaScript, что важно для разработки на React. Встроенная интеграция с Git обеспечивает удобную работу с системой контроля версий, а встроенный терминал позволяет быстро выполнять необходимые команды без переключения между приложениями. Кроссплатформенность VS Code является важным преимуществом, так как позволяет разработчикам работать в привычной среде независимо от операционной системы. Также VS Code имеет низкие требования к ресурсам, что обеспечивает быструю работу даже на менее мощных компьютерах.

Для бэкенд-разработки был выбран IntelliJ IDEA, который предоставляет комплексный набор инструментов для разработки на Java. Особенно важно отметить его мощную поддержку Spring Framework, которая значительно упрощает разработку REST API и работу с базой данных PostgreSQL. Умное автодополнение кода и мощные инструменты отладки помогут писать качественный код и быстро находить ошибки. Хоть IntelliJ IDEA требует значительных ресурсов и имеет платную лицензию, эти недостатки компенсируются повышением производительности разработки и снижением количества ошибок в коде.

Соседние файлы в предмете Информационный менеджмент