Требования к выполнению заданий
- Необходимо выполнить одну курсовую задачу из предложенных, либо
предложить свою формулировку, согласовав ее с преподавателем
- Каждое задание состоит их базовых и дополнительных требований.
- Требования предложенных задач также можно (и нужно) менять/уточнять.
Обязательные требования, как правило, взаимосвязаны и их необходимо реализовать
вместе (хотя их изменение также допускается). Из дополнительные требований
следует выбирать некоторое подмножество, можно дополнить своими требования.
- В формулировках большинства задач основным языком реализации
предполагается Clojure (если не указано обратного). Это условие (как и
все остальные) может быть изменено. Следует иметь ввиду, что
при этом может возникнуть необходимость в изменении формулировок остальных
требований, либо сложность их реализации может существенно измениться (как правило
- возрасти).
- Задания выполняются вдвоем (в редких случаях допускаются исключения)
- При выполнении задания каждый участник имеет за свою зону
ответственности
- Решение задачи предполагает как минимум три этапа:
- Формулировка задачи. Результатом этапа явлется документ документ, содержащий
уточненнцю формулировку задачи, а также предполагаемый путь ее решения.
Рекомендуемый объем этой части документа 2-3 страницы. Кроме того документ
дожен содержать табличное описание (календарный план) оставшихся этапов: сроки,
полученная функциональность, разделение ответственности между участниками.
Срок:
первая неделя ноября.
- Реализация базовая функциональности. На этом этапе должны быть
реализованы базовые требования.
Срок: первая неделя декабря.
- Расширенная функциональность (таких этапов может быть более одного).
На этом этапе должны быть частично или полностью реализованы дополнительные требования.
Срок: зачетная неделя.
- Артефакты, получаемые по результатам этапов (кроме 1-го):
- Программный код со сборочными файлами. Очень желательно,
чтобы код собирался без использования IDE. В зависимосте от языка реализации
рекомендуется использовать Make, Maven, Rake, Leiningen и т.д.
- Покрытие компонентными тестами.
- Автоматически генерируемая документация на программный интерфейс.
- Примеры, демонстрирующие функциональность разработанной
библиотеки. Для большинства задач модельные примеры следует придумать
самостоятельно.
Примечание: все артефакты, включая дикументацию 1-го этапа, должны
быть размещены в SVN