Итоговый проект
Опирается на всю книгу, прежде всего на главы «Требования к коду», «Жизненный цикл ПО» и «От скрипта к приложению», откуда следуют требования к сборке, тестам и документации. Примеры доведённой до конца работы приведены в части «Разбор реальных кодов».
Формальные требования к выполнению проекта:
- Задача формулируется участниками самостоятельно.
- Требования необходимо разделить на базовые и дополнительные.
- Базовые требования, как правило, связаны друг с другом, и реализовывать их приходится вместе, а из дополнительных выбирается то подмножество, которое возможно выполнить в срок.
- Проект должен быть связан с физикой, а основным языком реализации предполагается Python.
- Работа ведётся командой в два-три человека (исключения возможны).
- Каждый участник отвечает за свою часть.
- Решение задачи предполагает как минимум три этапа:
- Формулировка задачи (срок: последняя неделя ноября). Результатом этапа становится документ, содержащий уточнённую формулировку задачи, а также предполагаемый путь её решения. Рекомендуемый объём этой части документа — 1-2 страницы. Кроме того, документ должен содержать табличное описание оставшихся этапов: сроки, полученная функциональность, разделение ответственности между участниками.
- Реализация базовой функциональности (срок: вторая неделя декабря). На этом этапе должны быть реализованы базовые требования.
- Расширенная функциональность (срок: зачётная неделя). На этом этапе должны быть частично или полностью реализованы дополнительные требования.
Требования к сдаче
Артефакты, получаемые по результатам этапов:
- Программный код со сборочными файлами. Код должен собираться без участия IDE. Приветствуется контейнеризация.
- Покрытие тестами.
- Документация на программный интерфейс.
- Примеры, демонстрирующие возможности разработанной программы.
Примечание: все артефакты, включая документацию 1-го этапа, должны быть размещены в системе контроля версий.
Репозитория-заготовки у этого задания нет: репозиторий создаётся участниками самостоятельно, и его устройство входит в состав работы. Устройство репозитория разобрано в главе «Git», конвейер сборки — в главе «Жизненный цикл ПО».