В докладе рассказывается о разработке на кафедре ПО ИжГТУ специализированного программного комплекса AcmOlimp для проведения конкурсов и турниров по программированию с автоматическим тестированием задач на базе свободного программного обеспечения.
В 2003 году на кафедре ПО ИжГТУ была организована группа разработчиков из 3-х студентов (Виноградов Павел, Просалов Максим, Караяни Михаил) 3-го курса под научным руководством доцента кафедры ПО Тарасова Владимира Георгиевича. Целью этой группы была организация проекта по разработке новой версии автоматизированной системы проведения олимпиад вместо морально устаревшей АС Олимпиада, разработанной в 1999 году.
Этот проект стал экспериментальным для кафедры, т. к. после проведения анализа поставленной задачи и средств для её реализации, для реализации проекта были выбраны открытые средства разработки и свободная лицензия на конечный продукт.
1 В ходе проведения анализа предметной области проекта мы были поставлены перед необходимостью выбора средств разработки для реализации этого проекта. Для выполнения этой задачи выбор свободных средств разработки (Apache, MySQL, Php, GCC, Fpc) имел ряд значительных преимуществ:
2 Начиная с единого на всю команду разработчиков loginна на кафедральном linux-сервере, мы создали инфраструктуру разработки, предоставляющую все необходимые свободные средства разработки, включая компиляторы, серверы БД, web-инфраструктуру, систему контроля версий, систему документирования и отслеживания ошибок.
3 В ходе реализации проекта нам приходилось изучать не только конкретные реализации тех или иных технологий (SQL, многопоточное программирование, сетевое программирование, взаимодействие процессов в Linux, web-программирование), но и соответствующие теоретические курсы, заложенные в программу обучения на специальности.
И там где это возможно, мы старались совместить изучение таких курсов с разработкой соответствующего модуля системы. Конечно, не все преподаватели соглашались на наши предложения выполнить практические задания по собственному техническому заданию с использованием свободных средств разработки.
4 Из-за отсутствия достаточного объёма знаний и опыта разработки проектов такого масштаба многие вещи приходилось переделывать и переписывать. Так, реализация сервера решений готовится пережить уже 3-ю смену языка (Perl->C->C++). Реализация web-интерфейса тоже пережила ряд комплексных изменений (переход к html-шаблонам, универсальный слой абстракции в работе с БД). Также сейчас весь проект готовится к миграции на PostgreSQL.
5 За 3 года разработки проекта лаборатория кафедры получила современный евроремонт, новый лабораторный сервер, и комплект из 10 клиентских машин. Всё это позволило организовать современный высокотехнологичный класс, обеспеченный всем необходимым для комфортной работы студентов. А новый высокопроизводительный сервер обеспечил необходимые ресурсы не только для обеспечения функционирования лаборатории, но и для тестирования разрабатываемых проектов, в том числе и публичного.
Также интернет-центром университета были предоставлены необходимые ресурсы для доступа студентов в Интернет, собственный почтовый домен (с возможностью организации рассылок), и ограниченный публичный доступ к серверу лаборатории.