# data[].attributes.headline
Діаграма класів

# data[].attributes.subject
Діаграма класів

# data[].attributes.body
В даній діаграмі класів, ми можемо спостерігати за виділеними основними сутностями, такими як:
- кімната
- студент
- факультет
- перепустка
- гуртожиток
- адміністратор
- комендант.
Нами було визначено такі відношення між елементами:
Відношення залежності -  таке відношення між сутностями, при якому  зміна стану першої (незалежної) впливає на стан іншої (залежної) сутності.
Такий тип зв’язку нами було застосовано до сутностей: комендант і гуртожиток, перепустка і студент, адміністратор і гуртожиток.
Відношення асоціації - структурне відношення, що описує зв'язок, тобто  з'єднання між об'єктами (з різними типами зв'язків). На основі асоціацій  виконується навігація по елементах відношення.
Відношенням асоціації ми пов’язали такі сутності: студент і кімната.
Відношення узагальнення (агрегування) - відношення показує що один елемент (дочірній, частина) є структурною частиною іншого (батьківського, цілого)
Відношення агрегування ми застосували до таких сутностей, як: факультет і студент, гуртожиток і кімната, факультет і гуртожиток.

# data[].attributes.headline
Діаграма станів об'єкту "перепустка" діяльності "Формування електронної перепустки"

# data[].attributes.subject
Діаграма станів об'єкту "перепустка" діяльності "Формування електронної перепустки"

# data[].attributes.body
В цій діаграмі ми спостерігаємо за різним станом об'єкту "перепустка".
Стани перепустки супроводжуються певними послідовними діями.
Початковий стан перепустки (незаповнена), тому після заповнення система перевіряє правильність заповненої інформації.
Якщо стан перепустки (дані невірні), то система не може працювати далі.
Якщо стан (вірні дані), то відбувається перевірка на узгодження перепустки комендантом.
Далі знову спостерігаються два стани, (не прийнята) та (підписана комендантом).
Після підписання перепустки, комендант виділяє кімнату для студента, тому стан перепустки (в режимі очікування).
Для завершення створення перепустки, формується електронна печатка, після чого стан перепустки (створена).
Далі ми зберігаємо створену перепустку, до аккаунту студента, тому кінцевий стан (активна перепустка в профілі).

# data[].attributes.attachment_link.title
діаграма станів перепустка (2)

# data[].attributes.headline
Діаграма послідовностей прецедента "Формування електронної перепустки"

# data[].attributes.subject
Діаграма послідовностей прецедента "Формування електронної перепустки"

# data[].attributes.body
В даній діаграмі, ми можемо спостерігати за детальними послідовностями дії коменданта, який взаємодіє з об'єктами (система, перепустка, обліковий запис), при створенні перепустки.

# data[].attributes.attachment_link.title
Діаграма послідовностей перепустка

# data[].attributes.headline
Діаграма послідовностей прецедента "Реєстрація студента в системі"

# data[].attributes.subject
Діаграма послідовностей прецедента "Реєстрація студента в системі"

# data[].attributes.body
В даній діаграмі, ми можемо спостерігати за детальними послідовностями дії адміністратора, який працює з об'єктами (форма, університет, гуртожиток) в процесі заповнення форми для поселення студента.

# data[].attributes.attachment_link.title
Реєстрація послідовність

# data[].attributes.headline
Діаграма послідовностей прецедента "Заповнення форми на поселення"

# data[].attributes.subject
Діаграма послідовностей прецедента "Заповнення форми на поселення"

# data[].attributes.body
В даній діаграмі, ми можемо спостерігати за детальними послідовностями дії студента, який працює з об'єктами (форма авторизації та форма поселення) в процесі реєстрації та заповнення форми для поселення.

# data[].attributes.attachment_link.title
Последовательность_форма_поселения

# data[].attributes.headline
Діаграма діяльності прецеденту "Формування електронної перепустки"

# data[].attributes.subject
Діаграма діяльності прецеденту "Формування електронної перепустки"

# data[].attributes.body
В цій діаграмі діяльності, прецеденту "Формування електронної перепустки", задіяні адміністратор та комендант.
Комендант може надавати адміністратору дані зі списком
поселених студентів. Після чого адміністратор перевіряє дані подані комендантомі.
Якщо дані підтягнуто з помилками, то адміністратор відправляє
дані на доопрацювання, після чого робота завершується.
Якщо ж дані введено правильно, то адміністратор підтверджує
формування перепустки.
Після цього система формує на перепустки електронну печатку
та згенерований QR-код. Кінцевою дією буде завантаження перепустки до кабінету студента, та завершення роботи.

# data[].attributes.headline
Діаграма станів об'єкту "обліковий запис" діяльності "Реєстрація студента в системі"

# data[].attributes.subject
Діаграма станів об'єкту "обліковий запис" діяльності "Реєстрація студента в системі"

# data[].attributes.body
В цій діаграмі ми спостерігаємо за різним станом об'єкту "обліковий запис".
Початковий стан облікового запису (не створений), тому спочатку адміністратор додає студента в систему, змінюючи на стан (створений)
Далі студент починає роботу зі своїм обліковим записом, стан змінюється на (активний). Слідом після дії заповнення даними, стан запису (заповнений).
Перевіряємо правильність введених даних.
Якщо дані введені неправильно, редагуємо змінюючи на стан (відредагований), та знову повертаємося до перевірки.
Якщо ж дані введено правильно, то стан (підтверджено).
Завершення студентом, роботи з обліковим записом, викликає стан (неактивний).

# data[].attributes.attachment_link.title
Станів форма-Page-2

# data[].attributes.headline
Діаграма станів об'єкту "форма" діяльності "Заповнення форми на поселення"

# data[].attributes.subject
Діаграма станів об'єкту "форма" діяльності "Заповнення форми на поселення"

# data[].attributes.body
В цій діаграмі ми спостерігаємо за різним станом об'єкту "форма".
Початковий стан (недоступна).
Після авторизації студента, стан (не заповнена).
Відбувається дія заповнення форми. Якщо стан (заповнена), то відбувається перевірка на коректність введених даних.
Якщо студент заповнив форму неправильно, то він повертається до дії заповнення. У випадку правильності, стан (прийнята).
Після отримання повідомлення, стан форми (внесена в систему).

# data[].attributes.attachment_link.title
Станів форма

# data[].attributes.headline
Діаграма діяльності прецеденту "Заповнення форми на поселення"

# data[].attributes.subject
Діаграма діяльності прецеденту "Заповнення форми на поселення"

# data[].attributes.body
В даній діаграмі діяльності прецеденту "Заповнення форми на поселення", задіяні відразу три актори.
Студент:
Виконує початкові основні дії. Авторизовується в системі (в разі невдачі пробує знову). Якщо авторизація пройшла успішно, студент переходить до заповнення форми. Далі відбувається перевірка коректності введених даних.
У разі неправильності введеної інформації, ми отримуємо повідомлення, та повертаємося до заповнення форми.
Але якщо все вірно, ми отримаємо повідомлення про очікування підтвердження. В цей момент комендант підтверджує форму, після чого ми отримуємо повідомлення про успішність внесення даних в систему.

# data[].attributes.attachment_link.title
Заповнення форми на поселення

# data[].attributes.headline
Діаграма діяльності прецеденту "Реєстрація студента в системі"

# data[].attributes.subject
Діаграма діяльності прецеденту "Реєстрація студента в системі"

# data[].attributes.body
В цій діаграмі діяльності прецеденту "Реєстрація студента в системі" задіяні два актори.
Адміністратор:
Отримує інформацію щодо студентів які потребують гуртожиток.
Передає цю інформацію коменданту.
Комендант:
Ознайомившись зі списком студентів перевіряє наявність потрібної кількості місць у гуртожитку.
Якщо достатньої кількості мість немає, то університет повідомляється про відсутність  потрібної кількості місць.
Якщо місць достатньо, то переходимо до наступного процесу реєстрації, який виконує адміністрітор.
Адміністратор:
- реєстрація студента всистемі
- призначення кімнати
- введення даних.
Далі формується звіт по зареєстрованих студентах і відправка його до університету.
Кінцева дія - завершення роботи.

# data[].attributes.headline
Діаграма FDD

# data[].attributes.subject
Діаграма FDD

# data[].attributes.body
Перша функціональна діаграма для системи "Гуртожиток у смартфоні".
Головні функції нашої системи:
- реєстрація студента
- здійснення оплати
- поселення студентів та узгодження цих дій з комендантом.

# data[].attributes.headline
Діаграма прецедентів

# data[].attributes.subject
Діаграма прецедентів

# data[].attributes.body
В цій діаграмі ми можемо спостерігати за трьома акторами, кожен з яких виконує свої обов'язки.
Комендант:
- перевірка оплати
- формування звітів
- видалення студентів з системи
- вибір кімнати для студента
- облік заборгованості
- здійснення пошуку студентів.
Студент:
- заповнення своєї форми для поселення
- завантаження скану документів та фото
- заповнення онлайн договору
Адміністратор:
- реєстрація студента в системі
- формування електронних перепусток
- заповнення форми поселення
- здійснення пошуку студентів
- облік заборгованості