МОТИВАЦИЯ И АКТУАЛЬНОСТЬ

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

  1. Какой спектр задач решают ныне существующие системы автоматизации тестирования?
  2. Какие новые возможности предоставляет данный программный комплекс по сравнению с уже существующими системами?
  3. В чем основные его преимущества, благодаря которым и была начата работа над проектом?

Примерами систем автоматизации тестирования могут послужить Visual Studio .NET Academic от фирмы Microsoft и система проведения соревнований "edjudge", разработанная в Московском государственном университете. Подобный выбор обоснован, прежде всего, известностью данных организаций. Пакет Visual Studio .NET Academic, разработанный фирмой Microsoft, позволяет автоматизировать процесс проверки лабораторных работ по программированию. Основная его идея заключается в следующем:

  1. преподаватель, используя программные средства пакета, создает и публикует на сервере курс (course), посвященный некоторой теме;
  2. затем этот курс заполняется заданиями (assignments) по программированию;
  3. после этого преподаватель регистрирует студентов в системе (если это еще не было сделано) и дает им адрес сервера, на котором находится курс с заданиями;
  4. студенты подключаются к серверу, загружают необходимые задания, решают их и отправляют свои программные проекты обратно;
  5. преподаватель проверяет полученные решения и ставит оценки, которые сразу же становятся видны студентам.

Безусловно, данный пакет может быть крайне удобным при организации практикумов по программированию в университетах. Пакет интегрирован непосредственно в Visual Studio .NET, благодаря чему обеспечивается наличие единой среды разработки программных проектов, независимо от того, где находится человек – в лаборатории университета или у себя дома. В то же время, при наличии доступа в Internet, отпадает необходимость копировать проект на электронный носитель, устанавливать в лаборатории университета и лично показывать преподавателю – все это можно сделать непосредственно из той же программной оболочки .NET, в которой и разрабатывалась программа.

Однако, несмотря на все перечисленные достоинства, Microsoft Visual Studio .NET Academic обладает и рядом недостатков, а именно:

  • узкая направленность системы – с ее помощью можно проводить только практикумы по программированию и только на языках платформы .NET: Visual Basic .NET, Visual C++ .NET и Visual C# .NET, причем особый упор делается именно на язык C#;
  • пакет рассчитан только на пользователей операционной системы Microsoft Windows;
  • Visual Studio .NET является коммерческим продуктом, за который необходимо платить большую сумму денег, что не является приемлемым для части его потенциальных пользователей.

Можно рассмотреть в качестве примера другую систему – edjudge, которая не является коммерческой и распространяется бесплатно. Она предназначена для проведения соревнований или, если говорить более конкретно, для проведения олимпиад по программированию.

Исходные коды edgudge открыты, что является, несомненно, плюсом данного пакета. Но и в данной системе автоматизации тестирования есть ряд существенных недостатков:

  • как и в предыдущем примере – узкая направленность, так как edjudge предназначена только для проведения олимпиад по программированию;
  • документация к системе занимает 318 страниц текста, причем две трети из них занимает описание многочисленных конфигурационных файлов сервера и всех вспомогательных программ, поэтому установка и сопровождение данной системы становится несколько громоздкой задачей;
  • все вспомогательные утилиты, такие как программы выдачи рейтинга, отправки решения реализованы в виде CGI-скриптов, то есть возможности клиентского программного обеспечения ограничены возможностями браузеров;
  • система является псевдо-распределенной, то есть все ее компоненты, помимо тех, что компилируют и выполняют присылаемые решения, должны находится только на одной серверной машине. Все общение с внешним миром происходит через браузеры. Программы, компилирующие и тестирующие решения, общаются при помощи общих каталогов, поэтому их использование ограничено только теми компьютерами, которые имеют сетевую файловую систему;
  • исходный код edjudge написан исключительно на языке C, без использования каких-либо приемов объектно-ориентированного анализа и проектирования, поэтому хоть он и является открытым, но сложен для изучения и дальнейшего развития.

Таким образом, ни тот, ни другой программный комплекс не является универсальным и решает лишь узкий круг задач.

Целью данного проекта является создание такого программного комплекса, который бы, сочетая в себе все достоинства существующих систем, содержал как можно меньше недостатков и был более универсальным.

Разрабатываемая система Olympia позволяет решать достаточно большой круг задач – от проведения олимпиад по программированию до организации заочных контрольных работ и практикумов. Она написана на языке C++ с применением методов объектно-ориентированного программирования, таких как инкапсуляция основных объектов предметной области в объектах языка C++, применение паттернов объектно-ориентированного проектирования. Исходные коды системы открыты и доступны для загрузки в разделе Download.

Назад | На главную | Вперед



Copyright © 2004-2024. Все права защищены.