diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 000000000..2ed194cea Binary files /dev/null and b/.vs/slnx.sqlite differ diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 4ae776818..f8be55b6a 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -1,115 +1,123 @@ // .vuepress/config.js module.exports = { plugins: [ - '@vuepress/back-to-top', - '@vuepress/pwa', + "@vuepress/back-to-top", + "@vuepress/pwa", { serviceWorker: true, - updatePopup: true + updatePopup: true, }, , - ['container', { - type: 'vue', - before: '
',
-      after: '
' - }] + [ + "container", + { + type: "vue", + before: '
',
+        after: "
", + }, + ], ], port: 3030, - base: '/edu_db_labs/', - theme: 'cool', + base: "/project-management-system/", + theme: "cool", // dest: 'dist', head: [ - ['link', { rel: 'icon', href: '/favicon.ico' }], - ['link', { rel: 'stylesheet', href: 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css' }], - ['link', {href: 'https://fonts.googleapis.com/icon?family=Material+Icons', rel :'stylesheet'}], - + ["link", { rel: "icon", href: "/favicon.ico" }], + [ + "link", + { + rel: "stylesheet", + href: "https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css", + }, + ], + [ + "link", + { + href: "https://fonts.googleapis.com/icon?family=Material+Icons", + rel: "stylesheet", + }, + ], ], themeConfig: { // logo: './myAvatar.png', sidebar: [ - { - title: 'Вступ', - path:"/intro/" - }, - { - title: 'Розроблення загальних вимог до системи', - path:"/requirements/", - children:[ - '/requirements/state-of-the-art', - '/requirements/stakeholders-needs', - ] - - }, + { + title: "Вступ", + path: "/intro/", + }, + { + title: "Розроблення загальних вимог до системи", + path: "/requirements/", + children: [ + "/requirements/state-of-the-art", + "/requirements/stakeholders-needs", + ], + }, - { - title: 'Розроблення вимог до функціональности системи', - path:"/use cases/" - }, + { + title: "Розроблення вимог до функціональности системи", + path: "/use cases/", + }, - { - title: 'Проектування інформаційного забезпечення', - path:"/design/" - }, + { + title: "Проектування інформаційного забезпечення", + path: "/design/", + }, - { - title: 'Реалізація інформаційного та програмного забезпечення', - path:"/software/" - }, + { + title: "Реалізація інформаційного та програмного забезпечення", + path: "/software/", + }, - { - title: 'Тестування працездатності системи', - path:"/test/" - }, - { - title: 'Висновки', - path:"/conclusion/" - } - - ], + { + title: "Тестування працездатності системи", + path: "/test/", + }, + { + title: "Висновки", + path: "/conclusion/", + }, + ], sidebarDepth: 2, displayAllHeaders: true, // Default: false + nav: [{ text: "Початок", link: "/" }], - nav: [ - { text: 'Початок', link: '/' }, - ], - - lastUpdated: 'Останнє оновлення', // string | boolean - // Assumes GitHub. Can also be a full GitLab url. - repo: 'https://github.com/edu-db/edu_db_labs', + lastUpdated: "Останнє оновлення", // string | boolean + // Assumes GitHub. Can also be a full GitLab url. + repo: "https://github.com/CoffeeScriptHero/project-management-system", // Customising the header label // Defaults to "GitHub"/"GitLab"/"Bitbucket" depending on `themeConfig.repo` - repoLabel: 'Github', + repoLabel: "Github", // Optional options for generating "Edit this page" link // if your docs are in a different repo from your main project: // docsRepo: 'boldak/dis-edu', // if your docs are not at the root of the repo: - docsDir: 'docs', + docsDir: "docs", // if your docs are in a specific branch (defaults to 'master'): - docsBranch: 'master', + docsBranch: "master", // defaults to false, set to true to enable // editLinks: true, // custom text for edit link. Defaults to "Edit this page" // editLinkText: 'Ви можете покращити цю сторінку' - }, - title: 'Назва проєкту', + title: "Система управління проектами", description: 'Лабораторні роботи з дисципліни "Організація баз даних"', configureWebpack: { resolve: { alias: { - '@alias': '../img' - } - } + "@alias": "../img", + }, + }, }, markdown: { - extendMarkdown: md => { - md.set({ html: true }) - md.use(require('markdown-it-katex')) - md.use(require('markdown-it-plantuml')) - md.use(require('markdown-it-admonition')) - } - } -} \ No newline at end of file + extendMarkdown: (md) => { + md.set({ html: true }); + md.use(require("markdown-it-katex")); + md.use(require("markdown-it-plantuml")); + md.use(require("markdown-it-admonition")); + }, + }, +}; diff --git a/docs/.vuepress/styles/index.scss b/docs/.vuepress/styles/index.scss new file mode 100644 index 000000000..e69de29bb diff --git a/docs/.vuepress/styles/index.styl b/docs/.vuepress/styles/index.styl index 56de2f5ec..5b21bb3d7 100644 --- a/docs/.vuepress/styles/index.styl +++ b/docs/.vuepress/styles/index.styl @@ -176,4 +176,9 @@ box-sizing: border-box; margin: 0; border-left: 0.25rem solid transparent; - } \ No newline at end of file + } + + td:not(.criterion), + th { + text-align: center; + } diff --git a/docs/README.md b/docs/README.md index 9c28efeb0..5d27a1768 100644 --- a/docs/README.md +++ b/docs/README.md @@ -3,18 +3,22 @@ home: true actionText: Розпочати → actionLink: /intro/ -footer: "ECL 2.0 Licensed | Copyright © [YYYY] [Your Name]" +footer: "ECL 2.0 Licensed | Copyright © [YYYY] [Денис Козаренко]" --- +**Виконали:** -**Виконав(-ла):** - -*студент(-ка) 2-го курсу, групи (шифр групи)* **[ім’я ПРІЗВИЩЕ] [Посилання email, tg, fb]** - +_студент 2-го курсу, групи ІО-13_  **[Денис КОЗАРЕНКО](https://t.me/dkozarenko)**
+_студент 2-го курсу, групи ІО-13_  **[Іван СКОРОБАГАТЬКО](https://t.me/Xe4aTeL)**
+_студент 2-го курсу, групи ІО-13_  **[Іван МАРУЖЕНКО](https://t.me/zlui_did)**
+_студент 2-го курсу, групи ІО-13_ **[Михайло ШИКАЛОВСЬКИЙ](https://t.me/Napchikk)**
+_студент 2-го курсу, групи ІО-13_  **[Євгеній МІХОЛАТ](https://t.me/eug3ne1)**
+_студент 2-го курсу, групи ІО-13_  **[Андрій ШУДРИК](https://t.me/andrey_shudrik)**
+_студентка 2-го курсу, групи ІО-13_ **[Поліна ГАЄВА](https://t.me/camppier)**
**Керівник** -*доцент кафедри ОТ ФІОТ, к.т.н., доцент* **Андрій БОЛДАК** +_доцент кафедри ОТ ФІОТ, к.т.н., доцент_ **Андрій БОЛДАК** [НТУУ "КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ імені ІГОРЯ СІКОРСЬКОГО](https://kpi.ua/) diff --git a/docs/intro/README.md b/docs/intro/README.md index 74b1f2ea6..e39e3c3d3 100644 --- a/docs/intro/README.md +++ b/docs/intro/README.md @@ -1,12 +1,6 @@ # Вступ -У вступі описується мета роботи і розглядається поставлене завдання з позиції її -актуальності, значення її розв’язання для тієї предметної області, до якої відноситься -тема бакалаврського проєкту. +В даному проєкті нашим завданням є розробка системи управління проєктами, яка відповідатиме потребам сучасного виробництва та дозволить ефективно організувати роботу з проєктами. +Ми плануємо створити програмне забезпечення з необхідним функціоналом, яке буде простим у використанні та інтуїтивно зрозумілим для користувачів. -Коротко характеризується сучасний рівень розв’язання -даного завдання і взаємозв’язок з іншими проєктами по цій тематиці. - -Наводяться -основні технічні характеристики розробки й очікуваний технічно-економічний ефект -від її реалізації. \ No newline at end of file +Наша мета - забезпечити безперебійну та ефективну роботу користувачів нашої системи. Очікується, що розроблена система дозволить збільшити продуктивність та результативність розробників, забезпечить якість та надійність інформаційного забезпечення. diff --git a/docs/requirements/README.md b/docs/requirements/README.md index e8e3e4e4c..62fcae695 100644 --- a/docs/requirements/README.md +++ b/docs/requirements/README.md @@ -1,4 +1,4 @@ # Розроблення загальних вимог до системи - [Аналіз предметної області](/requirements/state-of-the-art.html) -- [Запити зацікавлених осіб](/requirements/stakeholders-needs.html) \ No newline at end of file +- [Запити зацікавлених осіб](/requirements/stakeholders-needs.html) diff --git a/docs/requirements/state-of-the-art.md b/docs/requirements/state-of-the-art.md index 48a056ff6..a49415100 100644 --- a/docs/requirements/state-of-the-art.md +++ b/docs/requirements/state-of-the-art.md @@ -2,41 +2,390 @@ ## Вступ -*[Вступ повинен містити короткий огляд всього документу.]* - - ***vhgdvdc dhcbjhbcds cdsbcdshgc b cbhd cgds cg d*** +Система управління проєктами є однією з ключових компетенцій у сучасному бізнесі. Вона дозволяє планувати, організовувати, контролювати та координувати роботу в рамках проекту з метою досягнення поставленої мети відповідно до обумовлень проекту. Створення кращої системи управління проектами потребує ретельного аналізу і порівняння існуючих засобів управління проектами, визначення їх переваг та недоліків, а також врахування потреб користувачів та ринку. +Ключові складові управління проектами - це створення плану проекту, його виконання та контроль, аналіз результатів та управління ризиками. В аналізі предметної області нашою метою будуть: визначення основних термінів, що стосуються теми проєкту, створення опису підходів та способів вирішення задач, проведення порівняння існуючих засобів управління проєктами. - gdgdgf: - - jdsjsd - - ncjdsnc - - mncjdcnsdknc - - sbhcjhsdcdshc +Для досягнення поставленої мети будуть використані різноманітні джерела інформації, зокрема наукова література, статистичні дані та веб-ресурси. ## Основні визначення -*[Розділ містить визначення термінів та скорочень, які використовуються при аналізі предметної області.]* +**Система керування проєктами** (Програмне забезпечення для керування проєктами) — визначення для комплексного програмного забезпечення, що охоплює програми для планування завдань, складання розпису, контролю ціни і керування бюджетом, розподілу ресурсів, спільної роботи, спілкування, швидкого керування , документування та адміністрування системи, яке використовуються спільно для керування великими проєктами.[[1]](https://uk.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%96%D0%BD%D0%BD%D1%8F_%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D0%B0%D0%BC%D0%B8) + +**Проєкт** – це тимчасове підприємство, призначене для створення унікальних продуктів, надання послуг або отримання ексклюзивних результатів.[[2]](https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/) + +**Керування проєктом** – процес керівництва усіма роботами по проекту від його початку до завершення. [[3]](https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/) + +**Ініціація проєкту** – це стадія проекту, на якій виконується певний набір робіт для його успішного запуску. Зокрема, відбувається чітке визначення цілей і завдань проекту, призначення керівника проекту, розробка статуту, ідентифікація учасників і зацікавлених осіб. [[4]](https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/) + +**Учасники проєкту** – фізичні або юридичні особи, які безпосередньо залучені до реалізації проекту, або чиї інтереси можуть бути порушені при здійсненні проекту. [[5]](https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/) + +**Замовник** – сторона, зацікавлена ​​в здійсненні проєкту та досягненні його цілей. Майбутній власник результатів проєкту. Замовник визначає основні вимоги до результатів проєкту, забезпечує фінансування проєкту за рахунок своїх або залучених коштів, може укладати контракти з основними виконавцями проєкту. [[6]](https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/) + +**Ініціатор проєкту** – це співробітник, який ідентифікує потребу в проєкті і вносить «пропозицію» про ініціювання проєкту. Ця людина може бути представником будь-якого функціонального підрозділу або рівня всередині або поза організації.[[7]](https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/) + +**Спонсор проєкту** – співробітник організації, що реалізує проєкт, який опікується проєктом з боку власника проекту, забезпечує загальний контроль і підтримку проекту. Спонсор відповідає за досягнення проєктом кінцевих цілей і реалізацію вигод для організації, несе відповідальність перед генеральним директором або перед керуючим радою. [[8]](https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/) + +**Менеджер проєкту** – особа, відповідальна за управління проєктом. Менеджер проєкту несе відповідальність за досягнення цілей проєкту в рамках бюджету, в термін і з заданим рівнем якості. [[9]](https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/) + +**Інвестор** – сторона, яка вкладає інвестиції в проєкт, наприклад, за допомогою кредитів. Якщо інвестор і замовник не є одним і тим же особою, то в якості інвесторів зазвичай виступають банки, інвестиційні фонди та інші організації. [[10]](https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/) + +**Контрактор** – сторона або учасник проєкту, що вступає у відносини з замовником, і бере на себе відповідальність за виконання робіт і послуг за контрактом – це може бути весь проєкт або його частина. [[11]](https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/) + +**Субконтрактор** – вступає в договірні відносини з контрактором або субконтракторів більш високого рівня. Несе відповідальність за виконання робіт і послуг відповідно до контракту. [[12]](https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/) + +**Постачальники** – субконтрактори, які здійснюють різні види поставок на контрактній основі – матеріали, обладнання, транспортні засоби та ін. [[13]](https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/) + +**Органи влади** – сторони висувають і підтримують екологічні, соціальні та інші суспільні і державні вимоги, пов’язані з реалізацією проєкту.[[14]](https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/) + +**Споживачі кінцевої продукції** – юридичні та фізичні особи, які є замовниками і користувачами результату проєкту, що визначають вимоги до продукції, що виробляється і послуги, що надаються, формують попит на них.[[15]](https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/) + +**Діяльність за проектом** — це сукупність конкретних дій та кроків, які вирішуватимуть поставлену проблему та досягатимуть поставленої проектом мети.[[16]](https://i.factor.ua/ukr/journals/ms/2018/july/issue-7/article-37828.html) + +## Підходи та способи вирішення завдання. + +### Життєвий цикл розробки програмного забезпечення + +**Розробка програмного забезпечення** — це ітеративний процес, який виконується для проєкту програмного забезпечення, який складається з кількох етапів створення та запуску програмного забезпечення.[[17]](https://uk.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81_%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F) + +**SDLC** (software development life cycle) допомагає з вимірюванням і вдосконаленням процесу, що дозволяє аналізувати розробку програмного забезпечення на кожному етапі.[[18]](https://www.tutorialspoint.com/sdlc/sdlc_overview.htm) + +**Етапи SDLC**: + +- Планування +- Аналіз вимог +- Проектування +- Розробка програмного забезпечення +- Тестування +- Експлуатація та технічне обслуговування + +### Методології розробки програмного забезпечення + +**_Agile development_** (гнучка розробка)[[19]](https://en.wikipedia.org/wiki/Agile_software_development) + +Agile — це тип методології розробки програмного забезпечення, який передбачає потребу в гнучкості та застосовує рівень прагматизму до доставки готового продукту. Гнучка розробка програмного забезпечення вимагає культурних змін у багатьох компаніях, оскільки вона зосереджується на чистій доставці окремих фрагментів або частин програмного забезпечення, а не на програму в цілому. + +Переваги Agile включають його здатність допомагати командам у мінливому середовищі, зосереджуючись при цьому на ефективній доставці цінності бізнесу. Культура співпраці, якій сприяє Agile, також підвищує ефективність усієї організації, оскільки команди працюють разом і розуміють свої конкретні ролі в процесі. Компанії, які використовують гнучку розробку програмного забезпечення, можуть бути впевнені, що вони випускають високоякісний продукт, оскільки тестування виконується під час розробки. Це дає можливість вносити необхідні зміни та попереджати команди про будь-які потенційні проблеми. + +**_Continuous integration_** (неперервна інтеграція)[[20]](https://en.wikipedia.org/wiki/Continuous_integration) + +Continuous integration (CI) — це практика розробки, коли розробники часто інтегрують код у спільне сховище, бажано кілька разів на день. Потім кожну інтеграцію можна перевірити за допомогою автоматизованої збірки та автоматизованих тестів. Хоча автоматизоване тестування не є строго частиною CI, воно зазвичай мається на увазі. Однією з ключових переваг регулярної інтеграції є те, що ви можете швидко виявляти помилки та легше їх знаходити. Оскільки кожна внесена зміна зазвичай невелика, можна швидко визначити конкретну зміну, яка ввела дефект. + +В останні роки CI стала найкращою практикою для розробки програмного забезпечення та керується набором ключових принципів. Серед них контроль версій, автоматизація збирання та автоматизоване тестування. Крім того, безперервне розгортання та безперервне постачання розроблено як найкращі методи для забезпечення можливості розгортання вашої програми в будь-який момент або навіть для автоматичного переведення вашої основної кодової бази у виробництво щоразу, коли в неї вносяться нові зміни. Це дозволяє вашій команді рухатися швидко, дотримуючись високих стандартів якості, які можна перевіряти автоматично. «Постійна інтеграція не позбавляє від помилок, але значно полегшує їх пошук і видалення». - Мартін Фаулер, головний науковий співробітник ThoughtWorks. + +**_Incremental development_** (інкрементна розробка)[[21]](https://en.wikipedia.org/wiki/Iterative_and_incremental_development) + +Incremental development — це процес розробки програмного забезпечення, у якому вимоги розділені на кілька окремих модулів циклу розробки програмного забезпечення. У цій моделі кожен модуль проходить етапи вимог, проектування, впровадження та тестування. Кожен наступний випуск модуля додає функції до попереднього випуску. Процес триває, доки не буде досягнуто повної системи. + +Спочатку створюється проста робоча система, яка реалізує лише кілька основних функцій, а потім її доставляють клієнту. Після цього багато послідовних ітерацій/версій реалізуються та доставляються замовнику, доки не буде випущено бажану систему.Вимоги до програмного забезпечення спочатку розбиваються на кілька модулів, які можна поступово створювати та доставляти. У будь-який час план складається лише для наступного приросту, а не для будь-якого довгострокового плану. Тому легше змінити версію відповідно до потреб замовника. Команда розробників спочатку береться за розробку основних функцій (вони не потребують послуг інших функцій) системи.Після того, як основні функції повністю розроблені, вони вдосконалюються, щоб підвищити рівень можливостей шляхом додавання нових функцій у послідовних версіях. Кожна поетапна версія зазвичай розробляється з використанням ітераційної водоспадної моделі розробки. + +Але, оскільки весь обсяг відомий і заморожений на початку, а розробка відбувається на підсистемах, стає дуже критично правильно спроектувати загальну архітектуру системи та визначення інтерфейсу між сонячними системами. Невиконання цього призводить до затримок через повторну роботу, необхідну на вже створених системах. Кінцева вартість всієї системи може значно перевищити початкову заплановану вартість. + +**_Rapid application development_** (швидка розробка)[[22]](https://en.wikipedia.org/wiki/Rapid_application_development) + +Rapid application development — це гнучкий підхід до розробки програмного забезпечення, який більше зосереджується на поточних проектах програмного забезпечення та відгуках користувачів, а не на дотриманні чіткого плану. Таким чином, він наголошує на швидкому прототипуванні, а не на дорогому плануванні. + +RAD особливо добре підходить для розробки програмного забезпечення, яке керується вимогами інтерфейсу користувача. Конструктори графічного інтерфейсу користувача часто називають інструментами швидкої розробки додатків. Інші підходи до швидкого розвитку включають адаптивні, гнучкі, спіральні та уніфіковані моделі. + +Основні фази RAD : + +- Планування вимог – поєднує елементи системного планування та фази системного аналізу життєвого циклу розробки систем (SDLC). + +- Користувальницьке проектування – під час цієї фази користувачі взаємодіють із системними аналітиками та розробляють моделі та прототипи, які представляють усі системні процеси, вхідні та вихідні дані. Групи або підгрупи RAD зазвичай використовують комбінацію методів спільного проектування додатків (JAD) та інструментів CASE для перетворення потреб користувачів у робочі моделі. + +- Консруювання – зосереджена на розробці програм і додатків, подібних до SDLC.Ппрограмування та розробка додатків, кодування, модульна інтеграція та системне тестування. + +- Перемикання – нагадує завершальні завдання на фазі впровадження SDLC, включаючи перетворення даних, тестування, перехід на нову систему та навчання користувачів. У порівнянні з традиційними методами весь процес стискається. В результаті нова система будується, поставляється і вводиться в експлуатацію набагато швидше. + +**_Waterfall development_** (каскадна розробка)[[23]](https://en.wikipedia.org/wiki/Waterfall_model) -## Підходи та способи вирішення завдання +Ця модель розробки запозичена з системної інженерії у виробництві та будівництві — областях, в яких зміни на пізніх етапах дуже дорогі або неможливі. Наприклад, для створення складних інженерних конструкцій (споруд, літаків, мостів тощо). Перфекціонізм на початкових етапах проектування просто необхідний. Інженери, які починали займатись розробкою програмного забезпечення, перейшовши з інших галузей, просто адаптували звичну модель, тому що на ранніх етапах розвитку комп'ютерної техніки не було методологій, створених саме для програмування. Проте схожі методології застосовуються для програмного забезпечення й далі у випадках, коли вимоги фіксовані і вимагається висока якість та надійність, наприклад, у системах для військових чи медичних потреб. + +Принципова особливість водоспадної (каскадної) моделі — перехід на наступну стадію здійснюється тільки після повного завершення роботи на поточній стадії, повернення на пройдені стадії не передбачається. Кожна стадія закінчується одержанням результатів, що є вхідними даними для наступної стадії, та випуском повного комплекту документації. Вимоги до програмного забезпечення, визначені на стадії формування вимог, документуються у вигляді технічного завдання і фіксуються на весь час розробки. Критерієм якості розробки за такої моделі є точність виконання специфікацій технічного завдання. + +**_Spiral development_** (спіральна розробка)[[24]](https://en.wikipedia.org/wiki/Spiral_model) + +Spiral development - це комбінація послідовних і прототипних моделей. Цю модель найкраще використовувати для великих проектів, які передбачають постійне вдосконалення. Існують конкретні заходи, які виконуються за одну ітерацію (спіраль), де вихідним результатом є невеликий прототип великого програмного забезпечення. Потім ті самі дії повторюються для всіх спіралей, поки не буде розроблено все програмне забезпечення. + +Основні фази спіральної моделі : + +- Ідентифікація - збір бізнес-вимог у базовій спіралі. А саме : визначення системних вимог, вимог до підсистем і до модулів. Етап також включає розуміння системних вимог шляхом постійного спілкування між замовником і системним аналітиком. У кінці спіралі продукт розгортається на визначеному ринку. + +- Дизайн - фаза проектування починається з концептуального дизайну базової спіралі та включає архітектурний дизайн, логічний дизайн модулів, фізичний дизайн продукту та остаточний дизайн у наступних спіралях. + +- Конструювання - розробка програмного продукту на кожній спіралі. У базовій спіралі, коли продукт тільки продумується, а дизайн розробляється, розробляється POC (Proof of Concept), щоб отримати відгук від клієнтів. + +- Оцінка та аналіз ризиків - виявлення, оцінка та моніторинг технічної здійсненності та ризиків управління, таких як відхилення від графіка та перевищення витрат. Після тестування збірки, наприкінці першої ітерації, клієнт оцінює програмне забезпечення та надає відгук. -*[Розділ містить опис підходів, моделей та способів вирішення завдання.]* ## Порівняльна характеристика існуючих засобів вирішення завдання -*[Розділ містить опис існуючих програм, інформаційних систем, сервісів, тощо, призначених для вирішення -завдання. Дається порівняльна характеристика властивостей FURPS:* -- *Functionality (функциональні вимоги)* -- *Usability (вимоги до зручності роботи)* -- *Reliability (вимоги до надійності)* -- *Performance (вимоги до продуктивності)* -- *Supportability (вимоги до підтримки)* +### [GitHub Projects](https://github.com/features/issues) + +**GitHub Projects** - адаптована електронна таблиця, яка інтегрується з issues та pull requests користувача на GitHub, щоб допомогти ефективно планувати та відстежувати виконання роботи. Є можливість +створення та налаштування кількох представлень, фільтруючи, сортуючи і групуючи ваші issues та pull-реквести, +додаючи при цьому власні поля для відстеження метаданих, специфічних для вашої команди. Замість того, щоб застосовувати певну методологію, проект надає гнучкі функції, які можна налаштувати відповідно до потреб і процесів вашої команди. [[25]](https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects) + +### [Trello](https://trello.com/uk) + +**Trello** - це інструмент для управління проектами та завданнями, що дозволяє створювати дошки з картками, що містять завдання та проблеми, які повинні бути вирішені у межах проекту. Trello дозволяє організувати всі завдання та проблеми проекту в одному місці, що допомагає зберігати проект організованим та відстежувати прогрес у вирішенні проблем. Крім того, Trello має додаткові функції, такі як додавання міток та вкладення файлів до карток, що дозволяє зберігати всю інформацію про проект на одній дошці. [[26]](https://en.wikipedia.org/wiki/Trello) + +### [Basecamp](https://basecamp.com/) + +**Basecamp** - це інструмент для співпраці в реальному часі, який допомагає командам залишатися на зв’язку, дозволяючи користувачам створювати проекти, відстежувати прогрес і керувати завданнями. Basecamp надає деякі функції накшталт переходу до команд і проектів за допомогою панелі пошуку, створенню приватних чатів, створення розкладу для керування проектами разом із переглядом прострочених завдань та автоматичні реєстрації. [[27]](https://www.makeuseof.com/what-is-basecamp-how-it-work/) + +### [Nifty](https://niftypm.com/) + +**Nifty** - це гнучке програмне забезпечення для керування проектами, яке дозволяє працювати над великомасштабними проектами з кількома членами команди. Як і більшість програмного забезпечення для керування проектами, Nifty надає можливість створення робочого простору для спільної роботи, який допомагає вам і вашій команді організовувати завдання, відстежувати час, керувати документами тощо в одному місці. [[28]](https://clickup.com/blog/nifty-project-management/) + +### [Backlog](https://nulab.com/backlog/) + +**Backlog** - це інструмент для керування проектами, який дозволяє командам створювати список завдань (backlog) та відстежувати їх стан, обмінюватися інформацією та співпрацювати. [[29]](https://en.wikipedia.org/wiki/Product_backlog) + +### [Asana](https://asana.com/) + +**Asana** - це настроювана система керування контентом на робочому місці (CMS), яка розроблена, щоб допомогти широкому колу компаній досягти своїх організаційних потреб. Простіше кажучи, це організаційний інструмент, який допомагає оптимізувати проекти. Asana створено так, що воркплейси (workplaces, робочі місця) будь-якого розміру можуть аналізувати свій прогрес і вирішувати проблеми в одному місці, усуваючи потребу в постійних зустрічах, моніторингу електронної пошти та нотаток. [[30]](https://www.businessinsider.com/guides/tech/what-is-asana) + +
+Умовні позначення: + +- 🟢 - Імплементовано повністю +- 🟡 - Імплементовано неповністю / додаткові функції доступні в платній версії +- 🔴 - Не імплементовано - *(у вигляді таблиці).]* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ВимогиКритеріїOur systemGH projectsTrelloBasecampNiftyBacklogAsana
ФункціональністьКросплатформеність🟢🟢🟢🟢🟢🟢🟢
Управління командою🟢🟢🟢🟢🟡🟢🟢
Сповіщення🟢🟢🟢🟢🟢🟢🟢
Керування дедлайнами🟢🟢🟢🟢🟢🟢🟢
Наявність API🟢🟢🟢🟢🟡🟢🟢
Безкоштовна версія🟢🟢🟡
trial, 14d(10$/m)
🟡
trial, 30d(99$/m)
🟡
trial, 14d(39$/m)
🟢🟡
trial, 30d(11$/m)
ЗручністьGitHub інтеграція🟢🟢🔴🟢🟢🟢🟢
Friendly UI🟢🟢🟢🟢🟢🟢🟢
Хоткеї
(гарячі клавіші)
🟢🟢🟢🔴🟢🟢🟢
Багатомовність🟢🔴🟢🔴🔴🔴🔴
НадійністьКонфіденційність🟢🟢🟢🟢🟢🟢🟢
Резервне копіювання🟢🟢🟢🟢🟡🟢🟡
Протокол
шифрування
TLSTLSTLSTLSSSLSSLTLS
ПродуктивністьReal-time синхронізація🟢🟢🟢🟢🟢🟢🟢
Плавний інтерфейс🟢🟢🟢🟢🟢🟢🟢
ПідтримкаОнлайн-підтримка 24/7🟢🟢🟢🟢🟢🟢🟢
FAQ🟢🟢🟢🟢🟢🟢🟢
## Висновки -*[Робляться висновки щодо доцільності розробки нової або модифікації існуючої інформаційної системи, необхідності та способів інтеграції з системами(сервісами) третіх сторін, тощо.]* +Провівши аналіз предметної області, ми у ході порівняння інших систем, визначили критерії, які не імплементовані або імплементовані частково. З огляду на це раціонально розробити власну систему, яка буде краще підходити під наші потреби, буде підтримувати функції, не імплементовані в розглянутих системах. Зокрема, вагомою перевагою нашої системи буде наявність багатомовності, яка реалізована лише в одній системі серед розглянутих. ## Посилання -*[Розділ містить повний список всіх документів, про які згадується.]* +[1] [https://uk.wikipedia.org/wiki/Система_управління_проєктами](https://uk.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%96%D0%BD%D0%BD%D1%8F_%D0%BF%D1%80%D0%BE%D1%94%D0%BA%D1%82%D0%B0%D0%BC%D0%B8) (Дата звернення 08.03.2023) + +[2-15] [https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/](https://www.buh24.com.ua/printsipi-ta-instrumenti-keruvannya-proektami-iniciyuvannya-proektu/) (Дата звернення 08.03.2023) + +[16] [https://i.factor.ua/ukr/journals/ms/2018/july/issue-7/article-37828.html](https://i.factor.ua/ukr/journals/ms/2018/july/issue-7/article-37828.html) (Дата звернення 08.03.2023) + +[17] [https://uk.wikipedia.org/wiki/Процес_розробки_програмного_забезпечення](https://uk.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81_%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F) (Дата звернення 12.03.2023) + +[18] [https://www.tutorialspoint.com/sdlc/sdlc_overview.htm](https://www.tutorialspoint.com/sdlc/sdlc_overview.htm) (Дата звернення 12.03.2023) + +[19] [https://en.wikipedia.org/wiki/Agile_software_development](https://en.wikipedia.org/wiki/Agile_software_development) (Дата звернення 12.03.2023) + +[20] [https://en.wikipedia.org/wiki/Continuous_integration](https://en.wikipedia.org/wiki/Continuous_integration) (Дата звернення 12.03.2023) + +[21] [https://en.wikipedia.org/wiki/Iterative_and_incremental_development](https://en.wikipedia.org/wiki/Iterative_and_incremental_development) (Дата звернення 12.03.2023) + +[22] [https://en.wikipedia.org/wiki/Rapid_application_development](https://en.wikipedia.org/wiki/Rapid_application_development) (Дата звернення 12.03.2023) + +[23] [https://en.wikipedia.org/wiki/Waterfall_model](https://en.wikipedia.org/wiki/Waterfall_model) (Дата звернення 12.03.2023) + +[24] [https://en.wikipedia.org/wiki/Spiral_model](https://en.wikipedia.org/wiki/Spiral_model) (Дата звернення 12.03.2023) + +[25] [https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects](https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects) (Дата звернення 07.03.2023) + +[26] [https://en.wikipedia.org/wiki/Trello](https://en.wikipedia.org/wiki/Trello) (Дата звернення 13.03.2023) + +[27] [https://www.makeuseof.com/what-is-basecamp-how-it-work/](https://www.makeuseof.com/what-is-basecamp-how-it-work/) (Дата звернення 07.03.2023) + + +[28] [https://clickup.com/blog/nifty-project-management/](https://clickup.com/blog/nifty-project-management/) (Дата звернення 07.03.2023) + + +[29] [https://en.wikipedia.org/wiki/Product_backlog](https://en.wikipedia.org/wiki/Product_backlog) (Дата звернення 07.03.2023) + +[30] [https://www.businessinsider.com/guides/tech/what-is-asana](https://www.businessinsider.com/guides/tech/what-is-asana) (Дата звернення 07.03.2023) + + + diff --git a/package-lock.json b/package-lock.json index 3eb7dee9e..1f56a044e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7394,9 +7394,9 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" }, "nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", "optional": true }, "nanomatch": { diff --git a/package.json b/package.json index eeaeb77d2..0a04ffe0d 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "dependencies": { "@vuepress/plugin-back-to-top": "^1.7.1", "@vuepress/plugin-pwa": "^1.7.1", + "node": "^14.13.1", "vuepress": "^1.7.1", "vuepress-theme-cool": "^1.3.1" } diff --git a/publish.sh b/publish.sh index 28000702b..115cff88e 100644 --- a/publish.sh +++ b/publish.sh @@ -20,6 +20,6 @@ git commit -m 'deploy' # git push -f git@github.com:boldak/.github.io.git master # if you are deploying to https://.github.io/ -git push -f https://github.com/edu-db/edu_db_labs master:gh-pages +git push -f https://github.com/CoffeeScriptHero/project-management-system master:gh-pages cd -