Please use this identifier to cite or link to this item:
https://er.chdtu.edu.ua/handle/ChSTU/9056Full metadata record
| DC Field | Value | Language |
|---|---|---|
| dc.contributor.advisor | Метелап, Володимир Володимирович | - |
| dc.contributor.author | Федонюк, Віталій Володимирович | - |
| dc.date.accessioned | 2026-03-24T12:36:38Z | - |
| dc.date.available | 2026-03-24T12:36:38Z | - |
| dc.date.issued | 2024-06-12 | - |
| dc.identifier.uri | https://er.chdtu.edu.ua/handle/ChSTU/9056 | - |
| dc.description.abstract | АНОТАЦІЇ Виконавець: Федонюк Віталій Володимирович. Назва роботи: " Програмна система рейтингового оцінювання студентів ". Спеціальність: 121 Інженерія програмного забезпечення. Навчальний заклад: «Черкаський державний технологічний університет» м. Черкаси, 2024р. У бакалаврській роботі розглядається розробка рейтингової системи оцінювання студентів. Основною метою розробки є створення інструменту, який допомагатиме користувачам отримувати актуальну інформацію про рейтинг студентів та інші пов’язані сервіси. Програма повинна відповідати вимогам користувачів щодо функціональності, зручності використання та продуктивності. У ході роботи було проведено детальний аналіз потреб цільової аудиторії, сформовано вимоги до додатку, виконано моделювання ключових функцій та реалізовано систему на основі Ruby on Rails з використанням мови програмування Ruby. Основні ідеї та результати досліджень включають: ‒ формування вимог: були визначені первинні та детальні вимоги до системи. Враховано потреби студентів і викладачів, розроблені функціональні та нефункціональні вимоги. Цей процес забезпечив чітке розуміння цілей і функцій, які повинні бути реалізовані; ‒ моделювання функціоналу: було створено концептуальну, логічну та фізичну моделі системи. Визначено основні функції системи, такі як відображення рейтингу студентів; ‒ реалізація системи: було розроблено веб додаток на основі Ruby on Rails, що забезпечує його гнучкість і можливість масштабування. Використання мови програмування Ruby дозволило ефективно реалізувати необхідний функціонал. Описана архітектура системи та використані технології. Висновки роботи показують, що створений сервіс успішно задовольняє потреби користувачів, покращуючи ефективність комунікації та знижуючи витрати часу на пошук та управління рейтингом. Система відповідає вимогам користувачів та демонструє високу продуктивність і надійність у практичному використанні. | uk_UA |
| dc.description.abstract | ANNOTATIONS Performer: Fedonyuk Vitaly Volodymyrovych.. The title of the work: "Program system of rating assessment of students". Specialty: 121 Software engineering. Educational institution: Cherkasy State Technological University, Cherkasy, 2024. The bachelor thesis deals with the development of a rating system for evaluating students. The main goal of the development is to create a tool that will help users get up-to-date information about student ratings and other related services. The program must meet user requirements for functionality, usability, and performance. In the course of the work, a detailed analysis of the needs of the target audience was carried out, requirements for the application were formed, modeling of key functions was performed and a system based on Ruby on Rails was implemented using the Ruby programming language. Key insights and research findings include: ‒ formation of requirements: primary and detailed requirements for the system were defined. The needs of students and teachers are taken into account, functional and non-functional requirements are developed. This process ensured a clear understanding of the goals and functions to be implemented; ‒ functional modeling: a conceptual, logical and physical model of the system was created. The main functions of the system are defined, such as displaying the rating of students; ‒ system implementation: a web application based on Ruby on Rails was developed, which ensures its flexibility and scalability. The use of the Ruby programming language made it possible to effectively implement the necessary functionality. The system architecture and used technologies are described. The conclusions of the work show that the created service successfully meets the needs of users, improving the efficiency of communication and reducing the time spent on searching and managing the rating. The system meets user requirements and demonstrates high performance and reliability in practical use. | uk_UA |
| dc.language.iso | uk | uk_UA |
| dc.subject | RUBY ON RAILS | uk_UA |
| dc.subject | ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ | uk_UA |
| dc.subject | JAVASCRIPT | uk_UA |
| dc.subject | POSTGRESQL | uk_UA |
| dc.subject | БАЗА ДАНИХ | uk_UA |
| dc.subject | КОМУНІКАЦІЯ | uk_UA |
| dc.subject | МАСШТАБОВАНІСТЬ СИСТЕМИ | uk_UA |
| dc.subject | ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ | uk_UA |
| dc.title | Програмна система рейтингова оцінювання студентів | uk_UA |
| dc.type | Bachelor Thesis | uk_UA |
| Appears in Collections: | 121 Інженерія програмного забезпечення (Інженерія програмного забезпечення) | |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| Кваліфікаційна робота бакадавра Федонюк Віталій Володимирович.pdf Restricted Access | 1.64 MB | Adobe PDF | View/Open Request a copy |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.
Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
Факультет інформаційних технологій і систем
Кафедра програмного забезпечення автоматизованих систем
ПОЯСНЮВАЛЬНА ЗАПИСКА
до кваліфікаційної роботи
«бакалавра»
освітній рівень
на тему: «Програмна система рейтингового оцінювання студентів»
Виконав: студент 4 курсу, групи ПЗC-2244
Спеціальності
121 «Інженерія програмного забезпечення»
(шифр і назва напряму підготовки)
Студент Федонюк В. В.
(прізвище та ініціали)
Керівник Метелап В.В.
(прізвище та ініціали)
Рецензент
(прізвище та ініціали)
Черкаси 2024
Черкаський державний технологічний університет
повне найменування вищого навчального закладу
Факультет інформаційних технологій і систем
Кафедра програмного забезпечення автоматизованих систем
Освітній рівень бакалавр
Спеціальність 121 «Інженерія програмного забезпечення»
Освітня програма Інженерія програмного забезпечення
ЗАТВЕРДЖУЮ
Зав. кафедри ПЗАС, професор
___________ Голуб С.В.
«___» _______________ 2024 року
З А В Д А Н Н Я
НА КВАЛІФІКАЦІЙНУ РОБОТУ СТУДЕНТУ
Федонюк Віталій Володимирович
(прізвище, ім’я, по батькові)
1.Тему проекту (роботи) «Програмна система рейтингового оцінювання студентів»
Керівник проекту (роботи) Метелап Володимир Володимирович к.т.н., доцент
(прізвище, ім’я , по батькові, науковий ступінь, вчене звання)
Затверджені наказом Черкаського державного технологічного університету від « 26 » лютого
2024 року №60/04
2. Строк подання студентом проекту (роботи) 3 червня 2024 р.
3. Вхідні дані до проекту (роботи) Технічне завдання на розробку, методичні рекомендації до
виконання бакалаврської роботи, автоматизовані системи, терміни та визначення.
4. Зміст розрахунково-пояснювальної записки (перелік питань, які потрібно розробити)
Вступ;
Розділ 1. Існуючі методи та засоби розв’язання поставлених завдань;
Розділ 2. Впровадження результатів досліджень у практику проектування програмного
забезпечення інформаційних систем;
Розділ 3. Розробка та тестування програмного забезпечення;
Висновки;
Список використаних джерел;
Додатки.
5. Перелік графічного матеріалу (з точним зазначенням обов’язкових робіт проекту;
Слайд 1; Слайд 2; Слайд 3; Слайд 4; Слайд 5; Слайд 6; Слайд 7; Слайд 8; Слайд 9; Слайд 10;
Слайд 11; Слайд 12; Слайд 13; Слайд 14; Слайд 15; Слайд 16; Слайд 17; Слайд 18;.
6. Консультанти розділів проекту (роботи)
Прізвище, ініціали та посади Підпис, дата
Розділ
консультанта Завдання видав Завдання прийняв
1
2
3
7. Дата видачі завдання 02 грудня 2023 р.
КАЛЕНДАРНИЙ ПЛАН
Строк
виконання
№
Назва етапів випускної роботи етапів Примітки
п/п
випускної
роботи
1 Постановка задачі 05.12.2023 виконано
2 Підготовка завдання 13.12.2023 виконано
3 Погодження завдання 16.12.2023 виконано
4 Затвердження завдання 19.02.2024 виконано
Основна стадія
1 Підбір матеріалів 27.02.2024 виконано
2 Аналіз шляхів вирішення поставленої задачі 04.02.2024 виконано
3 Розрахунок основних параметрів роботи 10.03.2024 виконано
4 Вибір кінцевого варіанту проектного рішення 17.03.2024 виконано
5 Оформлення первісної редакції роботи 25.03.2024 виконано
Заключна стадія
1 Узгодження прийнятих проектних рішень з 31.04.2024 виконано
керівником
2 Оформлення пояснювальної записки роботи в 13.05.2024 виконано
кінцевій редакції
3 Попередній захист роботи 15.05.2024 виконано
4 Затвердження роботи 31.05.2024 виконано
5 Рецензування роботи 20.05.2024 виконано
6 Захист роботи 11.06.2024
Студент _____________________ Федонюк В.В.
(підпис) (прізвище та ініціали)
Керівник проекту (роботи) _____________________ Метелап В.В.
(підпис) (прізвище та ініціали)
АНОТАЦІЇ
Виконавець: Федонюк Віталій Володимирович.
Назва роботи: " Програмна система рейтингового оцінювання студентів ".
Спеціальність: 121 Інженерія програмного забезпечення.
Навчальний заклад: «Черкаський державний технологічний університет» м.
Черкаси, 2024р.
У бакалаврській роботі розглядається розробка рейтингової системи
оцінювання студентів. Основною метою розробки є створення інструменту, який
допомагатиме користувачам отримувати актуальну інформацію про рейтинг
студентів та інші пов’язані сервіси. Програма повинна відповідати вимогам
користувачів щодо функціональності, зручності використання та продуктивності.
У ході роботи було проведено детальний аналіз потреб цільової аудиторії,
сформовано вимоги до додатку, виконано моделювання ключових функцій та
реалізовано систему на основі Ruby on Rails з використанням мови програмування
Ruby. Основні ідеї та результати досліджень включають:
‒ формування вимог: були визначені первинні та детальні вимоги до
системи. Враховано потреби студентів і викладачів, розроблені функціональні та
нефункціональні вимоги. Цей процес забезпечив чітке розуміння цілей і функцій,
які повинні бути реалізовані;
‒ моделювання функціоналу: було створено концептуальну, логічну та
фізичну моделі системи. Визначено основні функції системи, такі як
відображення рейтингу студентів;
‒ реалізація системи: було розроблено веб додаток на основі Ruby on
Rails, що забезпечує його гнучкість і можливість масштабування. Використання
мови програмування Ruby дозволило ефективно реалізувати необхідний
функціонал. Описана архітектура системи та використані технології.
Висновки роботи показують, що створений сервіс успішно задовольняє
потреби користувачів, покращуючи ефективність комунікації та знижуючи
витрати часу на пошук та управління рейтингом. Система відповідає вимогам
користувачів та демонструє високу продуктивність і надійність у практичному
використанні.
Ключові слова. RUBY ON RAILS, ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ,
JAVASCRIPT, POSTGRESQL, БАЗА ДАНИХ, Р, КОМУНІКАЦІЯ,
МАСШТАБОВАНІСТЬ СИСТЕМИ, АРХІТЕКТУРА ПРОГРАМНОГО
ЗАБЕЗПЕЧЕННЯ
ANNOTATIONS
Performer: Fedonyuk Vitaly Volodymyrovych..
The title of the work: "Program system of rating assessment of students".
Specialty: 121 Software engineering.
Educational institution: Cherkasy State Technological University, Cherkasy,
2024.
The bachelor thesis deals with the development of a rating system for
evaluating students. The main goal of the development is to create a tool that will
help users get up-to-date information about student ratings and other related
services. The program must meet user requirements for functionality, usability,
and performance.
In the course of the work, a detailed analysis of the needs of the target
audience was carried out, requirements for the application were formed, modeling
of key functions was performed and a system based on Ruby on Rails was
implemented using the Ruby programming language. Key insights and research
findings include:
‒ formation of requirements: primary and detailed requirements for the system
were defined. The needs of students and teachers are taken into account,
functional and non-functional requirements are developed. This process
ensured a clear understanding of the goals and functions to be implemented;
‒ functional modeling: a conceptual, logical and physical model of the system
was created. The main functions of the system are defined, such as displaying
the rating of students;
‒ system implementation: a web application based on Ruby on Rails was
developed, which ensures its flexibility and scalability. The use of the Ruby
programming language made it possible to effectively implement the
necessary functionality. The system architecture and used technologies are
described.
The conclusions of the work show that the created service successfully meets
the needs of users, improving the efficiency of communication and reducing the
time spent on searching and managing the rating. The system meets user
requirements and demonstrates high performance and reliability in practical use.
ЗМІСТ
ЗМІСТ ..................................................................................................................... 9
ВСТУП ................................................................................................................... 5
РОЗДІЛ 1. ІСНУЮЧІ МЕТОДИ ТА ЗАСОБИ РОЗВ’ЯЗАННЯ
ПОСТАВЛЕНИХ ЗАВДАНЬ ......................................................................................... 7
ВИСНОВОК ДО ПЕРШОГО РОЗДІЛУ ............................................................. 9
РОЗДІЛ 2. ВПРОВАДЖЕННЯ РЕЗУЛЬТАТІВ ДОСЛІДЖЕНЬ У
ПРАКТИКУ ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
ІНФОРМАЦІЙНИХ СИСТЕМ .................................................................................... 10
2.1. Моделювання предметної області .......................................................... 10
2.1.1 Предметна область моделювання. Модель предметної області.
Словник предметної області ................................................................................ 10
2.1.2 Елементи моделювання предметної області ................................... 11
2.1.3 Робоча область моделювання ........................................................... 11
2.2 Формування та аналіз вимог .................................................................... 12
2.2.1 Формування вимог до програмного забезпечення. Первинні і
детальні вимоги. Вимоги замовника і розробника. Функціональні та
нефункціональні вимоги ....................................................................................... 12
2.2.1 Формування вимог за допомогою діаграми прецедентів .............. 17
2.3 Проектування логічної структури програмного комплексу ................. 18
2.3.1 Діаграми класів .................................................................................. 18
2.3.2 Діаграми пакетів ................................................................................. 18
2.4 Архітектурне проектування ..................................................................... 19
2.4.1 Діаграма компонентів ........................................................................ 19
ЧДТУ 24 2251.012 ПЗ
Змн. Арк. № докум. Підпис Дата
Розроб. Федонюк В. В. «Прогgр амна система рейтингового Літ. Лист Листів
Перевір. Метелап В. В. оцінювання студентів» 3
Пояснювальна записка.
Н. Контр. Півень О.Б. ФІТІС, кафедра ПЗАС, ПЗС-2244
Затверд. Голуб С.В.
2.4.2 Розгортання програмної системи на апаратних засобах. Діаграма
розгортання ............................................................................................................ 20
2.5 Моделювання поведінки системи ........................................................... 21
2.5.1 Діаграма діяльності ............................................................................ 21
2.5.2 Діаграма послідовності ...................................................................... 22
2.5.3 Діаграма комунікації ......................................................................... 23
2.5.4 Діаграма скінченного автомата ........................................................ 23
ВИСНОВОК ДО ДРУГОГО РОЗДІЛУ ............................................................. 25
РОЗДІЛ 3. РОЗРОБКА ТА ТЕСТУВАННЯ ПРОГРАМНОГО
ЗАБЕЗПЕЧЕННЯ........................................................................................................... 26
3.1 Розробка програмного комплексу ........................................................... 26
3.1.1 Обґрунтування вибору засобів реалізації ........................................ 26
3.1.3 Опис логічної схеми системи............................................................ 30
3.1.4 Розробка бази даних .......................................................................... 31
3.1.5 Розробка інтерфейсу користувача .................................................... 34
3.1.6 Опис розробки програмних компонентів ........................................ 43
3.2 Тестування системи .................................................................................. 45
3.2.1 Модульне тестування ........................................................................ 45
3.2.2 Інтеграційне тестування .................................................................... 47
3.2.3 Системне тестування ......................................................................... 48
3.3 Приклади впровадженого програмного комплексу .............................. 50
ВИСНОВОК ДО ТРЕТЬОГО РОЗДІЛУ ........................................................... 56
ВИСНОВКИ ......................................................................................................... 58
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ........................................................... 60
ДОДАТОК А……………………………………………………………………60
ДОДАТОК Б…………………………………………………………………….62
ДОДАТОК В……………………………………………………………………70
ДОДАТОК Г…………………………………………………………………….72
ЧДТУ 242251.012 ПЗ
Змн. Арк. № докум. Підпис Дата
ЧДТУ 24 2251.012
ВСТУП
Актуальність теми
У сучасному освітньому середовищі важливо забезпечити ефективний та
об'єктивний процес оцінювання студентських досягнень. Одним з інструментів,
що сприяє цій меті, є впровадження рейтингової системи оцінювання студентів.
З метою вдосконалення процесу оцінювання та забезпечення більшої
об'єктивності та прозорості, цей дипломний проект спрямований на створення
веб-ресурсу, який буде служити рейтинговою системою оцінювання студентів.
Цей веб-ресурс буде базуватися на сучасних технологіях веб-розробки та буде
містити функціонал, необхідний для зручного та ефективного використання його
користувачами. Ось деякі аспекти актуальності даної теми:
‒ об'єктивність та прозорість оцінювання: Традиційні методи оцінювання
можуть бути суб'єктивними, що призводить до несправедливості та
недовіри в оцінках. Веб-ресурс, який автоматизує процес обчислення
рейтингів студентів на основі об'єктивних критеріїв, допомагає
забезпечити більшу об'єктивність та прозорість в оцінюванні;
‒ ефективність та зручність для користувачів: Використання веб-ресурсу
спрощує процес ведення та обробки даних, що дозволяє викладачам та
адміністраторам зосередитися на навчанні та підтримці студентів, а не
на рутинних адміністративних завданнях;
‒ адаптація до віддаленого навчання: У зв'язку зі зростанням віддалених
форм навчання через різні обставини веб-ресурси стають все більш
важливими для забезпечення ефективного навчання та оцінювання в
онлайн-середовищі.
Мета і завдання розробки
Основною метою цього проекту є створення інструменту, який сприяє
створенню справедливих, об'єктивних та ефективних умов для оцінювання
студентів та сприяє їхньому успіхові в навчанні.
5
ЧДТУ 24 2251.012
Об'єкт розробки
Об'єктом розробки є веб-ресурс, який буде розроблено для створення
програмної системи рейтингового оцінювання студентів.
Веб-ресурс буде складатися з різних компонентів, таких як інтерфейс
користувача, база даних, серверна логіка.
Опис отриманих результатів
Цей веб-ресурс буде відповідати за обробку, збереження та аналіз даних про
студентів та їхні оцінки, а також за розрахунок рейтингів на основі визначених
критеріїв.
Головною метою цього об'єкта розробки є створення прозорої, об'єктивної
та ефективної системи оцінювання, яка допоможе підвищити якість освіти та
забезпечити кращі умови для розвитку студентів.
Прктичне значення отриманих результатів
Отримані результати розробки програмної системи ретингового
оцінювання студентів можуть мати значний вплив та важливе практичне значення
в оцінюванні студентів.
Особистий внесок автора
Покращення об'єктивності оцінювання
‒ впровадження програмної системи рейтингового оцінювання студентів,
яка базується на конкретних критеріях та оцінках, може допомогти
забезпечити більш об'єктивне оцінювання навичок і знань студентів.
Ефективне використання ресурсів
‒ автоматизована система оцінювання може зменшити час та зусилля,
витрачені на адміністративні процеси.
Отже, Програмна система рейтногового оцінювання студентів є досить
корисним інструментом для екномії часу то покращення обєктивності
оцінювання.
6
ЧДТУ 24 2251.012
РОЗДІЛ 1. ІСНУЮЧІ МЕТОДИ ТА ЗАСОБИ РОЗВ’ЯЗАННЯ
ПОСТАВЛЕНИХ ЗАВДАНЬ
Для розробки програмної системи рейтингового оцінювання студентів вже
існують різні методи та засоби, які можна використовувати для розв'язання
поставлених завдань.
Системи управління базами даних
Система управління базами даних (СУБД) - це програмне забезпечення, яке
дозволяє створювати, управляти та взаємодіяти з базами даних. Вони
забезпечують зручний і ефективний доступ до даних, їх зберігання та обробку.
Основні функції СУБД включають[2]:
1 Створення баз даних: Можливість визначення структури даних, типів
даних і відносин між ними.
2 Вставка, оновлення та вилучення даних: Можливість додавання
нових записів, оновлення існуючих та вилучення зайвих даних.
3 Мови запитів: СУБД надають мови запитів для вибору, фільтрації та
сортування даних. SQL (Structured Query Language) є однією з найбільш
поширених мов запитів.
4 Безпека: Забезпечення доступу до бази даних тільки авторизованим
користувачам, а також контроль доступу до конкретних таблиць чи
полів.
5 Транзакції: Можливість об'єднання декількох операцій в єдину
транзакцію, яка виконується або в повному обсязі, або не виконується
зовсім, щоб уникнути некоректних станів бази даних.
6 Оптимізація запитів: Автоматична оптимізація запитів для поліпшення
швидкодії та ефективності використання ресурсів.
Деякі популярні системи управління базами даних включають:
‒ PostgreSQL;
‒ SQLite;
‒ Redis (база даних NoSQL).
7
ЧДТУ 24 2251.012
Інтерфейс користувача та веб-розробка
Інтерфейс користувача (UI) та веб-розробка взаємодіють між собою і є
ключовими компонентами в створенні веб-сайтів та веб-додатків[3].
Існує безліч прикладів зручних та зрозумілих інтерфейсів, де чудово
показана легка навігація та доступу до рейтинегу з будь-якого пристрою.
Головна сторінка
‒ візуально привабливий макет з великими заголовками та
картинками.
Фільтри та Сортування
‒ можливість сортування рейтингу за датою;
‒ фільтри для вибору конкретних груп або студентів.
Зручний Пошук
‒ відображення результатів пошуку за часом, релевантністю тощо.
Обробка данних користувачів
Для обробки данних користувачів існує безліч технологій та мов
програмування, які швидкі та зручні в використанні та дають широкий
функціонал, в дипломній роботі будуть використовуватися такі мови
програмування як Ruby, та його фреймворк Ruby on Rails, також мова розмітки
HTML5 та таблиця каскадних стилів CSS з мовою програмування JavaScript.
8
ЧДТУ 24 2251.012
ВИСНОВОК ДО ПЕРШОГО РОЗДІЛУ
У першому розділі було розглянуто існуючі методи розвязування задач,
готові рішення, та які існують системи управління базами данних , які технолонії
можна використати щоб вирішити поставлені завдання, розібрані методи аналізу
та фреймворки і найголовніші ампекти у виборі.
9
ЧДТУ 24 2251.012
РОЗДІЛ 2. ВПРОВАДЖЕННЯ РЕЗУЛЬТАТІВ ДОСЛІДЖЕНЬ У
ПРАКТИКУ ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
ІНФОРМАЦІЙНИХ СИСТЕМ
2.1. Моделювання предметної області
Моделювання предметної області є важливим етапом в процесі розробки
програмного забезпечення. Цей етап дозволяє детально вивчити та визначити
ключові аспекти системи, структуру даних, взаємозв'язки між елементами та
основні бізнес-процеси.
2.1.1 Предметна область моделювання. Модель предметної області. Словник
предметної області
Моделювання предметної області є важливим етапом у розробці
програмного забезпечення та інших систем. Це означає створення абстрактної
представленості реального світу, що дозволяє розуміти та працювати з
ключовими концепціями, об'єктами та взаємодіями в цій області. Важливим
компонентом цього процесу є словник предметної області[4].
Рисунок 2.1. - Модель предметної області
10
ЧДТУ 24 2251.012
2.1.2 Елементи моделювання предметної області
Моделювання предметної області передбачає створення абстракцій, які
відображають ключові елементи та їх взаємодії в системі. Нижче наведено
основні елементи моделювання предметної області для рейтингової системи
оцінювання студентів:
1 Об'єкти та Класи
‒ група: номер групи, кількість студентів, загальний бал;
‒ список студентів: ПІБ, оцінки, рейтинг;
‒ користувач: ім'я, електронна пошта, роль (звичайний користувач,
адміністратор).
2 Взаємодії та Зв'язки
‒ користувач взаємодіє з Інтерфейсом користувача: перегляд рейтингу;
‒ список студентів належить до Групи: Класифікація студентів за
рейтингом, Фільтрація студентів за оцінками.
3 Стани та Переходи
‒ стан "Активний" та "Неактивний" для Списку студентів;
‒ рейтинг може бути актуальним чи неактуальним для відображення;
‒ стан "Очікує підтвердження" для Користувача;
‒ користувач може очікувати підтвердження свого облікового запису.
2.1.3 Робоча область моделювання
Робоча область моделювання включає в себе елементи та концепції, які
допомагають визначити, як саме система буде функціонувати, і які особливості та
задачі вона повинна вирішувати.
Нижче наведено ключові аспекти робочої області для рейтингової системи
оцінювання студентів:
1 Збір та Обробка Рейтингу
‒ опис: механізми для збору рейтингу з XML файлу чи введення
вручну;
‒ елементи моделювання: алгоритми обчислення рейтингу.
11
ЧДТУ 24 2251.012
2 Інтерфейс Користувача
‒ опис: Розробка зручного та інтуїтивно зрозумілого інтерфейсу для
користувачів;
‒ елементи моделювання;
‒ елементи для введення оцінок;
‒ механізми фільтрації та сортування рейтингу.
Ці елементи моделювання допомагають визначити основні аспекти
функціональності рейтингової системи оцінювання студентів, а також сприяють
розумінню та комунікації між розробниками та зацікавленими сторонами на
ранніх етапах проекту.
2.2 Формування та аналіз вимог
Формування та аналіз вимог - це ключовий етап у розробці програмного
забезпечення, який дозволяє чітко визначити функціональні та нефункціональні
вимоги до системи[5].
2.2.1 Формування вимог до програмного забезпечення. Первинні і детальні
вимоги. Вимоги замовника і розробника. Функціональні та нефункціональні
вимоги
Формування вимог до програмного забезпечення
Сучасний технологічний прогрес невпинно змінює обличчя багатьох
галузей, зокрема інформаційних технологій. Впровадження нових програмних
продуктів та систем вимагає ретельного вивчення їх функціональних та
експлуатаційних властивостей.
Потрібно вміти аналізувати функціональні та експлуатаційні вимоги до
визначеного програмного продукту. Ретельне вивчення цих аспектів дозволить
зрозуміти основні особливості роботи системи та визначити її можливості та
обмеження.
Первинні і детальні вимоги
12
ЧДТУ 24 2251.012
У сучасному інформаційному середовищі правильне розуміння
функціональних та експлуатаційних вимог є важливим етапом в розробці та
використанні програмного забезпечення. Ця робота спрямована на
систематизацію та аналіз вимог, що стане основою для подальшого
вдосконалення програми та забезпечить ефективне її використання.
Функціональні та нефункціональні вимоги
Аналіз функціональних та експлуатаційних вимог
Функціональні вимоги
1 Автентифікація та авторизація: Система повинна забезпечити
можливість автентифікації користувачів (студентів, викладачів,
адміністраторів) і контролювати їхні права доступу до функцій системи.
2 Введення оцінок: Викладачі повинні мати можливість вводити оцінки
для студентів у відповідності з встановленими критеріями.
3 Обчислення рейтингів: Система повинна автоматично обчислювати
рейтинги студентів на основі їхніх оцінок та встановлених правил.
4 Перегляд результатів: Студенти та викладачі повинні мати доступ до
своїх рейтингів та академічного прогресу через інтерфейс користувача.
5 Керування курсами та групами: Адміністратори повинні мати
можливість додавати, редагувати та видаляти курси та групи.
6 Генерація звітів: Система повинна надавати можливість генерації звітів
про рейтинги студентів та інші статистичні дані.
Експлуатаційні вимоги
1 Надійність: Система повинна працювати стабільно та надійно,
запобігаючи виникненню помилок та збоїв у роботі.
2 Продуктивність: Система повинна бути достатньо продуктивною для
обробки великого обсягу даних та запитів користувачів.
3 Безпека даних: Забезпечення конфіденційності, цілісності та доступності
даних студентів та викладачів шляхом використання заходів безпеки,
таких як шифрування та захист від несанкціонованого доступу.
13
ЧДТУ 24 2251.012
4 Зручність використання: Інтерфейс користувача повинен бути
інтуїтивно зрозумілим та зручним для використання навіть для
користувачів з мінімальним досвідом.
5 Масштабованість: Система повинна бути гнучкою та легко
масштабованою для врахування зростаючих потреб користувачів та
обсягу даних.
6 Підтримка: Забезпечення підтримки системи, включаючи вчасні
виправлення помилок та надання нових функцій та оновлень.
Висновки
‒ веб-сайт повинен бути надійним та доступним для різних користувачів
та платформ;
‒ важливо забезпечити точність класифікації та швидкість обробки
рейтингу студентів;
‒ система повинна бути готовою до масштабування та підтримувати
актуальні технології.
Вимоги замовника і розробника
1 Визначити основні технічні рішення
Проєкт: Програмна система рейтингового оцінювання студентів
Вибір мови програмування
Основна мова програмування для серверної частини веб-сайту буде Ruby.
Використання Ruby у поєднанні з фреймворком Ruby on Rails дозволить
ефективно розробляти та підтримувати веб-сайт[6].
Структура програмного продукту
Програмний продукт буде розподілений на наступні компоненти:
Збір оцінок (Collector):
‒ модуль для збору оцінок з файлу.
Веб-сайт (Web Application):
‒ фронтенд та бекенд веб-сайту для відображення та фільтрації рейтингу
студентів.
Склад функцій програмного продукту
14
ЧДТУ 24 2251.012
Веб-сайт (Web Application)
‒ відображення рейтингу на веб-сайті;
‒ можливість фільтрації рейтингу студентів;
‒ інтерфейс для користувачів для взаємодії з системою.
Режими функціонування
‒ режим збору оцінок;
‒ режим відображення на веб-сайті.
Реалізація та Розвиток
‒ визначення вимог, проектування структури бази даних та алгоритмів;
‒ розробка компонентів, включаючи Collector та Web Application;
‒ інтеграція різних компонентів та виконання тестування;
‒ виявлення та виправлення помилок, оптимізація алгоритмів.
Розвиток та Підтримка
‒ забезпечення можливості масштабування системи при зростанні обсягу
рейтингу та користувачів;
‒ регулярні оновлення для вдосконалення класифікації та
функціональності;
‒ забезпечення стабільності та моніторингу системи для оперативного
виявлення проблем.
Заключні відомості
Проект розробки рейтингової системи оцінювання студентів орієнтований
на забезпечення користувачів актуальною інформацією. Основні технічні рішення
визначені з метою створення ефективної, стабільної та легко розширюваної
системи. Перший етап реалізації передбачає розробку прототипу та основних
компонентів системи.
Технічне завдання є ключови під час розропки програмного продукту, тому
що в ньому описані всі вимого до програми [7].
Технічне завдання на розробку веб-сайту
Вступ
Документ, на підставі якого ведеться розробка
15
ЧДТУ 24 2251.012
Документ: Технічне завдання №12345
Дата: 2023-12-13
Організація, що затвердила підставу розробки, і дата його затвердження
Організація: ІТ Компанія "TechSolutions"
Дата затвердження: 2023-12-15
Найменування теми розробки
Рейтингова система оцінювання студентів
Призначення розробки
Критерії ефективності та якості програми
‒ швидкість обробки даних не менше 1000 студентів за хвилину.
Цілі розробки програми
‒ розробка веб-сайту, який створює та обраховує рейтинг студентів.
Вимоги до програми
Вимоги до функціональних характеристик
Склад виконуваних функцій
‒ збір оцінок з XML файлу;
‒ відображення рейтингу на веб-сайті з можливістю фільтрації за
категоріями.
Вимоги до надійності
Вимоги до надійного функціонування
‒ веб-сайт повинен бути доступний 99,9% часу.
Контроль вхідної і вихідної інформації
‒ механізм перевірки достовірності та цілісності даних.
Час відновлення після відмови
‒ час відновлення веб-сайту після можливих відмов - не більше 30 хвилин.
Умови експлуатації
‒ веб-сайт має працювати на платформах: Windows, Linux, macOS;
‒ підтримка браузерів: Chrome, Firefox, Safari.
Вимоги до складу і параметрів технічних засобів
16
ЧДТУ 24 2251.012
‒ серверна частина: мова програмування - Ruby , фреймворк - Ruby on
Rails.
Вимоги до програмної документації
‒ наявність документації, включаючи опис API та інструкції по
розгортанню.
Стадії та етапи розробки
‒ аналіз вимог;
‒ проектування системи;
‒ розробка веб-сайту;
‒ тестування та виправлення помилок;
‒ впровадження та реліз.
Етапи впровадження
‒ реліз бета-версії для обмеженої аудиторії;
‒ збір фідбеку та виправлення помилок;
‒ офіційний реліз та підтримка.
2.2.2 Формування вимог за допомогою діаграми прецедентів
Діаграма прецедентів - це графічний інструмент, який використовується для
моделювання взаємодії між системою та її елементами (акторами)[8]. Опис вимог
можна створити за допомогою діаграми прецедентів. Давайте розглянемо, як це
можна зробити крок за кроком
Рисунок 2.2. - Діаграма прецедентів
17
ЧДТУ 24 2251.012
2.3 Проектування логічної структури програмного комплексу
Проектування логічної структури програмного комплексу — це етап
розробки, на якому визначається, як система буде організована з точки зору
архітектури та логічних компонентів.
2.3.1 Діаграми класів
Діаграма класів - це вид діаграми, який використовується в об'єктно-
орієнтованому програмуванні для відображення класів системи, їх атрибутів,
методів та взаємодії між ними. Діаграма класів допомагає зрозуміти структуру
системи і відносини між різними класами. Нижче наведено приклад опису
діаграми класів у форматі мови UML (Unified Modeling Language)[9].
Рисунок 2.3. - Діаграма класів
2.3.2 Діаграми пакетів
Діаграма пакетів - це структурна діаграма, яка відображає організацію
пакетів та залежності між ними у програмному проекті.
Ця діаграма допомагає краще розуміти, як різні частини системи
організовані та взаємодіють між собою, що сприяє покращенню архітектури
програмного забезпечення та розумінню проекту загалом[10].
18
ЧДТУ 24 2251.012
Рисунок 2.4. - Діаграма пакетів
2.4 Архітектурне проектування
Компоненти кожного з виділених рівнів використовуються, як правило, на
своєму або вищому рівні. Кожен рівень відбиває відповідний набір знань, умінь і
навичок фахівців, що створюють або використовують компоненти. Цей набір
визначає відповідний розподіл фахівців програмної інженерії на аналітиків,
системщиків, прикладників, програмістів й ін.
При проєктуванні архітектури програмна система розглядається як
композиція компонентів третього рівня з доступом до компонентів першого і
другого рівнів. Тобто архітектурне проєктування — це розроблення компонентів
третього рівня, визначення вхідних і вихідних даних рівнів ієрархії компонентів і
їхніх зв’язків.
2.4.1 Діаграма компонентів
Діаграми компонентів UML використовуються для моделювання великих
систем на менші підсистеми, якими можна легко керувати. Діаграми компонентів
UML використовуються для представлення різних компонентів системи. При
моделюванні великих об'єктно-орієнтованих систем необхідно розбивати систему
на керовані підсистеми.
19
ЧДТУ 24 2251.012
Рисунок 2.5. - Діаграма компонентів
2.4.2 Розгортання програмної системи на апаратних засобах. Діаграма
розгортання
Діаграма розгортання — це тип діаграми, який визначає фізичне
обладнання, на якому працюватиме програмна система. Він також визначає спосіб
розгортання програмного забезпеченняyed на базовому обладнанні. Він прив’язує
частини програмного забезпечення системи до пристрою, який збирається її
виконувати.
Діаграма розгортання відображає програмне забезпечення archiтектура,
створена в процесі розробки фізичної системи archiтектура, яка його виконує. У
розподілених системах він моделює розподіл програмного забезпечення між
фізичними вузлами.
20
ЧДТУ 24 2251.012
Рисунок 2.6 Діаграма розгортання
Ця діаграма дуже корисна при розробці, вона дає зрозуміти архітектуру
нашого застосунку, та на що потрібно затратити ресурси.
2.5 Моделювання поведінки системи
2.5.1 Діаграма діяльності
Діаграма діяльності (Activity Diagram) візуалізує процес використання та
ілюструє потік повідомлень від однієї дії до іншої. Показує цілісну роботу
системи.
Діаграма діяльності вважається розширеним варіантом блок-схем. Проте
блок-схема не має стандартизованої нотації та не містить паралелізмів
(паралельне виконання дій) та синхронізації.
21
ЧДТУ 24 2251.012
Рисунок 2.6. - Діаграма діяльності
2.5.2 Діаграма послідовності
Діаграма послідовності (Sequence Diagram) — показує часові особливості
передачі і прийому повідомлень об’єктами. Впорядкованість за часом слід
розуміти як послідовність дій і не плутати з часовими діаграмами.
Рекомендації зі створення діаграми послідовності
‒ оберіть тему діаграми послідовності;
‒ визначте об’єкти або акторів, які будуть залучені до створення діаграми;
‒ чтворіть короткий список взаємодій об’єктів, що відображатимуться на
діаграмі послідовності;
22
ЧДТУ 24 2251.012
‒ визначте, якими типами повідомлень будуть обмінюватись об’єкти.
‒ ви можете розфарбувати діаграму.
Поширені помилки
‒ не додавайте багато деталей. Це захаращує діаграму та ускладнює її
читання;
‒ початок стрілки повідомлення має завжди торкатись лінії життя
відправника, а вказівник — лінії життя об’єкта-одержувача;
‒ повідомлення мають будуватись зліва направо;
‒ не використовуйте діаграму послідовності, якщо необхідна реалізація
простої логіки.
2.5.3 Діаграма комунікації
Діаграми комунікації , як і діаграми послідовності, забезпечують перегляд
динамічнихаспектів об'єктно-орієнтованої системи. Діаграма комунікації по суті є
об'єктною діаграмою,яка показує зв'язки передачі повідомлень замість об'єднань
або узагальнення.
Діаграми комунікації дуже корисні для відображення моделей процесів
(тобто, моделей діяльності,які виникають у наборі взаємодіючих класів).
Діаграми комунікації еквівалентні діаграмам послідовності, але вони
підкреслюютьпорядок повідомлень через набір об'єктів, тоді як діаграми
послідовності фокусуються навпорядкуванні часу передачі повідомлень. Тому,
якщо необхідно розуміти функції контролюнад набором об'єктів, що взаємодіють,
слід використовувати діаграму комунікації. У деякихвипадках потрібно
використовувати обидві діаграми, щоб більш повно зрозуміти
динамічнуактивність системи.
2.5.4 Діаграма скінченного автомата
Скінче́нний автома́т — модель що використовується для опису зміни стану
об'єкта в залежності від поточного стану та інформації отриманої ззовні. Поняття
скінченного автомата було запропоновано як математичну модель дискретних
23
ЧДТУ 24 2251.012
приладів, оскільки будь-який такий прилад (через скінченність своїх розмірів)
може мати тільки скінченну кількість станів.
Скінченні автомати допомагають розв'язувати багато задач, серед яких
автоматизація проєктування електронних приладів, проєктування комунікаційних
протоколів, синтаксичний аналіз та інші інженерні застосування. В біології і
дослідженнях штучного інтелекту, автомати або їх ієрархії іноді
використовуються для опису неврологічних систем і в лінгвістиці для опису
граматики природних мов.
Рисунок 2.7. - Діаграма скінченного автомата
24
ЧДТУ 24 2251.012
ВИСНОВОК ДО ДРУГОГО РОЗДІЛУ
У другому розділі було розглянуто було проведено аналіз різних методів та
реалізація вимог для розвязання поставлених задач, створено і змодельовано
діагарами що відображають різні елементи задач.
Моделювання предметної області
Моделювання предметної області є важливим етапом у розробці
програмного забезпечення та інших систем. Це означає створення абстрактної
представленості реального світу, що дозволяє розуміти та працювати з
ключовими концепціями, об'єктами та взаємодіями в цій області. Важливим
компонентом цього процесу є словник предметної області.
Робоча область моделювання
Робоча область моделювання включає в себе елементи та концепції, які
допомагають визначити, як саме система буде функціонувати, і які особливості та
задачі вона повинна вирішувати.
Формування та аналіз вимог
Формування та аналіз вимог - це ключовий етап у розробці програмного
забезпечення, який дозволяє чітко визначити функціональні та нефункціональні
вимоги до системи.
Розроблені діаграми
Створення діагарм це основний етап який дає зрозуміти основну логіку
рограмного забезпечення, та допомогає зможелювати всі елементи програмного
продукту.
25
ЧДТУ 24 2251.012
РОЗДІЛ 3. РОЗРОБКА ТА ТЕСТУВАННЯ ПРОГРАМНОГО
ЗАБЕЗПЕЧЕННЯ
3.1 Розробка програмного комплексу
3.1.1 Обґрунтування вибору засобів реалізації
Для розробки програмного продукту використовувалась IDE VS Code, від
компанії Microsoft[11].
Рисунок 3.1. - IDE VS Code
Основні переваги використання VS Code
‒ безкоштовність і відкритий код: VS Code є безкоштовним і з відкритим
вихідним кодом, що дозволяє знизити витрати на інструменти розробки;
‒ кросплатформеність: працює на Windows, macOS та Linux, що
забезпечує гнучкість у виборі операційної системи;
‒ розширення: велика кількість розширень дозволяє налаштувати VS Code
під будь-який проєкт, включаючи підтримку Ruby on Rails, інтеграцію з
системами контролю версій (Git), підтримку різних мов програмування і
багато іншого;
26
ЧДТУ 24 2251.012
‒ підтримка IntelliSense: забезпечує підказки коду, автозаповнення та інші
функції, що значно підвищують продуктивність розробників.
Використовувалась мова програмування Ruby та фреймворк Ruby on Rails з
структурою MVC, також наведем основні його переваги[12]
‒ швидкий старт і простота навчання: Ruby on Rails дозволяє швидко
почати розробку завдяки своїй простоті та наявності великої кількості
готових шаблонів та бібліотек;
‒ конвенція над конфігурацією: Rails використовує підхід "конвенція над
конфігурацією", що зменшує кількість рутинних налаштувань і
прискорює розробку;
‒ MVC архітектура: чітке розділення між моделями, уявленнями та
контролерами (MVC).
Рисунок 3.2. - Фреймворк Ruby on Rails
Також використовувалась реляційна СУБД PostgreSQL[13]
Рисунок 3.3. - PostgreSQL
27
ЧДТУ 24 2251.012
Основні її переваги
‒ безкоштовність і відкритий код: Як і VS Code, PostgreSQL є
безкоштовною і з відкритим кодом, що робить її економічно вигідною;
‒ надійність і стабільність: PostgreSQL відома своєю надійністю і
стабільністю, що є критично важливим для будь-якого проєкту;
‒ потужні функціональні можливості: Підтримує складні запити,
транзакції, процедури та інші розширені можливості, що робить її дуже
гнучкою і потужною;
‒ широка підтримка: Добре підтримується в Ruby on Rails, включаючи
активну розробку гемів і бібліотек для інтеграції.
Вибір апартних засобів для розробки
‒ сервер: вибір серверу залежить від масштабу проєкту, але
рекомендується використовувати сервери з достатньою кількістю
оперативної пам'яті (мінімум 8 ГБ) і процесором з високою частотою для
забезпечення швидкої обробки запитів;
‒ сховище: SSD-накопичувачі для баз даних і файлової системи значно
підвищують продуктивність і швидкість доступу до даних;
‒ бекап: Наявність регулярного резервного копіювання даних для
забезпечення безпеки і відновлення у випадку збоїв.
Отже, виділим загальні переваги вибору цих засобів
‒ економічність: використання безкоштовних інструментів і відкритого
коду знижує загальні витрати;
‒ продуктивність: висока продуктивність завдяки інструментам, які
автоматизують і спрощують рутинні завдання;
‒ гнучкість: можливість налаштування і адаптації під специфічні потреби
проєкту;
‒ підтримка: велика кількість ресурсів, документації і активна спільнота
забезпечують підтримку і допомогу в разі потреби.
28
ЧДТУ 24 2251.012
3.1.2 Опис структурної (функціональної) схеми
Процес проектування складного програмного забезпечення починають з
уточнення його структури, тобто визначення структурних компонент та зв'язків
між ними. Результат уточнення структури може бути представлений у вигляді
структурної та / або функціональної схем і опису (специфікацій) компонентів[14].
Структурна схема розроблюваного програмного забезпечення.
Структурною називають схему, яка відображає склад і взаємодію з управління
частин розроблюваного програмного забезпечення.
Структурні схеми пакетів програм не інформативні, оскільки організація
програм в пакети не передбачає передачі управління між ними. Тому структурні
схеми розробляють для кожної програми пакету, а список програм пакету
визначають, аналізуючи функції, зазначені в технічному завданні.
Найпростіший вид програмного забезпечення - програма, яка в якості
структурних компонентів може включати тільки підпрограми та бібліотеки
ресурсів. Розробку структурної схеми програми зазвичай виконують методом
покрокової деталізації.
Рисунок 3.4. - Структурна схема
29
ЧДТУ 24 2251.012
3.1.3 Опис логічної схеми системи
Логічна схема системи рейтингового оцінювання студентів складається з
декількох ключових компонентів, що забезпечують її функціонування[15]. Нижче
наведено опис основних складових цієї системи:
Користувачі системи
Студенти: Мають доступ до оцінок, рейтингу, а також можуть переглядати
групи та рейтинг студентів там.
Адміністратори: Керують користувачами системи, оцінками групами і
всима сутностями, а також можуть заповнювати студентів з оцінками.
Інтерфейс користувача
Списки студентів конкретної групи: Дозволяє студентам переглядати свої
оцінки, рейтинг.
Адміністративна панель: Призначена для адміністраторів для керування
системою.
Модуль введення та зберігання даних
База даних: Центральне сховище всіх даних про студентів, оцінки, предмети
тощо.
Модуль введення даних: Інтерфейси та форми для введення та редагування
інформації.
Безпека та доступ
Аутентифікація та авторизація: Механізми захисту доступу до системи, що
включають логін та пароль, двофакторну аутентифікацію.
Ролі та права доступу: Керування доступом до різних функцій системи на
основі ролей користувачів.
Отже логічна схема системи рейтингового оцінювання студентів є дужа
важливим етапом розробки, вона дає зрозуміти як буде розроблена система.
30
ЧДТУ 24 2251.012
Рисунок 3.5. - Логічна схема системи
3.1.4 Розробка бази даних
Спроектуємо основну базу данних яка матиме такі таблиці:
Таблиця actions яка має такі ключі:
id integer [primary key] – основний ключ ідентифікатор
subject_id – зовнішній ключ який привязаний до таблиці subjects
student_id - зовнішній ключ який привязаний до таблиці students
number – цілочислене значення яке означає оцінку
31
ЧДТУ 24 2251.012
Таблиця admin_users
id integer [primary key] - основний ключ ідентифікатор
email - строкове значення яке означає пошту
encrypted_password – строкове значення яке використовується для
зберігання паролю
Таблиця group_subjects
id integer [primary key] - основний ключ ідентифікатор
group_id integer - зовнішній ключ який привязаний до таблиці groups
subject_id integer - зовнішній ключ який привязаний до таблиці subjects
Таблиця groups
id integer [primary key] - основний ключ ідентифікатор
name string - строкове значення яке означає ім’я
Таблиця student_subjects
id integer [primary key] - основний ключ ідентифікатор
student_id integer - зовнішній ключ який привязаний до таблиці students
subject_id integer - зовнішній ключ який привязаний до таблиці subjects
Таблиця students
id integer [primary key] - основний ключ ідентифікатор
full_name string - строкове значення яке означає ім’я
group_id integer - зовнішній ключ який привязаний до таблиці groups
Таблиця subjects
id integer [primary key] - основний ключ ідентифікатор
name string - строкове значення яке означає ім’я
Звязки між таблицями:
Таблиця students має зязок has many з таблицями student_subjects, actions
Таблиця students має зязок belongs to з таблицею groups
Таблиця groups має зязок has many з таблицями group_subjects, students
Таблиця actions має зязок belongs to з таблицями subjects, students
Таблиця subjects має зязок has many з таблицями actions, students
32
ЧДТУ 24 2251.012
Рисунок 3.6. - Спроектована БД
33
ЧДТУ 24 2251.012
3.1.5 Розробка інтерфейсу користувача
Розробка інтерфейсу користувача є досить важливим етапом у створенні
проекта. Від того як він буде розроблений залежить зручність користування
додатком.
Проектування основних компоненнтів інтерфейсу
Головна сторінка є дуже важливим етапом веб додатку, вона має бути
зрозумілою зручною і зацікавити користувача у використанні саме твого додатку.
Найкращим варіантом є додавання основних кнопок зверху для зручності
використання та зрозумілого шрифту, так для користувача буде все зрозуміло та
комфортно для читання елементів.
Рисунок 3.7. - Перша секція головної сторінки
Наступна секція додатку на головній сторінці є про нас, ця секція не менш
важлива тому що, так користувач зможе зрозуміти основний наший функціонал,
та зможе відразу зацікавитись ним.
34
ЧДТУ 24 2251.012
Рисунок 3.8. - Секція про нас головної сторінки
Наступною частиною головної сторінки є переваги нашо сервісу перед
іншими, на цій сторінці ми маєм дати зрозуміти користувачу, чому кращі за інших
і чому потрібно обирати саме нас.
Рисунок 3.9. - Секція переваги сервісу
Секція для звязку з нами, має карту та адресу куди користувач зможе
зввернутись у разі виникнення питань, тут відображається точне місце ЧДТУ, для
уточнення якихось данних.
35
ЧДТУ 24 2251.012
Рисунок 3.10. - Секція як можна звязвтися
Також було спроектовано панель навігації де користувач може перейти на
головну сторінку, зареєструватися, вийти з акаунта або перейти в панель
адміністратора, якщо має до неї доступ, також може перейти на секцію про нас, та
відкрити списки студентів або груп.
Рисунок 3.11. - Панель навігації
Сторінка реєстрації має основні поля, такі як емейл, пароль та
підтвердження пароля, після натискання за кнопку зареєструватися його повинно
перенести на головну сторінку.
36
ЧДТУ 24 2251.012
Рисунок 3.12. - Сторінка реєстрації
На сторінці авторизації занаходяться 2 основних поля, це емейл та пароль,
після їх ввелення тебе переносить на головну сторінку або повідомляє що такого
користувача нема.
Рисунок 3.13. - Сторінка авторизації
37
ЧДТУ 24 2251.012
Сторінка адміністратора є не менш важливою частиною додатку, вона
повинна бути інтуїтивно зрозуміла для користувача та давати змогу контролювати
всі сутності в додатку. Сторінка адміністратора була створена за допомогою уже
створених рішень, тому вона буде максимально зручною для куристувача, в
боковій панелі адміністратора є всі сутності проекту, з якими можна взаємодіяти.
На перші сторінці адміністратора зустрічає вкладка де відображаються всі
оцінки студентів та їхні відношення до інших таблиць, також можна створювати
нові оцінки, редагувати їх, видаляти та переглядати на окремій сторінці. Також на
панелі адміністратора розроблена пагінація і можна обирати скільки записів ти
хочеш бачити на одній сторінці, також натискаючи справа зверху кнопку,
вікдриється вікно куди потрібно буде записати всі поля, для створення нового
запиус.
Рисунок 3.14. - Сторінка адміністратора з оцінками
38
ЧДТУ 24 2251.012
На сторінці з групами відображаються всі групи які також можна видаляти,
редагувати та створювати нові, також уя сторінка має увесь основний функціонал
панелі адміністратора.
Рисунок 3.15. - Сторінка адміністратора з групами
На сторінці предметів студентів відображається відношення студентів та
предметів.
Рисунок 3.16. - Сторінка адміністратора з предметами студентів
39
ЧДТУ 24 2251.012
На сторінці студентів відображається їхнє повне імя та до якої групи вони
належать.
Рисунок 3.17. - Сторінка адміністратора з студентами
На сторінці з предметами відобраються віс створені предмети, їх також
можна видаляти, редагувати та створювати нові.
Рисунок 3.18. - Сторінка адміністратора з предметами
40
ЧДТУ 24 2251.012
На сторінці з користувачами відображаються всі створені користувачі та
приховуються їхпаролі, але адміністратор також може їх видалити або додати
нового користувача за бажанням.
Рисунок 3.19. - Сторінка адміністратора з користувачами
Наступним етапом є створення самих списків з групами та студентми, вони
мають бути зручними для користувача щоб він міг зробити все для того щоб
знайти потрібну йому інформацію, сторінка не має мати багато заявої інформації
користувача і всі корисні функції мають бути інтуїтивно зрозумілими.
Отже було вирішино створити списки студентів з максимально зручним та
зрозумілим дизайном, де буде відображатися вся важлива інформація.
Після відкриття сторінки з групами нам показується список груп де ми
можем побачити їх середній бал, та за допомогою пошуку ми можем знайти
потрібну нам групу, та перейти на неї, де буде відображатися більш детальні
інформація, також якщо в пошуку написати запис якгого не існує то появиться
повідомлення, що немає підходящого запису.
41
ЧДТУ 24 2251.012
Рисунок 3.20. - Сторінка з відображенням всих груп
Після відкриття сторінки з студентами нам показується список всих
студентів незалежно від групи, де ми таож бачимо їх середній бал за предемети та
групу в якій вони знаходяться, також можна шукати інформацію за групою або за
прізвищем сутдента.
Рисунок 3.21. - Сторінка з відображенням всих студентів
42
ЧДТУ 24 2251.012
Після натимкання на прізвище студента відкривається сторінка з усима його
предметами та оцінками за предмет з датою, також показується під пошуком
середній бал.
Рисунок 3.22. - Сторінка з відображенням всих предметів студента
3.1.6 Опис розробки програмних компонентів
Розробка програмних компонентів для прогрпмної системи рейтингового
оцінювання студентів є дуже важливим етапом в розробці додатку, це створення
окремих модулів, які виконують різні функції та взаємодіють між собою. Кожен
модуль розробляється з урахуванням вимо, наведено опис програмних
компонентів та їх реалізацію.
Програмні компоненти
Компонент головної сторінки
‒ призначення: зацікавити користувача в нашому додатку, та надати
основну інформацію;
‒ реалізація: використовується контроллер Main з методом index, для
відображення сторінки index.html.erb, та роут get main#index.
Компонент реєестрації
‒ призначення: забезпечує реєстрацію користувачів та адміністраторів;
43
ЧДТУ 24 2251.012
‒ реалізація: використовується SessionController для перевірки чи
користувач створинеий чи ні, також при реєстрації контроллер
звертається до моделі User, для створення нового користувача.
Компонент перегляду списку груп
‒ призначення: забезпечити відображення списку всих груп для показу
рейтингу;
‒ реалізація: використовується контроллер Groups з методом index, для
відображення сторінки index.html.erb, та роут get group#index.
Компонент перегляду списку студентів
‒ призначення: забезпечити відображення списку всих студентів для
показу рейтингу;
‒ реалізація: використовується контроллер Students з методом index, для
відображення сторінки index.html.erb, та роут get student#index.
Компонент перегляду списку предеметів
‒ призначення: забезпечити відображення списку всих предметів з
оцінками та датами;
‒ реалізація: використовується контроллер Students з методом show, для
відображення сторінки show.html.erb, та роут get student#show.
Компонент перегляду сутностей в адмін панелі
‒ призначення: забезпечити відображення списку всих сутностей та
можлтвість використовувати з ними CRUD операції;
‒ реалізація: використовується контроллер Avo, для відображення
сторінки index.html.erb, та роут get avo#index.
Взаємодія компонентів.
Компонент реєестрації взаємодіє з базою данних для того щоб створити
нового або дістат інсуючого користувача, з доаомогою моделі User.
Компонент перегляду списку студентів взаємодіє з базою данних для того
щоб дістати всі групи та відобразити їх, за допомогою моделі Student.
Компонент перегляду списку груп взаємодіє з базою данних для того щоб
дістати всих студентів та відобразити їх, за допомогою моделі Group.
44
ЧДТУ 24 2251.012
Компонент перегляду списку предметів взаємодіє з базою данних для того
щоб дістати всі предети та відобразити їх, за допомогою моделі Subject.
Компонент перегляду сутностей в панелі адмінімтратора взаємодіє з базою
данних для того щоб дістати всі таблички та відобразити їх, за допомогою моделі
ActiveRecord.
Кожен компонент в програмній системі ретингового оцінювання студентів
розроблявся так щоб виконував конкретну фіункцію та міг взаємодіяти з іншими
компонентами та базою данних PostgreSQL, для виведення потріних так оректних
данних.
Такий підхід дозволяє легко підтривуати та розширяти в проект, для
додавання нового функціоанала та оновлення існуючого.
3.2 Тестування системи
В цьому розділі буде проходити тестування програмної системи
рейтингового оцінювання системи, для того щоб перевірити наскільки
функціонал працює коректно та відповідає нормам. Також перевірити наскільки
коректно відпрацьовує кожен компонент програми індивідуально.
3.2.1 Модульне тестування
Першим етапом тестування це буде модульне тестування.
Модульне тестування — це метод ізоляції та тестування окремих одиниць
коду для визначення ефективності кожного компонента. Замість тестування
програмного забезпечення цей метод розбиває його на менші частини, щоб
переконатися в коректності окремих компонентів[16]. Для тестування програмної
системи рейтингового оцінювання системи буде використовуватись бібліотека
rspec[17], вона чудово підходить для моделювання різних ситуацій в додатку, та
дозволяє переврити кожен компонент окремо, це найпопулярніша бібліотека для
фреймворку Ruby on Rails.
Основні етапи
Налаштувати середовище тестування
‒ додати бібліотек rspec до проекту;
45
ЧДТУ 24 2251.012
‒ відокремити тестове середовище для проведення різноманітних тестів;
‒ створення тестової бази;
‒ виокремлення бібліотек тільки для тестового середовища;
‒ створення файлів для написання тестів;
‒ описати ініціацію тестів призапуску тестового середовища;
Написання unit-тестів
‒ написання коду з різними днними для перевірки окремих частин коду на
коректність роботи.
Перевірка тестів
‒ запуск тестового середовища, та тестів;
‒ перевірка на коректність тестів.
Таблиця 3.1
Результат модульного тестування
Тестовий Очікуваний Фактичний
Модуль Статус
випадок результат результат
Зберігання Користувача Користувача Пройдено
коректних створено, дані створено, дані
данних збережено в збережено в
Реєстрація
користувача базі базі
Повернення Повернення
Зберігання не
повідомлення повідомлення
коректних
про те що про те що Пройдено
данних
данні введенео данні введенео
користувача
не валідні не валідні
Результати тестування показують що всі основні функції працюють
коректно та не мають проблем. Це забезпечує відсутність багів та стабільну
46
ЧДТУ 24 2251.012
роботу окремих систем. Це надає змогу з впевненістю додавати новий функціонал
для розширеннядодатку.
3.2.2 Інтеграційне тестування
Другим етапом тестування це буде інтеграційне тестування.
Інтеграційне тестування є важливим, оскільки плавна інтеграція робить
програмні модулі ефективними[17].
Основні етапи
Налаштувати середовище тестування
‒ відокремити тестове середовище для проведення різноманітних тестів;
‒ створення тестової бази.
Написання unit-тестів
‒ написання коду з різними днними для перевірки окремих частин коду на
коректність роботи.
Перевірка тестів
‒ запуск тестового середовища, та тестів.
Таблиця 3.2
Результат інтеграційного тестування
Модуль Тестовий Очікуван Фактичний Статус
випадок ий результат результат
Реєстрація Зберігання Користувача Користувача Пройдено
коректних створено, дані створено, дані
данних збережено в збережено в базі
користувача базі
47
ЧДТУ 24 2251.012
Продовження таблиці 3.2
Отримання Повертається Повертається Пройдено
Отримання списку групи, коректний коректний
списків студентів або список список
предметів з студентів, груп студентів, груп з
бази з бази бази
Результати інтеграційного тестування показують що основні функції
додатка працюють коректно під час взаємодії один з одним та повертають
коректні данні. Всв тести пройшли успішо, тож це показує те що окремі можулі
були добре інтегровані один з одним.
3.2.3 Системне тестування
Третім етапом є системне тестування
Системне тестування – це тип тестування програмного забезпечення, який
виконує перевірку системи в цілому.
Він передбачає інтеграцію всіх окремих модулів і компонентів програмного
забезпечення, яке ви розробили, щоб перевірити, чи працює система разом, як
очікувалося.
Системне тестування є важливим етапом тестування програмного
забезпечення, який надалі дозволить командам тестувальників перевірити якість
збірки, перш ніж вона буде випущена кінцевим користувачам.
У процесі системного тестування програмної системи рейтингового
оцінювання студентів потрібно перевірити чи відповідає вона вимогам безпеки,
продуктивності, вимоги користувачів та інші важливі вимоги до проекту[19].
Основні етапи
Налаштувати середовище тестування
‒ додати бібліотек rspec до проекту;
‒ відокремити тестове середовище для проведення різноманітних тестів;
‒ створення тестової бази;
48
ЧДТУ 24 2251.012
‒ виокремлення бібліотек тільки для тестового середовища;
‒ створення файлів для написання тестів;
‒ описати ініціацію тестів при запуску тестового середовища.
Написання unit-тестів
Перевірка тестів
‒ запуск тестового середовища, та тестів;
‒ перевірка на коректність тестів.
Системне тестування показує що всі компоненти програмної системи
рейтингового оцінювання студентів працюють коректно як одне ціле,
відповідають вимогам безпек та продуктивності а також стабільної роботи. Всі
тестові випадки пройшли успішно, які дають зрозуміти що програма готова до
експлутації.
3.2.4 Приймальне тестування
Приймальне тестування – це фінальна фаза етапу контролю якості у
розробці будь-якого продукту. На цьому етапі сторона замовника розробки
вирішує, чи відповідає створений продукт завданням та вимогам проєкту, та чи
варто випускати його в реліз.
За своєю суттю приймальне тестування мало чим відрізняється від
функціональних тестів, і ці поняття часто використовують як синоніми. Адже
тести на етапі приймання імітують реальні сценарії використання продукту –
тестувальники разом з командою клієнта перевіряють функціональність,
продуктивність, надійність та юзабіліті розробки.
Автоматизоване приймальне тестування працює за принципом ―чорної
скриньки‖. Це означає, що тестовий код може використовувати лише доступний
користувачу інтерфейс, без жодного доступу до внутрішніх компонентів системи.
Результатом приймального тестування може стати
‒ Відправка проекту на доопрацювання;
‒ Ухвалення його замовником, в якості виконаної задачі.
49
ЧДТУ 24 2251.012
Це фінальний етап тестування продукту перед його релізом. При цьому, він
не є дуже ретельним, всеохоплюючим та повним – тестується, зазвичай, тільки
основний функціонал.
3.3 Приклади впровадженого програмного комплексу
У цьому розділі опишемо реалізовані функції та можливості програмної
системи рейтингового оцінювання студетів. Методи які використовувались під
час розробки, та опишемо їх. Приклади описані нижче описують як програмна
система рейтиногового оцінювання студентів працює у реальному використанні,
та забезпечує інформативність та зручність.
Головна сторінка
Користувачі можуть ознайомитись з перевагами програмної системи
рейтингової системи оцінювання студентів, дізнатися місце куди звернутися для
зворотнього звязку, та дізнатися про систему загалом (рис. 3.7, рисю 3.8, рис. 3.9
рис. 3.10).
Можуть використовувати навбар для переходу по додатку, зарєструватися,
вийти з акаунту, відкрити список студентів та груп (рис. 3.11)
Сторінка реєстрації
Користувачі можуть ввести логін пароль та підтвердити пароль для
реєстрації, після чого їх переведе на головну сторінку (рис. 3.12)
Сторінка аутентифікації
Користувачі можуть ввести логін пароль та для аутентифікаці, після чого
якщо всі данні введено коректно їх переведе на головну сторінку (рис. 3.13)
Сторінка адміністратора
Користувачі з правами адміністратора можуть відкрити сторінку
адміністратора в навбарі, та додавати ,видаляти або переглядати групи, студентів,
предмети, користувачів та інші сутності (рис. 3.14, рис. 3.15, рис. 3.16, рис. 3.17,
рис. 3.18)
Сторінка з списком груп
50
ЧДТУ 24 2251.012
Зареєстровані користувачі можуть переглянути списки груп з середнім
балом на сторінці з списком груп (рис.3.19)
Сторінка з списком студентів
Зареєстровані користувачі можуть переглянути списки студентів з середнім
балом на сторінці з списком студентів (рис. 3.20)
Сторінка з списком предетів
Зареєстровані користувачі можуть переглянути списки предметів з балом на
сторінці з списком предметів (рис. 3.21)
Рисунок 3.22. - Перша секція головної сторінки
Рисунок 3.23. - Секція про нас головної сторінки
51
ЧДТУ 24 2251.012
Рисунок 3.24. - Секція переваги сервісу
Рисунок 3.25. - Секція як можна звязвтися
Рисунок 3.26. - Панель навігації
52
ЧДТУ 24 2251.012
Рисунок 3.27. - Сторінка реєстрації
Рисунок 3.28. - Сторінка авторизації
53
ЧДТУ 24 2251.012
Рисунок 3.29. - Сторінка адміністратора з оцінками
Рисунок 3.30. - Сторінка адміністратора з групами
54
ЧДТУ 24 2251.012
Рисунок 3.31.- Сторінка з відображенням всих груп
Рисунок 3.32. - Сторінка з відображенням всих студентів
Рисунок 3.33. - Сторінка з відображенням всих предметів студента
55
ЧДТУ 24 2251.012
56
ЧДТУ 24 2251.012
ВИСНОВОК ДО ТРЕТЬОГО РОЗДІЛУ
У третьому розділі було розглянуто процес розробки програиної системи
ретингового оцінювання студентів. Розділ включав основні такі етапи
Розробка програмного комплексу
В цьому підрозділі описувавлися основні програмні та апартін засоби які
застосувавалися під час розробки, створювалась структурна та логічна схеми,
створювалась та моделюваолась база данних.
Тестування системи
В цьому підрозділі описувавлися основні способи тестування програмного
продукту, модульне тестування інтеграційне тестування та системне тестування.
Розробка інтерфейсу користувача
В цьому підрозділі створювався основний інтерфейс користувача відповідно
до вимог, та зручності, для ефективної роботи та залучення людей.
Приклади впровадженого програмного компдексу
В цьому підрозділі наводилися приклади основних функцій додатку, таких
як реєстраці аутентифікація, перегляд студентів та оцінок.
Отже, в результаті проведеної роботи було створено програмну систему
ретингового оцінювання студентів відповідно до вимог, яка забезпечує
комфортний та швидки доступ до рейтингу студентів по групах та пошук
конкретних груп, створена адмін панель та аутентифікація та авторизація
користувачів. Всі тести пройшли успішно що дає розуміння в безпчності та
правильному функціонуванні системи.
57
ЧДТУ 24 2251.012
ВИСНОВКИ
Кваліфікаційня робота була направлена на розробку програмної системи
рейтингового оцінювання студентів, вона включала в себе аналіз функціональних
та експлутаційних вимог, способів вирішення завдання, та впровадження
результатів в практичну реалізацію, проведення тестувань та переведення в
екплуатацію.
У першому розділі було розглянуто існуючі методи розвязування задач,
готові рішення, та які існують системи управління базами данних, які технолонії
можна використати щоб вирішити поставлені завдання, розібрані методи аналізу
та фреймворки і найголовніші ампекти у виборі.
Другий розділі був націлений на розгляд та проведеня аналізу різних
методів та реалізація вимог для розвязання поставлених задач, таож створено і
змодельовано діагарами що відображають різні елементи задач.
Моделювання предметної області є важливим етапом у розробці
програмного забезпечення та інших систем. Це означає створення абстрактної
представленості реального світу, що дозволяє розуміти та працювати з
ключовими концепціями, об'єктами та взаємодіями в цій області. Важливим
компонентом цього процесу є словник предметної області.
Робоча область моделювання включала в себе елементи та концепції, які
допомагають визначити, як саме система буде функціонувати, і які особливості та
задачі вона повинна вирішувати.
Створення діагарм це був основний етап який дав зрозуміти основну логіку
рограмного забезпечення, та допомогає зможелювати всі елементи програмного
продукту.
У третьому розділі було розглянуто процес розробки програиної системи
ретингового оцінювання студентів. Основні програмні та апартін засоби які
застосувавалися під час розробки, створювалась структурна та логічна схеми,
створювалась та моделюваолась база данних.
58
ЧДТУ 24 2251.012
Описувавлися основні способи тестування програмного продукту, модульне
тестування інтеграційне тестування та системне тестування.
Створювався основний інтерфейс користувача відповідно до вимог, та
зручності, для ефективної роботи та залучення людей. Також наводилися
приклади основних функцій додатку, таких як реєстраці аутентифікація, перегляд
студентів та оцінок.
Результати кваліфікаційної роботи показують ппро успішну реалізацю
програмної системи рейтингового оцінювання студентів, яка дає змогу швидко та
зручно дізнатися рейтинг груп та студентів. Система відовідає всім вимогам та
готова до використання.
59
ЧДТУ 24 2251.012
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1 Методи проектування [Електронний ресурс]. – Точка доступу:
https://cpsm.kpi.ua/Doc/konsp_suchasni_metodi.pdf [1]
2 СУБД [Електронний ресурс]. – Точка доступу: URL:
https://www.miyklas.com.ua/p/informatica/9-klas/bazi-danikh-sistemi-keruvannia-
bazami-danikh-361840/sistemi-keruvannia-bazami-danikh-352450/re-b0f14256-7ac2-
4823-9f53-656061b85eaa [2]
3 Інтерфейс користувача [Електронний ресурс]. – Точка доступу: URL:
https://stfalcon.com/uk/blog/post/user-interface-web-design-principles [3]
4 Моделювання предметної області [Електронний ресурс]. – Точка
доступу: URL: https://dou.ua/forums/topic/42366/ [4]
5 Формування та аналіз вимог [Електронний ресурс]. – Точка доступу:
URL:
http://dspace.wunu.edu.ua/retrieve/14135/FCIT_kKN_sPZS_dAVPZ_%20LEC.pdf [5]
6 Ruby [Електронний ресурс]. – Точка доступу: URL:
https://lemon.school/blog/navishho-potribna-mova-programuvannya-ruby [6]
7 Технічне завдання[Електронний ресурс]. – Точка доступу: URL:
https://seo-name.com/ua/info/faq/chto-takoe-tz-i-kak-pravilno-sostavlyaetsya.html [7]
8 UML-діаграми [Електронний ресурс]. – Точка доступу: URL:
https://dou.ua/forums/topic/40575/ [8]
9 Діагарми класів [Електронний ресурс]. – Точка доступу: URL:
https://www.mindonmap.com/uk/blog/what-is-uml-class-diagram/ [9]
10 Діаграма пакетів [Електронний ресурс]. – Точка доступу: URL:
www.wikiwand.com/uk/Діаграма_пакетів [10]
11 VS code [Електронний ресурс]. – Точка доступу: URL:
https://uk.wikipedia.org/wiki/Visual_Studio_Code [11]
12 Understanding the Model-View-Controller (MVC) Architecture in Rails
[Електронний ресурс]. – Точка доступу: URL: https://www.sitepoint.com/model-
viewcontroller-mvc-architecture-rails/ [12]
60
ЧДТУ 24 2251.012
13 Postgresql [Електронний ресурс]. – Точка доступу: URL:
https://foxminded.ua/postgresql-shcho-tse/ [13]
14 Опис структурної схеми та функціональної схеми [Електронний
ресурс]. – Точка доступу: URL: https://studfile.net/preview/9277451/page:3/ [14]
15 Опис логічної схеми системи [Електронний ресурс]. – Точка доступу:
URL: https://ela.kpi.ua/server/api/core/bitstreams/9521e5f9-421a-4874-a17d-
f0853f942856/content [15]
16 Модульне тесування [Електронний ресурс]. – Точка доступу: URL:
https://www.zaptest.com/uk/ [16]
17 Rspec [Електронний ресурс]. – Точка доступу: URL: https://rspec.info/
[17]
18 Інтеграційне тестування [Електронний ресурс]. – Точка доступу: URL:
https://qalight.ua/baza-znaniy/integratsijne-testuvannya/ [18]
19 Системне тестування [Електронний ресурс]. – Точка доступу: URL:
http://surl.li/ywfnzx [19]
61
ЧДТУ 24 2251.012
ДОДАТОК А
ЗАТВЕРДЖЕНО:
Зав. кафедрою ПЗАС, професор
_________________ Голуб С.В.
„____‖ ______________ 2024 р.
Програмна система рейтингового оцінювання студентів
Специфікація
482. ЧДТУ 242251.012
Листів 1
Розробник ________________ Федонюк В.В.
Керівник ________________ Метелап В.В.
Черкаси 2024
5
ЧДТУ 24 2251.012
Примітк
Позначення Найменування
и
Документація
482. ЧДТУ 242251 Текст програми
12 01
482. ЧДТУ 242251 Інструкція користувачеві
34 01
482. ЧДТУ 242251 Графічні матеріали
90 01
6
ДОДАТОК Б
ЗАТВЕРДЖЕНО:
Зав. кафедрою ПЗАС, професор
_________________ Голуб С.В.
„____‖ ______________ 2024 р.
Програмна система рейтингового оцінювання студентів
Текст програми
482. ЧДТУ 242251.12 01
Листів 13
Розробник ________________ Федонюк В.В.
Керівник ________________ Метелап В.В.
Черкаси 2024
ЧДТУ 242251.012 ПЗ 5
app/controllers/groups_controller.rb
class GroupsController < ApplicationController
before_action :authenticate_user!
def index
@groups = Group.all
end
def show
@group = Group.find(params[:id])
end
end
app/controllers/students_controller.rb
class StudentsController < ApplicationController
before_action :authenticate_user!
def index
@students = Student.all
end
def show
@student = Student.find(params[:id])
@action_number = action_number(@student)
end
def action_number(student)
numbers = student.subjects.map do |subject|
subject.actions.pluck(:number).sum / subject.actions.count
end
numbers.sum / numbers.count
end
end
app/views/main/index.html.erb
<header id="header" class="fixed-top ">
<div class="container d-flex align-items-center justify-content-between">
<h1 class="logo"><a href="index.html">Журнал</a></h1>
<!-- Uncomment below if you prefer to use an image logo -->
<!-- <a href="index.html" class="logo"><img src="assets/img/logo.png" alt="" class="img-fluid"></a>-->
<nav id="navbar" class="navbar">
<ul>
<li><a class="nav-link scrollto active" href="#hero">Головна</a></li>
<li class="dropdown"><a href="#"><span>Дії</span> <i class="bi bi-chevron-down"></i></a>
<ul>
<% if user_signed_in? %>
<li><%= link_to "Sign out", destroy_user_session_path, method: :delete %></li>
<% else %>
<li><%= link_to "Sign in", new_user_session_path%></li>
<% end %>
<% if current_user&.email&.eql?('[email protected]')%>
<li><%= link_to "Admin panel", avo_path%></li>
<% end %>
</ul>
</li>
<li><%= link_to "Студенти", students_path, class: 'nav-link scrollto' %></li>
<li><%= link_to "Групи", groups_path, class: 'nav-link scrollto' %></li>
<li><a class="nav-link scrollto" href="#about">Про нас</a></li>
</ul>
<i class="bi bi-list mobile-nav-toggle"></i>
</nav><!-- .navbar -->
</div>
</header><!-- End Header -->
<!-- ======= Hero Section ======= -->
<section id="hero">
5
ЧДТУ 242251.012 ПЗ 6
<div class="hero-container">
<h1>Вас вітає <strong>система ведення обліку успішності навчання</strong></h1>
<h3>Створена для <strong>зрусності моніторинга успішності навчання</strong></h3>
<%= link_to "Зареєструватися", new_user_registration_path, class: 'btn-get-started scrollto'%>
</div>
</section><!-- End Hero -->
<main id="main">
<!-- ======= About Section ======= -->
<section id="about" class="about">
<div class="container">
<div class="section-title">
<h2>Про нас</h2>
<h3>Читати більше <span>Про Нас</span></h3>
<p>Ми надаємо зручний інструмент для того щоб можна було зручно контролювати успішність
студентів</p>
</div>
<div class="row content">
<div class="col-lg-6">
<p>
Маємо список студентів навчального закладу, де можна знайти потрібного вам та дізнатися про
його успішність в конкретні дні та з яких предметів оцінки
</p>
<%= link_to "Список студентів", students_path, class: 'btn-learn-more' %>
</div>
<div class="col-lg-6 pt-4 pt-lg-0">
<p>
Маємо список груп навчального закладу, де можна знайти потрібну вам та дізнатися про
успішність всих студентів в конкретні дні
</p>
<%= link_to "Список груп", groups_path, class: 'btn-learn-more' %>
</div>
</div>
</div>
</section><
<!-- ======= Services Section ======= -->
<section id="services" class="services">
<div class="container">
<div class="section-title">
<h2>Сервіси</h2>
<h3>Що наш додаток <span>може запропонувати</span></h3>
<p>Ми маємо достатньо функціоналу щоб задовольнити питання успішності студентів</p>
</div>
<div class="row">
<div class="col-md-6 col-lg-3 d-flex align-items-stretch mb-5 mb-lg-0">
<div class="icon-box">
<div class="icon"><i class="bx bxl-dribbble"></i></div>
<h4 class="title"><a href="">Зручність</a></h4>
<p class="description">Ви маєте всю необхіжну вам інформацію на одній сторінці</p>
</div>
</div>
<div class="col-md-6 col-lg-3 d-flex align-items-stretch mb-5 mb-lg-0">
<div class="icon-box">
<div class="icon"><i class="bx bx-file"></i></div>
<h4 class="title"><a href="">Простота</a></h4>
<p class="description">Вам достатньо зареєструватись і знайти потрібну вам групу або
студента</p>
</div>
</div>
<div class="col-md-6 col-lg-3 d-flex align-items-stretch mb-5 mb-lg-0">
<div class="icon-box">
<div class="icon"><i class="bx bx-tachometer"></i></div>
6
ЧДТУ 242251.012 ПЗ 7
<h4 class="title"><a href="">Інформатиінвсть</a></h4>
<p class="description">Маємо дату, предмет, та кількість балів студента</p>
</div>
</div>
<div class="col-md-6 col-lg-3 d-flex align-items-stretch mb-5 mb-lg-0">
<div class="icon-box">
<div class="icon"><i class="bx bx-world"></i></div>
<h4 class="title"><a href="">Актуальність</a></h4>
<p class="description">Данні про успішність оновлюються кожного дня</p>
</div>
</div>
</div>
</div>
</section><!-- End Services Section -->
<section id="contact" class="contact">
<div class="container">
<div class="section-title">
<h2>Контакти</h2>
<h3>Як з нами <span>Зв'язатися</span></h3>
<p>Якщо у вас виникнуть якісь питання ви можете завжди приїхати до нас та щось уточнити, за
адресою на Google Maps</p>
</div>
<div>
<iframe style="border:0; width: 100%; height: 270px;"
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d10380.562375676347!2d32.082643471837194!3d49.
42515594263071!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x40d14ba97b53315b%3A0x8e2ed28fbfde4c2
5!2sCherkasy%20State%20Technological%20University!5e0!3m2!1sru!2sua!4v1719224936605!5m2!1sru!2sua"
frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
</section><!-- End Contact Section -->
</main><!-- End #main -->
<!-- ======= Footer ======= -->
<div class="container d-md-flex py-4">
<div class="me-md-auto text-center text-md-start">
<div class="copyright">
© Copyright <strong><span>Журнал</span></strong>
</div>
<div class="credits">
<!-- All the links in the footer should remain intact. -->
<!-- You can delete the links only if you purchased the pro version. -->
<!-- Licensing information: https://bootstrapmade.com/license/ -->
<!-- Purchase the pro version with working PHP/AJAX contact form: https://bootstrapmade.com/tempo-
free-onepage-bootstrap-theme/ -->
</div>
</div>
<div class="social-links text-center text-md-right pt-3 pt-md-0">
<a href="#" class="twitter"><i class="bx bxl-twitter"></i></a>
<a href="#" class="facebook"><i class="bx bxl-facebook"></i></a>
<a href="#" class="instagram"><i class="bx bxl-instagram"></i></a>
<a href="#" class="google-plus"><i class="bx bxl-skype"></i></a>
<a href="#" class="linkedin"><i class="bx bxl-linkedin"></i></a>
</div>
</div>
</footer><!-- End Footer -->
app/views/students/index.html.erb
<div data-controller="main">
<div class="container-flouid">
<nav class="navbar navbar-expand-lg bg-light">
<div class="container">
7
ЧДТУ 242251.012 ПЗ 8
<a class="navbar-brand" href="/">
<h3>Журнал</h3>
</a>
<button class="navbar-toggler" type="button" data-bs-
toggle="collapse" data-bs-target="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarTogglerDemo02">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
</ul>
</div>
</div>
</nav>
</div>
<div class="container mt-5">
<form action="#" method="get">
<div class="input-group">
<input class="form-control" id="system-search"
name="q" placeholder="Шукати" required>
<span class="input-group-btn">
<button type="submit" class="btn
btn-default"><i class="glyphicon glyphicon-search"></i></button>
</span>
</div>
</form>
<table class="table table-list-search mt-2 table-hover caption-top">
<caption>Список студентів</caption>
<thead>
<tr>
<th data-sortable="true">#</th>
<th data-sortable="true">ПІБ</th>
<th data-sortable="true">Група</th>
<th data-sortable="true">Середній
бал</th>
</tr>
</thead>
<tbody>
<% @students.each.with_index do |student, index| %>
<tr class="">
<td><%= link_to "#{index+ 1}",
student_path(student) %></td>
<td><%= student.full_name %></td>
<td><%= student.group.name %></td>
<% numbers = student.subjects.map do
|subject|
subject.actions.pluck(:number).sum / subject.actions.count
end
%>
<td><%= numbers.sum / numbers.count
%></td>
</tr>
<% end %>
</tbody>
</table>
</div>
</div>
8
ДОДАТОК В
ЗАТВЕРДЖЕНО:
Зав. кафедрою ПЗАС, професор
_________________ Голуб С.В.
„____‖ ______________ 2024 р.
Програмна система рейтингового оцінювання студентів
Інструкція користувачеві
482. ЧДТУ 242251.34 01
Листів 13
Розробник ________________ Федонюк В.В.
Керівник ________________ Метелап В.В.
Черкаси 2024
482. ЧДТУ. 242239 34 01 2
Цей додаток розроблено для полегшення перегляду рейтингової системи
оцінювання Сервіс надає зручний доступ до інформації про рейтинг, можливість
реєстрації аутентифікації та адмініструвння.
Реєстрація користувачів
Відкриття додатку:
відкрийте сайт;
Реєстрація студента:
після відкриття натисніть на кнопку зареєструватися;
введіть вашу пошту і пароль;
підтвердіть введені дані
Запит рейтингу:
натичніть на кнопку сткденти в меню навігаціх;
перед вами зявиться рейтинг студентів;
використовуйте мишку для вибору студен
71
482. ЧДТУ. 242239 34 01 2
ДОДАТОК Г
ЗАТВЕРДЖЕНО:
Зав. кафедрою ПЗАС, професор
_________________ Голуб С.В.
„____‖ ______________ 2024 р.
Програмна система рейтингового оцінювання студентів
Графічні матеріали
482. ЧДТУ 242251.90 01
Листів 13
Розробник ________________ Федонюк В.В.
Керівник ________________ Метелап В.В.
Черкаси 2024
5
482. ЧДТУ. 242239 34 01 2
Рисунок Г1 – Слайд 1
Рисунок Г1 – Слайд 2
6
482. ЧДТУ. 242239 34 01 2
Рисунок Г1 – Слайд 3
Рисунок Г1 – Слайд 4
7
482. ЧДТУ. 242239 34 01 2
Рисунок Г1 – Слайд 5
Рисунок Г1 – Слайд 6
8
482. ЧДТУ. 242239 34 01 2
Рисунок Г1 – Слайд 7
Рисунок Г1 – Слайд 8
9
482. ЧДТУ. 242239 34 01 2
Рисунок Г1 – Слайд 9
Рисунок Г1 – Слайд 10
10
482. ЧДТУ. 242239 34 01 2
Рисунок Г1 – Слайд 11
Рисунок Г1 – Слайд 12
11
482. ЧДТУ. 242239 34 01 2
Рисунок Г1 – Слайд 13
Рисунок Г1 – Слайд 14
12
482. ЧДТУ. 242239 34 01 2
Рисунок Г1 – Слайд 15
Рисунок Г1 – Слайд 16
13
482. ЧДТУ. 242239 34 01 2
Рисунок Г1 – Слайд 17
Рисунок Г1 – Слайд 18
14