Почему мы Услуги Портфолио Блог Технологии Процесс разработки Начать проект →
UA EN RU
← Все статьи
Разработка · 16.05.2019 · 31 мин чтения

ТЗ на USE CASES: реальный пример технического задания

Реальное техническое задание, построенное на USE CASES: 25 сценариев, 5 рабочих мест, справочники, расписание и правила оценок. Документ, по которому можно оценить срок, бюджет и проверить результат.
ТЗ на 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 — за тетрадь (только для украинского языка, украинской и зарубежной литературы):

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

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

Что даёт такой формат. У каждого сценария есть актор, триггер, ограничения, предусловия и постусловия — значит, его можно оценить, разработать и проверить отдельно. А вместе они складываются в документ, с которым договорённость о сроке, бюджете и результате перестаёт быть устной.