From 01277b86b33d1941fc8f002e9f3972c107c25f30 Mon Sep 17 00:00:00 2001 From: Roxan1hor3 <113045824+Roxan1hor3@users.noreply.github.com> Date: Sun, 12 Feb 2023 00:30:05 +0200 Subject: [PATCH 1/7] Update package.json --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index eeaeb77d2..49337c457 100644 --- a/package.json +++ b/package.json @@ -3,8 +3,8 @@ "version": "2.1.0", "main": "index.js", "description": "Databases labs template", - "repository": "https://github.com/boldak/dis-edu", - "author": "Andrey Boldak ", + "repository": "https://github.com/Roxan1hor3/IO-11_BD3_DB", + "author": "Bogdan Shyncarchuck ", "license": "ECL 2.0", "scripts": { "docs:dev": "npx vuepress dev docs", From 79c066ddfa709664c88db595918af8e3c4f5dce7 Mon Sep 17 00:00:00 2001 From: Roxan1hor3 <113045824+Roxan1hor3@users.noreply.github.com> Date: Sun, 12 Feb 2023 00:31:19 +0200 Subject: [PATCH 2/7] Update publish.sh --- publish.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/publish.sh b/publish.sh index 28000702b..b84506e19 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/Roxan1hor3/IO-11_BD3_DB master:gh-pages cd - From 65594082f92b0a0b826bdb4e9ba0ad245acf4cdf Mon Sep 17 00:00:00 2001 From: Roxan1hor3 <113045824+Roxan1hor3@users.noreply.github.com> Date: Sun, 12 Feb 2023 00:36:20 +0200 Subject: [PATCH 3/7] Update README.md --- docs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index 9c28efeb0..6673edc99 100644 --- a/docs/README.md +++ b/docs/README.md @@ -7,7 +7,7 @@ footer: "ECL 2.0 Licensed | Copyright © [YYYY] [Your Name]" --- -**Виконав(-ла):** +**Виконали:** *студент(-ка) 2-го курсу, групи (шифр групи)* **[ім’я ПРІЗВИЩЕ] [Посилання email, tg, fb]** From 00cba9909755ae150910222b2f15fe888b6a343d Mon Sep 17 00:00:00 2001 From: Roxan1hor3 <113045824+Roxan1hor3@users.noreply.github.com> Date: Sun, 12 Feb 2023 00:43:46 +0200 Subject: [PATCH 4/7] Update config.js --- docs/.vuepress/config.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 4ae776818..d23ca2043 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -15,7 +15,7 @@ module.exports = { }] ], port: 3030, - base: '/edu_db_labs/', + base: '/IO-11_BD3_DB/', theme: 'cool', // dest: 'dist', head: [ @@ -76,7 +76,7 @@ module.exports = { lastUpdated: 'Останнє оновлення', // string | boolean // Assumes GitHub. Can also be a full GitLab url. - repo: 'https://github.com/edu-db/edu_db_labs', + repo: 'https://github.com/Roxan1hor3/IO-11_BD3_DB', // Customising the header label // Defaults to "GitHub"/"GitLab"/"Bitbucket" depending on `themeConfig.repo` repoLabel: 'Github', @@ -112,4 +112,4 @@ module.exports = { md.use(require('markdown-it-admonition')) } } -} \ No newline at end of file +} From f0839ca181a9c98356871b15fdd18aac81353ad4 Mon Sep 17 00:00:00 2001 From: Bond Vlad Date: Mon, 13 Feb 2023 14:52:41 +0200 Subject: [PATCH 5/7] Bond --- docs/README.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/README.md b/docs/README.md index 6673edc99..32eff6423 100644 --- a/docs/README.md +++ b/docs/README.md @@ -3,18 +3,16 @@ home: true actionText: Розпочати → actionLink: /intro/ -footer: "ECL 2.0 Licensed | Copyright © [YYYY] [Your Name]" +footer: 'ECL 2.0 Licensed | Copyright © 2023 Владислав' --- +**Виконали:** -**Виконали:** - -*студент(-ка) 2-го курсу, групи (шифр групи)* **[ім’я ПРІЗВИЩЕ] [Посилання email, tg, fb]** - +_студент 2-го курсу, групи ІО-11_ **Бондаренко Владислав bondarenko.vlad@lll.kpi.ua, https://t.me/BONDVados** **Керівник** -*доцент кафедри ОТ ФІОТ, к.т.н., доцент* **Андрій БОЛДАК** +_доцент кафедри ОТ ФІОТ, к.т.н., доцент_ **Андрій БОЛДАК** [НТУУ "КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ імені ІГОРЯ СІКОРСЬКОГО](https://kpi.ua/) From ba67c8851bb07bc141fbb2319355d096bc2a288d Mon Sep 17 00:00:00 2001 From: Bond Vlad Date: Mon, 13 Feb 2023 15:46:06 +0200 Subject: [PATCH 6/7] fix --- docs/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/README.md b/docs/README.md index 32eff6423..ff5224dd6 100644 --- a/docs/README.md +++ b/docs/README.md @@ -3,7 +3,7 @@ home: true actionText: Розпочати → actionLink: /intro/ -footer: 'ECL 2.0 Licensed | Copyright © 2023 Владислав' +footer: 'ECL 2.0 Licensed | Copyright © [YYYY] [Your Name]' --- **Виконали:** @@ -12,7 +12,7 @@ _студент 2-го курсу, групи ІО-11_ **Андрій БОЛДАК** +*доцент кафедри ОТ ФІОТ, к.т.н., доцент* **Андрій БОЛДАК** [НТУУ "КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ імені ІГОРЯ СІКОРСЬКОГО](https://kpi.ua/) From 990eb6db21b541213c68f6981ca01d278abdf3ea Mon Sep 17 00:00:00 2001 From: Bond Vlad Date: Sun, 5 Mar 2023 17:49:40 +0200 Subject: [PATCH 7/7] lab1_1.0.0 --- docs/requirements/stakeholders-needs.md | 607 ++++++++++++++++++++++-- docs/requirements/state-of-the-art.md | 326 ++++++++++++- 2 files changed, 864 insertions(+), 69 deletions(-) diff --git a/docs/requirements/stakeholders-needs.md b/docs/requirements/stakeholders-needs.md index 8f3361187..978895b04 100644 --- a/docs/requirements/stakeholders-needs.md +++ b/docs/requirements/stakeholders-needs.md @@ -1,86 +1,603 @@ -# Запити зацікавлених осіб +# ✔️ Запити зацікавлених осіб ## Вступ -*[Вступ повинен містити короткий огляд всього документу.]* +Цей документ містить ключову інформацію про наш проєкт, яка включає опис сценаріїв використання нашого продукту для адміністратора та користувача, докладний опис продукту та вимоги до його функціональності(Functionality), зручності у роботі(Usability), надійності(Reliability), продуктивності(Performance) та підтримки(Supportability). -### Мета +### Мета -*[Визначення мети цієї сукупності вимог. Зазвичай такою метою є створення та впровадження - інформаційної системи відповідного призначення.]* +Мета цього документу - сформулювати основні потреби нашої системи згідно яких ми будемо розробляти нашу систему управління відкритими даними. ### Контекст -*[Короткий опис того, з якими проектами пов'язаний цей документ, на що він впливає.]* +В цьому документі сформовано технічне завдання та вимоги для розробки нашого проєкту 'Open Data Management System' ### Основні визначення та скорочення -*[Розділ містить визначення всіх термінів та скорочень, необхідних для правильного -тлумачення вимог. Можна зробити посилання на документ, в якому поданий аналіз предметної області.]* +**Зацікавлені особи** - фізичні та юридичні особи, які мають легітимний інтерес у діяльності організації, тобто певною мірою залежать від неї або можуть впливати на її діяльність.[[1]](#link1) +**FURPS** - це абревіатура, яка використовується в інженерії програмного забезпечення для позначення важливих аспектів, що визначають якість програмного продукту.[[2]](#link2) -### Посилання - -*[Розділ містить повний список всіх документів, про які згадується.]* +Інші визначення можна подивитись в ["Аналіз предметної області"](https://github.com/EugeneSemivolos/open-data-management-system/blob/master/docs/requirements/state-of-the-art.md#основні-визначення) -## Короткий зміст - -*[Розділ містить опис того, про що йдеться в еій частині цього документу, що залишилася. -Також тут описана структура документу.]* - -## Характеристика ділових процесів - -*[В цьому розділі визначаються зовнішні фактори, що впливають на бізнес (бізнес-актори), -та внутрішні фактори (робітники), дається загальна характеристика діяльності бізнес-акторів -та робітників, яка здійснюється за допомогою бізнесу.* +### Посилання + +[*Зацікавлені особи*](https://uk.wikipedia.org/wiki/%D0%97%D0%B0%D1%86%D1%96%D0%BA%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D1%96_%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%B8) -*Дається опис бізнес-сценаріїв взаємодії бізнес-акторів, робітників і, можливо, інформаційної системи за допомогою наступної -специфікації:* + +[*FURPS*](https://en.wikipedia.org/wiki/FURPS) - -***ID:*** - -***НАЗВА:*** - -***УЧАСНИКИ:*** +## Короткий зміст -***ПЕРЕДУМОВИ:*** +- [Характеристика ділових процесів](#характеристика-ділових-процесів) +- [user_registration](#характеристика-ділових-процесів:~:text=ID%3A-,user_registration) (Створити обліковий запис) +- [user_authorization](#характеристика-ділових-процесів:~:text=ID%3A-,user_authorization) (Авторизувати користувача) +- [data_search](#характеристика-ділових-процесів:~:text=ID%3A-,data_search)(Запит та пошук даних) +- [data_visual](#характеристика-ділових-процесів:~:text=ID%3A-,data_visual) (Візуалізація даних) +- [donat](#характеристика-ділових-процесів:~:text=ID%3A-,donat) (Донат - добровільна матеріальна допомога) +- [data_remove](#характеристика-ділових-процесів:~:text=ID%3A-,data_remove) (Видалити дані) +- [data_upload](#характеристика-ділових-процесів:~:text=ID%3A-,data_upload) (Завантаження нових даних) +- [data_upload](#характеристика-ділових-процесів:~:text=ID%3A-,data_upload) (Завантаження нових даних) +- [editor_remove](#характеристика-ділових-процесів:~:text=ID%3A-,editor_remove) (Зняття прав реадктора з користувача) +- [Надання прав редактора коритувачу](#характеристика-ділових-процесів:~:text=ID%3A-,data_upload) (Надання прав редактора коритувачу) +- [data_edit](#характеристика-ділових-процесів:~:text=ID%3A-,data_edit) (Редактор) +- [Короткий огляд продукту](#короткии-огляд-продукту) +- [Функціональність](#функціональність) +- [Практичність](#практичність) +- [Надійність](#надіиність) +- [Продуктивність](#продуктивність) +- [Експлуатаційна придатність](#експлуатаціина-придатність) + +# Характеристика ділових процесів + +
Користувач:
+ +### Реєстрація користувача + +*** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID:user_registration
НАЗВА:Реєстрація новго облікового запису
УЧАСНИКИ:Користувач, Система
ПЕРЕДУМОВИ:Користувач не зареєстрований в системі(облікового запису не існує в системі)
РЕЗУЛЬТАТ:Новий обліковий запис
ВИКЛЮЧНІ СИТУАЦІЇ: user_registration_deny відмова в реєстрації(помилка при заповненні полів вводу, такий обліковий запис вже існує )
ОСНОВНИЙ СЦЕНАРІЙ:1. Користувач натискає кнопку "Реєстрація"
2. Користувач вводить реєстраційні дані
3. Користувач натискає кнопку "Зареєструватися"
4. Система перевіряє наявність облікового запису
5. Система створює новий обліковий запис, використовуючи введені дані новго користувача
6. Користувач завершує взаємодію з програмою
+ +### Авторизація користувача +*** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID:user_authorization
НАЗВА:Авторизація користувача
УЧАСНИКИ:Користувач, Система
ПЕРЕДУМОВИ:Користувач зареєстрований в системі
РЕЗУЛЬТАТ:Авторизація в системі
ВИКЛЮЧНІ СИТУАЦІЇ: user_authorization_deny Користувач не зареєстрований
user_authorization_deny неправильно введені дані(логін чи пароль)
ОСНОВНИЙ СЦЕНАРІЙ:1. Користувач натискає кнопку "Увійти"
2. Користувач вводить логін та пароль
3. Користувач натискає кнопку "Увійти"
4. Система ідентифікує користувача(система перевіряє наявність облікового запису)
5. Система авторизує користувача(надає доступ до облікового запису)
6. Система перевіряє дані для авторизації (UserAuthorization_EX_IncorrectData)
7. Система надає доступ користувачу до облікового запису
8. Користувач завершує взаємодію з програмою
+ +### Запит та пошук даних +*** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID:data_search
НАЗВА:Користувач надає запит на знаходження набору даних
УЧАСНИКИ:Користувач, Система
ПЕРЕДУМОВИ:Користувач авторизований в системі
РЕЗУЛЬТАТ:Набір даних за якими користувач надавав запит
ВИКЛЮЧНІ СИТУАЦІЇ: data_error Даних на запит користувача не існує
ОСНОВНИЙ СЦЕНАРІЙ:1. Користувач вводить запит у пошукове поле
2. Користувач натискає на кнопку "Знайти"
3. Система показує дані що вдалося знайти в базі даних по запиту користувача
+ +### Візуалізація даних + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID:data_visual
НАЗВА:Показати дані у вигляді таблиці чи графіку
УЧАСНИКИ:Користувач, Система
ПЕРЕДУМОВИ:Користувач увійшов(авторизувався) в системі та набір даних
РЕЗУЛЬТАТ:Графік чи таблиця даних
ВИКЛЮЧНІ СИТУАЦІЇ:Дані не можна показати у вигляді таблиці чи графіку
ОСНОВНИЙ СЦЕНАРІЙ:1. Користувач натискає на кнопку "Візуалізація в таблиці/графіку"
2. Система надає графік та таблицю
3. Користувач закінчує взаємодію з програмою
+ +### Донат - добровільна матеріальна допомога + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID:donat
НАЗВА:Підтримай проєкт(зроби проєкт краще)
УЧАСНИКИ:Користувач, Система
ПЕРЕДУМОВИ:Бажання користувача
РЕЗУЛЬТАТ:Певні кошти на рахунку розробників
ВИКЛЮЧНІ СИТУАЦІЇ:Помилка при транзакції
ОСНОВНИЙ СЦЕНАРІЙ:1. Користувач натискає на кнопку "Підтримай нас"
2. Система відкриває форму
3. Користувач заповнює дані своєї картки
4. Користувач натискає на кнопку "Підтримати проєкт"
5. Система переводить пені кошти на картку розробників
6. Користувач закінчує взаємодію
+ +
Адміністратор:
+ +### Видалити дані + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID:data_remove
НАЗВА:Видалити обрані даних
УЧАСНИКИ:Адміністратор, Система
ПЕРЕДУМОВИ:Адміністратор авторизований у системі та набір даних є у базі даних
РЕЗУЛЬТАТ:Обраного набору даних вже немає в базі даних
ВИКЛЮЧНІ СИТУАЦІЇ:Обраних даних немає в базі даних
ОСНОВНИЙ СЦЕНАРІЙ:1. Адміністратор надає запит на пошук певних даних
2. Система показує дані за якими був запит
3. Адміністратор вибирає дані, що хоче видалити
5. Адміністратор натискає на кнопку "Видалити"
6. Система виводить віконце з кнопкою "Ви точно бажаєте видалити ці дані?"
7. Адміністратор натискає на кнопку ""Ви точно бажаєте видалити ці дані?""
8. Система видаляє дані з бази даних
9. Адміністратор закінчує взаємодію з системою
+ +### Завантаження нових даних + +*** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID:data_upload
НАЗВА:Завантажити нові дані
УЧАСНИКИ:Адміністратор, Система
ПЕРЕДУМОВИ:Адміністратор авторизований у системі
РЕЗУЛЬТАТ:Завантажений набір даних у базі даних
ВИКЛЮЧНІ СИТУАЦІЇ: Такі дані вже існують у базі даних
ОСНОВНИЙ СЦЕНАРІЙ:1. Адміністратор натискає на кнопку "Завантажити нові дані"
2. Адміністратор обирає дані, що хоче завантажити"
3. Адміністратор натискає кнопку "Завантажити обрані дані"
4. Система завантажує нові дані у базу даних
+ +### Зняття прав реадктора з користувача + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID:editor_remove
НАЗВА:Додати користувачу права реадктора
УЧАСНИКИ:Адміністратор, Система
ПЕРЕДУМОВИ:Адміністратор авторизований у системі
РЕЗУЛЬТАТ:Користувач втрачає права редактора
ВИКЛЮЧНІ СИТУАЦІЇ:У користувача немає прав редактора
ОСНОВНИЙ СЦЕНАРІЙ:1. Адміністратор надає запит пошуку всіх редакторів
2. Система у вигляді списку показує всіх редаторів
3. Адмінстратор обирає потрібного редактора та натискає кнопку "Забрати права редактора"
4. Користувач втрачає права редактора
5. Адміністратор завершує взаємодію з системою
+ +### Надання прав редактора коритувачу + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID:editor_add
НАЗВА:Надати права редактора користувачу
УЧАСНИКИ:Адміністратор, Система
ПЕРЕДУМОВИ:Адміністратор авторизований у системі
РЕЗУЛЬТАТ:Користувач отримує права редактора
ВИКЛЮЧНІ СИТУАЦІЇ: У користувача вже були права редактора
ОСНОВНИЙ СЦЕНАРІЙ:1. Адміністратор надає запит на користувача
2. Система показує користувача на якого був запит
3. Адміністратор натискає на кнопку "Надати права редактора" навпроти даних користувача
4. Користувач отримує права редактора
5. Адміністратор завершує взаємодію з системою
+ + +
Редактор:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID:data_edit
НАЗВА:Редагувати набір даних
УЧАСНИКИ:Редактор, Система
ПЕРЕДУМОВИ:Редактор авторизований у системі, обраний набір даних є у базі даних
РЕЗУЛЬТАТ:Редагований набір даних
ВИКЛЮЧНІ СИТУАЦІЇ:Зміни скасовано
ОСНОВНИЙ СЦЕНАРІЙ:1. Редактор надає запит на дані, що хоче редагувати
2. Система показує список даних за запитом редактора
3. Редактор натискає на кнопку "Редагувати" навпроти даних
4. Відкривається форма редагування
5. Редактор редагує дані
6. Редактор зберіє дані натиснувши кнопку "Зберігти зміни"
7. Система вносить зміну у базу даних
8. Редактор закінчує взаємодію
+ + + +## Короткий огляд продукту -***РЕЗУЛЬТАТ:*** +Завантажують дані у систему - адміністратори. Також вони можуть видаляти дані. Надають права редактора користувачу також адміністратори. -***ВИКЛЮЧНІ СИТУАЦІЇ:*** +У програмі буде простий, але зрозумілий інтерфейс, що буде гарно сприяти розповсюдженню. Буде система донату(підтримай проєкт). Також буде можливість переглянути інформацію у вигляді графіку чи таблиці -***ОСНОВНИЙ СЦЕНАРІЙ:*** -*Кількість сценаріїв визначається у відповідності до специфіки завдання та необхідного -рівня деталізації (зазвичай, 5-6 сценаріїв).* +## Функціональність -## Короткий огляд продукту +
Користувач:
-*[Визначається границя системи та категорії її користувачів. Дається загальна характеристика категорій користувачів -системи]* +- Створення нового облікового запису; +- Авторизація у системі; +- Підтримати проєкт матеріально; +- Перегляд даних з сайту -*[Нижче йде опис FURPS:]* +
Редактор:
+- Створення нового облікового запису; +- Авторизація у системі; +- Підтримати проєкт матеріально; +- Перегляд даних з сайту +- Редагування існуючих даних. -## Функціональність +
Адміністратор:
-*[Functionality (функциональні вимоги)]* +- Створення нового облікового запису; +- Авторизація у системі; +- Перегляд даних з сайту +- Завантаження текстових файлів у систему; +- Видалення файлів з системи; +- Можливість видати та забрати права редактора; ## Практичність -*[Usability (вимоги до зручності роботи)]* +- Простота та зрозумілість інтерфейсу +- Наявність FAQ +- Робота у браузері ## Надійність -*[Reliability (вимоги до надійності)]* +- Захист облікового запису паролем +- Шифрування паролей +- Розділення користувачів на ролі (user/admin) ## Продуктивність -*[Performance (вимоги до продуктивності)]* ++ Редагування файлу декількома користувачами одночасно ++ Багатопотокове завантаження та вивантаження файлів ++ Високу швидкість доступу до даних ## Експлуатаційна придатність -*[Supportability (вимоги до підтримки)]* +- Програмний код має бути зрозумілим для підтримки +- Наявність онлайн техпідтримки в режимі 24/7 + diff --git a/docs/requirements/state-of-the-art.md b/docs/requirements/state-of-the-art.md index 48a056ff6..4920f28ea 100644 --- a/docs/requirements/state-of-the-art.md +++ b/docs/requirements/state-of-the-art.md @@ -1,42 +1,320 @@ -# Аналіз предметної області +# ✔️ Аналіз предметної області ## Вступ -*[Вступ повинен містити короткий огляд всього документу.]* - - ***vhgdvdc dhcbjhbcds cdsbcdshgc b cbhd cgds cg d*** +У даному документі проведено аналіз області управління відкритими даними, включаючи підходи, визначення та рішення щодо вирішення поставлених завдань, а також описано вже наявні засоби їх вирішення та їх порівняння з заппланованою реалізацією проекту. - gdgdgf: - - jdsjsd - - ncjdsnc - - mncjdcnsdknc - sbhcjhsdcdshc +# 📘 Основні визначення -## Основні визначення +**Відкриті дані(Open Data)** – це концепція, за якою певні дані мають бути вільними для використання та розповсюдження будь-якою особою з будь-якою метою.Цей термін часто використовують для позначення концепції «Відкриті державні дані», що є інструментом оцінки та контролю роботи влади та держави та є одним з наріжних каменів електронного уряду. В Україні для позначення відкритих державних даних використовують формулювання «публічна інформація у формі відкритих даних».[[1]](#link1) -*[Розділ містить визначення термінів та скорочень, які використовуються при аналізі предметної області.]* +Дані є відкритими, якщо задовільняються такі умови: -## Підходи та способи вирішення завдання + - Відкрита ліцензія: дані розповсюджуються під відкритою ліцензією (share-alike[en], суспільне надбання) -*[Розділ містить опис підходів, моделей та способів вирішення завдання.]* + - Відкритий доступ: дані доступні за плату, що не перевищує витрати на їх відтворення (переважно безкоштовно через інтернет) -## Порівняльна характеристика існуючих засобів вирішення завдання + - Відкритий формат: дані доступні у форматі, що не створює перешкод для їх модифікації (машиночитний формат) -*[Розділ містить опис існуючих програм, інформаційних систем, сервісів, тощо, призначених для вирішення -завдання. Дається порівняльна характеристика властивостей FURPS:* -- *Functionality (функциональні вимоги)* -- *Usability (вимоги до зручності роботи)* -- *Reliability (вимоги до надійності)* -- *Performance (вимоги до продуктивності)* -- *Supportability (вимоги до підтримки)* +**База даних (Database)** — це засіб збирання та впорядкування інформації. Бази даних можуть зберігати відомості про людей, продукти, замовлення або будь-що інше. Багато баз даних починаються зі списку в текстовому редакторі або електронній таблиці. [[2]](#link2) - *(у вигляді таблиці).]* +**Система керування базами даних (СКБД англ. Database Management System(DBMS))** - набір взаємопов'язаних даних (база даних) і програм для доступу до цих даних. Надає можливості створення, збереження, оновлення та пошуку інформації в базах даних з контролем доступу до даних.[[3]](#link3) + +**Моделі даних (Data models)** — фіксована система понять і правил для представлення даних структури, стану і динаміки проблемної області в базі даних. У різний час послідовне застосування одержували ієрархічна, мережева і реляційна моделі даних. У наш час усе більшого поширення набуває об'єктно-орієнтований підхід до організації баз даних .[[4]](#link4) + +**Великі дані(Big Data)** — позначення структурованих и неструктурованих даних величезних обсягів і значного розмаїття, що піддаються ефективній обробці програмних інструментів, які горизонтально масштабуються та з’явились у кінці 2000-х років, і альтернативних традиційних систем управління базами даних і рішенням класу рішень Business Intelligence».[[5]](#link5) + +# 📘 Підходи та способи вирішення завдання + +### Системи відкритих даних в Україні +В Україні визначено одночасно два способи надання інформації: + - отримання за запитом; + - завантаження з державного вебпорталу відкритих даних або з вебсайтів розпорядників. + +Окрім вебпорталів відкритих даних державних та місцевих органів влади, також існують і недержавні портали відкритих даних. +Інші учасники ринку можуть не створювати і не використовувати відкриті дані, але фасилітують розвиток ринку і забезпечують учасників необхідними ресурсами (фінансовими, інформаційними тощо). + +***1991 Open Data Incubator*** — інкубатор проєктів на основі відкритих і великих даних, створений НУО SocialBoost. Учасники інкубатора отримують допомогу у фінансуванні, менторство, тощо. + +***Прозорість і підзвітність в державному управлінні та послугах (TAPAS)*** — проєкт направлений на зменшення корупції та збільшення довіри до Уряду, в тому числі за допомогою інструментів відкритих даних. TAPAS є співорганізатором численних заходів з тематики відкритих даних, а експерти проєкту — авторами досліджень, методичних рекомендацій і регуляторних документів. + +***Open Data Challenge*** — національний конкурс IT-проєктів на основі відкритих даних з призовим фондом 2,5 млн грн. Конкурс проводився з 2017 до 2020 року, і значна частина наявних open data продуктів — переможці або учасники конкурсу. + +***OpenUp*** — спільнота активістів/ок, розробників/ць, дослідників/ць, які розділяють цінності відкритості в Україні: даних, коду, дослідження та форматів.Спільнота переважно займається адвокацією прозорості та відкритості, у тому числі шляхом судової практики + +***Дані міст*** — проєкт TechSoup і громадянської мережі «Опора», направлений на розвиток технологічних сервісів для міст. В рамках проєкту проводиться інкубація стартапів, навчання та технічна допомога органам місцевої влади (аудити даних, створення локальних порталів відкритих даних тощо). + +![Foto](https://s3.eu-central-1.amazonaws.com/img.hromadske.ua/posts/97232/SITE_OPENDATA_1.jpg/large.jpg) + +## Архітектура СКБД + ### Архітектура «файл-сервер» +Ця архітектура передбачає виділення однієї з машин мережі як головної (сервер). На такій машині зберігається спільна централізована БД. Усі інші машини мережі виконують функції робочих станцій, за допомогою яких підтримується доступ користувацької системи до бази даних. Файли бази даних відповідно до призначених для користувача запитів передаються на робочі станції, де в основному і проводиться обробка даних. При великій інтенсивності доступу до одних і тих же даних продуктивність інформаційної системи різко падає. Користувачі також можуть створювати на робочих станціях локальні БД, які використовуються ними монопольно.[[6]](#link6) + + ### Архітектура «клієнт-сервер» +У сучасних мережевих інформаційних системах для роботи із загальною базою даних використовують архітектуру «клієнт-сервер». При цьому в мережі розміщують сервер баз даних. Ним виступає комп'ютер (або комп'ютери), який містить бази даних, СКБД та пов'язане з ними програмне забезпечення, і налаштований для надання користувачам інформаційної системи доступу до бази даних. Клієнти, які працюють із даними (вони можуть бути розташовані на різних комп'ютерах мережі), надсилають відповідні запити серверу. Сервер їх отримує, опрацьовує, та надсилає відповідь клієнту. Сучасні СКБД (MySQL, PostgreSQL, Microsoft SQL Server та інші) працюють відповідно до цієї архітектури. Сервер баз даних, як правило, є достатньо потужною багатопроцесорною системою, яка використовує масиви дисків RAID для підвищення надійності зберігання даних. Використання дискових масивів RAID дозволяє відновити дані, навіть якщо один з дисків вийшов з ладу.[[7]](#link7) + ### Реалізації СКБД З відкритим кодом + - MySQL + - PostgreSQL + - Firebird + - SQLite +## Види баз даних +### За моделлю організації даних розрізняють такі бази даних: + + - ***Ієрархічна***. Ієрархічна база даних може бути представлена як дерево, що складається з об'єктів різних рівнів. Між об'єктами існують зв'язки типу «предок-нащадок». При цьому можлива ситуація, коли об'єкт не має нащадків або має їх декілька, тоді як у об'єкта-нащадка обов'язково тільки один предок. + - ***Мережна***. Така база даних подібна до ієрархічної, за винятком того, що кожен об'єкт може мати більше одного предка. + - ***Реляційна***. Реляційна база даних зберігає дані у вигляді таблиць. Найвживаніші СКБД використовують реляційну модель даних. + - ***Об'єктно-орієнтована***. У базі даних цього виду дані оформляють у вигляді моделей об'єктів. +### За розміщенням даних виділяють такі види баз: + + - ***Локальна***, або централізована. Така база даних підтримується на одному комп'ютері. + - ***Розподілена***. Частини такої бази даних розміщують на різних комп'ютерах мережі. + +### За технологією фізичного зберігання виділяють: + + - БД у вторинній пам'яті (***традиційні***). + - БД в оперативній пам'яті (***in-memory database***). + - БД у третинній пам'яті (***tertiary database***). + +### Структуровані та неструктуровані БД + Структуровані БД використовують структури даних, тобто структурований опис типу фактів за допомогою схеми даних, більш відомої як модель даних. Модель даних описує об'єкти та взаємовідношення між ними. Існує декілька моделей (чи типів) баз даних, основні: ієрархічна, мережна та реляційна. + + До неструктурованих БД належать повнотекстові бази даних, які містять неструктуровані тексти статей чи книг у формі, що дозволяє здійснювати швидкий пошук (наприклад, як Вікіпедія). + +# Модель даних DDF + Модель даних DDF (або Data-Driven Framework) - це фреймворк, який використовується для автоматизації тестування програмного забезпечення. Він базується на концепції "даних управляють тестами", що дозволяє тестувальникам створювати тести, які можуть бути легко настроєні для виконання на різних наборах даних. + + Основними складовими моделі даних DDF є: + - Джерело даних: це може бути файл Excel, CSV-файл, база даних або будь-який інший джерело даних, яке містить набір тестових даних. + + - Файли тестів: це файли скриптів тестів, які використовують дані з джерела даних для виконання тестів. + + - Керуючий скрипт: це скрипт, який відповідає за виконання тестів і зчитування даних з джерела даних. Він виконується перед запуском тестів і відповідає за збір і передачу даних до тестових скриптів. + + - Бібліотека функцій: це набір функцій, які використовуються в тестових скриптах для взаємодії з програмним забезпеченням, що тестується. Вона може містити готові функції, або функції, які написані спеціально для конкретних потреб тестування. + + - Звіт про тестування: це документ, який містить результати тестування і відображається після виконання тестів. Він може містити детальний опис результатів тестування, інформацію про помилки та їх відлагодження.[[8]](#link8) + + + + + + + +# 📘 Порівняльна характеристика існуючих засобів вирішення завдання + + +### [Statistics Poland](https://stat.gov.pl/en/) +Державна установа, яка займається збором, обробкою та аналізом статистичної інформації про різні аспекти економіки, демографії, соціальної сфери та інших галузей у Польщі. Statistics Poland забезпечує доступ до широкого спектру даних та аналізів, які можуть використовуватися для розробки політики, рішень та досліджень в різних галузях. Дані, які надає Statistics Poland, можуть бути корисними для організацій, дослідників, бізнесу та громадськості для прийняття різних рішень та планування діяльності. + +### [The World Bank DataBank](https://databank.worldbank.org/) +Веб-платформа, яка забезпечує доступ до широкого спектру статистичних даних та інформації про різні країни та їх економіки. Ця платформа містить більше ніж 8000 індикаторів, які охоплюють різні аспекти, такі як економіка, здоров'я, освіта, демографія та інші. Дані можна відфільтрувати, порівняти та завантажити в різних форматах. + +### [Dataverse](https://dataverse.org/) +Dataverse - це open-source програмне забезпечення для управління та публікації даних досліджень. Ця платформа забезпечує зручний спосіб для дослідників зберігати, документувати, пошук та доступ до даних, що використовуються в наукових дослідженнях. Dataverse надає можливість додавати метадані та відповідність до стандартів в обробці даних. Dataverse є ініціативою глобальної спільноти дослідників та університетів, яка прагне забезпечити доступність та перевірку наукових даних для розвитку наукового дослідження. + +### [Google Public Data Explorer](https://www.google.com/publicdata/directory) +Безкоштовний інтерактивний веб-інтерфейс, який надає можливість візуалізувати різні види даних у форматі графіків та діаграм. +Ця платформа містить велику кількість даних з різних джерел, включаючи організації ООН, Всесвітній банк та інші. Користувачі можуть використовувати ці дані для порівняння економіки, демографії, здоров'я та інших показників між різними країнами та регіонами. + +### [Eurostat](https://ec.europa.eu/eurostat/web/main/data/database) +Eurostat займається збиранням, обробкою та публікацією статистичних даних, пов'язаних з економікою, соціальними показниками, здоров'ям, освітою, демографією та іншими аспектами життя в Європі. Дані, які надає Eurostat, можуть використовуватись для розробки та реалізації політик в Європейському Союзі, а також для наукових досліджень та інших цілей. Eurostat забезпечує доступ до даних через свій веб-сайт та інші онлайн інструменти. + +### [Gapminder](https://www.gapminder.org/) +Проект з візуалізації даних, який було створено з метою зрозуміти складні соціальні та економічні проблеми шляхом візуалізації світових даних у форматі графіків та діаграм. + +Цей проект розробив шведський статистик та лектор Ханс Рослінг, який прагнув змінити спосіб, яким люди розуміють та сприймають світові проблеми. Gapminder надає доступ до великої кількості даних з різних джерел, включаючи Всесвітній банк, ООН та інші. + + + + +### Порівняльна таблиця + +- ⭐ - ідеальна реалізація +- 👍 - непогана реалізація, проте є певні незручності +- 👎 - реалізовано, але неякісно +- ⛔ - взагалі не реалізовано + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ВимогиКритеріїOpen Data Management System(Наш проєкт)Statistics PolandThe World Bank DataBankDataverseGoogle Public Data ExplorerEurostatGapminder
Functionality (функциональні вимоги)Інструменти для візуалізації данних⛔взагалі нічого немає
Пошук
Donate system⭐кнопка, що розміщена на видному місці
Управління наборами даних
Usability (вимоги до зручності роботи)Підтримка мов👍(pl/eng)⭐(досить велика кількість доступних мов(10+))👎(eng)⭐(досить велика кількість доступних мов(10+))⭐(досить велика кількість доступних мов(10+))👎(eng)
Дружній інтерфейс👎виникають певні питання(нестандартизований дизайн)
Документація👍
Reliability (вимоги до надійності)Резервне копіювання(backup)
Ліцензія
Performance (вимоги до продуктивності)Швидкість за Lighthouse👎(40)👍(52)👍(52)👍(52)👎(29)👍(60)
Швидкість за PageSpeed Insights👍(71)⭐(93)⭐(86)⭐(98)👍(59)👍(78)
Supportability (вимоги до підтримки)FAQ
Підтримка в режимі online
## Висновки -*[Робляться висновки щодо доцільності розробки нової або модифікації існуючої інформаційної системи, необхідності та способів інтеграції з системами(сервісами) третіх сторін, тощо.]* +Після аналізування вищезгаданих систем управління відкритими даними, наша команда визнала, що немає жодної системи, що б відповідала всім критеріям ідеально. Тому ми вважаємо, що необхідно розробити систему, яка зможе задовольнити принаймні більшість вимог користувачів. ## Посилання + +1. Відкриті дані (Open Data) - [wikipedia](https://uk.wikipedia.org/wiki/%D0%92%D1%96%D0%B4%D0%BA%D1%80%D0%B8%D1%82%D1%96_%D0%B4%D0%B0%D0%BD%D1%96) + + +2. База даних (Data Base) - [microsoft](https://support.microsoft.com/uk-ua/office/%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%96-%D0%B2%D1%96%D0%B4%D0%BE%D0%BC%D0%BE%D1%81%D1%82%D1%96-%D0%BF%D1%80%D0%BE-%D0%B1%D0%B0%D0%B7%D0%B8-%D0%B4%D0%B0%D0%BD%D0%B8%D1%85-a849ac16-07c7-4a31-9948-3c8c94a7c204) + + +3. Система керування базами даних(Database Management System) - [wikipedia](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%B1%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8_%D0%B4%D0%B0%D0%BD%D0%B8%D1%85) + + +4. *Моделі даних (Data models) - [Wikipedia](https://uk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%96_%D0%B1%D0%B0%D0%B7_%D0%B4%D0%B0%D0%BD%D0%B8%D1%85) + + +5. Великі дані (Big Data) - [it.ua](https://www.it.ua/knowledge-base/technology-innovation/big-data-bolshie-dannye) + + +6. Архітектура «файл-сервер» - [um.co.ua](http://um.co.ua/8/8-12/8-126723.html) + + +7. Архітектура «клієнт-сервер» - [Wikipedia](https://uk.wikipedia.org/wiki/%D0%9A%D0%BB%D1%96%D1%94%D0%BD%D1%82-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BD%D0%B0_%D0%B0%D1%80%D1%85%D1%96%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0) + + +8. Модель даних (Data Model) - [Wikipedia](https://uk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%96_%D0%B1%D0%B0%D0%B7_%D0%B4%D0%B0%D0%BD%D0%B8%D1%85) + -*[Розділ містить повний список всіх документів, про які згадується.]*