Реферат по теме выпускной работы
Внимание! На момент написания данного реферата магистерская работа ещё не завершена. Предполагаемая дата завершения – май 2022 г. Полный текст работы, а также материалы по теме могут быть получены у автора или его научного руководителя после указанной даты.
Содержание
- Введение
- 1. Актуальность темы
- 2. Цель и задачи исследования, планируемые результаты
- 3. Обзор исследований и разработок
- 4. Проектирование архитектуры веб-приложения
- Выводы
- Список источников
Введение
В современном мире информационные технологии глубоко интегрированы как в повседневную, так и в рабочую жизнь людей, поэтому сложно представить какую-либо сферу деятельности без их участия, ведь они автоматизируют решение рутинных задач, увеличивают продуктивность работы и упрощают рабочие процессы.
В связи с этим, предприятия и компании заинтересованы в использовании специализированного программного обеспечения и внедрения его в свои бизнес-процессы. Оно позволит решить определённые бизнес-задачи и повысить производительность труда сотрудников.
Такая система может служить для коммуникации сотрудников, обмена информацией, кадрового учёта сотрудников, а также может выполнить интеграцию с другими сторонними системами и сервисами.
1. Актуальность темы
Задача создания автоматизированных систем, призванных помогать человеку в работе, имеет более чем 30-летнюю историю. Исследуются различных направления, такие как проектирование систем и комплексов, проблемы разработки программного обеспечения, управление проектами разработки, в комплексе позволяющие создавать сложные и функциональные системы.
Эффективная коммуникация в команде – одна из ключевых составляющих быстрой и продуктивной работы сотрудников IT-предприятия. Если в команде нет удобных коммуникационных инструментов, работать такая команда будет менее эффективно и в данный момент во многих компаниях есть сложности с налаживанием коммуникации, так как кто-то предпочитает связь посредством электронной почты, кто-то с помощью Viber, кто-то посредством WhatsApp или Facebook Messenger [1]. Приходится тратить время на то, чтобы выяснить, как связаться с человеком.
К этому добавляется и то, что в командах разработчиков принято каждый день или хотя бы несколько раз в неделю проводить meeting.
Meeting – это собрание разработчиков для обсуждения планов на день, возникших проблем, ошибок, нюансов архитектуры программного обеспечения, конфликтов версий, изменений и правок от заказчика, добавления новых функций и так далее. Они всегда проводятся в формате Web-конференций – это наиболее эффективный подход, когда все участники команды, работающей над конкретным проектом, подключаются к одной комнате для связи посредством микрофона и веб-камеры. Для этого используются специализированные системы, которые не всегда обладают необходимым функционалом.
Также всё большую популярность набирает найм сотрудников для работы удалённо, так как таким образом IT-предприятия могут снизить свои расходы на аренду офисных помещений, нет необходимости приобретать дорогостоящее оборудование и дополнительное лицензионное программное обеспечение. В этом есть и определённая доля выгоды для сотрудников, потому что многим людям комфортнее и удобнее работать из дома, чем ездить каждый день в офис, также нет расходов на дорогу до работы и обратно, как в плане времени, так и в плане средств. Для реализации этой концепции необходимо наладить коммуникацию удаленных сотрудников друг с другом или удалённых сотрудников с офисными, так как без налаженных коммуникаций возрастают расходы, сдвигаются сроки выполнения задач, что аннулирует выгоду от найма сотрудников для работы удалённо.
В связи со всеми этими факторами, появляется острая необходимость в использовании специализированных инструментов и их внедрения в свои бизнес-процессы. Необходимо создать эффективную систему, которая будет решать данную бизнес-задачу, а также будет являться кроссплатформенной, то есть работать в любой операционной системе. Она должна отвечать всем необходимым функциональным требованиям, а также иметь удобный и интуитивно понятный интерфейс для комфортной и продуктивной работы сотрудников IT-предприятия. Данная необходимая промышленная система, по сути, является программной системой.
2. Цель и задачи исследования, планируемые результаты
Целью данной работы является разработка системы для управления бизнес-процессами IT-предприятия, предназначенной для работы в интернете, с различным функционалом. Это коммуникация сотрудников, обмен информацией, учёт кадров, отслеживание получения и выполнения заданий сотрудниками, а также интеграция с необходимыми сторонними система и сервисами.
Для достижения поставленной цели, необходимо выполнить нижеперечисленные задачи:
- Провести анализ подходов, методов проектирования и разработки специализированных программный систем для решений бизнес-процессов предприятий;
- Выработать принципы проектирования архитектуры специализированного ПО для предприятий;
- Разработать модульную архитектуру специализированной системы;
- Сформулировать необходимые функциональные требования к системе;
- Выбрать наиболее оптимальные инструменты для разработки и тестирования системы;
- Разработать, на основе предложенной архитектуры и используя выбранные инструменты, специализированную систему для решений бизнес-процессов конкретного IT-предприятия, которая будет соответствовать всем функциональным требованиям.
Объектом исследования в данной работе является математическое и программное обеспечение систем для управления бизнес-процессами предприятий.
Предметом исследования является изучение функциональных требований к специализированным системам для предприятий.
В результате проведённой работы ожидается получить полностью работоспособную систему для решения бизнес-процессов, которая будет соответствовать всем требуемым функциональным требованиям, будет масштабируемой и расширяемой. Чтобы в дальнейшем её можно было внедрить в работу реально действующего IT-предприятия.
3. Обзор исследований и разработок
Исследуемая в данной работе тема относится к области разработки специализированных программных продуктов, называемых Enterprise-приложения. Это обширная область, которая изучает потребности бизнеса и предлагает методы автоматизации или упрощения определённых задач. Её изучением занимаются очень активно как национальные, так и зарубежные специалисты, поэтому статей и прочей литературы на данный момент имеется достаточно для погружения в предметную область.
Проектирование микросервисной архитектуры программного обеспечения для специализированных систем было рассмотрено Шитько А.М. [2]. Данная статья посвящена изучению технологии построения микросервисной архитектуры, которая позволяет сохранять модульность и независимость развертывания компонент Enterprise-приложения.
Долженко А.И. [3] определил задачи выбора облачных технологий для экономических информационных систем и рассмотрел перспективы использования облачных технологий в экономических информационных системах, и задачи обоснования выбора вендоров и облачных ИТ-сервисов для таких систем на основе нечетких моделей.
В работе Барановской Т.П., Ивановой Е.А., Сайкинова В.Е. [4] обсуждались перспективы развертывания системы поддержки принятия решений обоснования объемов кредитования малых сельскохозяйственных предприятий в облачной среде. Они описали возможности и перспективы развертывания системы поддержки принятия решений обоснования объемов кредитования малых сельскохозяйственных предприятий в облачной среде. Выявили недостатки в существующих системах автоматизации малых предприятий, в связи с чем, обоснована необходимость разработки системы, позволяющей руководителю корректно и оперативно рассчитать объем необходимых кредитных средств.
Исследование актуальности использования архитектуры REST для обмена данными между клиент-серверными приложениями было проведено Ковалевым В.В., Храмковым В.В. и Семеновой Е.И. [5]. Также была рассмотрена структура клиент серверного приложения и архитектурный стиль REST.
Среди зарубежных источников следует выделить работу Chloe Henderson [6], где было дано определение того, что такое корпоративное приложение, а также были даны примеры и аргументированы тенденции. Rob Johnson [7] выделил 7 типов корпоративный приложений, которые дадут конкурентное преимущество.
Среди магистров ДонНТУ также были люди, которые исследовали специализированные системы.
Одной из таких является работа Седневеца М.А. [8], где были исследованы распределённые системы, а именно их архитектура и требования к ним. Также в работе Филенко М.С. [9] изучалась разработка механизма распределённого хранения и защиты информации.
4. Проектирование архитектуры веб-приложения
Архитектура программного обеспечения – структура, на базе которой создается приложение, взаимодействуют модули и компоненты всей программы. На данный момент существует два вида архитектурных шаблонов проектирования веб-приложений: клиент-серверная архитектура и трёхуровневая.
Клиент-серверная архитектура – шаблон проектирования, основа для создания веб-приложений. Данная архитектура состоит из трёх компонентов:
- Клиент – это пользователь сервиса (веб-приложения), который обращается к серверу для получения какой-либо информации;
- Сервер – место, где располагается веб-приложение или его серверная часть. Он владеет необходимой информацией о пользователях или может её запрашивать. Также при обращении клиента сервер возвращает ему запрашиваемую информацию;
- Сеть – обеспечивает обмен информацией между клиентом и сервером.
Схема данной архитектуры представлена на рисунке 1.
Трёхуровневая архитектура — это архитектурный шаблон, в котором появляется третий участник — хранилище данных. При использовании этого шаблона, три уровня принято называть слоями (рис. 2):
- Клиентский слой – интерфейс пользователя. Это может быть веб-браузер, которому отправляются HTML-страницы или графическое приложение, написанное с помощью JavaFX. Главное, чтобы с его помощью пользователь мог отправлять запросы на сервер и обрабатывать его ответы;
- Слой логики – сервер, на котором происходит обработка запросов/ответов. Часто его еще называют серверным слоем. Также здесь происходят все логические операции: математические расчеты, операции с данными, обращения к другим сервисам или хранилищам данных;
- Слой данных – сервер баз данных, к которому обращается сервер. В этом слое сохраняется вся необходимая информация, которой пользуется приложение при работе.
Использование трёхуровневой архитектуры даёт ряд преимуществ, среди которых:
- Возможность построить защиту от SQL-инъекций – это вид атаки на сервер, при которой передается SQL-код, и при выполнении этого кода злоумышленник может воздействовать на базу данных;
- Разграничение данных, к которым нужно регулировать пользовательский доступ;
- Возможность модифицировать данные перед отправкой клиенту;
- Масштабируемость – возможность расширить приложение на несколько серверов, которые будут использовать одну и ту же базу данных;
- Меньшие требования к качеству соединения пользователя. Формируя ответ на сервере, часто необходимо брать из базы данных много различной информации, форматировать её, оставляя только то, что нужно пользователю. Таким образом, сокращается объем информации, который отправляется в качестве ответа клиенту.
Также с трёхуровневой архитектурой можно использовать паттерн MVC (Model (Модель) – View (Вид) – Controller (Контроллер)) [10], который разделяет аспекты приложения (логику ввода, бизнес-логику и логику пользовательского интерфейса), обеспечивая при этом свободную связь между ними.
- Model (Модель) инкапсулирует (объединяет) данные приложения, они будут состоять из Java-объектов;
- View (Отображение, Вид) отвечает за отображение данных Модели, как правило, генерируя HTML-код, который пользователь видит в браузере в преображённом виде;
- Controller (Контроллер) обрабатывает запрос пользователя, создаёт соответствующую Модель и передаёт её для отображения в Вид.
Для реализации веб-системы было принято решение использовать трёхуровневую архитектуру в связи с её вышеперечисленными преимуществами и взаимодействием с фреймворком Spring MVC, который обеспечивает реализацию паттерна Model – View – Controller при помощи слабо связанных готовых компонентов.
Выводы
Рассмотрены архитектурные шаблоны проектирования веб-приложений для дальнейшего применения при реализации собственной системы. Также была исследована актуальность выбранной темы, была поставлена цель, сформулированы задачи и ожидаемые результаты.
В представленном материале были рассмотрены исследования и разработки по теме работы, проанализировав которые были сделаны выводы для дальнейшего изучения и развития темы.
В дальнейшем планируется разработать собственный продукт, собственную Enterprise-систему, которая будет отвечать необходимым функциональным требованиям конкретного IT-предприятия и позволит решить, упростить и автоматизировать его определенные бизнес-задачи. Также были выбраны инструменты и пути реализации данной системы для быстродействия и защиты данных.
Список источников
- Хабр. Сообщество IT-специалистов. Режим доступа: https://habr.com/ru/company/mvideo/blog/426469. – Заглавие с экрана.
- Шитько Андрей Михайлович Проектирование микросервисной архитектуры программного обеспечения // Труды БГТУ. Серия 3: Физико-математические науки и информатика. 2017. №9 (200). URL: https://cyberleninka.ru/article/n/proektirovanie-mikroservisnoy-arhitektury-programmnogo-obespecheniya
- Долженко А.И. Задачи выбора облачных технологий для экономических информационных систем // Вестник РГЭУ РИНХ. 2014. №4 (48). URL: https://cyberleninka.ru/article/n/zadachi-vybora-oblachnyh-tehnologiy-dlya-ekonomicheskih-informatsionnyh-sistem
- Барановская Татьяна Петровна, Иванова Елена Александровна, Сайкинов Виктор Евгеньевич Перспективы развертывания системы поддержки принятия решений обоснования объемов кредитования малых сельскохозяйственных предприятий в облачной среде // Научный журнал КубГАУ. 2015. №112. URL: https://cyberleninka.ru/article/n/perspektivy-razvertyvaniya-sistemy-podderzhki-prinyatiya-resheniy-obosnovaniya-obemov-kreditovaniya-malyh-selskohozyaystvennyh
- Ковалев В.В., Храмков В. В., Семенова Е. И. АКТУАЛЬНОСТЬ ИСПОЛЬЗОВАНИЯ АРХИТЕКТУРЫ REST ДЛЯ ОБМЕНА ДАННЫМИ МЕЖДУ КЛИЕНТ-СЕРВЕРНЫМИ ПРИЛОЖЕНИЯМИ // Актуальные проблемы авиации и космонавтики. 2019. №. URL: https://cyberleninka.ru/article/n/aktualnost-ispolzovaniya-arhitektury-rest-dlya-obmena-dannymi-mezhdu-klient-servernymi-prilozheniyami
- AnyConnector. What Is An Enterprise Application? Definition, Examples, and Trends. Режим доступа: https://anyconnector.com/enterprise-application.html. – Заглавие с экрана.
- Mindk. 7 types of enterprise software that will give you a competitive edge. Режим доступа: https://www.mindk.com/blog/enterprise-software/. – Заглавие с экрана.
- Седневец М.А. Разработка и исследование рспределенных систем – Режим доступа: http://masters.donntu.ru/2018/fknt/sednevets/index.htm
- Филенко М.С. Разработка механизма распределенного хранения и защиты информации – Режим доступа: http://masters.donntu.ru/2009/fvti/filenko/diss/index.htm
- Википедия – свободная энциклопедия. Model-View-Controller. Режим доступа: https://ru.wikipedia.org/wiki/Model-View-Controller. – Заглавие с экрана.