(c) Larry Ewing, Simon Budig, Garrett LeSage
с 1994 г.

Кафедра Информатики и Математического Обеспечения

ПетрГУ | ИМиИТ | О кафедре | Проекты | Лаборатория ИТС | Семинары НФИ/AMICT
Сотрудники | Учебный процесс | Табель-календарь | Курсовые и выпускные работы
Вычислительные ресурсы | Публикации | Архив новостей | Контактная информация (English)

Проекты по курсу ТППО

Основные требования к проекту

  1. Документация. Процесс разработки проекта должен быть полностью документирован. Структура документации и шаблоны некоторых документов предоставляются.
  2. Расширяемость. Архитектура ПО и проектирование подсистем должны предоставлять возможность удобного дальнейшего развития по основным направлениям. Тем самым разработанный продукт может быть развит в дальнейшем другой командой разработчиков без в соответствии с новыми требованиями.
  3. Трассируемость. Все стадии разработки проекта должны быть явно связаны друг с другом. Например, должна прослеживаться линия развития функциональностей проекта от требований заказчика до реализации и тестирования.
  4. Модульность. ПО должно быть разбито на подсистемы/модули. Каждый модуль должен быть логически обоснован, иметь собственную функциональность (кроме, возможно, подсистем/модулей данных) и интерфейс взаимодействия с другими модулями.
  5. Утилита GNU make. Обязательное использование утилиты GNU make или ее аналогов для сборки многомодульного ПО.

Тематика проектов

  • Функция диалога. Возможные направления: диалог программы с пользователем, диалог программы с программой. Основное требование: диалог не должен быть бессмысленным с точки зрения пользователя программы. Приветствуется наличие элементов искусственного интеллекта.
  • Интерфейс пользователя. Основная часть ПО составляет интерфейс пользователя. Рекомендуется использование графических библиотек.
  • Сетевое взаимодействие. Создание сетевого ПО, например: telnet-подобный клиент, сетевое эхо, http сервер и т.п.
  • Базы данных. Основная часть проекта направлена на работу с базами данных. Добавление, изменение, удаление элементов, выборка и т.п.
  • Вычислительные алгоритмы. Реализация некоторого нетривиального вычислительного алгоритма, который будет составлять основную часть ПО.
  • Трансляторы. Реализация некоторого транслятора (компилятор, интерпретатор, конвертор и т.п.). Возможно совмещение проекта с работой по курсу Языки программирования и методы трансляции.

Дополнительные плюсы при разработке проектов

  • Реализация проекта на сервере kappa.cs.karelia.ru и/или под операционной системой Linux.
  • Самостоятельное нахождение и использование специализированных программных инструментов в ходе разработки проекта. Данный пункт не включает в себя инструменты, предназначенные для широкого использования, такие как графические и текстовые редакторы и т.п.
  • Использование репозитория CVS или его аналогов.