Задание на командное проектирование системы
Общие положения
Section titled “Общие положения”Данный проект выполняется в рамках дисциплины «Разработка кода информационных систем» и направлен на формирование практических навыков командной разработки программного продукта.
Проект реализуется в формате командной разработки (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-доску;
- добавить преподавателя:
- в репозиторий (профиль преподавателя);
- в Kanban-доску [vladislav.ilyinr@gmail.com];
- использовать ветвление и 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-доску;
- вклад каждого участника.