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

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?упа к странице доступных турниров (см. рисунок 6), странице задач турнира (см. рисунок 7), странице списка результатов (см. рисунок 8).

Рисунок 5 - Страница членства в группах

Рисунок 6 - Страница доступных турниров

Рисунок 7 - Страница задач текущего турнира

Рисунок 8 - Страница результатов

Если авторизацию (см. рисунок 4) прошел администратор системы, то появляется страница списка зарегистрированных пользователей (см.рисунок 9) от куда администратор может перейти к странице редактирования пользователей (см.рисунок 10) выбрав конкретного пользователя.

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

Рисунок 9 - Страница списка зарегистрированных пользователей

Рисунок 10 - Страница редактирования пользователя

Расположение элементов на экранных формах, а так же их внешний вид определены таблицами стилей CSS. Исходные коды таблиц стилей приведены в приложение А.

3.2 Краткие сведения о работе с программой

.2.1 Вход под именем администратора

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

Просматривать эти списки в формате таблиц.

Создавать новые элементы этих списков.

Редактировать существующие элементы списков.

Удалять выбранные элементы списков.

.2.2 Вход под именем пользователя

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

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

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

ЗАКЛЮЧЕНИЕ

В ходе выполнения данной работы были получены следующие навыки:

Навыки проектирования баз данных.

Навыки работы с СУБД MySql.

Настройка сервера Apache для проверки работоспособности скриптов.

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

Использования языков верстки веб страниц HTML и CSS для создания пользовательского интерфейса.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1.РНР 5. Д. Коттеров, А. Костарев - bhv, 2008г. - 1078 с.

2.Головоломки на РНР для хакера. М. Кузнецов, И. Симдянов - bhv,2006г. - 454 с.

.РНР 5. М. Кузнецов, И. Симдянов - bhv, 2004г. - 534 с.

.Настольная книга по CSS. С. Каллихан - NT-Press, 2007 г. - 368 с.

.JavaScript, Д. Макфарланд - эксмо, 2009г. - 606 с.

.Язык С. Б. Керниган, Д. Ритчи, 1992г. - 307 с.

Приложение

Таблицы стилей CSS графического интерфейса системы

body

{: 20px;: 0;: #FFFFFF;: normal .7em Tahoma, Arial, Helvetica, sans-serif;: #666666;

}

{: 0;: 0;

}, h2, h3

{family: Georgia, "Times New Roman", Times, serif;weight: normal;: #333333;

}, blockquote, ol, ul

{height: 160%;

}

{: #3A69BA;

}:hover

{decoration: none;

}

.boxed

{: left;: left;: 200px;: 0 0 10px 0;: 0;: #EFF3F9;

}.heading

{top: 0;: 8px 15px;: #5E80BD url(images/img3.gif) no-repeat center bottom;transform: uppercase;spacing: 2px;: bold 1em Tahoma, Arial, Helvetica, sans-serif;: #FFFFFF;

}.content

{: 0;: 5px 14px 10px 14px;

}ul

{: 0;: 0;style: none;height: normal;

}li

{: 3px 0;

}li.first

{: none;

}a

{left: 10px;: url(images/img4.gif) no-repeat left center;decoration: none;

}

#wrapper

{: 955px;: 0 auto;

}

#header

{: left;: 200px;: 150px;: url(images/img1.jpg);

}

#header h1

{: 0;: 13px 0 0 0;align: center;spacing: -1px;size: 2.5em;

}

#header h2

{: 0;: 0;align: center;size: 1.2em;style: italic;

}

#header a

{decoration: none;: #FFFFFF;

}

#bod

{: 455px;: 0 auto;

}

#pages

{: right;: 747px;: 150px;: url(images/img2.jpg);

}

#pages h2

{: none;

}

#pages ul

{: right;: 0;: 125px 15px 0 0;style: none;height: normal;

}

#pages li

{: inline;

}

#pages a

{left: 2em;decoration: none;: bold 1em Tahoma, Arial, Helvetica, sans-serif;: #FFFFFF;

}

#pages a:hover

{decoration: underline;

}

#content

{: both;top: 10px;

}

#posts

{: right;: 700px;right: 20px;

}

.post

{top: 10px;

size: 1.3em;

}.title

{: 0;size: 1.4em;

}

.post .posted

{top: 0;: normal .9em Tahoma, Arial, Helvetica, sans-serif;: #999999;

}.meta

{: 2em 0 3em 0;top: 1px dotted #939A3C;: normal .8em Tahoma, Arial, Helvetica, sans-serif;: #999999;

}.meta p

{: 0;size: 1.2em;

}

#archives

{

}

#search

{

}

#search .co