Реферат за темою випускної роботи
Увага! На момент написання цього реферату магістерська робота ще не завершена. Передбачувана дата завершення – травень 2022 р. Повний текст роботи, а також матеріали на тему можуть бути отримані у автора або його наукового керівника після зазначеної дати.
Зміст
- Вступ
- 1. Актуальність теми
- 2. Мета і задачі дослідження та заплановані результати
- 3. Огляд досліджень та розробок
- 4. Проектування архітектури веб-програми
- Висновки
- Перелік джерел
Вступ
У сучасному світі інформаційні технології глибоко інтегровані як у повсякденне, так і в робоче життя людей, тому складно уявити будь-яку сферу діяльності без їхньої участі, адже вони автоматизують вирішення рутинних завдань, збільшують продуктивність роботи та спрощують робочі процеси.
У зв'язку з цим, підприємства та компанії зацікавлені у використанні спеціалізованого програмного забезпечення та впровадження його у свої бізнес-процеси. Воно дозволить вирішити певні бізнес-завдання та підвищити продуктивність праці співробітників.
Така система може служити для комунікації співробітників, обміну інформацією, кадрового обліку співробітників, а також може виконати інтеграцію з іншими сторонніми системами та сервісами.
1. Актуальність теми
Завдання створення автоматизованих систем, покликаних допомагати людині в роботі, має більш ніж 30-річну історію. Досліджуються різні напрямки, такі як проектування систем та комплексів, проблеми розробки програмного забезпечення, управління проектами розробки, що в комплексі дозволяють створювати складні та функціональні системи.
Ефективна комунікація в команді – одна з ключових складових швидкої та продуктивної роботи працівників ІТ-підприємства. Якщо в команді немає зручних комунікаційних інструментів, працювати така команда буде менш ефективно і в даний момент у багатьох компаніях є складнощі з налагодженням комунікації, тому що хтось віддає перевагу зв'язку через електронну пошту, хтось за допомогою Viber, хтось за допомогою WhatsApp або Facebook Messenger [1]. Доводиться витрачати час, щоб з'ясувати, як зв'язатися з людиною.
До цього додається і те, що в командах розробників прийнято щодня або хоча б кілька разів на тиждень проводити meeting.
Meeting – це збори розробників для обговорення планів на день, проблем, помилок, нюансів архітектури програмного забезпечення, конфліктів версій, змін і правок від замовника, додавання нових функцій і так далі. Вони завжди проводяться у форматі Web-конференцій – це найбільш ефективний підхід, коли всі учасники команди, що працює над конкретним проектом, підключаються до однієї кімнати для зв'язку через мікрофон і веб-камера. Для цього використовуються спеціалізовані системи, які не завжди мають необхідний функціонал.
Також все більшу популярність набирає найм працівників для роботи віддалено, оскільки таким чином IT-підприємства можуть знизити свої витрати на оренду офісних приміщень, немає необхідності купувати дороге обладнання та додаткове ліцензійне програмне забезпечення. У цьому є і певна частка вигоди для співробітників, тому що багатьом людям комфортніше та зручніше працювати з дому, ніж їздити щодня в офіс, також немає витрат на дорогу до роботи та назад, як у плані часу, так і у плані коштів.Для реалізації цієї концепції необхідно налагодити комунікацію віддалених співробітників один з одним або віддалених співробітників з офісними, оскільки без налагоджених комунікацій зростають витрати, зсуваються терміни виконання завдань, що анулює вигоду від найму працівників для роботи віддалено.
У зв'язку з усіма цими факторами, виникає гостра потреба у використанні спеціалізованих інструментів та їх впровадження у свої бізнес-процеси. Необхідно створити ефективну систему, яка вирішуватиме дане бізнес-завдання, а також буде кросплатформною, тобто працювати в будь-якій операційній системі. Вона повинна відповідати всім необхідним функціональним вимогам, а також мати зручний та інтуїтивно зрозумілий інтерфейс для комфортної та продуктивної роботи працівників IT-підприємства. Дана необхідна промислова система є програмною системою.
2. Мета і задачі дослідження та заплановані результати
Метою даної роботи є розробка системи для управління бізнес-процесами ІТ-підприємства, призначеної для роботи в інтернеті, з різним функціоналом. Це комунікація співробітників, обмін інформацією, облік кадрів, відстеження отримання та виконання завдань співробітниками, а також інтеграція з необхідними сторонніми системами та сервісами.
Для досягнення поставленої мети необхідно виконати такі завдання:
- Провести аналіз підходів, методів проектування та розробки спеціалізованих програмних систем для вирішення бізнес-процесів підприємств;
- Виробити принципи проектування архітектури спеціалізованого ПЗ для підприємств;
- Розробити модульну архітектуру спеціалізованої системи;
- Сформулювати необхідні функціональні вимоги до системи;
- Вибрати найоптимальніші інструменти для розробки та тестування системи;
- Розробити на основі запропонованої архітектури та використовуючи обрані інструменти спеціалізовану систему для вирішення бізнес-процесів конкретного 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. – Заглавие с экрана.