Skip to content

Задание на командное проектирование системы

Данный проект выполняется в рамках дисциплины «Разработка кода информационных систем» и направлен на формирование практических навыков командной разработки программного продукта.

Проект реализуется в формате командной разработки (Agile-подход) с использованием современных инструментов:

  • система контроля версий (Git);
  • удалённый репозиторий (GitHub);
  • Kanban-доска;
  • Pull Request;
  • WebSocket для взаимодействия в реальном времени.

В рамках проекта обучающиеся выступают в роли команд разработки, а преподаватель — в роли заказчика (Product Owner).

Функциональные требования (фичи) задаются преподавателем и являются обязательными для реализации.


Цель и задачи проектирования

Section titled “Цель и задачи проектирования”

Цель:
Формирование навыков разработки клиент-серверных приложений в условиях командной работы.

Задачи:

  • освоение Agile-подхода (Kanban / Scrumban);
  • разработка frontend и backend компонентов;
  • реализация взаимодействия в реальном времени (WebSocket);
  • организация командной работы через GitHub;
  • интеграция и тестирование программного продукта;
  • оформление технической документации.

Требования к организации командной работы

Section titled “Требования к организации командной работы”

Проект выполняется в командах (4–5 человека).

Каждая команда обязана:

  • выбрать лидера (Project Manager);
  • распределить роли (frontend, backend, интеграция);
  • создать GitHub-репозиторий;
  • создать Kanban-доску;
  • добавить преподавателя:
  • использовать ветвление и Pull Request;
  • соблюдать WIP limit (не более 3 задач в работе).

Требования к процессу разработки

Section titled “Требования к процессу разработки”

Разработка должна вестись по принципу:

Feature-driven development (разработка по фичам)

Каждая задача должна включать:

  • backend-часть;
  • frontend-часть;
  • интеграцию.

Запрещено:

  • последовательное выполнение (сначала backend, потом frontend)

Обязательно:

  • параллельная работа участников команды

Требования к программному продукту

Section titled “Требования к программному продукту”

Программный продукт должен:

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

Требования к репозиторию

Section titled “Требования к репозиторию”

Репозиторий должен содержать:

  • исходный код проекта;
  • структуру:
    • /client
    • /server
  • README.md:
    • описание проекта;
    • инструкция запуска;
  • историю коммитов;
  • Pull Request;
  • ветки участников.

Требования к демонстрации

Section titled “Требования к демонстрации”

Команда должна продемонстрировать:

  • работу приложения;
  • GitHub-репозиторий;
  • Kanban-доску;
  • вклад каждого участника.