Чому ми Послуги Портфоліо Блог Технології Процес розробки Розпочати проєкт →
UA EN RU
← Всі статті
Розробка · 16.05.2019 · 31 хв читання

Приклад технічного завдання на основі USE CASES

Справжнє ТЗ на систему управління школою, зібране з USE CASES: актори, тригери, обмеження, передумови й постумови. Формат, за яким документ читають і замовник, і розробник.
Приклад технічного завдання на основі USE CASES

Страшний сон команди розробників — працювати без технічного завдання й узяти на себе зобов'язання за усно обговорений результат: у призначений строк і за фіксовані гроші. Нижче — приклад страхування від такої халепи. Це справжнє ТЗ, побудоване на USE CASES, придатне для розробки на будь-якому фреймворку, зокрема на Laravel.

Що всередині цього прикладу

Документ описує систему управління школою: вебінтерфейси для директора, діловода, викладача, учня й батьків, складання розкладу, розподіл годинного навантаження, електронний журнал, домашні завдання, повідомлення та правила виставлення оцінок.

Структура тут проста й повторювана. Спершу — елементи предметної області та пов'язані з ними правила. Потім — робочі місця (АРМ) із переліком того, що в кожному з них має бути. І далі найголовніше: набір USE CASES, де кожен сценарій розписаний за однаковим шаблоном.

Суть. USE CASE описує не «кнопки», а сценарій: хто діє, що саме робить система, за яких передумов і з якими обмеженнями. Саме тому такий документ можна читати і замовнику, і розробнику — і звіряти з ним готовий результат.
25
описаних USE CASES у прикладі
5
автоматизованих робочих місць (АРМ)
40 год
гранична тижнева норма для викладача

Елементи предметної області та робочі місця

Схема елементів предметної області та зв'язків між ними
Елементи предметної області та пов'язані з ними правила

АРМ «Директор школи»

Розробка робочого місця для роботи через вебінтерфейс:

  • розклад уроків і дзвінків для всієї школи;
  • «Список співробітників»;
  • «Особиста картка працівника»;
  • «Список класів»;
  • «Список учнів у класі»;
  • «Особова справа учня»;
  • доступ до «загальношкільних документів».

АРМ «Діловод»

Розробка робочого місця діловода через вебінтерфейс. У вихідному документі цей пункт обірваний — далі йде тільки слово «можливість», без переліку функцій.

АРМ «Викладач»

  • План учителя;
  • Заняття в класі;
  • Розклад викладача;
  • Система сповіщень;
  • Список класів;
  • Учні в класі;
  • Особиста картка учня;
  • Обговорення домашнього завдання.

АРМ «Учень»

  • Розклад уроків учня;
  • Журнал оцінок;
  • Домашнє завдання;
  • Система повідомлень.

Правила для учня — статична сторінка, єдина для всієї школи, доступна для адаптивного перегляду.

АРМ «Батьки»

  • Розклад уроків учня;
  • Журнал оцінок;
  • Домашнє завдання;
  • Звіт про успішність;
  • Список викладачів;
  • Навчальні плани (План учителя);
  • Система повідомлень.

Правила для учня — так само статична сторінка, єдина для всієї школи, доступна для адаптивного перегляду.

Як влаштований опис USE CASE

Кожен сценарій у документі описано за одним і тим самим набором полів. Це дає змогу читати ТЗ вибірково: розробник дивиться на обмеження й постумови, замовник — на опис і пріоритет.

ПолеЩо в ньому
ID and NameНомер і назва сценарію: UC-5, UC-10, UC-20 і далі.
Primary ActorХто ініціює дію: контент-менеджер (секретар), адміністратор, завуч, викладач, учень, батьки або зовнішня система.
Secondary ActorsSystem — сама система як учасник сценарію.
DescriptionДокладний опис поведінки: що робить користувач, що перевіряє й показує система.
TriggerПодія, з якої починається сценарій.
Обмеження (CON)Межі й заборони: унікальність, діапазони значень, доступність режимів.
Preconditions (PRE)Що має бути істинним до початку: права доступу, наявність довідників і сутностей.
Postconditions (POST)Що змінилося в системі після виконання.
Бізнес-правилаПосилання на звід правил: BR-26, BR-28, BR-CURRICULUM1, TR-1 — TR-27 тощо.
PriorityLow або High — підказка, з чого починати розробку.

Довідники та базові сутності

UC-5. Підтримка системних довідників

Primary Actor: контент-менеджер (секретар), адміністратор. Priority: Low.

У системі є кілька базових довідників, які заповнюються від початку й рідко змінюються. Дані з них використовуються повсюдно. Найчастіша дія — вибір потрібного елемента з довідника, у якому порядок виведення елементів наперед налаштований. Вибору іноді передує попередній пошук за першими символами назви.

Рідко використовувані дії виконуються в спеціальному розділі налаштувань: створення нового запису, редагування запису, впорядкування й реорганізація — задати порядок показу за замовчуванням. Заданий порядок використовується в усіх місцях, де довідник застосовується.

Типовий набір полів системних довідників: Активність, Назва, Сортування. Під час редагування система перевіряє унікальність обов'язкового поля «Назва».

Системні довідники:

  • Типи аудиторій;
  • Області знань;
  • Кафедри;
  • Тип викладання;
  • Рік навчання — 2016/2017, 2017/2018;
  • Освіта;
  • Рівень володіння іноземними мовами;
  • Кваліфікаційна категорія.

Trigger: користувач ініціює потребу змінити вибраний системний довідник. CON-1: назва елемента має бути унікальною для довідника. CON-2: елемент довідника не може бути видалений, якщо його десь використано в системі. PRE-1: користувач автентифікований і має достатні права для керування системними довідниками.

UC-10. Додати нову аудиторію, змінити наявну

Primary Actor: контент-менеджер (секретар), адміністратор. Priority: Low.

Користувач має заповнити щонайменше обов'язкові поля «назва аудиторії» та «кількість місць для учнів». «Назва аудиторії» вводиться текстом і має відображати призначення аудиторії; вона може містити особливі ознаки для однозначної ідентифікації: номер аудиторії, предмет, що читається, для яких класів найчастіше використовується.

Користувач може обмежити предмети, що читаються в аудиторії, конкретним списком, обираючи допустимі з довідника «предмет». Для зручності в довіднику аудиторій передбачена класифікація системним довідником «типи аудиторій». Аудиторія може належати лише до однієї групи.

Ознака «Активність» за замовчуванням встановлюється в «Так». Якщо ознака неактивна — аудиторія не враховуватиметься при автоматичному складанні розкладу. Для збереження змін користувач виконує дію «Зберегти». Система перевіряє унікальність «назви аудиторії», блокує створення аудиторій з однаковими назвами, зберігає дані або видає інформацію про обмеження, що виникли. Функціонал доступний для десктопної версії.

CON-1: назва аудиторії має бути унікальною в системі. CON-2: кількість місць для учнів — натуральне число, контролюється діапазон [1 — 500]. PRE-1, PRE-2: користувач автентифікований і має права; усі потрібні пов'язані довідники існують у системі. POST-1: у системі з'являється новий екземпляр сутності із введеними характеристиками. Бізнес-правила: BR-26, BR-28, BR-30, BR-32, BR-34.

UC-20. Додати новий, змінити наявний навчальний предмет

Primary Actor: завуч, адміністратор. Priority: Low.

Користувач має заповнити щонайменше обов'язкові поля «Код предмета», «Назва предмета», «Тип предмета», «Область знань». «Назва предмета» вводиться текстом і має бути унікальною в системі. Значення властивостей «Тип предмета» і «Область знань» встановлюються з відповідних довідників; для властивості «Область знань» використовується відповідний системний довідник.

Ознака «Активність» за замовчуванням встановлюється в «Так», ознака «сортування» — у 500, ознака «складність предмета» — у 5. Для збереження змін або додавання нового навчального предмета користувач виконує дію «Зберегти». Система перевіряє унікальність «Коду предмета» і «назви предмета», валідує обов'язкові поля, блокує створення предметів з однаковими назвами й кодами, зберігає дані або видає інформацію про обмеження. Функціонал доступний для десктопної версії.

CON-1: назва навчального предмета та код предмета мають бути унікальними в системі. CON-2: обов'язкові поля мають бути заповнені. POST-1: у системі з'являється новий екземпляр сутності із введеними характеристиками.

UC-35. Додати нового викладача, редагувати наявного

Primary Actor: завуч, адміністратор. Priority: Low.

Обов'язкові поля: ПІБ, «Кафедра», «Область знань». ПІБ вводиться текстом і має бути унікальним у системі. Значення властивостей «Кафедра» і «Область знань» встановлюються з відповідних системних довідників.

Для викладача можуть бути задані умови доступності за днями тижня (методичні дні) та/або за певними уроками в конкретні дні тижня. За замовчуванням викладач доступний для всіх уроків.

Необов'язкові дані, які користувач може заповнити або відредагувати:

  • Ініціали — використовуються в розкладі;
  • «Предмети, що читаються» — множина елементів «предмет»;
  • «Телефон» — множинне значення, одне встановлене як основне;
  • «EMAIL» — множинне значення, одне встановлене як основне;
  • Дата народження;
  • Освіта — заповнюється з системного довідника «Освіта»;
  • Стать;
  • Кваліфікаційна категорія — з однойменного системного довідника;
  • Рівень володіння іноземними мовами — з однойменного системного довідника;
  • Примітки;
  • Сортування — число, застосовується для впорядкування при показі в списку.

Для збереження змін елемента «Викладач» користувач виконує дію «Зберегти». Функціонал доступний для десктопної версії. CON-1: ПІБ викладача має бути унікальним. CON-2: обов'язкові поля мають бути заповнені.

Навчальні плани та годинне навантаження

UC-40. Додати новий, редагувати навчальний план

Primary Actor: завуч, адміністратор. Priority: Low.

Для ідентифікації навчального плану користувач може вказувати в його назві, на підставі якої обов'язкової програми, для якого року навчання або класу він складений. Також можна додавати пояснення у вигляді необов'язкового текстового опису. Навчальні плани можуть використовуватися для складання розкладу в наступних роках для інших класів.

Склад навчального плану визначається адміністрацією школи й містить потрібні дані щодо предметів, які вивчаються, і тижневого годинного навантаження. Користувач може створити індивідуальний екземпляр навчального плану для кожного класу. Якщо в кількох класах використовується однаковий план, користувач повинен мати змогу застосувати вже створений. Якщо користувач змінює план, що використовується в кількох класах, має бути видане попереджувальне повідомлення й запропоновано створення копії.

Складаючи план, користувач вказує, які предмети й години належать до обов'язкової програми, а які — до додаткового пакета. При цьому він має бачити підсумкову інформацію про кількість годин на тиждень:

  • Усього годин (без фізичної культури);
  • Гранична тижнева годинна норма;
  • Заплановано годин на семестр = середнє (семестр №1 / семестр №2);
  • Усього годин + фізична культура.

Гранична тижнева годинна норма визначається з властивостей класу. Для кожного предмета користувач визначає «тип викладання» з відповідного системного довідника — наприклад, інваріант (обов'язкова програма), факультатив, курс за вибором. Складений навчальний план можна роздрукувати за окремою формою для друку.

POST-1: у системі зберігається екземпляр сутності із введеними характеристиками. Бізнес-правила: BR-CURRICULUM1, BR-CURRICULUM2.

UC-50. Створення, редагування годинного навантаження

Primary Actor: завуч, адміністратор. Priority: High.

Робоче годинне навантаження — це схема розподілу навчальних планів класів по викладачах так, щоб навчальні плани були виконані, викладачі отримали відповідне годинне навантаження, учні в класах були розподілені по групах, і все це з урахуванням обмежень для кожного з ресурсів.UC-50 · Опис

Схема розподілу годинного навантаження створюється без урахування конкретних днів тижня та аудиторій. Користувач створює варіант розподілу, що відповідає всім класам школи за наявними викладачами. Розподіл виконується для повного навчального року з урахуванням навчальних семестрів, що входять до його складу, і однозначно відповідає навчальним планам, затвердженим на поточний навчальний рік.

Для кожного навчального року створюється власна схема годинного навантаження, оскільки використовуються унікальні набори параметрів і ресурсів:

  • набір класів та їхній склад;
  • навчальні плани — можуть змінюватися з року в рік;
  • навчальні предмети — можуть змінюватися;
  • набір учителів — змінюється щороку.

При цьому схеми годинних навантажень за попередні роки можна відкривати й переглядати. Кожному навчальному року відповідає одна схема. Створюючи нове навантаження, користувач вказує обмежувальні чинники та параметри: навчальний рік і тривалість кожного навчального семестру.

UC-60. Розподіл навчальних планів по викладачах

Primary Actor: завуч, адміністратор. Priority: High.

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

Ухвалюючи рішення про призначення викладача для ведення предмета в конкретному класі, користувач спирається на інформацію про можливих викладачів, доступних для цього предмета (налаштовується в картці викладача).

Після призначення викладача предмет вважається розподіленим: у навчальному плані класу зменшується кількість нерозподілених годин, а для викладача збільшується тижневе годинне навантаження. Призначити іншого викладача для цього предмета вже неможливо. Призначення можна скасувати — розподілені години й навантаження повертаються у вихідний стан, а предмет знову стає доступним для призначення.

Процес редагування — це послідовність призначень викладачів, їх скасувань, поділу класів на групи, редагування розподілу годин, створення потоків, що приводять до нового стану годинного навантаження. Після кожної зміни стан запам'ятовується системою автоматично: якщо користувач вийшов із режиму редагування, при поверненні система показує останній збережений стан.

Навантаження з правильним розподілом планів по викладачах відповідає критеріям:

  • для кожного класу кількість нерозподілених годин дорівнює нулю — кількість розподілених годин відповідає кількості годин з навчального плану; можна застосовувати колірну індикацію успішного розподілу;
  • для кожного предмета кількість розподілених годин відповідає кількості годин з навчального плану; можна застосовувати колірну індикацію;
  • для кожного викладача тижневе навантаження не перевищує 40 годин.

Сервісні функції режиму:

  1. Додати предмет викладачеві. Якщо потрібного викладача немає в списку доступності для потрібного предмета, користувач має змогу викликати форму, щоб призначити викладачеві цей предмет як такий, що читається.
  2. Переглянути навантаження викладача. Користувач має змогу подивитися тижневе годинне навантаження викладача в розрізі всіх класів і всіх предметів, які він читає.
  3. Переглянути дані класу. Користувач має змогу переглядати детальну інформацію про клас і поточний навчальний план для нього.

Обмеження: для кожного класу список предметів визначається поточним навчальним планом; список доступних викладачів визначається предметами, які викладач може читати.

Екран редагування годинного навантаження: класи, предмети, години та призначені викладачі
Стан при редагуванні годинного навантаження

UC-70. Зміна розподілу годин

Primary Actor: завуч, адміністратор. Priority: High.

Зміна розподілу годин може знадобитися лише для предметів з нецілою кількістю годин. Користувачеві буває потрібно змінити формат годин для певного предмета залежно від семестру або парного чи непарного тижня — і проаналізувати, як це вплине на обмежувальні чинники. Тижнева кількість годин для кожного класу береться з навчального плану.

Можливі формати годин:

  • предмет рівномірно читається протягом усього навчального року;
  • предмет читається різну кількість годин у різних семестрах;
  • предмет читається різну кількість годин за парними або непарними тижнями.

При цьому має дотримуватися умова: задане навчальним планом тижневе годинне навантаження має бути виконане в межах навчального року.

Приклад розподілу 3,5 години математики. Різна кількість годин у семестрах: S 4/3, S 3/4. Різна кількість годин за парними чи непарними тижнями: 4/3, 3/4.

Приклад розподілу 0,5 години образотворчого мистецтва. Предмет читається лише один семестр: S 1/0 або S 0/1. Предмет читається лише за парними чи непарними тижнями: 1/0 або 0/1.

UC-80. Поділ класу на групи

Primary Actor: завуч, адміністратор. Priority: High.

Поділ класу на групи використовується для тих типів предметів, де методика викладання вимагає кількості учнів не більше за певне число, — групи іноземної мови, групи інформатики. Поділ за ознакою «хлопці/дівчата» застосовується для предметів «фізичне виховання» і «трудове навчання». Поділ за ознакою «рівень знання мови» — для предмета «друга іноземна мова».

Перелічені варіанти належать до «предвизначених схем» поділу на групи. Щоб розділити клас на групи для певного предмета, користувач обирає з довідника «розділення класу на групи» один із варіантів, а також вказує тип часу проведення: «один час» чи «різний час» відбуватимуться заняття в кожній групі. У більшості випадків використовується варіант «один час» — він може бути за замовчуванням.

У кожну групу має бути призначений власний викладач, якщо заняття в групах проводяться в «один час». Якщо в «різний час» — викладач може бути той самий. Кількість годин при поділі класу на групи для задіяних викладачів нараховується окремо й відображається в їхньому навантаженні. Для класу, розділеного на групи, час рахується як для всього класу: поділ на групи не позначається на годинному навантаженні класу.

Користувач може змінити тип часу проведення занять, змінити або скасувати поділ на групи. Після кожної зміни поточний стан зберігається автоматично, користувачеві доступна оновлена статистика й індикація.

Довідник предвизначених схем поділу на групи:

  • хлопці/дівчата — трудове навчання;
  • хлопці/дівчата — фізичне виховання;
  • інформатика, 2 групи;
  • інформатика, 3 групи;
  • іноземна мова, 2 групи;
  • іноземна мова, 3 групи;
  • друга іноземна мова, 2 групи (beginner, intermediate);
  • друга іноземна мова, 3 групи (beginner, intermediate, advanced).

UC-90. Об'єднання груп з різних класів у потік

Primary Actor: завуч, адміністратор. Priority: High.

Для деяких предметів заняття проводяться для учнів з різних класів. Наприклад: фізкультура для хлопців усіх п'ятих класів; друга іноземна мова рівня beginner для 5 і 6 класів.

Користувач обирає класи й об'єднує їх у потік. Предмет вважається розподіленим, годинне навантаження викладача перераховується. Візуально потік відображається як спільний урок для вибраних класів.

Якщо користувач обирає для об'єднання в потік групи з різних класів, то, на відміну від попереднього випадку, предмет вважається розподіленим лише тоді, коли для решти груп об'єднаних класів також призначено викладача. Урок для потоку проводиться в одній аудиторії одним викладачем. Об'єднання в потік можна скасувати.

UC-100. Індикація поточного стану та статистика

Primary Actor: завуч, адміністратор.

Система візуально показує користувачеві:

  • по кожному класу — кількість годин у навчальному плані та кількість уже розподілених годин, а також індикує успішний розподіл усіх годин;
  • по кожному предмету — класи, яким предмет читається, кількість годин з навчальних планів цих класів, кількість уже розподілених годин та індикацію успішного розподілу;
  • по кожному предмету — сумарну кількість годин, що читається в усіх класах;
  • по кожному викладачеві — кількість годин за кожним предметом, який він читає, та індикацію перевищення допустимого навантаження;
  • якщо клас розділений на групи — тип часу проведення занять;
  • якщо клас розділений на групи — що не для всіх груп розподілені години;
  • якщо кілька класів або груп об'єднані в потік;
  • попередження, якщо викладач недоступний через обмеження.

Складання розкладу вручну

UC-110. Розклад для класу

Primary Actor: завуч, адміністратор. Priority: High.

Перед користувачем стоїть завдання розмістити на календарі тижня предмети, розподілені по викладачах, для конкретного класу. Одиниця роботи — картка уроку: академічна година навчального предмета з призначеним викладачем і, якщо є, додатковими ознаками.

Користувач обирає клас і розміщує вільну картку предмета, вибираючи день тижня та номер уроку (слот). Система інформує про можливість розміщення картки у вибраному слоті, аналізуючи доступність викладача й класу в цей час. Після розміщення картка вважається розподіленою, з'являється на календарі тижня та вилучається зі списку нерозподілених.

Для розміщеної картки може бути призначена аудиторія: користувач обирає доступну аудиторію для цього слота зі списку, який пропонує система, — у списку лише доступні аудиторії. Після призначення аудиторія фіксується як зайнята для цього слота. Для деяких класів (наприклад, молодших) усі заняття проводяться в одній аудиторії — користувач може виконати дію «призначити єдину аудиторію», і тоді для всіх розподілених карток уроків без призначеної аудиторії встановлюється вибрана. Аудиторію можна змінити або скасувати її призначення.

Користувач може перемістити картку предмета в інший слот або скасувати розміщення: слот звільняється, картка потрапляє до нерозподілених, призначення аудиторії скасовується. Система автоматично зберігає зміни після кожної дії. У коректно складеному розкладі для класу всі картки предметів розподілені й немає конфліктів.

Сервісні функції: перехід у режим редагування параметрів класу; друк розкладу класу на тиждень.

Обмеження:

  • система пропонує лише вільні аудиторії для цього слота;
  • аудиторії, які не задовольняють умову кількості учнів, недоступні для вибору;
  • слоти, для яких клас недоступний, візуально недоступні для розміщення;
  • при розміщенні в слоті, для якого викладач недоступний, видається відповідне повідомлення з деталізацією проблеми.

Передумови. У щойно створеному розкладі всі картки уроків вважаються нерозподіленими, а календар тижня порожній. Якщо користувач раніше складав розклад або опосередковано впливав на складання, система повертається до збереженого стану.

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

Постумови. Після розміщення картки система перераховує сумарну складність предметів для днів тижня, кількість розподілених і нерозподілених карток. Після редагування потокових занять у розкладі пов'язаних класів або груп записуються пов'язані зміни. У розкладі викладачів та аудиторій робляться пов'язані зміни.

Бізнес-правила розміщення:

  • якщо при поділі класу на групи вказано тип часу проведення «один час», створюється одна картка, у якій кількість аудиторій і викладачів відповідає кількості груп;
  • якщо вказано «різний час», створюється стільки карток, скільки є груп учнів;
  • в одному часовому слоті може бути розміщено більше ніж одну картку предметів, якщо вони належать до різних груп учнів, а заняття проводять різні викладачі в різних аудиторіях;
  • те саме — якщо заняття проводять різні викладачі в одній аудиторії (спортзал);
  • те саме — якщо картки належать до різних тижнів: наприклад, за парними перша іноземна, за непарними друга іноземна;
  • те саме — якщо картки належать до різних семестрів: наприклад, перший семестр малювання, другий семестр музика;
  • у деяких аудиторіях можливе одночасне проведення занять для різних груп учнів або класів (спортзал);
  • при розподілі потокового заняття система аналізує доступність інших класів або груп, включених до картки: картку не можна розмістити в слоті, якщо не всі учасники потоку задовольняють умови — видається повідомлення з деталізацією проблеми.
Тижневий календар класу із заповненими слотами уроків
Складений розклад для класу

UC-120. Режим для всіх класів

Primary Actor: завуч, адміністратор. Priority: High.

Користувач працює із загальним виглядом одночасного розміщення карток усіх класів, щоб краще ухвалювати рішення про розподіл по слотах. Цей режим дає уявлення про «вікна» для класів і взаємний вплив паралелей при плануванні занять по групах, а також наочно відображає результати при розміщенні потокових занять.

Завдання те саме, що й при складанні розкладу для класу. Для кожного класу доступні список нерозподілених карток уроків і тижневий календар зі слотами. Користувач може:

  • розміщувати картки уроків у доступні слоти;
  • змінювати слоти й скасовувати розміщення карток;
  • призначати, змінювати, скасовувати аудиторії для розподілених карток;
  • призначати єдину аудиторію для класу — для всіх розподілених карток без призначеної аудиторії встановлюється вибрана.

При кожному редагуванні система інформує користувача про допустимість дії, аналізуючи доступність викладача, класу та аудиторії в цей час, і автоматично зберігає зміни. У коректно складеному розкладі в усіх класів усі картки предметів розподілені й немає конфліктів. Обмеження й бізнес-правила — такі самі, як у режимі складання розкладу для класу. Використовуються дані поточного розкладу, який редагується в різних режимах.

UC-130. Режим для всіх викладачів

Primary Actor: завуч, адміністратор. Priority: High.

Загальний вигляд одночасного розміщення карток усіх учителів дає уявлення про «вікна» й шляхи кращої оптимізації розкладу, а також наочно показує недоступність учителів через методичні дні та інші причини.

Для кожного викладача доступні список нерозподілених карток уроків і тижневий календар з доступними слотами. Щоб знайти потрібного викладача, користувач застосовує групування за областями знань предметів, які той читає, згідно із заданим сортуванням. Якщо викладач читає кілька предметів, він відображається у списку лише один раз — для першого предмета. Картка уроку показує таку саму інформацію, як у режимі «для класу», але замість імені вчителя відображається назва класу.

Користувач може розміщувати картки в доступні слоти, змінювати слоти й скасовувати розміщення, призначати, змінювати та скасовувати аудиторії, а також призначати єдину аудиторію для вибраного викладача — для всіх розподілених і нерозподілених карток уроків без призначеної аудиторії встановлюється вибрана. Система інформує про допустимість дії й автоматично зберігає зміни.

Обмеження — такі самі, як у режимі для класу, і додатково: слоти, для яких викладач недоступний (методичні дні), візуально недоступні для розміщення; при розміщенні в слоті, для якого недоступний клас, видається повідомлення з деталізацією проблеми; у цьому режимі не можуть розміщуватися й редагуватися потокові заняття. Після редагування занять груп в один і той самий час у розкладі пов'язаних викладачів, класів, аудиторій або груп записуються пов'язані зміни.

Сервісні функції: перехід у режим редагування картки викладача — властивості й графік доступності; друк розкладу викладача на тиждень.

UC-200. Заміна уроку, викладачів

Primary Actor: завуч, адміністратор. Priority: High.

Користувач входить у режим для всіх викладачів у режимі діючого розкладу — з прив'язкою до конкретних днів календаря. Щоб замінити викладача, потрібно перемістити картку уроку зі слота викладача, якого замінюють, у вільний слот іншого викладача.

Заміна вчителя

У картці предмета змінюється тільки викладач.

Заміна уроку

Запланований предмет змінюється на інший.

Зведення груп

Дві групи учнів з одного класу призначаються одному вчителеві — можливо лише в цьому режимі.

Урок перенесено

Картка уроку переноситься на інший день, викладач залишається той самий.

Окремо в документі зафіксовано: розглянути варіант скасування уроку. При виконанні заміни система інформує про допустимість дії, аналізуючи доступність класу та аудиторії в цей час; заміна аудиторії не виконується. Після успішної заміни вона виділяється візуально в діючому розкладі. Заміну можна скасувати — картка уроку повертається у вихідний стан.

Користувач може вказати деталі заміни: тип заміни з довідника типів заміни; текстове пояснення причини; перенесення уроку на дату — застосовується для випадку «урок перенесено», дата й номер уроку вводяться вручну. Система зберігає зміни після внесення деталей.

Обмеження: заміна може виконуватися лише для поточного й майбутніх днів; скасування заміни можливе лише для майбутніх днів; слоти, для яких викладач недоступний, візуально недоступні для розміщення. Передумова: у системі має бути діючий розклад.

Постумови. У розкладі класів, викладачів та аудиторій робляться пов'язані зміни. Система формує запис у журналі замін:

  • Клас;
  • Дата;
  • Номер уроку;
  • Викладач, якого замінюють;
  • Викладач, який замінює;
  • Предмет;
  • На предмет;
  • Тип заміни — з довідника типів заміни;
  • Причина заміни — текстовий опис.

Електронний журнал, план учителя та звіти

UC-210. Викладач проводить заняття в класі

Primary Actor: викладач, адміністратор. Priority: High.

Користувач обирає зі свого розкладу картку уроку, і система відкриває електронний класний журнал для вибраного уроку, класу чи групи. Якщо заняття проводиться для групи учнів з класу, для редагування доступна інформація лише про учнів цієї групи.

Візуально користувач отримує інформацію про відвідуваність і успішність учнів поточного класу, дати проведення занять, порядкові номери уроків. Він може переглянути успішність учнів поточного класу з інших предметів, відмітити відсутніх і поставити оцінку учням протягом уроку.

Оцінки, не прив'язані до конкретної дати й уроку, додаються окремою колонкою:

  • Тематична оцінка;
  • Оцінка за зошит;
  • Підсумкова оцінка за семестр;
  • Попередня оцінка за рік;
  • Скоригована оцінка;
  • Підсумкова оцінка за рік.

У вихідному стані інформація про тему уроку береться з попередньо підготовлених планів учителя. Користувач може скоригувати тематику й план проведеного уроку — ввести фактичну тему, розглянуті матеріали, пояснення; можуть додаватися файли, доступні для завантаження. Після заповнення форми дані можна редагувати.

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

Можливі статуси: у школі; не в школі. Уточнювальні статуси: прийшов вчасно; прийшов пізніше; пішов раніше; пішов вчасно. Причини відсутності: хвороба; запланована відсутність; невідомо.

Запланована відсутність. Куратор поінформований про відсутність учня й відмічає заплановану відсутність у класному журналі на період дат. Для такого учня для всіх уроків у цей період автоматично встановлюється статус «Н», і викладачеві не потрібно відмічати відсутність. Жодні сповіщення від системи контролю доступу (СКД) для такого виду відсутності батькам не надсилаються. У документі окремо залишено відкрите питання: що робити, якщо учень приходить до школи в період запланованої відсутності — зберігати періоди запланованої відсутності й потім їх коригувати чи вводити журнальні коригування.

Незапланована відсутність. У куратора немає інформації про відсутність учня. У будь-який час після початку занять куратор має змогу отримати список учнів, відсутніх згідно з даними СКД, вибрати зі списку тих, хто справді відсутній, і внести їх до журналу.

Обмеження: користувач може коригувати лише оцінки, внесені протягом поточного дня; функціональність доступна лише в десктопному режимі. Передумова: у системі має бути діючий електронний журнал для вибраного класу. Бізнес-правила: TR-1 — TR-27.

UC-220. Викладач формує «план учителя»

Primary Actor: учитель, адміністратор. Priority: High.

Для предмета, який він читає, користувач формує план учителя: обирає для конкретного класу предмет — для кожного класу з того самого предмета можуть бути різні плани. План формується перед початком навчального семестру: викладач розподіляє теми уроків і детальний опис того, що вивчатиметься, за послідовністю майбутніх уроків. До плану можуть входити уроки у вигляді запланованих контрольних робіт і практичних занять. План учителя можуть переглядати батьки, щоб планувати відвідуваність.

Опис кожного уроку містить:

  • номер уроку по порядку;
  • тему уроку;
  • орієнтовні навчальні цілі;
  • детальний опис того, що вивчатиметься, — можуть додаватися файли для завантаження;
  • домашнє завдання;
  • час на виконання.

Усі поля, крім «домашнього завдання» й «часу на виконання», є обов'язковими. Після заповнення форми дані щодо кожного уроку можна редагувати. Передумова: у системі мають бути предмети й навчальні плани. Бізнес-правила: TR-1 — TR-27.

UC-230. Викладач складає «Звіт про успішність»

Primary Actor: викладач, адміністратор. Priority: High.

Наприкінці місяця викладач-предметник заповнює інформацію для «Звіту про успішність» для кожного учня. У розділі звіту «Успішність» система автоматично формує список предметів і оцінки, отримані учнем протягом звітного місяця; для кожного предмета викладач має дати коментар у вигляді тексту.

Частина звіту «персональний розвиток учня» складається з предвизначених розділів — їх кількість фіксована, — і за кожним із них куратор класу або закріплений за класом учитель дає характеристику учня у вигляді тексту.

Для 1—4 класів розділ «Успішність» за кожним предметом і розділ «персональний розвиток учня» пише закріплений за класом учитель. Для 5—11 класів «Звіт про успішність» пишуть учителі-предметники, а «персональний розвиток учня» — куратор. Після заповнення введений текст за кожним предметом можна редагувати. Фіксується дата останньої зміни звіту.

Обмеження: функціональність доступна в десктопному режимі. Бізнес-правила: TR-28 — TR-30.

Повідомлення, медична картка та сповіщення

UC-240. Читання повідомлень користувачем системи

Primary Actor: користувач системи з відповідними правами. Priority: Low.

Користувач може переглядати надіслані йому повідомлення від інших користувачів системи. Повідомлення показуються списком у хронологічному порядку з посторінковою навігацією. Фільтр можна поставити за користувачем і за діапазоном дат ВІД — ДО.

Кожне повідомлення при попередньому перегляді показує відправника, статус (нове, прочитано), дату й час надсилання, перші 30 символів повідомлення та роль відправника в системі: учень, викладач, співробітник, батьки. Після відкриття детальної інформації система переводить повідомлення у статус «прочитано» й фіксує дату та час відкриття. У детальному перегляді доступна дія «Відповісти», яка відкриває форму надсилання з уже встановленим отримувачем — автором отриманого повідомлення.

Обмеження: повідомлення зберігаються в системі без можливості архівування та каталогізації; функціональність доступна в десктопному й адаптивному режимах.

UC-245. Надсилання повідомлень користувачем системи

Primary Actor: користувач системи з правами надсилання повідомлень. Priority: Low.

Користувач може написати текстове повідомлення іншим користувачам системи залежно від політик розподілу доступів за ролями. Отримувачем може бути:

  • усі викладачі;
  • увесь клас — потрібно вибрати клас із доступних, повідомлення отримають усі учні цього класу;
  • усі класи — повідомлення отримають учні всіх класів;
  • усі батьки — будуть вибрані батьки всіх учнів;
  • учень — потрібно вибрати конкретного учня;
  • викладач — вибрати зі списку викладачів;
  • батьки — вибрати конкретного з батьків.

Текст повідомлення — до 1000 символів. Після надсилання система фіксує дату й час. Для надісланого повідомлення неможливо скасувати надсилання або змінити його зміст.

Обмеження. Адресати обмежуються списком доступних об'єктів: викладач має змогу надсилати повідомлення лише класам та учням тих класів, до яких має доступ; учень обмежується лише списком доступних викладачів; викладач має змогу надіслати повідомлення всім викладачам і співробітникам школи. Функціональність доступна в десктопному й адаптивному режимах.

UC-250. Внесення інформації в медичну картку учня

Primary Actor: користувач системи з правами перегляду або зміни медичної картки учня. Priority: Low.

Користувач з відповідними правами отримує в особовій справі учня доступ до розділу «Медична картка» — листок здоров'я та список інцидентів. Додавати й змінювати інформацію можна залежно від політик розподілу доступів.

Коли стається інцидент з учнем, користувач додає в систему новий запис, і система автоматично фіксує поточну дату й час. Користувач заповнює обов'язкові поля «Що сталося» і «Виконані призначення» — текстові поля довжиною до 5000 символів. Після збереження система фіксує дату й час збереження запису. Зміст збережених записів можна змінювати; можливості видаляти інциденти немає.

UC-255. Сповіщення про порушення часу перебування учня в школі

Primary Actor: зовнішня система контролю доступу (СКД). Priority: Low.

Зовнішня система контролю доступу надсилає сповіщення про події: прихід до школи й вихід зі школи з фіксацією точного часу. Обов'язковий час перебування учня в школі — від часу початку першого за розкладом уроку до часу закінчення останнього уроку.

Отримавши сповіщення, система перевіряє збіг часу з обов'язковим часом перебування. Якщо прихід або вихід потрапляє в обов'язковий час, батьки учня отримують сповіщення про порушення із зазначенням типу події та детальної інформації, отриманої від СКД.

Обмеження: система не зберігає й не аналізує журнал сповіщень від зовнішньої системи. Передумова: СКД доступна.

UC-300. Учні та викладачі переглядають і обговорюють домашнє завдання

Primary Actor: учень, викладач. Priority: Low.

Учень може переглядати список домашніх завдань за предметами на вибрану дату; за замовчуванням система показує дані на поточну дату. У списку відображаються предмет, викладач, дата, на яку завдання має бути виконане, скорочений зміст домашнього завдання у вигляді перших 100 символів і очікуваний час на виконання. Учень може детально переглянути зміст завдання й завантажити прикріплені файли.

Обговорення домашнього завдання з викладачем. Учень може ставити запитання щодо завдання й отримувати відповіді від викладача у вигляді текстового діалогу. Текстові повідомлення учня й викладача зберігаються як коментарі в хронологічній послідовності. Учень бачить відповіді викладача, а також повідомлення інших учнів, що стосуються цього домашнього завдання.

Учень може надіслати виконане домашнє завдання у вигляді текстового опису та прикріплених файлів, використовуючи механізм обговорення через коментарі. Викладач бачить усі запитання й виконані завдання від усіх учнів у вигляді суцільної стрічки коментарів. Функціональність доступна в десктопному й адаптивному режимах.

UC-310. Користувач налаштовує систему сповіщень

Primary Actor: батьки. Priority: Low.

  1. Канали. Користувач може регулювати, за якими каналами він хоче отримувати сповіщення від системи: EMAIL і push-сповіщення для мобільного застосунку (на майбутнє). Можна вибрати будь-яку комбінацію каналів.
  2. Частота. Користувач може налаштувати частоту надсилання: негайно або раз на добу о ГОД:ХВ. Цей час єдиний для всіх, користувач змінити його не може — його встановлює адміністратор системи. Налаштування єдине для всіх каналів.
  3. Типи подій. Користувач може вибрати, які типи сповіщень він хоче отримувати, у будь-якій комбінації. Список сповіщень у майбутньому може розширюватися.

Базовий список подій, доступних для налаштування:

  • отримано повідомлення від адміністрації школи;
  • учень залишив територію школи в нестандартний час;
  • учень зайшов на територію школи в нестандартний час;
  • учень отримав негативну оцінку.

Види оцінок і правила їх розрахунку

Останній блок документа — окремий сценарій, у якому актором виступає сама система. Місце застосування: електронний журнал зі складом учнів вибраного класу або групи. Види оцінок: поточні, тематичні, спеціальні та підсумкові — семестрові й річні. Функціональність доступна в десктопному режимі.

Вид оцінкиДе виставляєтьсяЯк розраховуєтьсяРучна корекція
ПоточнаУ колонці з написом дати проведення, коли оцінювали учня.Виставляється вчителем.—
ТематичнаКолонка без дати конкретного уроку з назвою «Тематична».Сумуються всі оцінки за уроки, проведені від попередньої тематичної, включно з оцінками за зошит; якщо попередньої тематичної немає — від початку навчального року. Округлення на користь учня.Є
СеместроваКолонка без дати з назвою «Х семестр».Беруться тільки тематичні оцінки. Округлення на користь учня.Є
СкоригованаКолонка поруч із семестровою, без дати, з назвою «Скоригована».Ставиться вручну лише для учнів, які підвищили попередню семестрову.Тільки вручну
РічнаКолонка без дати з назвою «Річна».Беруться тільки семестрові та скориговані семестрові оцінки. Округлення на користь учня.Немає
ДПАКолонка з написом ДПА без зазначення дати — лише для учнів 9 і 11 класів.Ставиться вручну.Тільки вручну

Якщо учень був відсутній протягом вивчення теми або не виконав вимоги навчальної програми, йому ставиться Н/А. Так само Н/А ставиться, якщо учень був відсутній протягом семестру; якщо учень не атестований у двох семестрах — річна оцінка Н/А.

Спеціальні оцінки

Група 1 — іноземні мовні предмети (іноземні мови, друга іноземна мова, мови національних меншин): аудіювання, говоріння, читання, письмо. Ставляться раз наприкінці семестру перед виставленням семестрової оцінки. Оцінка за семестр для цих предметів виставляється як середнє арифметичне тематичних оцінок і оцінок за аудіювання, говоріння, читання та письмо. Ставляться вручну, місце й частота появи програмно не контролюються.

Група 2 — українська мова. Протягом семестру окремо оцінюються говоріння (діалог, усний переказ, усний твір) і читання вголос. Результати виставляють у колонку без дати й враховують у найближчій тематичній: тобто тематична з української мови — це середнє арифметичне поточних оцінок плюс оцінки за діалог, усний переказ, усний твір і читання вголос. Ставляться вручну, частота появи програмно не контролюється.

Група 3 — за зошит (тільки для української мови, української та зарубіжної літератури):

  • оцінку за ведення зошитів з української мови виставляють один раз на місяць у кожному класі — окремою колонкою в журналі;
  • оцінку за ведення зошитів з української та зарубіжної літератури виставляють один раз на семестр у кожному класі — окремою колонкою в журналі.

Ставляться вручну, частота появи програмно не контролюється.

Що дає такий формат. Кожен сценарій має актора, тригер, обмеження, передумови й постумови — тож його можна оцінити, розробити й перевірити окремо. А разом вони складаються в документ, за яким домовленість про строк, бюджет і результат перестає бути усною.