Итоговый проект

Опирается на всю книгу, прежде всего на главы «Требования к коду», «Жизненный цикл ПО» и «От скрипта к приложению», откуда следуют требования к сборке, тестам и документации. Примеры доведённой до конца работы приведены в части «Разбор реальных кодов».

Формальные требования к выполнению проекта:

  1. Задача формулируется участниками самостоятельно.
  2. Требования необходимо разделить на базовые и дополнительные.
  3. Базовые требования, как правило, связаны друг с другом, и реализовывать их приходится вместе, а из дополнительных выбирается то подмножество, которое возможно выполнить в срок.
  4. Проект должен быть связан с физикой, а основным языком реализации предполагается Python.
  5. Работа ведётся командой в два-три человека (исключения возможны).
  6. Каждый участник отвечает за свою часть.
  7. Решение задачи предполагает как минимум три этапа:
    • Формулировка задачи (срок: последняя неделя ноября). Результатом этапа становится документ, содержащий уточнённую формулировку задачи, а также предполагаемый путь её решения. Рекомендуемый объём этой части документа — 1-2 страницы. Кроме того, документ должен содержать табличное описание оставшихся этапов: сроки, полученная функциональность, разделение ответственности между участниками.
    • Реализация базовой функциональности (срок: вторая неделя декабря). На этом этапе должны быть реализованы базовые требования.
    • Расширенная функциональность (срок: зачётная неделя). На этом этапе должны быть частично или полностью реализованы дополнительные требования.

Требования к сдаче

Артефакты, получаемые по результатам этапов:

  • Программный код со сборочными файлами. Код должен собираться без участия IDE. Приветствуется контейнеризация.
  • Покрытие тестами.
  • Документация на программный интерфейс.
  • Примеры, демонстрирующие возможности разработанной программы.

Примечание: все артефакты, включая документацию 1-го этапа, должны быть размещены в системе контроля версий.

Репозитория-заготовки у этого задания нет: репозиторий создаётся участниками самостоятельно, и его устройство входит в состав работы. Устройство репозитория разобрано в главе «Git», конвейер сборки — в главе «Жизненный цикл ПО».