|
Проекты по курсу ТППО
Основные требования к проекту
- Документация. Процесс разработки проекта должен быть полностью документирован.
Структура документации и шаблоны некоторых документов предоставляются.
- Расширяемость. Архитектура ПО и проектирование подсистем должны предоставлять
возможность удобного дальнейшего развития по основным направлениям. Тем самым разработанный
продукт может быть развит в дальнейшем другой командой разработчиков без в соответствии с новыми
требованиями.
- Трассируемость. Все стадии разработки проекта должны быть явно
связаны друг с другом. Например, должна прослеживаться линия развития
функциональностей проекта от требований заказчика до реализации и тестирования.
- Модульность. ПО должно быть разбито на подсистемы/модули. Каждый модуль
должен быть логически обоснован, иметь собственную функциональность (кроме, возможно,
подсистем/модулей данных) и интерфейс взаимодействия с другими модулями.
- Утилита GNU make. Обязательное использование утилиты GNU make или ее аналогов
для сборки многомодульного ПО.
Тематика проектов
- Функция диалога. Возможные направления: диалог программы с
пользователем, диалог программы с программой. Основное требование: диалог
не должен быть бессмысленным с точки зрения пользователя программы.
Приветствуется наличие элементов искусственного интеллекта.
- Интерфейс пользователя. Основная часть ПО составляет интерфейс пользователя.
Рекомендуется использование графических библиотек.
- Сетевое взаимодействие. Создание сетевого ПО, например:
telnet-подобный клиент, сетевое эхо, http сервер и т.п.
- Базы данных. Основная часть проекта направлена на работу с базами
данных. Добавление, изменение, удаление элементов, выборка и т.п.
- Вычислительные алгоритмы. Реализация некоторого нетривиального вычислительного
алгоритма, который будет составлять основную часть ПО.
- Трансляторы. Реализация некоторого транслятора (компилятор, интерпретатор,
конвертор и т.п.). Возможно совмещение
проекта с работой по курсу Языки программирования и методы трансляции.
Дополнительные плюсы при разработке проектов
- Реализация проекта на сервере kappa.cs.karelia.ru и/или под операционной
системой Linux.
- Самостоятельное нахождение и использование специализированных программных инструментов в
ходе разработки проекта. Данный
пункт не включает в себя инструменты, предназначенные для широкого использования,
такие как графические и текстовые редакторы и т.п.
- Использование репозитория CVS или его аналогов.
|