diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index ccba6f175..3c2571ec5 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -15,7 +15,7 @@ module.exports = { }] ], port: 3030, - base: '/docs/', + base: '/database_group1/', 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/boldak/edu-db-cw', + repo: 'https://github.com/MaxKochenkov/database_group1', // Customising the header label // Defaults to "GitHub"/"GitLab"/"Bitbucket" depending on `themeConfig.repo` repoLabel: 'Github', @@ -95,8 +95,8 @@ module.exports = { // editLinkText: 'Ви можете покращити цю сторінку' }, - title: 'Назва проєкту', - description: 'Курсова робота з дисципліни "Бази даних"', + title: 'Система організації та управління опитуваннями експертів', + description: 'Лабораторна робота з дисципліни "Бази даних"', configureWebpack: { resolve: { alias: { @@ -112,4 +112,4 @@ module.exports = { md.use(require('markdown-it-admonition')) } } -} \ No newline at end of file +} diff --git a/docs/README.md b/docs/README.md index 9c28efeb0..53af5e1a8 100644 --- a/docs/README.md +++ b/docs/README.md @@ -3,14 +3,27 @@ home: true actionText: Розпочати → actionLink: /intro/ -footer: "ECL 2.0 Licensed | Copyright © [YYYY] [Your Name]" +footer: "ECL 2.0 Licensed | Copyright © 2024 Kochenkov Max" --- -**Виконав(-ла):** +**Виконали:** -*студент(-ка) 2-го курсу, групи (шифр групи)* **[ім’я ПРІЗВИЩЕ] [Посилання email, tg, fb]** +*студенти 2-го курсу, групи ІО-21* +**Коченков Максим [mkochenkov@gmail.com, @whyhatemek]** + +**Безщасний Роман [bezshchasnyiroman7a76@gmail.com, @Var_Roman]** + +**Крохун Богдан [bohdan.krokhun@gmail.com, @bohdan356]** + +**Бородай Владислав [vladislavbrd25@gmail.com, @am1tyyy]** + +**Глущенко Роман [gromsnebess@gmail.com, @GRomSnebeS]** + +**Мельник Олег [mo091294mo@gmail.com, @olehmeln10]** + +**Ключник Михайло [klyuchnikms@gmail.com, @mdxees]** **Керівник** diff --git a/docs/intro/README.md b/docs/intro/README.md index 74b1f2ea6..1ea4b032c 100644 --- a/docs/intro/README.md +++ b/docs/intro/README.md @@ -1,12 +1,10 @@ # Вступ -У вступі описується мета роботи і розглядається поставлене завдання з позиції її -актуальності, значення її розв’язання для тієї предметної області, до якої відноситься -тема бакалаврського проєкту. +З кожним днем збільшується об'єм інформації у вільному доступі, в її достовірності, +ефективних методах та безпечності використання залишається впевнитися тільки +довіреним експертам. Проте, навіть зрозумівши позицію, ідею та оцінку кожного з них, +варто не забувати, що й самих експертів варто перевіряти. -Коротко характеризується сучасний рівень розв’язання -даного завдання і взаємозв’язок з іншими проєктами по цій тематиці. - -Наводяться -основні технічні характеристики розробки й очікуваний технічно-економічний ефект -від її реалізації. \ No newline at end of file +В даному проекті буде розглянуто та вирішено питання зі способом опитування та +"усереднення" оцінки експертів, системою організації та управління цих опитувань, і +відповідно найефективніший шлях для досягнення попередніх пунктів. \ 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/stakeholders-needs.md b/docs/requirements/stakeholders-needs.md index ffc98a729..f89978ecc 100644 --- a/docs/requirements/stakeholders-needs.md +++ b/docs/requirements/stakeholders-needs.md @@ -11,7 +11,8 @@ ### Контекст -*[Короткий опис того, з якими проектами пов'язаний цей документ, на що він впливає.]* +*Цей документ служить засобом уточнення теоретичних аспектів та функціональних можливостей програмного продукту. Він стане корисним для розробників у процесі написання програмного забезпечення, а також дозволить клієнтам зрозуміти, які очікування можна мати від продукту.* + ### Основні визначення та скорочення @@ -27,60 +28,202 @@ ## Короткий зміст -*[Розділ містить опис того, про що йдеться в еій частині цього документу, що залишилася. -Також тут описана структура документу.]* - -## Характеристика ділових процесів - -*[В цьому розділі визначаються зовнішні фактори, що впливають на бізнес (бізнес-актори), -та внутрішні фактори (робітники), дається загальна характеристика діяльності бізнес-акторів -та робітників, яка здійснюється за допомогою бізнесу.* - -*Дається опис бізнес-сценаріїв взаємодії бізнес-акторів, робітників і, можливо, інформаційної системи за допомогою наступної -специфікації:* - - -***ID:*** - -***НАЗВА:*** - -***УЧАСНИКИ:*** - -***ПЕРЕДУМОВИ:*** - -***РЕЗУЛЬТАТ:*** - -***ВИКЛЮЧНІ СИТУАЦІЇ:*** - -***ОСНОВНИЙ СЦЕНАРІЙ:*** - -*Кількість сценаріїв визначається у відповідності до специфіки завдання та необхідного -рівня деталізації (зазвичай, 5-6 сценаріїв).* - -## Короткий огляд продукту - -*[Визначається границя системи та категорії її користувачів. Дається загальна характеристика категорій користувачів -системи]* - -*[Нижче йде опис FURPS:]* - - -## Функціональність - -*[Functionality (функциональні вимоги)]* - -## Практичність - -*[Usability (вимоги до зручності роботи)]* - -## Надійність - -*[Reliability (вимоги до надійності)]* - -## Продуктивність +1. [Характеристика ділових процесів](#characteristic) +2. [Короткий огляд продукту](#survey) +3. [Функціональність](#functionality) +4. [Практичність](#practicality) +5. [Надійність](#reliability) +6. [Продуктивність](#productivity) +7. [Експлутаційна придатність](#serviceability) + + +## Характеристика ділових процесів + +**Специфікація бізнес-сценаріїв :** + +--- +| **ID:** | USER.SIGNUP | +|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **НАЗВА:** | Зареєструвати клієнта | +| **УЧАСНИКИ:** | Клієнт, система | +| **ПЕРЕДУМОВИ:** | Клієнт не має облікового запису в системі | +| **РЕЗУЛЬТАТ:** | Система створює новий обліковий запис та фіксує у ньому реєстраційні дані клієнта | +| **ВИКЛЮЧНІ СИТУАЦІЇ:** | Клієнт ввів невалідні дані - InvalidDataException.
Клієнт вже має обліковий запис - AlreadyRegisteredException | +| **ОСНОВНИЙ СЦЕНАРІЙ:** | 1. Клієнт зайшов на сайт та відкрив вікно реєстрації
2. Клієнт вводить дані для реєстрації
3. Система обробляє отримані дані від клієнта ( може виникнути InvalidDataException, AlreadyRegisteredException)
4. Система створює обліковий запис
5. Система повідомляє клієнту про успішне створення облікового запису | +--- +| **ID:** | USER.SIGNIN | +|------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **НАЗВА:** | Авторизувати клієнта | +| **УЧАСНИКИ:** | Клієнт, система | +| **ПЕРЕДУМОВИ:** | Клієнт має обліковий запис | +| **РЕЗУЛЬТАТ:** | Система авторизовує користувача | +| **ВИКЛЮЧНІ СИТУАЦІЇ:** | Клієнт ввів невалідні дані - InvalidDataException | +| **ОСНОВНИЙ СЦЕНАРІЙ:** | 1. Клієнт зайшов на сайт та відкрив вікно входу
2. Клієнт вводить дані для входу
3. Система обробляє отримані дані від клієнта( може виникнути InvalidDataException)
4. Система дає допуск до облікового запису | + +--- +| **ID:** | SURVEY.CREATE | +|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **НАЗВА:** | Створити опитування | +| **УЧАСНИКИ:** | Клієнт, система | +| **ПЕРЕДУМОВИ:** | Клієнт увійшов в обліковий запис
Клієнт має права на створення опитування | +| **РЕЗУЛЬТАТ:** | Додане в базу даних опитування | +| **ВИКЛЮЧНІ СИТУАЦІЇ:** | Клієнт створює пусте опитування - EmptySurveyException | +| **ОСНОВНИЙ СЦЕНАРІЙ:** | Клієнт відкриває шаблон опитування
2. Клієнт заповнює поля в шаблоні
3. Клієнт надсилає запит в систему для збереження опитування (може виникнути EmptySurveyException)
4. Система зберігає опитування в базу даних | +--- +| **ID:** | SURVEY.CLOSE | +|------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **НАЗВА:** | Закрити існуюче опитування | +| **УЧАСНИКИ:** | Клієнт, система | +| **ПЕРЕДУМОВИ:** | Клієнт створив опитування
Клієнт має права на створення опитування | +| **РЕЗУЛЬТАТ:** | Система закриває доступ до опитування та фіксує його результати | +| **ВИКЛЮЧНІ СИТУАЦІЇ:** | Немає | +| **ОСНОВНИЙ СЦЕНАРІЙ:** | Клієнт обирає відкрите опитування
2. Клієнт надсилає запит для закриття опитування
3. Система перевіряє, чи має клієнт право закривати це опитування та чи воно ще не було закрито
4. Система припиняє прийом нових відповідей та зберігає результати опитування | +--- +| **ID:** | SURVEY.GET_RESULTS | +|------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **НАЗВА:** | Отримати результати опитування | +| **УЧАСНИКИ:** | Клієнт, система | +| **ПЕРЕДУМОВИ:** | Клієнт зайшов в меню створеного опитування | +| **РЕЗУЛЬТАТ:** | Система надає доступ до статистики відповідей на опитування експертів | +| **ВИКЛЮЧНІ СИТУАЦІЇ:** | Опитування ніхто не пройшов - EmptyResultsException | +| **ОСНОВНИЙ СЦЕНАРІЙ:** | 1. Клієнт відкриває опитування
2. Клієнт надсилає запит для перегляду результатів
3. Система обробляє запит (може виникнути EmptyResultsException)
4. Система надає результати опитування | +--- +| **ID:** | SURVEY.ADD_QUESTION | +|------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **НАЗВА:** | Додати питання до опитування | +| **УЧАСНИКИ:** | Клієнт, система | +| **ПЕРЕДУМОВИ:** | Клієнт зайшов в меню створеного опитування | +| **РЕЗУЛЬТАТ:** | Система додає питання до створеного опитування | +| **ВИКЛЮЧНІ СИТУАЦІЇ:** | Таке питання вже є в опитуванні - QuestionExistsException | +| **ОСНОВНИЙ СЦЕНАРІЙ:** | 1. Клієнт заходить у вибране опитування
2. Клієнт обирає тип питання
3. Клієнт заповнив питання
4. Система обробляє запит на додавання (може виникнути QuestionExistsException)
5. Система зберігає опитування з доданим питанням | +--- +| **ID:** | SURVEY.DELETE_QUESTION | +|------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **НАЗВА:** | Видалити питання з опитування | +| **УЧАСНИКИ:** | Клієнт, система | +| **ПЕРЕДУМОВИ:** | Клієнт зайшов в меню створеного опитування | +| **РЕЗУЛЬТАТ:** | Система прибирає питання до створеного опитування | +| **ВИКЛЮЧНІ СИТУАЦІЇ:** | В опитуванні немає питань - EmptySurveyException | +| **ОСНОВНИЙ СЦЕНАРІЙ:** | 1. Клієнт заходить у вибране опитування
2. Клієнт обирає питання
3. Клієнт надсилає запит для видалення питання
4. Система обробляє запит на видалення (може виникнути EmptySurveyException)5.Система зберігає опитування з видаленим питанням | +--- +| **ID:** | EXPERT.TAKE_SURVEY | +|------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **НАЗВА:** | Пройти опитування | +| **УЧАСНИКИ:** | Експерт, система | +| **ПЕРЕДУМОВИ:** | Експерт перейшов за посиланням | +| **РЕЗУЛЬТАТ:** | Система зберегла відповіді експерта | +| **ВИКЛЮЧНІ СИТУАЦІЇ:** | Залишились питання без відповіді - SurveyNotCompletedException | +| **ОСНОВНИЙ СЦЕНАРІЙ:** | 1. Експерт переходить по посиланню
2. Експерт відповідає на питання опитування
3. Експерт завершує проходження
4. Система обробляє результати опитування (може виникнути SurveyNotCompletedException)
5. Система зберігає відповіді у базу даних | +--- +| **ID:** | EXPERT.CHANGE_ANSWERS | +|------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **НАЗВА:** | Змінити відповіді пройденого опитування | +| **УЧАСНИКИ:** | Експерт, система | +| **ПЕРЕДУМОВИ:** | Експерт уже пройшов опитування | +| **РЕЗУЛЬТАТ:** | Оновлені дані в базі даних | +| **ВИКЛЮЧНІ СИТУАЦІЇ:** | Є непройдені питання в опитуванні - SurveyNotCompletedException
Опитування вже завершено - SurveyNotAvailableException | +| **ОСНОВНИЙ СЦЕНАРІЙ:** | 1. Експерт надсилає запит для зміни відповідей у опитування (може виникнути SurveyNotAvailableException)
2. Система обробляє запит
3. Експерт змінює відповіді
4. Система обробляє запит на редагування (може виникнути SurveyNotCompletedException)
5. Система оновлює дані в базі даних | +--- +| **ID:** | SURVEY.EXPORT | +|------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **НАЗВА:** | Експортувати результати опитування | +| **УЧАСНИКИ:** | Клієнт, система | +| **ПЕРЕДУМОВИ:** | Опитування закрите | +| **РЕЗУЛЬТАТ:** | Клієнт отримує результати опитування в обраному форматі | +| **ВИКЛЮЧНІ СИТУАЦІЇ:** | Не обрано формат даних - DataFormatRequiredException | +| **ОСНОВНИЙ СЦЕНАРІЙ:** | 1. Клієнт обирає опитування
2. Клієнт обирає тип експорту і відправляє запит (може виникнути DataFormatRequiredException)
3. Система обробляє запит та генерує файл з результатами опитування у обраному форматі
4. Клієнт отримує готовий файл в обраному форматі | +--- +| **ID:** | USER.SHARE | +|------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **НАЗВА:** | Надати доступ до опитування | +| **УЧАСНИКИ:** | Клієнт, система | +| **ПЕРЕДУМОВИ:** | Клієнт створив опитування | +| **РЕЗУЛЬТАТ:** | Експерти отримали доступ до проходження опитування | +| **ВИКЛЮЧНІ СИТУАЦІЇ:** | Немає | +| **ОСНОВНИЙ СЦЕНАРІЙ:** | 1. Клієнт обирає відкрите опитування, яким хоче поділитись
2. Система генерує унікальне посилання, яке дозволяє експертам отримати доступ до проходження опитування | +--- +| **ID:** | SURVEY.GET_QUESTION | +|------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **НАЗВА:** | Отримати статистику відповідей на конкретне питання | +| **УЧАСНИКИ:** | Клієнт, система | +| **ПЕРЕДУМОВИ:** | Клієнт створив опитування | +| **РЕЗУЛЬТАТ:** | Клієнт отримав статистику відповідей про конкретне запитання | +| **ВИКЛЮЧНІ СИТУАЦІЇ:** | Опитування ніхто не пройшов - EmptyResultsException | +| **ОСНОВНИЙ СЦЕНАРІЙ:** | 1. Клієнт відкриває опитування
2. Клієнт обирає конкретне питання
3. Клієнт надсилає запит для перегляду результатів
4. Система обробляє запит (може виникнути EmptyResultsException)
5. Система надає результати опитування | +--- + +## Короткий огляд продукту + + +Користувачі платформи поділяються на дві основні категорії: клієнти та експерти. Клієнти мають повний доступ до функціоналу системи, +включаючи створення, управління та аналіз опитувань. Вони використовують платформу для розробки нових опитувань, їх адміністрування та збору даних від учасників. + +Експерти, з іншого боку, беруть участь у проведенні опитувань, надаючи відповіді та виражаючи свої думки. Вони можуть брати участь у +наявних опитуваннях і навіть змінювати свої відповіді після завершення опитування. Їхні відповіді є важливою частиною збору інформації та аналізу даних на платформі. + +Сам продукт представляє собою онлайн-платформу для створення, проведення та аналізу опитувань. Його основні можливості включають реєстрацію +та авторизацію користувачів, створення різноманітних типів опитувань, надання доступу експертам, а також аналіз та відображення результатів. +Користувачі можуть створювати облікові записи, заповнювати реєстраційні дані та авторизуватися на платформі. Потім вони можуть створювати нові опитування, +редагувати їх, додавати або видаляти питання та аналізувати результати. + +Опитування можуть бути доступні за унікальними посиланнями, що дозволяє експертам приймати участь у них. Після завершення опитувань система зберігає +та аналізує отримані дані, надаючи користувачам можливість перегляду статистики відповідей. Крім того, продукт має можливість експорту результатів +опитувань у різні формати для подальшого аналізу чи використання. Він також враховує різноманітні виключні ситуації, такі як невалідні дані чи пусті +опитування, забезпечуючи коректну та надійну роботу. + + +## Функціональність + +Функціонал для *клієнта*: + +- Створити опитування +- Закрити опитування +- Додати питання до опитування +- Видалити питання з опитування +- Отримати результати опитування +- Експортувати результати опитування +- Поділитися опитуванням + +Функціонал для *експерта*: + +- Пройти опитування +- Змінити відповіді в опитуванні + +## Практичність + + +- Інтерфейс платформи є простим і зрозумілим, сприяючи ефективному використанню користувачами. Він ненавантажений зайвими елементами, що дозволяє зосередитися на основних функціях. + +- Існують готові налаштування (пресети), які допомагають швидко створювати опитування без необхідності повторного введення однотипних параметрів. + +- Платформа надає гнучкість у налаштуванні опитувань, включаючи різноманіття елементів і можливість адаптації під конкретні потреби користувачів. + +- Вона повністю сумісна з мобільними пристроями, що забезпечує зручний доступ до функцій платформи незалежно від пристрою. + +- Аналітичні і звітні функції платформи забезпечують користувачів гарно структурованою статистикою опитувань, дозволяючи легко отримувати необхідну інформацію для подальшого аналізу та прийняття рішень. + +## Надійність + +- Платформа забезпечує належний рівень безпеки та надійності шляхом наявності системи резервного копіювання даних, що гарантує захист інформації від втрати та забезпечує можливість відновлення в разі потреби. + +- Для захисту від різноманітних атак, таких як DDoS, SQL-ін'єкції та перебір паролів, платформа використовує відповідні заходи безпеки. Це дозволяє уникнути потенційних загроз і зберегти цілісність та конфіденційність даних користувачів. + +- Система готова до роботи з великою кількістю користувачів, забезпечуючи стійкість та ефективну роботу під навантаженням. Це дозволяє платформі зберігати високу продуктивність та швидкодію навіть при інтенсивному використанні. + +- Наявність моніторингу стану системи та вчасне виявлення проблем з сервісом гарантує безперебійну роботу платформи. Це дозволяє оперативно вживати заходів для вирішення будь-яких технічних або сервісних питань і забезпечує надійність обслуговування користувачів. + +## Продуктивність -*[Performance (вимоги до продуктивності)]* +- Оптимізована система запитів до серверу +- Моніторинг стану системи та сервера +- Висока пропускна здатність +- Використання багатопоточності +- Використання асинхронності -## Експлуатаційна придатність +## Експлуатаційна придатність -*[Supportability (вимоги до підтримки)]* +- Регулярне тестування на предмет вразливостей +- Використання читабельного та простого коду +- Постійне додавання оновлень +- Використання систему контролю версій +- Простота у використанні diff --git a/docs/requirements/state-of-the-art.md b/docs/requirements/state-of-the-art.md index fb397cf0e..f226f2dc9 100644 --- a/docs/requirements/state-of-the-art.md +++ b/docs/requirements/state-of-the-art.md @@ -2,33 +2,316 @@ ## Вступ -*[Вступ повинен містити короткий огляд всього документу.]* +У вступі описується мета роботи і розглядається поставлене завдання з позиції її +актуальності, значення її розв’язання для тієї предметної області, до якої відноситься +тема бакалаврського проєкту. Коротко характеризується сучасний рівень розв’язання даного +завдання і взаємозв’язок з іншими проєктами по цій тематиці.Наводяться основні технічні +характеристики розробки й очікуваний технічно-економічний ефект від її реалізації. ## Основні визначення -*[Розділ містить визначення термінів та скорочень, які використовуються при аналізі предметної області.]* +***Експерт*** (від лат. expertus — досвідчений) — фахівець, який здійснює експертизу. +Вони є є фізичними особами, які мають високу кваліфікацію, спеціальні знання і безпосередньо +здійснюють наукову чи науково-технічну експертизу та несуть персональну відповідальність за +достовірність і повноту аналізу, обгрунтованість рекомендацій відповідно до вимог завдання +на проведення експертизи. + +***Основні показники екпертного потенціалу:*** + +- Високий рівень інтелекту; + +- Значний досвід роботи; + +- Визнання колег; + +- Активна наукова діяльність; + +- Існування публікацій у престижних виданнях; + +- Престижна освіта; + +- Високий особистий статус. + +***Експертне опитування*** – це метод збору інформації, заснований на думках про будь-яке явище +чи процесі групи компетентних фахівців, які називаються експертами. + +***Види експертного опитування*** + +***1. За ступенем взаємодії експертів:*** + +- ***Індивідуальний*** - опитування експертів проводиться окремо, експерти не знають про позиції інших +фахівців і можуть навіть не знати, що інші фахівці теж опитуються. Мета – отримання індивідуальних +думок експертів максимально очищених від стороннього впливу; + +- ***Індивідуально-колективний*** (метод Дельфі) - спочатку кожен експерт дає окрему оцінку досліджуваного +явища; після чого проводиться оцінка думок експертів і кожному експерту повідомляють усереднену +оцінку висловлених думок. Далі експертам знову пропонують оцінити досліджуваний об'єкт з урахуванням +усередненої оцінки. Експерти можуть переглянути початкову оцінку чи обґрунтувати свою точку зору, +відмінну від загальної думки. Ця процедура повторюється до тих пір, доки оцінки не зблизяться +на стільки, що середня з них може вважатися достатньо надійною, а розкид думок не знизиться до мінімуму. +Зазвичай, необхідний рівень згоди досягається за 2-3 туру; + +- ***Груповий*** - відкрите і всебічне обговорення проблеми кількома фахівцями і вироблення колективної позиції. + +***2. За ступенем відкритості:*** + +- ***Очний*** - це особиста зустріч та бесіда з експертами. Недоліком очного опитування є великі затрати праці та +часу як з боку дослідника, так і експертів. Необхідність тривалої участі в експертизі зазвичай викликає невдоволення +з боку експертів. Крім того, при очному опитуванні можуть виникати небажані спотворення інформації внаслідок +психологічного впливу дослідника на експерта; + +- ***Заочний*** - відбувається розсилка анкет експертам поштою. Його переваги – простота та дешевизна. Однак надійність +отриманих даних може бути нижче, ніж при очному опитуванні, оскільки деякі питання експерт може неправильно витлумачити, +а на деякі взагалі не дати відповіді. + +***Анкетування*** — вид опитування, в ході якого використовується друкована чи електронна анкета як комунікаційний засіб +звʼязку між дослідником та респондентом. + +Процес анкетування є регламентованою процедурою, що здійснюється за планом +дослідження — від накреслення мети, завдань, етапів до аналізування зібраних +емпіричних даних, оприлюднення висновків та рекомендацій. + +***Анкетне опитування проводиться в кілька етапів:*** + +- ***Етап перший:*** визначення теми, формування програми дослідження; розроблення +анкети; проведення навчання анкетерів; організація пілотажного (пробного) +опитування; внесення коректив у програму та анкету; розмноження анкети; + +- ***Етап другий:*** відпрацювання організаційно-методичних аспектів анкетування: конкретизація +місця і часу проведення, попереднє інформування опитуваних про завдання та використання результатів, +визначення порядку централізованого збирання заповнених анкет; + +- ***Етап третій:*** проведення анкетування та збирання первинної інформації; підготовка зібраних даних +до оброблення (кодування відкритих питань, вибракування непридатних анкет); математико-статистичне +опрацювання отриманих даних за допомогою спеціальних комп’ютерних програм; + +- ***Етап четвертий:*** аналіз результатів анкетного опитування; підготовка та обговорення попереднього +й підсумкового звітів; презентація результатів анкетування та вироблення на їх основі відповідних рекомендацій. + +***Основні переваги анкетування:*** + +- Мінімізація впливу дослідника на респондента; + +- Можливість за короткий час опитати велику кількість людей; + +- Можливість отримати інформацію про минулі, актуальні та майбутні події; + +- Більша придатність результатів анкетування до математичного оброблення; + +- Відносна організаційна та комунікаційна нескладність анкетування (порівняно, наприклад, з інтерв’юванням); + +- Незначні матеріальні витрати на проведення анкетного опитування. + +***Недоліки анкетування:*** + +- Брак допомоги респондентові з боку дослідника при опрацюванні анкети (в разі заочного анкетування); + +- Неможливість контролювати вплив на респондента його найближчого соціального оточення; + +- Залежність від репрезентативного вибору та суб’єктивних чинників (небажання респондентів надавати +правдиві відповіді, квапливість і непродуманість відповідей); + +- Неможливість опитати всіх представників вибіркової сукупності, якщо анкетування носить вибірковий +характер; залежність надійності та достовірності інформації від репрезентативності вибірки. + +***Види анкетування*** + +***Анкетування класифікують за різними критеріями.*** + +***1. Залежно від кількості опитуваних:*** + +- ***Індивідуальне*** — одноразове опитування одного респондента; + +- ***Групове*** — одночасне опитування колективу, групи людей; + +- ***Аудиторне*** — організаційно-методичний різновид групового анкетування, що полягає в одночасному заповненні +анкет спеціально відібраною групою людей, зібраних в одному приміщенні (аудиторії) у чіткій відповідності до правил вибіркової процедури; + +- ***Масове*** — одноразове опитування від 100 до тисяч респондентів. + +***Індивідуальне анкетування*** частіше є роздавальним, оскільки в такій ситуації респондент має більше часу для обдумування відповідей. +Водночас у ході індивідуального анкетування можливі розмови з близькими, друзями, тобто заміна респондента, що знижує надійність даних. +Контакт анкетера і респондента обмежений: на початковому етапі — вступний інструктаж щодо правил заповнення анкети, контрольний перегляд +заповненої анкети і з’ясування питань, що виникли у респондента. + +У ході ***групового анкетування*** респонденти можуть отримувати відповіді «тут і зараз». Щоб підвищити ефективність масових анкетних опитувань +перед їх проведенням здійснюють, як правило, пробні опитування (50–100 анкет) для вибракування невдалих запитань — таких, що «не працюють». + +***2. За способом розповсюдження анкети:*** + +- ***Роздаткове*** — анкету вручає і забирає у респондента анкетер; + +- ***Поштове*** — анкету розсилають респондентам поштою; + +- ***Пресове*** — анкету друкують у газеті або журналі; + +- ***Онлайн-анкетування*** — анкету розміщують на інтернет-ресурсі для заповнення її в режимі реального часу. + +***3. За формою спілкування анкетера і респондента:*** + +- ***Очне*** — респондент заповнює анкету у присутності анкетера; + +- ***Заочне*** — анкети роздають респондентам, котрі заповнюють їх самостійно і віддають анкетеру в призначений термін. + +***4. За повнотою охоплення респондентів:*** + +- ***Суцільне*** — опитування всіх представників вибірки; + +- ***Вибіркове*** — опитування частини вибірки. + +***Види запитань в анкетах*** + +***1. За змістом:*** + +- ***Особистісні*** (стать, вік, професія, освіта і тд); + +- ***Про факти свідомості*** (думки, враження, судження, мотиви і тд); + +- ***Про факти поведінки*** (результати діяльності, вчинки, дії і тд). + +***2. За формою відповідей:*** + +- ***Закриті*** (містять повний набір можливих варіантів відповіді): + + * ***Дихотомічні*** (відповіді так/ні); + + * ***Поліваріативні*** (є декілька варіантів відповіді); + + * ***Шкальні*** (наприклад, повністю згоден/згоден/частково згоден/не згоден); + + * ***Табличні***; + +- ***Напівзакриті*** (містять певні варіанти відповіді, але можна також внести власну); + +- ***Відкриті*** (передбачають самостійну та розгорнуту відповідь респондентів). + +***3. За сформованістю запитання:*** + +- ***Прямі*** (спрямовані на безпосереднє та відкрите отримання інформації від респондентів); + +- ***Непрямі*** (пов'язані з використанням якоїсь уявної ситуації, яка дозволить приховано дізнатись певну інформацію). + +***4. За функціями:*** + +- ***Інформаційні*** (основні); + +- ***Фільтри*** (використовують у випадку, якщо потрібно зібрати інформацію не від усіх респондентів, а від певної категорії); + +- ***Контрольні*** (дають можливість уточнити правильність відповіді респондента). ## Підходи та способи вирішення завдання -*[Розділ містить опис підходів, моделей та способів вирішення завдання.]* +Найбільшим викликом в даному питанні стане мета - дійти до кінцевої та найбільш правильної відповіді на питання серед людей, +які вважаються найкращими знавцями в цій самій сфері. Для цього потрібно спочатку організувати, структурувати та систематизувати +конкретні способи та методи, які вже відомі людству під найкращих його представників. + +***Пґропонуємо такі інструменти та методи для вирішення завдання:*** + +***1) Модерування*** + +Опис: кожен учасник дискусії по черзі буде приймати на себе роль модератора, який не приймає участі в розмові, +але слідкує за її напрямком та не відходженням від теми (цей спосіб навряд-чи стане єдиним засобом, але +для порозуміння в комунікації та пришвидшення процесу пошуку результату - є одним з найкращих методів. + +***2) Розгалужене голосування*** + +Для того, щоб не загубитися в купі різних ідей та думок, пропонується розбити колектив експертів на групи +та для кожної групи проводити голосування "ззовні", щоб ті, хто є учасниками групи пропонували свої ідеї, +а інші вирішували яка з них найкраща. Завдяки цьому методу можна легко, ефективно й поступово зменшувати +кількість ідей до їх "усереднення" серед прибічників схожих ідей. + +***3) Метод Дельфі:*** + +Ітеративний процес з анонімним голосуванням та зворотним зв'язком. Схожий з простим голосуванням, +але різниця полягає в анонімності та зворотньому зв'язку кожного з учасників. + +***4) Метод картування думок:*** + +Це узагальнений метод візуалізації, позбавлений критики з усіх сторін, щоб зосередитися на процесах +та об'єктах, необхідних для досягнення мети, завдяки "малюванню" та комбінуванню ідей учасників дискусії +(в нашому випадку експертів) задля пошуку спільних точок пересічення. + +***5) Brainstorming або мозковий штурм:*** + +Генералізований метод картування думок, направлений на уникнення критики з будь-якої сторони, а просто +випадкова генерація мимовільних або миттєвих ідей, що виникають під час самого процесу вирішення завдання. +Не найефективніший метод, але за умови відсутності організації процесу обговорення може стати рятувальним +жилетом в безвихідній ситуації. + +***6) Звичайне онлайн або письмове опитування:*** + +Для цього потрібно зарання виписати головні тези або варіанти, які вже стоять на розгляді та за умови невпевненості +у виборі одного з них. В такому випадку достатньо методом голосування або опитування обрати найбільш ефективний з наданих. ## Порівняльна характеристика існуючих засобів вирішення завдання -*[Розділ містить опис існуючих програм, інформаційних систем, сервісів, тощо, призначених для вирішення -завдання. Дається порівняльна характеристика властивостей FURPS:* -- *Functionality (функциональні вимоги)* -- *Usability (вимоги до зручності роботи)* -- *Reliability (вимоги до надійності)* -- *Performance (вимоги до продуктивності)* -- *Supportability (вимоги до підтримки)* +***[Google Forms](https://docs.google.com/forms/)*** - безкоштовний сервіс від Google, призначений для +створення опитувань та форм. Має простий та інтуїтивно зрозумілий інтерфейс, що робить процес створення опитувань легким і +зручним. Відповіді автоматично зберігаються у Google Таблицях, а також є можливість співпрацювати з іншими користувачами в реальному часі. + +***[SurveyMonkey](https://www.surveymonkey.com/)*** - сервіс для створення, розсилання та аналізу опитувань. Він надає можливість +користувачам швидко створювати опитування, налаштовувати їх зовнішній вигляд, проводити A/B-тестування, інтегрувати на власні веб-сайти +та в соціальні мережі. Окрім цього, SurveyMonkey дозволяє створювати детальні звіти на основі зібраної інформації. + +***[Typeform](https://www.typeform.com/try/typeformbrand/?gclsrc=aw.ds&&tf_campaign=US_CA-Brand-Core-English-Combined_18008307779&tf_source=google&tf_medium=paid&tf_content=145482700302_655533664750&tf_term=typeform&tf_dv=c&tf_matchtype=e&tf_location=1012866&gad_source=1&gclid=CjwKCAjwzN-vBhAkEiwAYiO7oGVUuWeZ1epCSZYAwm7ytYuoXO4rsQmt7jPD0i6sPZ6zBwYR3W-XyhoCmVkQAvD_BwE&gclsrc=aw.ds)*** - програмне забезпечення як сервіс, яке спеціалізується на створенні онлайн-форм та опитувань. +Він відомий своїм зручним інтерфейсом, що дозволяє створювати динамічні форми, адаптовані під потреби користувача. +Typeform пропонує широкі можливості для персоналізації та налаштування опитувань, забезпечуючи зручний процес їх створення та аналізу результатів. + +***[Qualtrics](https://www.qualtrics.com/uk/?rid=ip&prevsite=en&newsite=uk&geo=UA&geomatch=uk)*** - потужна платформа для створення опитувань та +проведення досліджень, яка використовується в бізнесі та академічних сферах. Платформа надає широкі можливості для складних аналізів даних, включаючи +аналіз зв'язків та прогнозування. Qualtrics також відомий своєю гнучкістю та можливістю налаштування опитувань під індивідуальні потреби користувача. + +***[FlexiQuiz](https://www.flexiquiz.com/)*** - інструмент для створення тестів та опитувань, який відзначається своєю гнучкістю +та простотою використання. За допомогою FlexiQuiz можна легко створювати різноманітні тести з різними типами питань та варіантами відповідей. +Платформа також надає можливість налаштовувати тести відповідно до потреб користувача та забезпечує зручний процес аналізу результатів. + +✓ - Критерій виконано повністю + +± - Критерій виконано частково + +✗ - Критерій не виконано зовсім - *(у вигляді таблиці).]* +| Характеристики | Проєкт | Google Forms | SurveyMonkey | Typeform | Qualtrics | FlexiQuizw | + | ------------- | ------------- | ------------- | ------------- |------------- | ------------- | ------------- |------------- | + | Функціональні вимоги | Підтримка різних типів питань та відповідей | ✓ | ✗ | ✓ | ✓ | ✓ | + | | Безкоштовне використання | ✓ | ✓ | ✓ | ✓ | ✓ | + | | Наявність функцій автоматичного аналізу результатів | ✗ | ± | ✓ | ✓ | ± | + | | Підтримка різних мов | Англійська | Англійська | Англійська/Українська | Мультимовний | Мультимовний | + | | Можливість використання без попередньої реєстрації | ✓ | ✗ | ✗ | ✗ | ✗ | + | Вимоги до зручності роботи | Інтуїтивний і простий інтерфейс користувача | ✓ | ✓ | ✓ | ✓ | ✓ | + | | Можливість налаштування та персоналізації опитувань. | ✓ | ✓ | ✓ | ✓ | ✓ | + | | Автоматичне збереження | ✓ | ✓ | ✓ | ✓ | ✓ | + | | Наявність інструкцій та довідок. | ✓ | ✓ | ✓ | ✓ | ✓ | + | | Підтримка мобільних пристроїв | ✓ | ✓ | ✓ | ✓ | ✓ | + | Вимоги до надійності | Стабільна робота системи без збоїв під час проведення опитувань. | ✓ | ✓ | ± | ± | ✓ | + | | Забезпечення безпеки даних та захисту від втрати інформації. | ± | ✓ | ✓ | ✓ | ± | + | Вимоги до продуктивності | Якісна швидкість завантаження сторінок з опитуваннями. | ✓ | ✓ | ✓ | ✓ | ± | + | | Можливість обробки великого обсягу даних (велика кількість відповідей). | ✓ | ✓ | ✓ | ✓ | ± | + | | Оптимальне використання мережі | ✗ | ± | ✓ | ✓ | ✓ | + | Вимоги до підтримки | Наявність технічної підтримки. | ✓ | ✓ | ✓ | ✓ | ± | + | | Можливість інтеграції з іншими системами або сервісами. | Google Sheets, Google Calendar, Google Drive | Slack, Salesforce, Microsoft Teams, Google Sheets, Zapier | Google Sheets, Mailchimp, Slack, Zapier | Salesforce, Tableau | ✗ | ## Висновки -*[Робляться висновки щодо доцільності розробки нової або модифікації існуючої інформаційної системи, необхідності та способів інтеграції з системами(сервісами) третіх сторін, тощо.]* +Аналіз показує, що більшість сервісів не пропонують усіх необхідних користувачам функцій. +Наприклад, "оптимальне використання мережі" - функція, яка може бути вкрай важливою для певних +груп користувачів або в певних випадках використання. +З огляду на це, ідея розроблення нової платформи або модифікації наявної інформаційної системи є +розумною, якщо вона передбачає усунення недоліків і надання користувачам нової функціональності. +Такі інструменти можуть впевнено зайняти позицію фаворита серед користувачів. ## Посилання -*[Розділ містить повний список всіх документів, про які згадується.]* +1. [https://web-promo.ua/ua/blog/kratkij-gajd-vse-vozmozhnosti-google-forms/](https://web-promo.ua/ua/blog/kratkij-gajd-vse-vozmozhnosti-google-forms/) +2. [https://www.google.com/intl/uk/forms/about/](https://www.google.com/intl/uk/forms/about/) +3. [https://www.surveymonkey.com/](https://www.surveymonkey.com/) +4. [https://www.typeform.com/](https://www.typeform.com/) +5. [https://www.qualtrics.com/](https://www.qualtrics.com/) +6. [https://www.flexiquiz.com](https://www.flexiquiz.com) +7. [https://hostkoss.com/b/uk/survey-tools/](https://hostkoss.com/b/uk/survey-tools/) +8. [https://uk.wikipedia.org/wiki/%D0%95%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D1%82](https://uk.wikipedia.org/wiki/%D0%95%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D1%82) +9. [https://studfile.net/preview/5456986/page:6/](https://studfile.net/preview/5456986/page:6/) +10. [https://vue.gov.ua/%D0%90%D0%BD%D0%BA%D0%B5%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F](https://vue.gov.ua/%D0%90%D0%BD%D0%BA%D0%B5%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F) +11. [https://vue.gov.ua/%D0%90%D0%BD%D0%BA%D0%B5%D1%82%D0%B0](https://vue.gov.ua/%D0%90%D0%BD%D0%BA%D0%B5%D1%82%D0%B0) +12. [https://uk.wikipedia.org/wiki/%D0%90%D0%BD%D0%BA%D0%B5%D1%82%D0%B0](https://uk.wikipedia.org/wiki/%D0%90%D0%BD%D0%BA%D0%B5%D1%82%D0%B0) \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 3350ed358..b9c1c88d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "dis-edu", + "name": "database_group1", "version": "2.1.0", "lockfileVersion": 1, "requires": true, diff --git a/package.json b/package.json index 8d66fd314..737cbdd81 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { - "name": "dis-edu", + "name": "database_group1", "version": "2.1.0", "main": "index.js", "description": "Databases course work template", - "repository": "https://github.com/boldak/dis-edu", + "repository": "https://github.com/MaxKochenkov/database_group1", "author": "Andrey Boldak ", "license": "ECL 2.0", "scripts": { diff --git a/publish.sh b/publish.sh index 8dcaea4ce..1236f0c84 100644 --- a/publish.sh +++ b/publish.sh @@ -1,4 +1,3 @@ -#!/usr/bin/env sh # abort on errors set -e @@ -20,6 +19,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/boldak/dis-edu.git master:gh-pages +git push -f https://github.com/MaxKochenkov/database_group1.git master:gh-pages cd -