Разработка математического обеспечения информационной системы проведения олимпиад по информатике

Анализ современного состояния проблемы организации и проведения олимпиад по естественным наукам. Построение функциональной модели, проектирование архитектуры данных. Пользовательский интерфейс, обоснование выбора средств разработки и системы управления.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 30.07.2016
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

"НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ

"ВЫСШАЯ ШКОЛА ЭКОНОМИКИ"

Московский институт электроники и математики
Выпускная квалификационная работа
по специальности 230401.65 Прикладная математика
РАЗРАБОТКА МАТЕМАТИЧЕСКОГО ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ ПРОВЕДЕНИЯ ОЛИМПИАД ПО ИНФОРМАТИКЕ (ИС "ИНФОТЕСТ")
Студент Толкунова Мария Вадимовна
Научный руководитель
к.т.н., доцент А.В. Белов
Москва
2015
Содержание
Аннотация. Abstract
Введение
Глава 1. Анализ современного состояния проблемы организации и проведения олимпиад по естественным наукам
1.1 Анализ особенностей проведения олимпиад
1.2 Анализ существующих автоматизированных систем поддержки проведения олимпиад Ejudge Contester
1.3 Техническое задание на разработку ИС "Инфотест"
Выводы к 1 главе
Глава 2. Проектирование ИС "Инфотест"
2.1 Построение функциональной модели
2.2 Проектирование архитектуры данных
2.3 Архитектура приложения
2.4 Проектирование технологической архитектуры
Выводы ко 2 главе
Глава 3. Разработка системы
3.1 Обоснование выбора средств разработки
3.2 Система управления базами данных
3.3 Языки программирования и библиотеки языков
3.4 Веб-сервер
3.5 Разработка пользовательского интерфейса АРМ "Администратор олимпиады"
3.6 Тестирование системы
Выводы к 3 главе
Заключение
Список литературы
Аннотация. Abstract
Данная работа посвящена разработке модели автоматизированной системы поддержки проведения олимпиад по информатике.
Исходя из поставленной цели, в дипломной работе приведен сравнительный анализ современных систем поддержки проведения олимпиад, сделан вывод о необходимости разработки новой системы. Спроектированные модели, схемы и алгоритмы могут быть использованы для полноценной реализации и последующего внедрения системы в образовательный процесс.
Информационная система "Инфотест" спроектирована таким образом, что может быть использована для поддержки проведения олимпиад не только по информатике, но и по другим школьным дисциплинам.
Design of Information System Software for School Computer Science Olympiads
by
Maria Tolkunova
Abstract
This graduation work is devoted to design an automated support system of computer science Olympiad execution.
According to the goal, the comparative analysis of modern support systems is described in the thesis, it is concluded that it is necessary to develop a new one. The designed models, schemes and algorithms can be used for full realization and the subsequent introduction of system in educational process.
Information system "Infotest" is designed in such a way that it can be used for Olympiads not only in Informatics, but also in other school disciplines.
Supervisor: Prof. Belov A.
Введение
Основной целью данной работы является проектирование новой информационно-управляющей системы для проведения олимпиад по информатике ИС "Инфотест".
Первая глава работы посвящена выявлению особенностей при проведении и организации олимпиад, а так же обзору, анализу и сравнению существующих систем автоматического тестирования. Также в данной главе имеет место постановка технического задания на проектирование ИС "Инфотест", составленного по ГОСТу.
Во второй главе на основании анализа различных систем автоматического тестирования формулированы основные принципы организации системы, приведена подробная архитектура, описаны роли предполагаемых пользователей и их возможности, выделены основные сущности и связи между ними.
Третья глава посвящена разработке автоматизированной системы. В ней описываются средства, используемые при создании системы: языки программирования, рекомендуемая база данных, библиотеки и другие сервисы. Разработан пользовательский интерфейс. Предложены методы тестирования системы.
Глава 1. Анализ современного состояния проблемы организации и проведения олимпиад по естественным наукам
1.1 Анализ особенностей проведения олимпиад
Олимпиады проводятся в целях выявления и развития у обучающихся творческих способностей и интереса к научной и научно-исследовательской деятельности, пропаганды научных знаний, содействия профессиональной ориентации школьников.
Олимпиада проводится в несколько этапов - отборочный и заключительный. Отборочный тур является дистанционным в заочной форме и может проводиться в несколько туров, заключительный этап является очным и проводится, как правило, в один тур [1].
Наибольший интерес с точки зрения организации олимпиады вызывает очный этап соревнования. Можно выделить три основных схемы технической реализации системы тестирования в регионах:

1 "On-line" режим.

Существует единственный центр управления, в котором подготавливается инсталляция системы проведения олимпиады. Администратор закачивает все необходимые для работы образы на одну платформу.

Плюсы:

- Централизованное управление;

- Простота реализации;

- Возможность быстро создать новые виртуальные машины.

Минусы:

- Сильная зависимость от качества каналов;

- Отсутствие режима безопасной работы. Если не обеспечено наличие https протокола, данные могут оказаться в открытом доступе;

- Отсутствие возможности ограничить доступ участника к справочным ресурсам

2 "Off-line" режим

Организаторами олимпиады выбираются места её проведения: вузы, школы или другие площадки. В каждой точке проведения олимпиады инсталлируется свой экземпляр платформы. Единого центра управления нет. Администратор закачивает все необходимые для работы системы образы на серверное оборудование, имеющееся на каждой из точек проведения олимпиады.

Плюсы:

- Независимость от качества каналов;

- Обеспечение безопасного доступа к данным;

- Ограничение доступа участника к справочным ресурсам.

Минусы:

- Увеличение времени инсталляции;

- Увеличение сложности технической поддержки инфраструктуры;

- Для проверки результатов необходимо взаимодействовать с несколькими экземплярами платформы.

3 "Гибридный" режим.

В каждой точке проведения олимпиады инсталлируется "клиентская" часть платформы, связанная с центральным сервером. Администратор разворачивает клиентские части платформы и закачивает все необходимые образы в каждую точку.

Плюсы:

- Независимость от качества каналов;

- Централизованное управление;

- Безопасное обращение к данным.

Минусы:

- Кастомизированный проект;

- Существенное увеличение аппаратных ресурсов;

- Увеличение сложности технической поддержки инфраструктуры.

Следует отметить, что олимпиады могут проводиться по разным дисциплинам. Разные предметы подразумевают разные задания и вопросы, а, значит, при их проверке должны быть реализованы разные алгоритмы обработки результатов.

Олимпиада по информатике - интеллектуальное соревнование по решению различных задач. Данная олимпиада, помимо стандартных вопросов в тестовой форме, включает в себя задания, для которых необходимо придумать алгоритм и разработать программу на одном из языков программирования. Задача решена только тогда, когда участник олимпиады написал программный код, который работает без ошибок на всех тестах, подготовленных жюри. Таким образом, можно выделить еще одну особенность - наличие в системе тестирования компилятора или интерпретатора. Помимо всего прочего, система должна быть сконфигурирована на поддержку не только наиболее распространенных языков программирования, являющихся фактическим стандартом обучения в школах, но и современных языков программирования, совмещающих в себе разные концепции и парадигмы.

Теперь следует рассмотреть особенности процесса инсталляции системы. Как правило, она состоит из следующих компонентов:

- Тестирующая часть;

- Веб-интерфейс;

- База данных и СУБД;

- Веб-сервер.

Рисунок. 1 Диаграмма компонентов системы поддержки олимпиад по программированию

Веб-интерфейс и связанные с ним веб-сервер и СУБД - это часть системы, отвечающая за взаимодействие с пользователем. Пользователь получает доступ к системе через веб-сервер, который проксирует запросы к веб-интерфейсу. В роли проксирующего сервера могут быть использованы любые WAMP платформы [16], если система разработана только под Windows. Для кроссплатформенных систем могут быть использованы, например, Apache [14] и Nginx [15]. Выбранный веб-сервер должен поддерживать взаимодействие с некоторой СУБД. В качестве такой системы управления базой данных можно указать Oracle, MySQL, PostgreSQL.

Для наглядного анализа существующих систем для проведения олимпиад по информатике следует выделить несколько основных особенностей:

1 Несколько способов технической реализации системы;

2 Ориентированность на различные ОС;

3 Наличие интерпретатора программного кода;

4 Поддержка распространенных языков программирования;

5 Автоматизация проверки вопросов в форме тестов;

6 Простота в настройке и эксплуатации;

7 Поддержка ресурсов, обеспечивающих нормальную работоспособность системы;

8 Обновление и поддержка системы;

9 Свободно распространяемая лицензия;

10 Интерфейс участника, администратора и панель настроек;

11 Хранение олимпиадных заданий и данных о пользователях;

12 Сбор статистики.

1.2 Анализ существующих автоматизированных систем поддержки проведения олимпиад Ejudge Contester

На сегодняшний день идёт весьма энергичный рост и развитие информационных систем, целью которых выступает организация учебного процесса. Этому способствует активное внедрение информационных технологий в образование, и, как следствие, понимание достоинств и преимуществ их использования не только в роли средств образовательной деятельности, но и в качестве инструмента, позволяющего автоматизировать процесс проведения разного рода работ, в частности, проведения олимпиад по различным предметам. Самым большим плюсом является автоматизация проверки, что в свою очередь позволяет преподавателю экономить время, тестировать большее количество программ и уменьшает вероятность ошибки при проверке. В некоторых случаях автоматизированная система позволяет проверить программный код даже более полно, нежели это может сделать преподаватель. Это объясняется тем, что каждая программа запускается несколько десятков раз на разных тестовых наборах входных данных, составители которых стараются предусмотреть все частные и предельные случаи работы программы. Другим важным аспектом использования информационно-управляющей системы является сбор и накопление информации: данных об учащихся, их решений и заданий. Это может потребоваться при составлении аналитических обзоров, выявлении сложных или плохо сформулированных заданий, ведению статистики прошедших олимпиад.

Следует, однако, отметить, что автоматизированное тестирование никогда не сможет полностью заменить проверку кода человеком, потому что такой подход позволяет оценить формальный факт того, что программа правильно решает поставленную задачу, но он не дает возможности оценить оптимальность кода и его "красоту". Поэтому тестирующая система выступает лишь помощником преподавателя и никогда не сможет стать его полноценной заменой.

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

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

Таблица 1

Информационные системы поддержки проведения олимпиад

Название

Сайт

ОС

Поддержка

Лицензия

Примечания

Ejudge

http://ejudge.ru

Linux

Да

GPL

PCMS2

http://neerc.ifmo.ru/trains/information/software.html

Windows

Да

?

Последние версии не выкладываются в свободный доступ

DOMjudge

http://domjudge.org

Linux

Нет

GPL v2

Голландия

Contester

http://contester.ru

Windows, Linux

Нет

Проприетарная

Не поддерживается с 2010 г.

PC^2

http://ecs.csus.edu/pc2

Windows, Linux, Mac

Нет

Проприетарная

Используется на финале ACM ICPC

Dudge

https://github.com/DiceMaster/dudge

Windows,Linux

Да

GPL

Пока не было ни одного релиза.

Olympiads.ru

http://olympiads.ru/school/system/index.shtml

Windows

Нет

Проприетарная

Не поддерживается с 2003 года

CMS

http://cms-dev.github.io

Linux

Да

GPL-3+

Sharif Judge

http://sharifjudge.ir

Linux

Нет

GPL v3

Tester

http://acm.timus.ru/tester

Windows

Да

?

ACMserver

http://acm-server.ru

Windows

Нет

?

BOCA

http://www.ime.usp.br/~cassio/boca/

Linux

Нет

GPL v3

Используется в Latin America ACM-ICPC

Mooshak

https://mooshak.dcc.fc.up.pt

Linux

Да

Artistic license

DMOJ

https://github.com/DMOJ/judge

?

?

GPL v3

Acm

http://www.cs.rit.edu/~ats/projects/acm/doc/

Linux, Solaris

Нет

?

Moe

http://www.ucw.cz/moe/

Linux

Да

GPL v2

Некоторая информация взята с сайта, посвященному системе проведения турниров по программированию "Ejudge" [2].

Произведя сравнительный анализ на основе найденных данных, можно сделать следующие выводы:

1 Большинство из представленных выше систем реализованы под конкретную операционную систему, что в свою очередь накладывает серьезные ограничения на использование продукта.

2 Некоторые системы перестали поддерживаться авторами и обновляться, либо больше не выкладываются в свободный доступ и распространяются не на свободной основе.

3 Такие системы как "Ejudge", "DOMjudge", "Dudge", "Sharif Judge", "BOCA", "DMOJ" и "Moe" имеют GPL (General Public License) лицензию, то есть их авторы передают программное обеспечение в общественную собственность. Проприетарная лицензия, которая есть у "Contester", "PC^2", "Olympiads.ru" говорит о том, что это программное обеспечение является частной собственностью авторов или правообладателей и не удовлетворяет критериям свободного программного обеспечения (наличия открытого программного кода не достаточно).

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

По некоторым наблюдениям наиболее популярными системами для автоматического тестирования на данный момент в России выступают "Ejudge" и "Contester".

Ejudge

Система написана на языке C, состоит из нескольких модулей и утилит. Поддерживается почти любым современным дистрибутивов Linux.

Основной интерфейс системы реализован с помощью веб-технологий, имеет большое количество настраиваемых возможностей. Доступ к веб-интерфейсу обеспечивается веб-сервером Apache при специальных настройках. Утилиты командной строки и программы с текстовым интерфейсом позволяют реализовать дополнительные административные возможности.

Утилиты командной строки позволяют получить информацию в формате, удобном для дальнейшей обработки (XML- и CSV-форматы). Административный веб-интерфейс позволяет выполнить все операции по созданию и настройке нового турнира, не прибегая к редактированию конфигурационных файлов.

"Ejudge" поддерживает практически все популярные языки программирования: C, C++, Java, Pascal, Perl, Python и другие, также возможно добавление языков в уже работающую систему [4].

Резюмируя, "Ejudge" со своей поставленной задачей справляется. Стоит отметить, что данная система наиболее часто применятся при проведении олимпиад по программированию.

Главными недостатками данной системы являются: сложность установки, поддержки, интеграции, ориентированности только на операционную систему Linux, не совсем логичный и удобный интерфейс.

Система "Ejudge" спроектирована как гибкий и расширяемый продукт, который допускает как комплексное использование, так и заимствование отдельных компонентов. Однако, уже на данном этапе сложность этой системы достигла максимальных значений, обнаруживая все просчёты в проектировании.

Contester

"Contester" разработан на Delphi и FreePascal. В системе используется сервер баз данных Firebird, компоненты Indy.Sockets и библиотека ZLib. Работает на Windows и Linux. Поддерживает языки: C++, Object Pascal, Java и языки.NET: C#, J# и Visual Basic [5].

На данный момент в основу "Contester" заложены правила ACM-соревнований.

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

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

Интерфейс администратора турнирной системы позволяет: создавать, блокировать и удалять учетные записи участников системы, создавать и удалять задачи, турниры, сборники и разделы, вносить тестовые пары к задачам; компилировать решения, просматривать список решений участников, компилировать решения и просматривать журналы компиляции и проверки каждой попытки; добавлять в систему языки программирования; распределять проверку решений на несколько серверных компьютеров [5].

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

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

Недостатком системы является её проприетарность.

Кроме того использование при разработке языка Delphi усложняет поддержку продукта и ставит под сомнение дальнейшее существование системы.

Таблица 3, содержащая сравнительный обзор на описанные выше системы:

Таблица 2

Технологические платформы для систем поддержки олимпиад по программированию "Ejudge" и "Contester".

Система

ОС

СУБД

Среда разработки

Дополнительно

Ejudge

Linux

MySQL

C, Java

Apache

Contester

Windows, Linux

Firebird

Delphi, Freepascal

Indy.Sockets, Zlib

На таблице 3 представлены как плюсы, так и минусы рассмотренных систем с точки зрения особенностей, сформулированных в прошлом параграфе:

Таблица 3

Сравнение систем "Ejudge" и "Contester"

Функции

Ejudge

Contester

Несколько способов технической реализации системы

+

+

Ориентированность на различные ОС

_

+

Наличие в системе интерпретатора программного кода

+

+

Поддержка распространенных языков программирования

+

+

Автоматизация проверки вопросов в форме тестов

+

_

Простота в настройке, администрировании и эксплуатации

_

+

Поддержка ресурсов, обеспечивающих работоспособность

+

_

Обновление и поддержка системы

+

+

Свободно распространяемая лицензия

+

_

Интерфейс участника, администратора, системы

+

+

Хранение олимпиадных заданий и данных о пользователях

+

+

Сбор статистики

_

_

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

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

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

1.3 Техническое задание на разработку ИС "Инфотест"

В соответствии с проведенным анализом предметной области были сформулированы технические требования к проектируемой информационно-управляющей системе. Технические требования сформулированы в формате, определенном ГОСТами 34 серии [6,7].

1 Общие сведения

1.1 Полное наименование системы и ее условное обозначение:

Полное наименование системы: Информационно-управляющая система для проведения олимпиад по информатике "Инфотест"

Краткое наименование системы: ИС "Инфотест", Система

1.2 Порядок оформления и предъявления заказчику результатов работ

Результаты работ по созданию ИС "Инфотест" оформляются и предъявляются поэтапно в соответствии с Календарным планом.

2 Назначение и цели создания системы

2.1 Назначение системы

Информационно-управляющая система предназначена для поддержки проведения олимпиады по информатике в области выполнения процессов:

- Сбор личных данных участников олимпиады;

- Хранение решений участников, заданий и другой информации;

- Проверка полученных участниками результатов выполненных олимпиадных заданий с минимальными трудозатратами;

- Взаимодействие между участниками олимпиады и членами жюри или администраторами посредством форума;

- Ведение журнала пользователей;

- Создание бэкапов;

- Проведение аналитических исследований на основе статистических данных;

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

2.2 Цели создания системы

ИС "Инфотест" создается с целью:

- Повышения эффективности учебного процесса;

- Упрощения широкого спектра различных видов деятельности: проверки решений учащихся, организации процесса тестирования.

- Уменьшения рисков возникновения недостоверных данных вследствие человеческого фактора;

- Оперативного получения учащимися информации о выданных им задачах, а так же о статусе проверки их решений;

- Автоматического контроля за соблюдением учащимися сроков выполнения работ;

- Возможности создания единой базы задач для их неоднократного применения в учебном процессе.

3 Характеристика объекта автоматизации

Объектом автоматизации выступает Олимпиада по информатике.

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

Рисунок 2. Диаграмма этапов Всероссийской олимпиады школьников

На рисунке 2 отмечены организаторы каждого из этапов олимпиад, возрастные рамки и сроки проведения.

В первую очередь стоит отметить, что проведение школьного, муниципального и регионального этапов олимпиады регламентируется Положением о Всероссийской олимпиаде школьников, утвержденным Приказом Министерства образования и науки Российской Федерации (Минобрнауки России) от 18 ноября 2013 г. № 1252 г. Москва [1].

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

Основной функцией данного тура является отбор на последующие этапы олимпиады. Для проведения школьного этапа олимпиад создаются оргкомитет, жюри и предметно-методическая комиссия олимпиады. Организатором школьного этапа выступает образовательная организация, как правило, им является школа. За разработку заданий и критериев проверки отвечает школьная предметно-методическая комиссия или школьное жюри на основании методических рекомендаций центральных предметно-методических комиссий.

Вторым туром является муниципальный этап, в нем могут принять участие учащиеся в 7-11 классах образовательных учреждений, победители и призеры школьного тура текущего года либо прошлого учебного года, если продолжили своё обучение. Организатором тура служат органы местного самоуправления муниципальных районов и городских округов в сфере образования.

Муниципальный этап Всероссийской олимпиады играет важную роль в успешности проведения последующих этапов, так как именно по его итогам формируются списки регионального этапа.

Региональный этап проходит в два тура и является заключительным во всей цепочке. Оба тура компьютерные. За его проведение отвечают органы исполнительной власти субъектов Российской Федерации, осуществляющих управление в сфере образования. Разработкой заданий, критериев и методики проверки занимаются центрально-методические комиссии.

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

Для обеспечения одинаковых условий участникам должны быть предоставлены одинаковые или близкие по техническим характеристикам компьютеры. Компьютеры должны быть объединены в локальную вычислительную сеть без доступа к сети Интернет. На компьютерах всех участников должно быть инсталлировано только то программное обеспечение, которое необходимо для решения задач олимпиады. А также на каждом из устройств организаторами олимпиады устанавливается программный продукт, обеспечивающий работу среды. Необходимо сказать, что такая среда не поставляется вместе с материалами центральной предметно-методической комиссии по информатике, и обеспечение регионального этапа такой системой находится в ведении организаторов регионального этапа, региональной предметно-методической комиссии по информатике и жюри [1].

Проанализировав положение о Всероссийской олимпиаде, можно обнаружить некоторые риски, которые могут возникнуть во время организации каждого из этапов олимпиады.

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

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

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

4 Требования к системе

4.1 Требования к системе в целом

4.1.1 Требования к структуре и функционированию системы

ИС "Инфотест" может быть централизованной, т.е. все данные должны располагаться в центральном хранилище, а может быть децентрализованной и работать на нескольких площадках с последующим сбором всей информации с них в единый центр.

Перечень подсистем, их назначение и основные характеристики

Система должна иметь трехуровневую архитектуру (клиентская часть - сервер приложений - сервер базы данных).

Система должна включать в себя следующие прикладные функциональные компоненты (функциональные подсистемы и/или АРМы):

- Подсистема управления справочниками и классификаторами;

- АРМ "Администратор";

- АРМ "Учитель";

- АРМ "Участник олимпиады";

- АРМ "Организатор олимпиады";

- АРМ "Методическая комиссия";

- АРМ "Жюри";

- АРМ "Дирекция по проведению Олимпиады";

- Подсистема поддержки сред программирования;

- Подсистема сбора и анализа отзывов участников олимпиады;

Работа основных функциональных подсистем должны обеспечиваться следующими технологическими подсистемами:

- Операционные системы и системы управления базами данных;

- Локальная вычислительная сеть, компьютерное и специализированное оборудование.

ИС "Инфотест" должна обеспечивать базовые системные сервисы (передача информации, управление пользователями, обеспечение защиты информации и т.п.) для функциональных подсистем.

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

4.1.1.2 Требования к способам и средствам связи для информационного обмена между компонентами системы.

Использовать протокол TCP/IP в качестве протокола взаимодействия между компонентами системы на транспортно-сетевом уровне. Использовать HTTP для организации доступа пользователей к системе. Использовать SOAP протокол поверх протокола HTTP.

4.1.1.3 Требования к режимам функционирования системы.

Для ИС "Инфотест" определяются режимы функционирования: основной режим, в котором все подсистемы исправно выполняют все свои функции; аварийный режим, в котором одна или все подсистемы не могут выполнить все или какую-либо одну из своих функций.

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

Выполнение всех требований эксплуатации программного обеспечения и комплекса технических средств обеспечивает функционирование системы в основном режиме.

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

4.1.1.4 Требования по диагностированию системы.

Специальные требования не предъявляются.

4.1.2 Требования к численности и квалификации персонала системы и режиму его работы

4.1.2.1 Требования к численности персонала

Минимальное количество персонала, требуемого для нормального функционирования системы должно составлять не менее двух штатных единиц: ответственный за информационное обслуживание администратор БД и системный администратор.

4.1.2.2 Требования к квалификации персонала

Ответственный за информационное обслуживание Системы должен обладать практическими навыками работы с пользовательским интерфейсом операционной системы, знать общие принципы организации и функционирования информационных систем, быть компетентным в предметной области Системы. В перечень задач, выполняемых ответственным за информационное обслуживание Системы, должны входить ввод и редактирование информации БД.

Основными обязанностями системного администратора являются:

1 Установка, обновление и конфигурирование программного обеспечения технических средств;

2 Поддержание программного обеспечения серверов и клиентских станций в работоспособном состоянии;

3 Обеспечение своевременного копирования, архивирования и резервирования данных;

4 Восстановление нормального функционирования локальной сети при сбоях работы или выходе из строя сетевого оборудования.

5 Сопровождение программных средств;

6 Обеспечение безопасности сетевых ресурсов, включая контроль доступа в сеть Интернет.

Системный администратор должен иметь высшее профильное образование, опыт обслуживания технических средств и в области настройки и администрирования, применяемых в системе СУБД.

Пользователи системы должны иметь опыт работы в браузерах: Internet Explorer, и/или Opera, и/или Yandex, и/или Mozila FireFox, и/или Google Chrome.

4.1.2.3 Требования к режимам работы персонала

Предполагается, что система будет установлена на персональных компьютерах/ноутбуках. Требования к режимам работы персонала устанавливаются с учетом соответствующего типа техники, на котором инсталлируется система.

4.1.3 Показатели назначения

Система должна обеспечивать возможность исторического хранения данных по пользователям до 5 лет. Система должна обеспечивать возможность многопользовательской работы. Время формирования списка задач, пользователей и выполнения любых несложных запросов должно не превышать 15 секунд. Время сбора аналитической информации и формирования таблиц определяется их сложностью и может занимать продолжительной время.

4.1.4 Требования к надежности

Под надежностью системы понимается её возможность сохранять или восстанавливать работоспособность своего функционала после возникновения внештатных ситуаций: сбоях в системе электроснабжения, появления ошибок в работе аппаратных средств (за исключением носителей и дисков). Защита аппаратуры от больших скачков напряжения должна обеспечиваться сетевыми фильтрами.

4.1.5 Требования к эргономике и технической эстетике

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

- Взаимодействие между пользователем и системой должно происходить на русском языке;

- Ориентированность на работу с клавиатурой и манипулятором графической информации "мышь";

- Отображение на экране только тех возможностей, которые доступны конкретному пользователю в соответствии с его ролью в системе;

- Отображаемые на информационные элементы должны быть типизированы;

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

4.1.6 Требования к эксплуатации, техническому обслуживанию, ремонту и хранению компонентов системы

Условия эксплуатации, а также виды и периодичность обслуживания технических средств Системы должны соответствовать требованиям по эксплуатации, техническому обслуживанию, ремонту и хранению, изложенным в документации завода-изготовителя (производителя) на них.

4.1.7 Требования к защите информации от несанкционированного доступа

4.1.7.1 Требования к информационной безопасности

Информационная безопасность Системы должна обеспечиваться комплексом программно-технических средств и организационных мер. В тоже время программно-технические средства не должны существенно влиять на функциональность системы. Защита системы должна поддерживаться на всех уровнях обработки информации и во всех режимах работы.

4.1.7.2 Требования к антивирусной защите

Средства антивирусной защиты должны обеспечивать защиту от вредоносных программ серверов и АРМ пользователей. Средства должны быть установлены на всех рабочих местах пользователей и администраторов Системы.

4.1.8 Требования по сохранности информации при авариях

В Системе должно быть обеспечено резервное копирование данных.

4.1.9 Требования к защите от влияния внешних воздействий

Применительно к программно-аппаратному окружению Системы предъявляются следующие требования к защите от влияния внешних воздействий: электромагнитное излучение радиодиапазона, возникающее при работе электробытовых приборов, электрических машин и установок, приёмопередающих устройств, эксплуатируемых на месте размещения Системы, не должны приводить к нарушениям работоспособности подсистем. Система должна иметь возможность функционирования при колебаниях напряжения электропитания в пределах от 155 до 265 В (220 ± 20 % - 30 %);

4.1.10 Требования по стандартизации и унификации

Для работы с базой данных должен использоваться язык запросов SQL в рамках стандарта ANSI SQL-92.

4.1.11 Дополнительные требования

Специальные требования не предъявляются.

4.1.12 Требования безопасности

Специальные требования не предъявляются.

4.2 Требования к функциям (задачам), выполняемым системой

Данная система предназначена для автоматизации процессов организации и проведения олимпиады по информатике.

Функции системы включают в себя функции, обеспечивающие работу с нормативно-справочной информацией, а также функции, обеспечивающие ведение, обработку и анализ текущей информации, относящейся к процессам организации и проведения олимпиады по информатике.

1 Ведение нормативно-справочной информации:

- Добавление НСИ

- Редактирование НСИ

- Удаление НСИ

2 Использование НСИ.

Эта функция предполагает использование нормативно-справочной информации для обеспечения работы других подсистем/АРМов (без права добавления, редактирования, удаления НСИ, но с возможностью просмотра).

Работа с основными функциями системы предполагает ввод, редактирование и удаление текущей информации, ее обработку, формирование первичных документов и аналитических отчетов.

4.2.1 Список функций по работе с НСИ

1 Ведение справочника "Регионы" (АРМ "Администратор");

2 Ведение справочника "Региональные площадки" (АРМ "Администратор");

3 Ведение справочника "Классы" (АРМ "Администратор");

4 Ведение справочника "Страны" (АРМ "Администратор");

5 Ведение справочника "Среды программирования" (АРМ "Администратор");

6 Ведение справочника "Типы заданий" (АРМ "Администратор");

7 Ведение справочника "Роли" (АРМ "Администратор");

8 Ведение справочника "Туры Олимпиады" (АРМ "Администратор");

Пользователи других подсистем/АРМов только используют перечисленные справочники и классификаторы.

4.2.2 Список функций, реализуемых системой

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

Администратору системы:

- Возможность создания ограниченных по времени олимпиад и работы над ними;

- Добавление и редактирование (при необходимости) условий задач и ответов к ним (предполагается создание вопросов с любым контентом);

- Активация, деактивация или удаление олимпиады;

- Возможность одновременного проведения нескольких олимпиад;

- Возможность автоматической проверки введенных ответов на задачу и подсчета результатов;

- Возможность автоматического вычисления статистики по соревнованию (по его завершению соответственно);

- Возможность просмотра списка зарегистрированных пользователей в системе и информации о них (с возможностью записи участника на необходимый турнир, либо его удаления);

- Возможность изменения прав доступа любого пользователя в системе;

- Возможности, предоставляемые любому пользователю системы тестирования, описанные ниже;

Участнику олимпиады:

- Регистрация/авторизация участника (при регистрации участника в АРМе "Участник" на каждого участника заводится "электронная карточка" участника);

- Ознакомление со справкой, техническому руководству и правилам проведения олимпиады (после регистрации в системе, участников следует ознакомить с правилами проведения олимпиады, а также донести до их сведения всю необходимую информацию для успешного прохождения испытания);

- Просмотр заданий (каждый пользователь имеет возможность просмотреть доступные в системе задания и вопросы);

- Просмотр активных и возможных олимпиад;

- Просмотр личных результатов олимпиады для каждого участника (список проверенных решений участника);

- Просмотр конечных результатов (список участников, призеров и победителей);

- Просмотр архива прошедших турниров и их результатов (список участников, призеров и победителей);

- Возможность связи с администратором/учителем/жюри (отправка сообщения)

- Доступ к форуму, на котором в соответствующих разделах можно задавать вопросы и обсуждать конкретные задачи и олимпиады;

Для организаторов олимпиады:

- Публикация Положения об олимпиаде и внесение в него необходимых изменений;

- Формирование списка методической комиссии и жюри олимпиады;

- Публикация правил проведения олимпиады;

- Публикация регламента проведения олимпиады;

- Публикация результатов олимпиады, списка победителей и призеров;

- Рассмотрение апелляций участников;

- Формирование отчета о прошедшей олимпиаде.

Для методической комиссии:

- Предоставление требований для утверждения оргкомитетом спецификации заданий;

- Предоставление требований для проведения олимпиады;

- Рассмотрение апелляций участников;

Для жюри олимпиады:

- Возможность отмены результатов участников, нарушивших регламент проведения олимпиады;

- Проверка результатов олимпиады;

- Предоставление для утверждения результатов олимпиады Организаторам;

- Рассмотрение апелляций участников.

4.3 Требования к видам обеспечения

4.3.1 Требования к математическому обеспечению

Специальных требований не предъявляется.

4.3.2 Требования к информационному обеспечению

4.3.2.1 Требования к составу, структуре и способам организации данных в системе.

Модель данных Системы физически должна быть реализована в СУБД.

4.3.2.2 Требования к информационному обмену между компонентами системы

Специальных требований не предъявляется.

4.3.2.3 Требования к информационной совместимости со смежными системами

Специальных требований не предъявляется.

4.3.2.4 Требования по использованию классификаторов, унифицированных документов и классификаторов

Основные классификаторы и справочники в системе (пользователи, задачи, ответы) должны быть едиными.

4.3.2.5 Требования по применению систем управления базами данных

Специальных требований не предъявляется.

4.3.2.6 Требования к структуре процесса сбора, обработки, передачи данных в системе и представлению данных

Процесс сбора, обработки и передачи данных в системе определяются регламентом процессов сбора, преобразования и загрузки данных, разрабатываемом на этапе "Проектирование. Разработка эскизного проекта. Разработка технического проекта".

4.3.2.7 Требования к защите данных от разрушений при авариях и сбоях в электропитании системы

При аварийной ситуации, связанной со сбоем электропитания, информация в базе данных системы обязана сохраняться.

Желательно использование бесперебойного электропитания, обеспечивающего её нормальное функционирование в течение 15 минут в случае отсутствия внешнего энергоснабжения, и 5 минут дополнительно для корректного завершения всех процессов.

Резервное копирование данных должно осуществляться на регулярной основе, в объёмах, достаточных для восстановления информации в подсистеме хранения данных.

4.3.2.8 Требования к контролю, хранению, обновлению и восстановлению данных

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

4.3.2.9 Требования к процедуре придания юридической силы документам, продуцируемым техническими средствами системы

Специальных требований не предъявляется.

4.3.3 Требования к лингвистическому обеспечению

При реализации системы могут применяться следующие языки высокого уровня: PHP, SQL, HTML. Для реализации алгоритмов манипулирования данными в системе необходимо использовать стандартный язык запроса к данным SQL и его процедурное расширение.

4.3.4 Требования к программному обеспечению

СУБД должна иметь возможность инсталляции на ОС Windows (XP и более поздние версии), Linux (Ubuntu, Solaris).

К обеспечению качества ПС предъявляются следующие требования: выполнение подсистемами их функций обеспечивает функциональность системы; предупреждение или недопущение ошибок обеспечивает надежность; принятие верных и подходящих решений на всех этапах разработки ПС обеспечивает эффективность; техническое руководство и технологическая инструкция должны обеспечивать сопровождение системы.

4.3.5 Требования к техническому обеспечению

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

Минимальные аппаратные требования:

Сервер баз данных:

- Процессор - 4 х 3 ГГц;

- Объем оперативной памяти - не менее 2 Гб;

- Объем жесткого диска - не менее 80 Гб;

- Сетевая карта - с поддержкой скорости не менее 1 Гбит/сек.

Сервер приложений.

- Процессор - 4 х 3 ГГц;

- Объем оперативной памяти - не менее 2 Гб;

- Объем жесткого диска - не менее 40 Гб.

Требования к рабочему месту пользователя:

Процессор Intel-совместимый, тактовая частота не ниже 500 МН2, оперативная память не менее 256 Мб, свободного дискового пространства не менее 100 Мб.

4.3.6 Требования к метрологическому обеспечению

Специальных требований не предъявляется.

4.3.7 Требования к организационному обеспечению

Специальных требований не предъявляется.

4.3.8 Требования к методическому обеспечению

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

ГОСТ 34.601-90. Автоматизированные системы. Стадии создания.

ГОСТ 34.602-89. Техническое задание на создание автоматизированной системы.

4.3.9 Требования к патентной чистоте

Специальных требований не предъявляется.

5 Состав и содержание работ по созданию системы

Работы по созданию системы выполняются в три этапа:

1 Проектирование. Разработка эскизного проекта. Разработка технического проекта.

2 Разработка рабочей документации. Адаптация программы.

3 Ввод в эксплуатацию.

Конкретные сроки выполнения стадий и этапов разработки и создания Системы определяются Планом выполнения работ.

6 Порядок контроля и приёмки системы

6.1 Виды и объем испытаний системы

Система должна пройти три этапа испытаний:

1 Предварительные испытания.

2 Опытная эксплуатация.

3 Приемочные испытания.

Состав, объем и методы предварительных испытаний системы определяются документом "Программа и методика испытаний", разрабатываемым на стадии "Рабочая документация".

Состав, объем и методы опытной эксплуатации системы определяются документом

"Программа опытной эксплуатации", разрабатываемым на стадии "Ввод в действие".

Состав, объем и методы приемочных испытаний системы определяются документом "Программа и методика испытаний", разрабатываемым на стадии "Ввод в действие" с учетом результатов проведения предварительных испытаний и опытной эксплуатации.

6.2 Требования к приемке работ по стадиям

7 Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие

Специальных требований не предъявляется.

8 Требования к документированию

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

Таблица 4

Требования к документированию

Этап

Документ

Проектирование. Разработка эскизного проекта. Разработка технического проекта

Ведомость эскизного проекта

Пояснительная записка к эскизному проекту

Ведомость технического проекта

Пояснительная записка к техническому проекту

Схема функциональной структуры

Разработка рабочей документации. Адаптация программ

Ведомость эксплуатационных документов

Ведомость машинных носителей информации

Паспорт

Общее описание системы

Технологическая инструкция

Руководство пользователя

Описание технологического процесса обработки данных

Инструкция по формированию и ведению базы данных (набора данных)

Состав входных данных

Каталог базы данных

Программа и методика испытаний

Спецификация

Описание программы

Текст программы

Ввод в эксплуатацию

Акт приемки Системы в опытную эксплуатацию

Протокол испытаний

Акт приемки Системы в реальную эксплуатацию

Акт завершения работ

Документацию необходимо подготовить как в печатном, так и в электронном виде (в формате Microsoft Word).

Выводы к 1 главе

1 В данной главе были проанализированы особенности проведения предметных олимпиад для школьников, в частности, олимпиада по информатике. Отмечены основные проблемы, возникающие при организации олимпиад.

2 Проведен анализ рынка автоматизированных систем организации и проведения олимпиад. Выявлены преимущества и недостатки используемых информационных систем. Сделан вывод о необходимости разработки ИС "Инфотест".

3 Сформулированы технические требования разрабатываемой ИС в формате ГОСТ 34 серии [6,7].

Глава 2. Проектирование ИС "Инфотест"

2.1 Построение функциональной модели

Требования к функциям подсистем информационно-управляющей системы были сформулированы в предыдущей главе. Функциональная модель строится, исходя из функциональных требований, которые, в свою очередь, могут быть представлены в виде прецедентов.

Прецедент специфицирует поведение системы или ее части и представляет собой описание множества последовательностей действий (включая варианты), выполняемых системой для того, чтобы актер мог получить определенный результат. Актером в данной системе называется человек, который использует систему для достижения своих определенных целей. Актеров в системе, как правило, несколько, каждый из них, взаимодействуя с системой, ожидает, что она будет вести себя определенным и предсказуемым образом.

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

Варианты использования системы для актера "Участник" представлены на рисунке 3.

Рисунок 3. Диаграмма прецедентов "Участник"

Диаграмма прецедентов для актера "Администратор" представлена ниже:

Рисунок 4. Диаграмма прецедентов "Администратор"

Следующей представлена диаграмма прецедентов "Учитель":

Рисунок 5. Диаграмма прецедентов "Учитель"

А также диаграммы вариантов использования остальных пользователей системы, а именно для роли "Организатор", "Методическая комиссия" и "Жюри".

Рисунок 6. Диаграмма прецедентов "Организатор"

Рисунок 7. Диаграмма прецедентов "Методическая комиссия"

Рисунок 8. Диаграмма прецедентов "Жюри"

2.2 Проектирование архитектуры данных

В соответствии с информационными потребностями и для реализации заданных функциональных возможностей информационной системы была спроектирована модель данных. БД содержит семь ключевых элементов: Олимпиада, Вопрос, Ответ, Пользователь, Администратор, Роль, Результат.

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.