Андрей, вот давайте порассуждаем на тему вашей дипломной работы.
Каковы ее цели? Продемонстрировать умение самостоятельно решать поставленные задачи, показать профессиональные навыки, возможно сделать полезную систему для эксплуатации.
По большей части все что мы сейчас делаем - это для меня. Сама простенькая система тестирования у меня уже практисеско готова. Но я захотел все сделать грамотно и красиво. В первую очередь для меня самого. Так как хотя я пока что очень мало соображаю в анализе, но мне это нравится. И здесь есть стимул для моего развития - моя работа.
Как показывает практика - студенты врядли способны сделать что-то действительно стоящее, в дальнейшем используемое. И тут беда не студента, а скорее руководителя. Часто руководитель не может поставить правильно задачу, и дает ее на откуп самому студенту. Часто преподаватель в общем-то не заинтересован в получении конечного продукта. Дело в том, что для получения нормального продукта сам руководитель должен участвовать на всех стадиях проектирования.
Полностью с этим согласен. Примерно 3-4 дня назад написал письмо своему руководителю след. содержания:
Здравствуйте, Владимир Николаевич.
У меня есть несколько вопросов на счет диплома.
Лично моя тема: "Подсистема тестирования системы дистанционного
обучения с использованием технологий интернет".
Так вот. Собственно вопросы:
1. Я так понимаю, что если система у нас "дистанционное обучение" - то
оно никак не связано с ДО и следовательно график прохождения тестов не
так важен, да?
2. Тестирование будет привязано к каким-то курсам или просто список
тестов? Если к каким-то курсам - то будет ли какой-то конечный
тест-экзамен. Можно ли будет сдать экзамен экстерном?
3. Будет ли у ученика несколько попыток пройти тест? Я думаю, что да.
Например трех попыток будет достаточно.
В зависимости от того, какие будут ответы на эти вопросы - будет
строиться система.
На это письмо сегодня утром получил ответ:
Здравствуйте, Андрей.
Я полагаю, что ответы на Выши вопросы Вы можете дать сами.
Я стараюсь по мере возможности не навязывать готовых решений.
Подумайте и сделайте логичный выбор...
Подсвиров В.Н.
P.S. Обратите внимание, что мы создаем подсистему тестирования (оболочку), а не ее содержание(сами тесты).
В таких условиях тесты могут иметь иллюстративное значение.
Что можно перевести примерно так: "Ты делай, а я погляжу, что у тебя получилось".
К чему я это - моделирование, документирование и прочее - важный этап работы, но все-таки цель - это конечный продукт. Потому совет - сделайет версию прототип как можно скорее, дайте преподавателю для тестирования, пусть поиграится, попробует потестировать с ее помощью студентов. В ходе экспериментов у него появятся идеи, другое видение, ошибки будут видны отчетливее....
Да, я тоже думал об этом. Наверно так и сделаем.
Как вы планирует организовать регистрацию, каков ее механизм, алгоритм?
Думаю, что будет отображаться форма с заполняемыми полями:
логин,
пароль,
повтор пароля,
e-mail,
Имя,
Фамилия,
Отчество,
Дата рождения,
Город проживания,
Хотелось бы еще графический код.
Будет проверка на уникальность логина, на соответсвие повторного пароля первому, проверка e-mail на корректность. Подтверждения через e-mail наверно пока не будет.
Авторизация:
логин,
пароль,
графический код,
ссылка на напоминание пароля - т.е. не напоминание, а на посылку на e-mail нового пароля. т.к. пароль будет храниться в БД в зашифрованном виде.
Далее какова процедура выбора и формирования тестов. Лично я использовал такую процедуру: после регистрации - студент выбирает нужный тест - для некого формируется уникальная неупорядоченная последовательность вопросов, которая записывается в БД. Далее согласно порядку отобранных вопросов выводится список вопросов, номера которых маскируются. Варианты ответов тоже выводятся в произвольном порядке.
Здесь нужно решать как выводит тест, весь целиком, или каждый вопрос отдельно? В каждом случае это может быть важно и зависеть от возможностей, нужно ли посоянное соединение или возможна потеря сессия и ее последующее восстановление, либо сессия отслеживается все время.
Тест выводится весь целиком на одной странице.
Попытку думаю, что нужно сохранять каждую.
3. Поскольку тестирование невозможно без предварительной его подготовки, то требуется инструмент создания теста. А для этого нужно понять каие тесты будут, какие типы вопросов и ответов будут:
1. однозначный выбор,
2. многозначный выбор
3. вычисление
4. точный ответ
5. текстовое представление вопроса
6. графическое представление вопроса
7. возможность выбора ответа нажатием на графическую область и т.п.
На все вопросы будут многозначные выборы ответов. Графических ответов не будет. Изображение может быть только в самой формулировке вопроса.
Как будет идти подсчет результатов:
Четкое количество ответов на каждый вопрос прописываться не будет. Их может быть сколь угодно много.
НО. общая сумма правильных ответов на 1 вопрос составляет 100 баллов. Потом эти баллы делятся поровно мужду правильными вариантами ответов на этот вопрос. Остальным присваивается тоже количество баллов. но со знаком "-".
Например.
вопрос 1. Где мы живем?
ответ 1. - правильный - 50 баллов
ответ 2. - неправильный - 0 баллов
ответ 3 - правильный - 50 баллов
т.е. если я к примеру выберу ответами на этот вопрос ответы 1 и 2, то я за этот ответ получу 0 баллов, если выберу только 1 или третий ответы - 50 баллов, так как это будет неполный ответ. а вот если я выберу 2 вариант ответа - я получу 0 баллов. т.е. я неверно отвечу на вопрос.
Если правильных ответов будет в вопросе 3, то им присвоится по 33 балла.
Но самый полный и правильный ответ будет только если будут отмечены ВСЕ правильные ответы.
В конце теста будет подсчитано количество баллов, разделено на количество вопросов. Это и будет итоговое количество баллов.
Например в тесте было 5 вопросов:
1 - 50 баллов
2 - 100 баллов
3 - 30 баллов
4- 60 баллов
5 - 100 баллов.
Итого получается (50+100+30+60+100)/5 = 68 баллов.
Как Вам такая система?
Нужно или нет конвертация ранее подготовленных тестов? Например я разработал список вопросв и ответов в word, то могу напрмире сохранить его как текст, сделать некую разметку типа bbcode а потом эту разметку использовать для быстрого импорта тестов в систему
Вообще конечно хотелось бы такую штуку сделать, но я пока не знаю, как
Спасибо за советы. Они мне очень помогают!