Professional Documents
Culture Documents
БКР, Ільящук, КН-41з
БКР, Ільящук, КН-41з
2. Li, Patrick. 2019. Jira 8 Essentials - Fifth Edition. Birmingham, England: Packt
Publishing. -- 420 p.
3. Rubin K. S. Essential Scrum: A practical guide to the most popular agile process /
Kenneth S. Rubin. – Upper Saddle River, NJ : Addison-Wesley, 2012.
4. Geers M. Micro Frontends in Action / Michael Geers. – [S. l.] : Manning
Publications, 2020. – 296 p.
5
ЗМІСТ
ЗМІСТ 5
ВСТУП 9
3. РЕАЛІЗАЦІЯ ПРОГРАМИ. 34
3.1. Вибір допоміжних програмних засобів. 34
3.2. Серверна частина. 35
3.2.1. Застосунок-сервер. 35
3.2.2. База даних. 36
3.3. Мікрофронтенди. 37
3.3.1. Система управління завданнями. 37
3.3.2. Графік системи контролю версій Git. 39
3.3.3. Графік продуктивності команди. 39
3.4. Інтеграція та композиція підзастосунків. 40
3.4.1. Програма-контейнер, завантаження ресурсів підзастосунків. 40
3.4.2. Комунікація між мікрофронтендами. 43
3.4.3. Аутентифікація. 44
3.5. Налагодження незалежного розгортання. 45
3.6. Висновки до розділу 3. 46
4. ЕКОНОМІЧНА ЧАСТИНА 47
4.1 Економічна характеристика проектного рішення (програмного продукту) 47
4.2 Інформаційне забезпечення та формування гіпотези щодо потреби розроблення товару 47
4.3 Оцінювання та аналізування факторів зовнішнього та внутрішнього середовищ 49
6
4.4 Формування стратегічних альтернатив 50
4.5 Бюджетування 53
4.6 Остаточний вибір стратегії 57
ВИСНОВКИ 58
ДОДАТОК А 62
А.1. Модель “сутність-зв’язок” реалізованої бази даних. 62
А.2. Діаграма потоку даних проектних параметрів. 63
А.3. Діаграма активності верифікації проектного репозиторію. 64
Додаток Б 65
Б.1. Директиви композиції серверу й бази даних для docker-compose. 65
Б.2. Маршрутизатор підзастосунку “Канбан” 66
7
ВСТУП
За визначенням Інституту Проектного Менеджменту, управління
проектами - це застосування знань, навичок, інструментів та методів проектної
діяльності, аби виконати вимоги певного проекту [1, p.36]. Один з таких
інструментів - системи управління проектами (що також мають назву
“інформаційні системи проектного менеджменту” або ІСПМ) - програмне
забезпечення для планування, зберігання та поширення проектної інформації,
звітності, конфігурації тощо. Такі системи також можуть реалізовувати
автоматизований збір інформації та звітність про основні індикатори
продуктивності [1, p.98]. Кількість інформації, що обробляється в межах
розробки сучасних IT-проектів, робить неминучою використання таких систем
[1, p.82].
Завдяки швидкості, ефективності, економічності й точності хмарних
сервісів, дуже популярні онлайн ІСПМ [2]. Вони дозволяють зберігати значні
об’єми даних, що завжди будуть актуальними й максимально доступними для
всіх користувачів. Окрім того, завдяки популярності в сучасному проектному
управлінні підходу Agile, який використовують 71% опитаних в дев’ятому
глобальному опитуванні проектного менеджменту компаній [3, p.6], значна
частка цих систем імплементує інструменти саме для цієї парадигми. Саме таку
підмножину ІСПМ - онлайн системи для управління Agile проектами - буде
розглянуто в ході цієї роботи.
Ринок ІСПМ дуже насичений: technologyadvice.com надає 563 результати
на запит “project management” [4]. Тим не менш, більшість із існуючих рішень
мають дуже незначні користувальницькі бази і декілька з них є явними
фаворитами для користувачів.
За кількістю відгуків на technologyadvice.com [4] найпопулярнішими з
онлайн ІСПМ для Agile проектів є: Trello, Asana та Atlassian JIRA. Всі вони
імплементують канбан дошку, сховища проектних даних, відстеження завдань,
інструменти для планування тощо.
10
Згідно маніфесту Майкла Гірса із neuland Büro für Informatik [10], ідея
мікрофронтендів полягає в тому, аби розглядати веб-сайт чи веб-застосунок як
комбінацію функцій, що належать незалежним командам. Кожна команда
відповідає за окрему сферу бізнесу або місію та спеціалізується на ній. Команди
є кроссфункціональними та імплементують свої функції наскрізно, від
проектування до інтерфейсу користувача, бажано включно із необхідною
серверною частиною [8, p.7]. Схильність до наскрізної імплементації
зумовлена походженням мікрофронтендів від мікросервісів (“microservices”) -
аналогічного підходу, що передбачає вертикальну декомпозицію програми, на
бекенді [18].
Цей підхід набув широкого розголосу у 2017-ому році, а перші
комерційні рішення, що його застосовують, з’явились у 2012-ому. Станом на
зараз (червень, 2021) лише 3 книги на цю тему зареєстровано в ISBN, одна яких
очікує видання цього року, а решта були видані протягом останніх двох. Отже,
мікрофронтенди - це сучасне архітектурне рішення, що активно розвивається.
Більш детально, Майкл Гірс, ідеолог цієї архітектури, визначає наступні
прагнення, що дозволяють імплементувати ефективне рішення у
мікрофронтендах:
● Технологічний агностицизм
Кожна команда повинна мати можливість вибирати та проводити
розробку, використовуючи власний стек без необхідності узгодження з
іншими командами. Деталі реалізації мікрофронтенду повинні бути
прихованими за абстрактним інтерфейсом. [10]
● Ізольований код та контекст виконання
Підпрограми не повинні мати спільних елементів або взаємозалежностей
в процесі виконання. Їх належить реалізовувати як повноцінні й
самостійні застосунки. Не варто покладатися на глобальні змінні або
спільний програмний контекст [10]. Це також вважається
16
3. РЕАЛІЗАЦІЯ ПРОГРАМИ.
3.2.1. Застосунок-сервер.
3.3. Мікрофронтенди.
3.4.3. Аутентифікація.
4. ЕКОНОМІЧНА ЧАСТИНА
Таблиця 4.1
Результати експертного оцінювання впливу факторів зовнішнього та
внутрішнього середовищ
Фактори Середня Середня Зважений
експертна вагомість рівень
оцінка, бали факторів впливу, бали
1 2 3 4
Фактори зовнішнього середовища
Споживачі 5 0,11 0,55
Постачальники 0 0,1 0
Конкуренти 4 0,1 0,4
Державні органи влади 0 0,05 0
Інфраструктура 0 0,06 0
Законодавчі акти 0 0,1 0
Профспілки, партії та інші громадські 0 0
0,05
організації
Науково-технічний прогрес 4 0,07 0,21
Система економічних відносин в 1 0,06
0,06
державі
Організації-сусіди 0 0,01 0
Міжнародні події 2 0,01 0,02
Міжнародне оточення 2 0,03 0,06
51
Таблиця 4.2
Бюджет витрат матеріалів та комплектуючих виробів
Назва Марка, тип, Фактична Ціна за Амортизація Разом, грн.
матеріалів модель кількість, одиницю, одиниці за
та шт. грн. міс., грн
комплектую
чих
APPLE MacBook
Ноутбук Pro 13" Space 8 45 000 750 360 000
Gray (MYD82)
Разом: 360 000
Таблиця 4.3
Бюджет витрат на оплату праці
Час Денна заробітна Сума витрат
Посада, Кількість
роботи, плата на оплату
спеціальність працівників, осіб
дні працівників, грн. праці, грн.
Основна заробітна плата
Розробник 8 60 2 750 1 320 000
Разом: 1 320 000
Таблиця 4.4
Бюджет обов’язкових відрахувань та податків
Сума нарахувань
Сума Сума Разом
єдиного внеску на
Посада, основної додаткової витрат на
соціальне
спеціальність заробітної заробітної оплату
страхування (22%),
плати плати праці
грн.
Розробник 165 000 - 165 000 36 300
Розробник 165 000 - 165 000 36 300
Розробник 165 000 - 165 000 36 300
Розробник 165 000 - 165 000 36 300
Розробник 165 000 - 165 000 36 300
Розробник 165 000 - 165 000 36 300
Розробник 165 000 - 165 000 36 300
Розробник 165 000 - 165 000 36 300
Разом: 1 320 00 - 1 320 00 290 400
Таблиця 4.5
Бюджет загальновиробничих витрат
Статті витрат Сума, грн.
Змінні загальновиробничі витрати, у т.ч.:
- заробітна плата допоміжного персоналу; 34 500
- витрати на МШП; 300
- витрати на електроенергію та технологічні цілі; 1 150
- витрати на ремонт; -
- інші змінні витрати; -
Разом змінних витрат: 35 650
Постійні загальновиробничі витрати, у т.ч.:
- заробітна плата допоміжного персоналу; -
- комунальні послуги; 3 450
- витрати на оренду; 33 000
- витрати на ремонт; -
- інші постійні витрати; -
Разом постійних витрат: 36 450
Разом загальновиробничих витрат: 72 100
57
Таблиця 4.6
Бюджет адміністративних витрат та витрат на збут
Статті витрат Сума, грн.
1 2
Адміністративні витрати, у т.ч.:
- заробітна плата адміністративного персоналу; -
- витрати на МШП; -
- витрати на відрядження; -
- витрати на ремонт; -
- витрати на паливно-мастильні матеріали; -
- витрати на сплату податків і зборів (бухгалтеру) -
- знос адміністративного обладнання; -
Разом адміністративних витрат: 0
Витрати на збут, у т.ч.:
- заробітна плата менеджерів зі збуту; -
- витрати на гарантійний ремонт; -
- витрати на відрядження; -
- витрати на гарантійне обслуговування; -
- витрати на налагодження і експлуатацію; -
- витрати на паливо-мастильні матеріали; -
- витрати на рекламу; -
- заробітна плата менеджерів зі збуту; -
Разом постійних витрат: -
Разом витрат на збут: 0
Таблиця 4.7
Зведений кошторис витрат на розробку проектного рішення (продукту)
Фактична Ціна
Одиниці Разом,
Статті витрат кількість, одиниці,
виміру грн.
шт. грн.
Сировина і матеріали грн 8 45 000 360 000
Паливо та електроенергія на кВт*год - - -
технологічні цілі
Основна заробітна плата грн 8 165 000 1 320 000
Відрахування на соціальне грн 8 36 300 290 400
страхування
Загальновиробничі витрати, у т.ч.:
- змінні; грн 1 - 35 650
- постійні; грн 1 - 36 450
Разом виробничих витрат: грн 1 - 72 100
Адміністративні витрати грн 1 - 0
Витрати на збут грн 1 - 0
Разом виробничих і операційних 2 114 600
витрат:
Таблиця 4.8
Бюджет фінансових результатів
Показники Сума, грн.
Дохід від реалізації продукції (1 шт.) 3374901.6
Податок на додану вартість (20%) 562483.6
Чистий дохід від реалізації продукції 2812418
Собівартість реалізованої продукції 2114600
Валовий прибуток 697818
Операційні витрати:
- адміністративні витрати: 0
- витрати на збут; 0
Фінансовий результат від операційної діяльності 697818
Податок на прибуток (18%) 125607.24
Чистий прибуток (збиток) 572210.76
ВИСНОВКИ
Під час виконання роботи було розроблено прототип системи управління
IT-проектами із застосуванням підходу мікрофронтендів Agitile. Програма
складається з трьох підзастосунків, програми-контейнера, що інтегрує їх на веб-
сторінці, серверу й бази даних. Кожен підзастосунок є самостійною програмою,
здатною виконуватись окремо від батьківської. Алгоритм їхньої інтеграції
стандартизовано та інкапсульовано в межах додатку-контейнера з можливістю
розширення для налагодження інших підходів завантаження. Комунікація між
мікрофронтендами мінімізована, без взаємних залежностей, спільний контекст
реалізовано через стандартні браузерні інструменти.
Кодові бази складових частин програми повністю розподілені. Фронтенд
частина імплементована в чотирьох різних комбінаціях мови програмування та
фреймворку, з використанням різних пакувальників та методів компіляції чи
транспіляції. Налаштовано незалежне розгортання підзастосунків.
Імплементована інтеграція системи контролю версій Git у вигляді
окремого мікрофронтенду та засобу аутентифікації.
Таким чином, архітектура мікрофронтендів дозволяє досягти важливих
для сучасних ІСПМ особливостей програмного забезпечення та процесу його
розробки: гнучкий та довільний в межах підзастосунку технологічний стек, що
дозволяє обрати оптимальні засоби для імплементації певної частини продукту;
ізольовані вертикальні секції, котрі можуть розробляти окремі команди без
технічних або інформаційних залежностей; інкрементальні, гранулярні й
безпечні оновлення завдяки незалежному розгортанню.
З іншої сторони, розподілення користувальницького інтерфейсу програми
на мікрофронтенди вводить у проект нові складнощі та недосконалості:
інтеграція й композиція підзастосунків та комунікація між ними вимагає
додаткової імплементації нетипових рішень; консистентність даних між
підзастосунками страждає без ресурсомістких алгоритмів комунікації;
неминуче повторення коду та зовнішніх залежностей тягне за собою
60
5. Li, Patrick. 2019. Jira 8 Essentials - Fifth Edition. Birmingham, England: Packt
Publishing. -- 420 p.
6. Rubin K. S. Essential Scrum: A practical guide to the most popular agile process /
Kenneth S. Rubin. – Upper Saddle River, NJ : Addison-Wesley, 2012.
10. Geers, Michael. 2017. “Micro Frontends.” Neuland - Büro Für Informatik.
August 28, 2017. https://micro-frontends.org/.
11. Stenberg, Jan. 2018. “Experiences Using Micro Frontends at IKEA.” InfoQ.
August 7, 2018. https://www.infoq.com/news/2018/08/experiences-micro-frontends/.
62
13. Gruber, Markus. 2019. “Another One Bites the Dust - Wie ein Monolith
kontrolliert gesprengt wird... Teil I.” Thalia.de. February 4, 2019.
https://tech.thalia.de/another-one-bites-the-dust-wie-ein-monolith-kontrolliert-
gesprengt-wird-teil-i/.
17. Kristina Chodorow MongoDB: The Definitive Guide, 2nd Edition. / Kristina
Chodorow – [S. l.] : O'Reilly Media, 2013. – 432 p.
19. Biomee, Mostafa. 2020. “Micro Fronends — Spotify Approach Iframes (Part 2).”
Medium. August 14, 2020. https://medium.com/@m.biomee/micro-fronends-spotify-
approach-iframes-part-2-bb15c14449bf.
20. Jackson, Cam. n.d. “Micro Frontends.” Martinfowler.Com. Accessed May 27,
2021. https://martinfowler.com/articles/micro-frontends.html.
21. Lent, Monica. 2019. Independent Deployment of the Frontend with Docker and
Kubernetes. Coding Tech. https://www.youtube.com/watch?v=Td7w0_nD5_4.
63
ДОДАТОК А
Додаток Б
version: '3.7'
services:
app:
build:
context: .
dockerfile: Dockerfile
target: base
restart: unless-stopped
volumes:
- .:/usr/app
container_name: agitile-server
expose:
- '4000'
ports:
- '4000:4000'
command: npm run dev
mongo:
container_name: mongo
restart: unless-stopped
volumes:
- mongo-data:/data/db
image: mongo
ports:
- '27017:27017'
volumes:
mongo-data:
69
if (!projectMatchParams) {
return <Heading>No project selected.</Heading>;
}
if (loading) {
return <Spinner />;
}
return isRelevantProjectLoaded() ? (
<Switch>
<Route path={`${PROJECT_PARAMS_PATH}/sprint/:id`}>
<ControlPanel />
<Backlog />
</Route>
<Route path={`${PROJECT_PARAMS_PATH}/backlog`}>
<ControlPanel />
<Backlog />
</Route>
<Redirect to={getProjectRelativePath('/backlog')} />
</Switch>
):(
<Switch>
<Route path={PROJECT_PARAMS_PATH}>
<ProjectForm />
</Route>
</Switch>
);
};