You are on page 1of 6

Національний технічний університет України

«Київський політехнічний інститут імені Ігоря Сікорського»


Факультет інформатики та обчислювальної техніки
Кафедра автоматизованих систем обробки інформації та управління

Лабораторна робота №1
З дисципліни «Реактивне програмування»

Виконали:
студенти гр. ІС-81,
бригада №6.
Салабай К.Я.
Нападій О.Я.
Чорний М.М.

Перевірив:
Старший викладач
Галушко Д.О.

Київ 2021
1 Опис предметного середовища

Проект має назву “Система обліку знань”. Планується розробка системи в


якій буде задіяно 3 ролі користувачів, а саме: менеджери, адміністратори та
програмісти.

1.1 Ідея проекту


Користувач може зареєструватися і авторизовуватися в системі.
Зареєстрованому користувачу надається роль програміста і дається
можливість оцінити свої знання з різних областей ІТ, а саме: вибрати мову
програмування та рівень володіння нею. Також програміст може додавати та
змінювати свої скіли.
Менеджер може переглядати список як всіх програмістів, так і по певним
критеріям, також може відбирати програмістів відповідно до своїх вподобань.
Таким чином у кожного менеджера є група програмістів за яку від відповідає
і по ній є повна статистика на основі якої можна зробити певні дії. Наприклад,
додати лекції по темі для програміста, яка найгірше у нього прокачана.
У адміністратора є повноваження на зміну ролі для користувача(з
програміста до менеджера), а, також він може переглядати повну інформацію
по всіх користувачах.
Всі користувачі можуть змінювати особисту інформацію у своєму акаунті:
номер телефону, адресу поштової скриньки і тд.
У адміністратора є повноваження на зміну ролі для користувача(з
програміста до менеджера), а, також він може переглядати повну інформацію
по всіх користувачах.
Всі користувачі можуть змінювати особисту інформацію у своєму акаунті:
номер телефону, адресу поштової скриньки і тд.

2 Цілі проекту

Цілями розробки є:
- Спростити набір програмістів для менеджерів;
- Мати можливість покращувати свої навички за допомогою сервісу;
- Мати можливість викласти свою анкету з навичками для програмістів.
Для досягнення поставлених цілей необхідно вирішати наступні задачі:
- Створити розділення на ролі(програміст, менеджер, адміністратор);
- Додати можливість обирати потрібні навички для програмістів;
- Додати можливість пошуку по заданим фільтрам для менеджерів;
- Додати можливість викладати потрібні матеріали менеджером для
програмістів.

3 UML діаграма

Рис. 1 - UML діаграма

4 Тип проекту та його архітектура

Наш проект будується на трирівневій архітектурі на базі ASP.NET Core 3.1.


Також проект має бути покритий інтеграційними та юніт тестами задля
перевірки коректності роботи ПО. Проект - веб застосунок на базі WEB API.
Для застосування всіх запитів використовується Postman.

4.1 Функціональна модель проекту для користувачів


Акторами системи є: програміст, менеджер, адміністратор.
Визначимо, які дії або варіанти використання вони виконують в системі, для
цього наведемо таблицю 1, в якій описані актори, варіанти використання та
їх описи дій.
Таблиця 1 - Типи залежностей між варіантами використання

Опис дії варіанта


Актор Варіант використання
використання
Користувачу потрібно заповнити
форму для реєстрації ввівши
Програміст Реєстрація наступні дані: ім’я, прізвище,
адресу поштової скриньки(логін)
та пароль
Програміст, Користувачу потрібно ввести
менеджер, Авторизація логін та пароль задля
адміністратор ідентифікації в системі.
Користувач може отримати
повний список запропонованих
Програміст Отримання списку навичок навичок та вибрати їх, обравши
при цьому рівень володіння
даними скілами.
Користувач може додавати нові
Програміст Керування скілами
скіли та редагувати попередні.
Користувач може змінювати
Програміст,
особисту інформацію у своєму
менеджер, Керування акаунтом
акаунті: номер телефону, адресу
адміністратор
поштової скриньки, пароль.
Користувач може шукати анкети
Переглянути фільтровану розробників як з заданням
Менеджер
інформацію про програмістів фільтрів, так і без них(виведеться
повний список програмістів)
Користувач може обирати
програмістів, стаючи їх ментором
Менеджер Стати ментором програміста та може надсилати їм навчальні
матеріали задля покращення
скілів.
Користувач може переглядати
статистику по своїй команді
Менеджер Переглянути статистику програмістів задля оцінки
загального рівня знань по команді
і тд.
Користувач може переглядати
Переглянути інформацію про всіх
Адміністратор інформацію по всім менеджерам
користувачів
та всім програмістам.
Користувач може змінювати ролі
Адміністратор Змінити роль користувача користувачів. Наприклад з
програміста до менеджера.
4.2 Функціональні вимоги
Відповідно визначених варіантів використання виявлено функціональні
вимоги та встановлена їх пріоритетність, результат для загальної частини
наведено у таблиці 2.
Таблиця 2 - Функціональні вимоги

Варіант Функціональна
Актор Пріоритет
використання вимога
Система надає новому
користувачу заповнити
Програміст Реєстрація форму реєстрації та вносить 1
його до бази даних як
програміста.
Система надає можливість
користувачу заповнити на
Програміст,
відправити форму
менеджер, Авторизація 2
авторизації та ідентифікує
адміністратор
переадресовуючи його до
особистого кабінету.
Система надає можливість
користувачу отримати
список навичок. Вибравши
Програміст Отримання списку навичок 1
потрібні навички та рівень
володіння ними система
вносить ці дані до БД.
Система надає можливість
користувачу змінити рівень
Програміст Керування скілами 2
володіння вже існуючим
скілам.
Система надає можливість
Програміст,
користувачу змінювати
менеджер, Керування акаунтом 3
особисту інформацію
адміністратор
акаунта.
Система надає можливість
Переглянути фільтровану
користувачу переглядати
Менеджер інформацію про 1
анкети програмістів по
програмістів
заданій фільтрації.
Система надає можливість
Стати ментором користувачу обирати
Менеджер 1
програміста програмістів в свою
команду.
Система надає можливість
користувачу переглядати
Менеджер Переглянути статистику загальну статистику по 3
успішності та по рівню
знань своєї команди
Адміністратор Переглянути інформацію Система надає можливість 2
про всіх користувачів користувачу переглядати
всю інформацію про
програмістів та менеджерів.
Система надає можливість
Адміністратор Змінити роль користувача користувачу змінювати ролі 1
програмістів та менеджерів.

4.3 Нефункціональні вимоги


- Зберігання пароля в БД в безпечному вигляді;
- Асинхронне завантаження сторінок програми;
- Обробка всіх можливих виключних ситуацій;
- Верифікація користувачів;
- Перевірка на коректність вводу даних для користувачів.

You might also like