Діаграма класів проектування Для відображення методів кожного об’єкту було використано діаграму класів проектування.
Рис. 10 – Діаграма класів проектування
START PAGE – граничний клас, представлений головною сторінкою.
Методи класу:
• log_in_or_reg() – авторизація чи реєстрація
• search_cur() – здійснення пошуку викладачів (кураторів)
• search_univ() – здійснення пошуку ВНЗ
• pass_the_test() – проходження тестів.
Асоціативні зв’язки з наступними класами та папками:
• log in / reg
• search cur. pack
• search univ. pack
• tests pack
• edit my account.
“my acсount” – граничний клас, представлений особистим кабінетом користувача, який авторизувався як звичайний користувач.
Атрибути класу:
• id – унікальній номер користувача;
• level – статус;
• name – повне ім’я;
• username – ім’я облікового запису;
• password – пароль;
• account_info – додаткова інформація про користувача
• date_of_reg – дата реєстрації
• curator – викладач (куратор)
• university - ВНЗ
Методи класу:
• edit_account() – редагування особистого кабінету
• level_up() – зміна статусу
• tests() – проходження тестів
• search_curator() – пошук кураторів
• search_univ.() – пошук ВНЗ
• make_stat() – створення статистики
• exit() – вихід.
Асоціативні зв’язки з наступними класами та папками:
• edit my account
• operation with groups pack
• make test pack
• level up pack
• make stat pack
• log in / reg
• Messages.
“my account (curator)” – граничний клас, представлений особистим кабінетом користувача, який авторизувався як куратор.
Атрибути класу:
• id – унікальній номер користувача;
• level – статус;
• name – повне ім’я;
• username – ім’я облікового запису;
• password – пароль;
• account_info – додаткова інформація про користувача
• date_of_reg – дата реєстрації
• university - ВНЗ
Методи класу:
• edit_account() – редагування особистого кабінету
• level_up () – зміна статусу
• operation_with_groups() – редагування груп
• make_stat() – створення статистики
• exit() – вихід.
Асоціативні зв’язки з наступними класами та папками:
• edit my account
• operation with groups pack
• make test pack
• level up pack
• make stat pack.
• log in / reg
• Messages.
“my acсount (admin)” – граничний клас, представлений особистим кабінетом користувача, який авторизувався як адміністратор.
Атрибути класу:
• id – унікальній номер користувача;
• level – статус;
• name – повне ім’я;
• username – ім’я облікового запису;
• password – пароль;
• account_info – додаткова інформація про користувача
• date_of_reg – дата реєстрації
Методи класу:
• edit_account() – редагування особистого кабінету
• confirm_reject_requests() – підтвердження чи відхилення заявок на зміну статусу
• add_into_delete_from_black_list() – додавання та видалення з чорного списку
• edit_content() – редагування інформації на головній сторінці (новини, інформація про ресурс).
• exit() – вихід.
Асоціативні зв’язки з наступними класами та папками:
• edit my account
• Messages
• log in / reg
• manage the content
• black list.
“my acсount (moderator)” – граничний клас, представлений особистим кабінетом користувача, який авторизувався як модератор.
Атрибути класу:
• id – унікальній номер користувача;
• level – статус;
• name – повне ім’я;
• username – ім’я облікового запису;
• password – пароль;
• account_info – додаткова інформація про користувача
• date_of_reg – дата реєстрації
Методи класу:
• edit_account() – редагування особистого кабінету
• edit_univ() – редагування ВНЗ
• tests() – перегляд та проходження (тестування) тестів
• search_curator() – пошук кураторів
• search_univ.() – пошук ВНЗ
• exit() – вихід.
Асоціативні зв’язки з наступними класами та папками:
• edit my account
• search cur. pack
• search univ. pack
• tests pack
• log in / reg
• Messages.
Black list - граничний клас, представлений сторінкою з переліком користувачів, які перебувають у чорному списку.
Атрибути класу:
• id – унікальній номер користувача;
• username – ім’я облікового запису;
• name – повне ім’я;
Методи класу:
• Delete() – видалення з чорного списку.
Асоціативні зв’язки з наступними класами та папками:
• not blacklisted
• “my account” admin.
MESSAGES - граничний клас, представлений сторінкою для обміну повідомленнями з іншими користувачами.
Атрибути класу:
• id – унікальній номер користувача;
• username – ім’я облікового запису;
• name – повне ім’я;
• message – повідомлення.
Методи класу:
• input_data() – введення даних.
• new() – нове повідомлення;
• delete() – видалення повідомлення;
• cancel() – відмінити;
• send() – відправити
• reply() – відповісти.
Асоціативні зв’язки з наступними класами та папками:
• exchange data
• “my account”
• “my account” curator
• “my account” moderator
• “my account” admin.
Manage the content - керуючий клас, який відповідає за функцію редагування наповнення головної сторінки (новини, інформація про ресурс).
Методи класу:
• input_data() – введення даних.
• delete() – видалення інформації;
• add() – додавання інформації;
• change() – зміна інформації.
Асоціативні зв’язки з наступними класами та папками:
• START PAGE
• content
• “my account” admin.
Not blacklisted - керуючий клас, який відповідає за функцію видалення користувача з чорного списку.
Атрибути класу:
• id – унікальній номер користувача;
• username – ім’я облікового запису;
• blacklisted_or_not – наявність користувача у чорному списку.
Методи класу:
• send_data – відправка даних;
• data_back – повернення даних.
Асоціативні зв’язки з наступними класами та папками:
• blacklist
• USERS.
Edit my acconunt - керуючий клас, який відповідає за функцію редагування інформації особистого кабінету користувача.
Атрибути класу:
• id – унікальній номер користувача;
• username – ім’я облікового запису;
• name – ім’я користувача;
• password – пароль до облікового запису;
• account_ifo – додаткова інформація про користувача.
Методи класу:
• input_data() – введення даних.
• send_data – відправка даних;
• data_back – повернення даних.
• change_password – зміна паролю;
• change_name – зміна імені користувача;
• сhange_acc_info – зміна додаткової інформації про користувача.
Асоціативні зв’язки з наступними класами та папками:
• USERS
• “my account”
• “my account” curator
• “my account” moderator
• “my account” admin.
Exchange data -керуючий клас, який відповідає за функцію доставки та відправки повідомлень.
Атрибути класу:
• id – унікальній номер користувача;
• username – ім’я облікового запису;
• name – повне ім’я;
• message – повідомлення.
Методи класу:
• send_data – відправка даних;
• data_back – повернення даних.
Асоціативні зв’язки з наступними класами та папками:
• messages
• messages db (взаємний зв’язок).
log in / reg -керуючий клас, який відповідає за функцію авторизації та реєстрації.
Атрибути класу:
• id – унікальній номер користувача;
• username – ім’я облікового запису;
• password – пароль.
Методи класу:
• input_data() – введення даних.
• successful() – авторизація успішна;
• not successful() – не успішна авторизація;
• send_data() – відправка даних;
• data_back() – повернення даних.
Асоціативні зв’язки з наступними класами та папками:
• START PAGE
• USERS
• “my account”
• “my account” curator
• “my account” moderator
• “my account” admin.
Messages db - таблиця бази даних, яка призначена зберігання повідомлень користувачів.
Атрибути:
• id – унікальній номер користувача;
• username – ім’я облікового запису;
• password – пароль;
• name – ім’я користувача;
• level – статус;
• account_info – додаткова інформація про користувача;
• blacklisted_or_not – наявність у чорному списку;
• date_of_reg – дата реєстрації.
Асоціативні зв’язки з наступними класами та папками:
• USERS
• exchange data (взаємний зв’язок).
USERS - таблиця бази даних, яка призначена зберігання даних про користувачів.
Атрибути:
• id – унікальній номер користувача;
• level – статус;
• blacklisted_or_not – наявність у чорному списку;
• username – ім’я облікового запису;
• password – пароль;
• account_info – додаткова інформація про користувача;
• date_of_reg – дата реєстрації.
Асоціативні зв’язки з наступними класами та папками:
• log in / reg
• messages db (взаємний зв’язок)
• not blacklisted
• edit my account
content - таблиця бази даних, яка призначена зберігання інформації з головної сторінки (новини).
Атрибути:
• id – унікальній номер користувача;
• message – повідомлення;
• date – дата.
Асоціативні зв’язки з наступними класами та папками:
• manage the content (взаємний зв’язок).
Розглянемо папку tests pack:
Рис.11 – Папка test pack
test page– граничний клас, представлений сторінкою проходження тестів.
Методи класу:
• input_data() – введення даних.
Асоціативні зв’язки з наступними класами:
• “my account”
• “my account” curator
• START PAGE
• create test.
Result of test – граничний клас, представлений сторінкою з результатами тесту.
Методи класу:
• choose_another_test() – пройти другий тест;
• pass_again() – пройти ще раз;
• register() – регістрація.
Асоціативні зв’язки з наступними класами:
• make test result.
Result of search for USER – граничний клас, представлений сторінкою з результатами тесту для користувача.
Методи класу:
• choose_another_test() – пройти другий тест;
• pass_again() – пройти ще раз;
• don’t_save() – не зберігати результат;
• view_stat() – переглянути статистику.
Асоціативні зв’язки з наступними класами:
• make test result.
Create test -керуючий клас, який відповідає за функцію авторизації та реєстрації.
Атрибути класу:
• id – унікальній номер;
• name – назва тесту;
• subject – предмет.
Методи класу:
• choose() – вибір варіанту відповіді.
Асоціативні зв’язки з наступними класами:
• passing the test
• test page
• TESTS
passing the test -керуючий клас, який відповідає за функцію проходження тесту.
Атрибути класу:
• answer – запитання;
• question – відповіді.
Методи класу:
• input_data() – вибір варіанту відповіді.
Асоціативні зв’язки з наступними класами:
• create test
• make test result
• TESTS answers
• TESTS questions.
make test result -керуючий клас, який відповідає за сторінку з результатом проходження тесту.
Атрибути класу:
• result – результат.
Методи класу:
• send_data() – відправка даних.
Асоціативні зв’язки з наступними класами:
• result of test
• result of test for user
• TESTS results.
TESTS - таблиця бази даних, яка призначена зберігання тестів.
Атрибути:
• id – унікальній номер;
• name – назва тесту;
• subject – предмет;
• author – автор тесту.
Асоціативні зв’язки з наступними класами:
• create test
Зв’язок “частина – ціле”
• TESTS answers
• TESTS questions
• TESTS results.
TESTS answers - таблиця бази даних, яка призначена зберігання відповідей на тест.
Атрибути:
• id – унікальній номер;
• answer – відповідь на питання тесту.
Асоціативні зв’язки з наступними класами:
• passing the test.
Зв’язок “частина – ціле”
• TESTS.
TESTS questions - таблиця бази даних, яка призначена зберігання питань до тесту.
Атрибути:
• id – унікальній номер;
• question – питання тесту.
Асоціативні зв’язки з наступними класами:
• passing the test.
Зв’язок “частина – ціле”
• TESTS.
TESTS results - таблиця бази даних, яка призначена зберігання результатів тесту.
Атрибути:
• id – унікальній номер;
• result – результат тесту.
Асоціативні зв’язки з наступними класами:
• make test resul.
Зв’язок “частина – ціле”
• TESTS.
Розглянемо папку search curator pack:
Рис.12 – Папка search curator pack
search curator page -граничний клас, представлений сторінкою пошуку викладача.
Методи класу:
• input_data – введення даних;
• search() – пошук.
Асоціативні зв’язки з наступними класами:
• “my account”
• “my account” moderator
• START PAGE
• search curator.
search curator -керуючий клас, який відповідає за пошук викладача в таблиці бази даних.
Атрибути класу:
• name – ім’я;
• specialization – спеціалізація;
• university – ВНЗ;
• city – місто.
Методи класу:
• send_data() – відправка даних;
• search() – пошук.
Асоціативні зв’язки з наступними класами:
• search curator page
• USERS
make results for search cur.-керуючий клас, який відповідає за формування результату пошуку.
Атрибути класу:
• name – ім’я;
• specialization – спеціалізація;
• university – ВНЗ;
• city – місто;
• info – додаткова інформація про викладача.
Методи класу:
• send_data() – відправка даних.
Асоціативні зв’язки з наступними класами:
• result for search cur.
• USERS.
Universities- таблиця бази даних, яка призначена зберігання даних про ВНЗ.
Атрибути:
• id – унікальній номер;
• name – назва;
• specialization – спеціалізація;
• national_or_private – національний чи приватний;
• city – місто;
• info – додаткова інформація.
Зв’язок “частина – ціле”
• USERS
Розглянемо папку search uviv. pack:
Рис.13 – Папка search univ. pack
search univ. page -граничний клас, представлений сторінкою пошуку викладача.
Методи класу:
• input_data – введення даних;
• search() – пошук.
Асоціативні зв’язки з наступними класами:
• START PAGE
• “my account”
• “my account” moderator
• Search univ.
search uviv -керуючий клас, який відповідає за пошук викладача в таблиці бази даних.
Атрибути класу:
• name – назва;
• specialization – спеціалізація;
• national_or_private – національний чи приватний;
• city – місто;
Методи класу:
• send_data() – відправка даних;
• search() – пошук.
Асоціативні зв’язки з наступними класами:
• search univ. page
• Universities.
make results for search univ. -керуючий клас, який відповідає за формування результату пошуку.
Атрибути класу:
• name – назва;
• specialization – спеціалізація;
• national_or_private – національний чи приватний;
• city – місто;
• info – додаткова інформація про ВНЗ.
Методи класу:
• send_data() – відправка даних.
Асоціативні зв’язки з наступними класами:
• make results for search univ.
• edit univ.
edit univ. -керуючий клас, який відповідає за формування результату пошуку.
Атрибути класу:
• name – назва;
• specialization – спеціалізація;
• national_or_private – національний чи приватний;
• city – місто;
• info – додаткова інформація про ВНЗ.
Методи класу:
• add() – додавання інформації
• change() – зміна інформації
• delete() – видалення інформації
• send_data() – відправка даних.
Асоціативні зв’язки з наступними класами:
• results for search univ.
• Universities.
Universities- таблиця бази даних, яка призначена зберігання даних про ВНЗ.
Атрибути:
• id – унікальній номер;
• name – назва;
• specialization – спеціалізація;
• national_or_private – національний чи приватний;
• city – місто;
• info – додаткова інформація.
Асоціативні зв’язки з наступними класами:
• make results for search univ.
• search univ.
Розглянемо папку history pack:
Рис.14 – Папка history pack
history -граничний клас, представлений сторінкою історії пошуку ВНЗ.
Методи класу:
• input_data – введення даних;
• send_data() – відправка даних.
Асоціативні зв’язки з наступними класами:
• make history
• “my account”.
make history -керуючий клас, який відповідає за відправку запиту до бази даних.
Атрибути класу:
• name – унікальний номер користувача;
• date – дата.
Методи класу:
• send_data() – відправка даних;
• search() – пошук.
Асоціативні зв’язки з наступними класами:
• history
• history db.
make results for history -керуючий клас, який відповідає за формування результату пошуку в історії.
Атрибути класу:
• id – унікальний номер ВНЗ;
• name – назва ВНЗ;
• date – дата.
Методи класу:
• send_data() – відправка даних.
Асоціативні зв’язки з наступними класами:
• results for history
• history db.
history db- таблиця даних, яка призначена зберігання історії пошуку ВНЗ.
Атрибути:
• id – унікальній номер користувача;
• id – унікальній номер ВНЗ;
• date – дата.
Асоціативні зв’язки з наступними класами:
• make results for history
• make history.
Зв’язок “частина - ціле”:
• Universities (частина).
Розглянемо папку make stat pack:
Рис.15 – Папка make stat pack
make stat -керуючий клас, який відповідає за відправку даних до інтерфейсу “my account”.
Атрибути класу:
• result – результат тесту;
• date – дата.
Методи класу:
• send_request() – відправка даних;
• data back() – отримання даних.
Асоціативні зв’язки з наступними класами:
• “my account”
• STAT.
make stat for curator -керуючий клас, який відповідає за відправку данних до інтерфейсу “my account”.
Атрибути класу:
• result – результат тесту;
• name - ім’я студента;
• group – група;
• date – дата.
Методи класу:
• send_request () – відправка даних;
• data back() – отримання даних.
Асоціативні зв’язки з наступними класами:
• “my account” curator
• STAT.
STAT- таблиця бази даних, яка призначена зберігання статистики користувачів.
Атрибути:
• id – унікальній номер користувача;
• result – результат тестування.
Асоціативні зв’язки з наступними класами:
• USERS
• make stat fo curator
• make stat.
Зв’язок “частина - ціле”:
• USERS (частина)
• TESTS (частина)
Groups- таблиця бази даних, яка призначена зберігання даних про групи.
Атрибути:
• id – унікальній номер групи;
• name – назва;
• curator – куратор групи.
Асоціативні зв’язки з наступними класами:
• TESTS
Зв’язок “частина - ціле”:
• USERS (ціле).
Розглянемо папку level up pack:
Рис.16 – Папка level up pack
requests -граничний клас, представлений сторінкою заявок на зміну статусу.
Методи класу:
• confirm – підтвердження заявки;
• reject – відхилення.
Асоціативні зв’язки з наступними класами:
• confirm / reject
• send (m)
• “my account” admin
send (m) -керуючий клас, який відповідає за відправку даних до інтерфейсу “my account”.
Атрибути класу:
• id – унікальній номер користувача;
• username - ім’я користувача у системі.
Методи класу:
• send_data () – відправка даних;
• data back() – отримання даних.
Асоціативні зв’язки з наступними класами:
• level up
• requests
• USERS
• External resource
confirm / reject -керуючий клас, який змінює (або не змінює – в залежності від рішення адміністратора) статус користувача.
Атрибути класу:
• confirm – підтвердження заявки;
• reject – відхилення.
Методи класу:
• level_up() – зміна статусу
• level_without_changes() – статус без змін.
Асоціативні зв’язки з наступними класами:
• requests
• “my account”
• “my account” curator
• “my account” moderator.
level up -керуючий клас, який відповідає за відправку даних до інтерфейсу “my account”.
Атрибути класу:
• id – унікальній номер користувача;
• username - ім’я користувача у системі.
Методи класу:
• fill_form() – заповнення форми;
• cancel() – скасувати;
• send() – відправити.
Асоціативні зв’язки з наступними класами:
• send (m)
• “my account”
• “my account” curator.
Розглянемо папку make test pack:
Рис.17 – Папка make test pack
make test -граничний клас, представлений сторінкою створення тестів.
Методи класу:
• input data() - введення даних ;
• save() – збереження даних;
• cancel() – відмінити;
• delete() - видалити.
Асоціативні зв’язки з наступними класами:
• “my account” curator
• test preparation.
test preparation -керуючий клас, який відповідає за відправку даних до таблиці даних TESTS.
Атрибути класу:
• id – унікальній номер тесту;
• name – назва тесту;
• question – питання тесту;
• answer – відповіді;
• result – результат;
• subject – предмет;
• author - автор.
Методи класу:
• send_data () – відправка даних.
Асоціативні зв’язки з наступними класами:
• make test form
• TESTS.
Розглянемо папку operation with groups pack:
Рис.18 – Папка operation with groups pack
operation with groups -граничний клас, представлений сторінкою з інформацією про групи.
Методи класу:
• new() – нова група;
• delete() – видалити групу;
• change() - змінити;
• new_student() – новий студент;
• delete_student() – видалити студента;
Асоціативні зв’язки з наступними класами:
• “my account” curator
• operation with groups (с).
operation with groups (с) -керуючий клас, який відповідає за відправку даних до таблиці даних groups (зв’язок “частина - ціле” з таблицею USERS).
Атрибути класу:
• id – унікальній номер користувача (студента);
• id – унікальній номер тесту;
• name – назва групи;
Методи класу:
• send_data () – відправка даних.
• new() – нова група;
• delete() – видалити групу;
• change() – змінити.
Асоціативні зв’язки з наступними класами:
• groups.
|