Форум Сообщества Аналитиков

Общий раздел => Примеры => Тема начата: litvinenko от 07 Декабря 2006, 10:14:49

Название: Электронное тестирование учеников
Отправлено: litvinenko от 07 Декабря 2006, 10:14:49
Добрый день.
С недавнего времени начал изучение языка UML. Читаю различную литературу, прохожу обучение на intuit.ru (http://intuit.ru)
Зачем я это делаю?
1. Стоклнулся по работе.
2. Я учусь на 5-м курсе и мне нужно писать диплом. Тема диплома - если коротко, то - тестирование учеников.

Так вот. Хочу сделать диплом грамотно, да и для собственного самообразования решил выучить всетаки UML.
Прошу помочь мне с разработкой диаграмм.
По моим соображениям система должна позволять следующее:
1. пройти тест ученику,
2. посмотреть свои результаты ученику,
3. посмотреть результаты тестов других учеников,
4. посмотреть список учеников в классе,
5. посмотреть какую-то личную инфу об учениках/ученике,
6. администратор может добавлять/изменять/удалять тесты, вопросы и варианты ответов.
7. администратор может добавлять/изменять/удалять личную инфу ученика.
8. администратор может добавлять/изменять/удалять класс, состав класса.

Буду очень рад вашим замечаниям, критике, советам, да и вообще, любой помощи.
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 08 Декабря 2006, 11:41:06
утром комментировал Ваше сообщение, но чего-то случилось с хотсером или сайтом.

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

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

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

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

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

Дерзайте:-))

Можете обратится к bas, и попросить создать вам проект, где вы будете администратором, а нас пригласить как заказчиков для анализа модели, детали фичи будут опубликованы в скоре
Название: Re: Электронное тестирование учеников
Отправлено: bas от 10 Декабря 2006, 12:27:09
В принципе не плохая диаграмма, которая вроде соответсвует краткому описанию.
Теперь делайте реализацию ВИ как сказал galogen или в виде текстового описания сценария.
Я бы еще добавил учителя, который сам может управлять тестами, а то получается - сначала учитель пишет на бумажке тест, а потом админ вбивает. Хотя возможно по вашей задумке достаточно и Администратора.
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 04 Января 2007, 22:49:27
спасибо большое за советы.
Произошли некоторые изменения:
все функции администрирования убираются. так как их реализует другой человек.

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

Объясню, как я примерно вижу внешний вид системы:
будет несколько страниц:
1. страница просмотра инфы о классе:
слева - список классов.
справа - инфа о классе, список учеников - ссылки на инфу об ученике, список доступных тестов для этого класса - ссылки на тест.
2. страница просмотра инфы об ученике:
слева - список учеников текущего класса.
справа - инфа об ученике, список всех тестов, которые доступны этому ученику (пройденные тесты как-то выделяются) - ссылки на тест.
....
ну и еще несколько страниц.

так вот исходя из этого описания - получается, что если ставить extend и include - то у меня везде будет двухсторонее отношение...
У меня такое ощущение, что я чего-то просто недопонимаю...


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

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

вот на конкретном примере можно это написать? Я так быстрее пойму, если на конкретных примерах будет :(
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 05 Января 2007, 00:42:58
Для начала несколько слов про include и про extend. Если вы программируете активно, то знаете, что такое include. В паскале это uses, в php include и require. Т.е. то что нужно всегда.
То есть в вашем случае - чтобы пройти тест - нужно обязательно авторизоваться. Думаю тут вы все понимаете правильно.

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

Правда тут не понятно - Разве ученик может просматривать информацию о классе? И какую информацию о классе? Знаете мне бы лично было бы неприятно, если бы мои результаты тестирования были доступны другим ученикам. Разные понимаете бывают ученики. Кроме того, а чем ваш пользователь отличается от ученика? Что пользователю для того чтобы посмотреть информацию о классе и об ученике, вовсе не надо авторизоваться? Довольно непонятная логика...

Теперь о моих фраза по поводу граничных и управляющих классах.

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

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

А вообще совет - изучите хотя бы общие основы ООП и UML, хотя бы на www.intuit.ru

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

Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 05 Января 2007, 01:20:04
Хорошо. Объясню тогда полностью суть проблемы и как я думаю это все реализовывать.
Я учусь на пятом курсе пединститута. Пишу диплом. Тема диплома - коротко: "подсистема тестирования системы дистанционного обучения".
Т.е. не я должен думать об администрировании ресурса, а мой одногруппник. Потому я и убрал администратора, хотя, конечно, может быть, и стоит его вернуть для общего развития и так сказать для целостности системы...

Правда тут не понятно - Разве ученик может просматривать информацию о классе? И какую информацию о классе? Знаете мне бы лично было бы неприятно, если бы мои результаты тестирования были доступны другим ученикам. Разные понимаете бывают ученики. Кроме того, а чем ваш пользователь отличается от ученика? Что пользователю для того чтобы посмотреть информацию о классе и об ученике, вовсе не надо авторизоваться? Довольно непонятная логика...

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

Цитировать
Теперь о моих фраза по поводу граничных и управляющих классах.
Тут вроди как стало понятно. Спасибо.
Интерфейс - грубо говоря, это класс, который отвечает за внешний вид отображения какой-л. информации, так?
Граничный класс - это например класс user с параметрами lastname, name, secondname, birthday, group. Так?
А Управляющий класс - это класс, где содержатся методы, например getUserInfo, getGroupInfo, getTest
Так?

Цитировать
А вообще совет - изучите хотя бы общие основы ООП и UML, хотя бы на www.intuit.ru

Да вот недавно прошел общий курс по UML, но практики вообще нет. Потому и так много, может быть детских, может быть, неправильных и глупых вопросов.

Еще раз спасибо за помощь.
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 05 Января 2007, 01:21:59
Да, и еще вопрос про авторизацию.
Я думаю, что она необходима только непосредственно перед тестом, да? Так как другие действия может производить и неавторизованный пользователь (гость).
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 05 Января 2007, 11:37:03
Вы понимаете, вот после ваших пояснений выясняется - что ресурс вероятнее всего будет web, доступ к нему будет через интернет, фактически каждый желающий может туда попасть и посмотреть всю информацию. Да директор школы, классный руководитель и родители вполне имеют право заглянуть "на огонек", но как обеспечить в данном случае авторизацию и регистрацию такого большого количества людей?

Ну да ладно, раз у вас сделано так, значит такова постановка задачи, хотя мне она сильна неприятна в такой презентации

Кстати совет, вы опишите сценарии просто словами, не пытайтесь сразу нарисовать диаграммы. Я так понимаю, курсовой вы уже сдали? Впереди сессия, а потом диплом?
Курсовой делали в том же направлении?
Вероятно на курсовой есть уже некоторая реализация? А теперь вы пытаетесь эту реализацию изобразить в виде диаграмм, ну и подойдите с точки зрения улучшения.
Постройте процесс как он есть, посмотрите внимательно, увидите все недостатки и недочеты, а то что вы рисуете эти диаграммы и скупо отпускаете нам информацию, делу мало поможет. Опишите все словами, изобразите все в вольной форме или формализованной.
Опишите цель, участников (всех), их цели и интересы, почитайте книгу http://www.uml2.ru/index.php?option=com_remository&Itemid=28&func=fileinfo&id=65 ...
успехов
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 05 Января 2007, 12:20:32
Цитировать
Интерфейс - грубо говоря, это класс, который отвечает за внешний вид отображения какой-л. информации, так?
Граничный класс - это например класс user с параметрами lastname, name, secondname, birthday, group. Так?
А Управляющий класс - это класс, где содержатся методы, например getUserInfo, getGroupInfo, getTest
Не совсем, или совсем не так. Граничный класс и есть интерфейс системы, он возникает между user и системой, а не в место user.
Во есть у вас АВТОРИЗИРОВАТЬСЯ
Имеем USER -> Форма авторизации (граничный класс) - БД контроллер (управляющий класс - управляет соединением с БД, выполнением запроса и возвращения результата) - -- Пользователи( класс-сущность, хранит информацию о пользователях - логин пароль) -Форма предоставления результата (граничный класс)
КАЖДЫЙ из перечисленных классов может иметь атрибуты и методы
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 05 Января 2007, 14:05:15
Да, курсовая была. Но курсовая совсем простая - написанная на C# + MSSQL:
Просто 1 простой тест с 5-ю вариантами ответов на каждый вопрос, где вопросы задавались последовательно.
Непосредственно перед тестом надо было ввести имя и фамилию.
Потом выводился результат тестирования и записывался в базу данных.

Ну да ладно, раз у вас сделано так, значит такова постановка задачи, хотя мне она сильна неприятна в такой презентации

Да вот все дело-то в том, что как таковой постановки задачи не было. Т.е. было как: преподаватель сказал: вот такая тема тебя устраивает? Я ответил согласием. Спросил, что именно там должно быть. Он ответил, что ты пиши, а я потом погляжу...
Можно конечно тупо сделать просто выбор теста из списка и все... т.е. грубо говоря сделать из курсовика, где был только 1 тест - диплом, где будет все тоже самое, но несколько тестов. Но я считаю, что это неправильно.

Сейчас же тема диплома "Подсистема тестирования системы дистанционного обучения с использованием технологий интернет".
Да, прошу прощения, что не описал все это сразу. Видимо у меня еще и с изображением мыслей "на бумаге" плохо :)
Ресурс будет web. Писать хочу на PHP+MySQL. Платформа разработки MS Windows XP.

Теперь что я хочу получить в этой системе, т.е. что должна уметь делать эта система:
Любой, кто зашел на этот ресурс может посмотреть:
список классов,
информацию о любом классе (название, классный руководитель),
список учеников в любом классе (м.б. это часть информации о классе?),
информацию о любом ученике (стоит ли разрешать смотреть эту инфу любому?) (фамилия, имя, отчество, класс обучения, результаты тестов).
Любой, кто зашел на ресурс, может идентифицировать себя как "ученик" - т.е. человек, про которого уже есть информация на сайте.
Любой пользователь, который идентифицирован как "ученик" может пройти любой доступный ему тест и получить результат своего тестирования (название теста, количество вопросов, количество правильных ответов, время выполнения, количество набранных баллов).

Списибо за ссылку, сейчас буду читать. Наверняка появится много чего сказать.
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 05 Января 2007, 15:14:08
Андрей, прежде чем начинать формулировать требования к системе, все-таки надо понять, а кто заинтересован в ней, для чего система предназначена.
То же тестирование, оно идет в рамках ДО, значит надо ввести контекст ДО. Есть некий курс, в рамках курса есть лекции и скажем контрольное тестирование по ним, есть экзамен экстерном или экзамен в конце обучения.
Что при этом требуется организовать? Будет ли тестирование связано с курсом или оно абсолютно самостоятельно? Если последнее, то получается авторизация на курсах <> авторизации в подсистеме тестирования?
Правильно ли будет предоставлять инофрмацию об ученике всем желающим? Не лучше ли сделать так, что эту информацию может получить не просто посетитель, а только зарегистрированный пользователь, при этом разные права на группы.
Группа учителей - может просматривать всю имеющуюся информацию по своему предмету, классный руководитель всю о своем классе, директор или завуч всю информацию. Родители получают доступ только к информации к ученику- их ребенку, через аккаунт их ребенка. Как вы будете регистрировать каждого ученика? Я например сделал в свое время так:
Ввожу список студентов ФИО, номер зачетки, номер группы. Студенты регисрируются в системе, определяю логин и пароль, система проверяет наличие студента в списке, проверяет уникальность логина и подтверждает регистрацию.
Можно сделать иначе, определить логин и пароль заранее, выдать его в начале учебного года или цикла обучения, или использовать специальный код авторизации, после первого входа ученику предлагается создать аккаунт - вариантов много, и нужно определится.
Вы говорите, что администрирование не ваша проблема, но в вашей задаче она критична, без ее правильно организации вы вряли сумеете решить свою задачу адекватно и правильно.

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

Постарайтесь все-таки четко выразить цель системы - тестирование, а для чего? какова цель тестирование, что она преследует? снять рутину с учителя? повысить уровень образования, его качество?
Определите границы рамки подсистемы - внутри имеющейся ДО, насколько интегрированно и т.п.
Определите всех действующих лиц, даже на ваш взгляд малозначимых, напрмимер министерство образование, районо и прочее, думаю у них тоже будут интересы - например соотвествие уровня тестов образовательному уровню
Определите ограничения - например: тест должен быть пройден за 40 минут, или тест должен быть пройден просто.
Предполагаете ли вы тренажерное тестирование? т.е. тестирование без авторизации, без учета результатов?
Кто создает тест, кто его вводит в систему?
Выполняет ли каждый ученик набор тестов по графику? Распространняется ли график на дисциплину или группу? Например, каждый класс 7 года обучения, должен пройти по 5 тестов по 3 дисциплинам. Важен ли порядок тестов? Нужно ли ххранить историю создания тестов? Что будет если тест прервется по техническим причинам - как запоминаются ответы на вопросы, ведется ли статистика ответов по ученику, классу, школе в целом, сколько попыток имеется у ученика и т.п.
Все это следует описать, понять и ранжировать, что-то будет реализовано сразу, что-то вы оставите на потом. Нужно понять без чего уж точно дело не пойдет, а что может подождать.

Интересно а какая у вас получилась модель данных?

Да еще хотел спросить, а в каком инструменте вы рисуете UML диагарммы?
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 05 Января 2007, 15:30:19
Цитировать
Да еще хотел спросить, а в каком инсрументе вы рисуете UML

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

На счет всего остального, что Вы написали - большое спасибо.
Сейчас напишу письмо преподавателю - более точно уточню требования.
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 05 Января 2007, 15:39:13
Enterprise Architect - не использовал, не знаю. Думаю нужно учитывать не только факт удобного рисования, но сопровождения документации, генерации кода
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 05 Января 2007, 16:08:49
В этом продукте поддерживается генерация кода в php,
Составление отчетов в формате rtf, html
На мой взгляд - очень интересный продукт.
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 05 Января 2007, 16:11:07
Он платный? Где его можно взять и посмотреть?
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 05 Января 2007, 16:29:54
или триал на 30 дней, или с кряком, но кряк на немного раннюю версию.
инсталятор весит 28 метров. куда такое можно скинуть? если будет место - могу дать и инсталлятор и кряк сразу.
В инете честно говоря не видел ссылку на скачивание этой программы.
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 05 Января 2007, 16:45:36
Есть ссылки - на сайте производителя. Правда триал. Вопрос заключается в том, а следует ли использовать коммерческую программу, если да готовли напрмер вуз за нее заплатить..
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 05 Января 2007, 17:14:13
Итак. Попробую описать...

Для чего система предназначена:
Система нужна для автоматизации проверки знаний у обучающихся по пройденным курсам – т.е. основная цель всей системы – дать дополнительное или базовое образование.
Цель подсистемы тестирования – проверить уровень полученных обучающимся знаний.
Подцель (если можно так сказать):
Автоматизация составления отчетов по ученику, классу или всех обучающихся.
Доступ к различным уровням отчетов имеют различные пользователи системы:
отчет по ученику – сам ученик и его родители, руководители системы («деканат»).
отчет по классу – классный руководитель, руководители системы («деканат»).
отчет по курсу – преподаватель данного курса, руководители системы («деканат»).
отчет по всем ученикам - руководители системы («деканат»).

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

Возможность добавлять, изменять, удалять тесты, пользователей и т.п. имеет только пользователь с правами «Администратор».

Заинтересованные люди:
Обучающийся – хочет получить итоговую оценку (или проверить свои знания, или повысить свои знания? Наверно все вместе).
Родители обучающегося – хотят контролировать(?) прохождение тестов своим ребенком.
«Деканат» - (?) хочет, чтобы оценки были как можно выше (или ему до лампочки, какие будут оценки?)
Контролирующие органы (Мин Обр-я) – наверно соответствие тестов уровню нагрузки, соответствие каким-то нормативным требованиям.
Такое впечатление, что еще кого-то не хватает, но никак не пойму, кого…
Администратор – хм… ну он, вроде как ни в чем не заинтересован.

Действующие лица:
Обучающийся (Студент)
Родители студента (Родители)
Деканат
Администратор.

Что я упустил или что я неправильно описал?

Есть ссылки - на сайте производителя. Правда триал. Вопрос заключается в том, а следует ли использовать коммерческую программу, если да готовли напрмер вуз за нее заплатить..

А вот тут я не знаю. Что платить он не будет - это факт. :)
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 05 Января 2007, 18:41:09
Итак, уже лучше. Но терпения у вас нет:-))
Не спешите, чуть подробнее и поэтапно.
1. Цель системы - проверять и контролировать уровень знаний. Судя по описанию система тестирования не подсистема ДО, а вполне самостоятельная часть, следовательно ДО для нее нечто внешнее, а следовательно возможное действующее лицо. Тестировать то какие знания собираетесь? Те что ученик получил во время обучения в рамках ДО, в рамках школьной программы? Все-таки разные цели - в первом случае - оценка стимул для лучшего изучения материала, который усваивается побольшей мере самостоятельно, во втором случае -получение оценки важный фактор общей успеваимости, тренировки к ЕГ и т.п.

2. Критерии достижимости цели
Каковы они, что будет достигнуто после внедрения системы? Повысится уровень образования на 15%? Какие навыки приобретут студенты-ученики и т.д.

3. Ресурсы достижения цели?
Кто разрабатывает тесты, какие рекомендации по оборудованию, как будет организоано тетсирование проверка и т.п., что для этого понадобится, оплата администратору, учителю и т.п.

4. Участники и интересы
Составьте табличку
Участник                      Интерес
Ученик - пройти тест, получить оценку, исправить оценку, если возможно, проверить свои знания(освежить их например перед экзаменом), сдать экзамен, получить сертификат?, диплом? навыки?
Учитель - получить отчеты и статистику по дисциплине, классу, ученику? разработать тест
Классный руководитель - получить отчеты и статистику по классу, ученику
Руководители школы(или сситемы) - получить полную статистику по школе, предметам классам ученикам, контролировать соотвествия тестов программе, их сложность, эффективность и т.п.
Родители - контролировать обучение своего ребенка, получать информацию о предметах, уровне преподавания, знать учителей, класнного руководителя, руководителей школы поименно и в лицо, иметь возможность связаться с ними
Организатор курсов и тестирования - проверять корректность работы системы, устранять ошибки и проблемы связанные с потерей информации и тп.п.
Администратор - думаю это все-таки персонал системы, его пока можно исключить.
Провайдер интернет услуг - веротяно тоже прийдется его учесть
Дизайнер сайта - если нужно
Внешние контролирующие органы - районо, министерство муниципальные власти, которые дают разрешение, лицензию сетрификаты и т.п.
Сделайте если нужно иерархию ролей, наследование, что общего между всеми ними, какие различия...
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 05 Января 2007, 20:51:35
1. Цель системы - проверять и контролировать уровень знаний, полученных при прохождении курсов Дистанционного обучения (ДО).

2. Критерии достижимости цели
Повышение уровня образования,
Появление возможности получить образование\дополнительное образование "не выходя из дома".
Студенты научатся планировать график своего обучения, самостоятельности, дисциплине.

3. Ресурсы достижения цели?
Разрабатываются тесты только преподавателями курсов.
Ввод тестов в систему производится преподавателем данного курса либо администраторской группой системы.
Тестирование организовано следующим образом:
Любой курс делится на главы\разделы. Главы\разделы в свою очередь могут делиться на параграфы.
По каждой такой группе будет итоговый тест. (В конце параграфа, в конце главы, итоговый тест - экзамен (проводится так же как и все остальные тесты, но в здании учебного заведения или филиала учебного заведения).
У каждого курса есть свой преподаватель, которому студент сможет задать вопрос по данному курсу.

Что нужно для прохождения ДО и последующего тестирования:
регистрация на сайте
запись на курс,
оплата (если она есть)
После этого к студенту "прикрепляется" преподаватель, которому можно задавать вопросы по данному курсу.

Затраты:
Заработная плата преподавателям, администраторам, обеспечение преподавателей и администраторов рабочими местами (компьютерами) с выходом в Internet.

УчастникИнтерес
Студентпройти тест, исправить оценку, сдать экзамен, получить сертификат, диплом, повысить свое образование
ПреподавательРазработать тесты к курсу, получить отчеты по ученику, предмету, получение зарплаты
Руководители системыполучить полную статистику по системе, предметам, ученикам, преподавателям, контролировать соответствия тестов программе, их сложность, эффективность и т.п.
Родителиконтролировать обучение своего ребенка, получать информацию о предметах, уровне преподавания, знать учителей, руководителей школы поименно и в лицо, иметь возможность связаться с ними
Организатор курсов и тестирования (можно ли сюда включить службу тех. поддержки?)проверять корректность работы системы, устранять ошибки и проблемы связанные с потерей информации и т.п.
Провайдер Интернет услугПолучение платы за доступ в Интернет(?)
Внешние контролирующие органыПроверка системы на соответствие выданному сертификату, разрешению, получение полной статистики по системе

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

Вот с иерархией не пойму... Вроди как "родитель" и "студент" - почти одинаковы - различие только в том, что родитель не имеет права проходить тесты.
А с другой стороны если верить моему описанию выше - совсем разные роли...

тогда получается, что можно по каким-то признакам объединить "родитель" и "руководитель системы"?
А во что их объединить? Или я неправильно определил роли?
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 05 Января 2007, 21:34:09
Описание уже выглядет лучше. Только надо привести его к некоторому знаменателю, а то у вас то студент, то ученик, то учитель, то преподаватель. Система делается для школы или для вуза. Все-таки разные по уровню системы.
Выясняется, что тесты связаны с курсами, но с другой стороны вы сказали, что система тестирования вполне самостоятельная и независимая от курсов - налицо противоречие.
Если это модельная система - и врядли будет использоваться в реальной практике, нужно ввести определенные ограничения - пусть надуманные.
Но в целом уже лучше.
Поскольку все-таки система тетсирования внедряетсявсистему ДО, то вероятно вы будете использовать уже существующую систему авторизации, тогда ее можно сделать как внешнюю систему к которой система тестирования обращается и не рассматривать ее реализацию.

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

Быстрое прототипирование - хороший метод снятия неопределеннстей и шероховатостей.
Удачи
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 05 Января 2007, 21:35:39
Насчет  наследования ролей: разместите наверху самую бесправную роль, унаследуйте от нее более полноправную и так далее, нарисуйте и пришлите, будем думать вместе...
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 05 Января 2007, 22:14:42
Цитировать
Выясняется, что тесты связаны с курсами, но с другой стороны вы сказали, что система тестирования вполне самостоятельная и независимая от курсов - налицо противоречие.

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

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

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

Сейчас попробую записать все варианты использования и попробую изобразить иерархию пользователей.
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 05 Января 2007, 22:31:51
Совет - в данном случае система разрабатывается как самостоятельная, а значит связана с курсами поскольку постольку. На данном этапе это приемлемо, просто нужно предусмотреть интерфейсы интегрирования системы в другую и наоборот
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 06 Января 2007, 03:05:45
Итак.
Немного подумав, мы решили все это записать в виде таблички и немного пояснить.
Не знаю, как это правильно назвать - формулировка требований или что, и правильно ли мы делаем, что делаем это сейчас - но все же.
Все в прикрепленном файле.

Буду благодарен за критику и советы. Спасибо. :)
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 06 Января 2007, 03:10:31
Думаю, что эту таблицу можно будет использовать при выявлении иерархии пользователей системы. Да?
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 06 Января 2007, 11:26:34
Утром немного еще подумал и добавил пункты "авторизация" и "выход из системы". Правильно?
И еще. Я тут подумал: может быть убрать вообще пользователя "родитель"? Так как это практически дублирование пользователя "студент". Да и тем более, что мы опеределились, что системы для студентов, а не для школьников. Т.е. как-такового контроля со стороны родителей не будет.
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 06 Января 2007, 11:28:31
Да можно, а чего тут сложного

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

Про иерархию нечего пока думать - лучше описать все ВИ правильно.
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 06 Января 2007, 11:47:23
Ну собственно, смотри прицепку
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 06 Января 2007, 11:53:36
Андрей.
Гляньте краем глаза на www.intuit.ru, пусть вы не разрабатываете всю ДО, сосредоточте внимание на курсах и тестах, выбросите тексты лекций, а в остальном функции подобные.
1. Незарегенный - ради бога делает все что угодно, просто нигде это не фиксируется - а почему нет? Например родители хотят оценить уровень тестов, или работник министерства - да ради бога тестируйется на здоровье - только мы вас не контролируем, не оцениваем, дипломов не выдадим.

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

3. Вообще один из методов анализа - есть анализ аналогов - зачем время тратить на то, что уже кем-то сделано, придумано и работает успешно. Разве если только есть торговая рамка, авторские права на идею:-))
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 06 Января 2007, 12:10:08
Вариант использования 2.
Войти в систему (уровень моря) (?)
Основное действующее лицо: Гость
Область действия: Система электронного тестирования
Уровень: цель пользователя
Участники и интересы:
Гость – хочет зайти в систему с определенными правами.
(Нужно ли тут писать еще какого-нить сервера и что он хочет правильный пароль и логин?)
Предусловие: Гость зашел на сайт
Минимальные гарантии: Выведется сообщение об успешной авторизации.
Гарантии успеха: При успешной авторизации Гость перестает быть Гостем, а становится пользователем системы в соответствии прав логина.
Основной сценарий:
1.   Гость выбирает ссылку «авторизация».
2.   Система выводит форму авторизации (логин, пароль, кнопка «авторизоваться», «отмена»)
3.   Гость вводит необходимую информацию. Нажимает кнопку «авторизоваться».
4.   Система проверяет логин и пароль на верность.
5.   Система присваивает пользователю права в соответствии с правами группы, в которой находится авторизованный пользователь.
6.   Система записывает в Базу данных время посещения ресурса данным пользователем.
7.   Система открывает сессию для пользователя.
8.   Система формирует ссылки в соответствии с правами пользователя.
9.   Система показывает сообщение об успешной авторизации.
Расширения:
3а. Гость нажал кнопку «Отмена».
3а1. Система возвращает Гостя на главную страницу.
4а. Логин или пароль неверные.
4а1. Система выводит сообщение о неверном логине или пароле и возвращается на предыдущий шаг.
4-9а. Во время любых действий системы происходит сбой в системе, БД или другие непредвиденные случаи.
4-9а1. Система советует Гостю попробовать войти в систему позднее.

(Можно ли так писать: 4-9а ?)

Проверьте пожалуйста...

Да. Сейчас более подробно подумаю о intuit.ru
Может быть и правда сделать что-то подобное...
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 06 Января 2007, 12:21:43
Андрей.
Гляньте краем глаза на www.intuit.ru, пусть вы не разрабатываете всю ДО, сосредоточте внимание на курсах и тестах, выбросите тексты лекций, а в остальном функции подобные.
1. Незарегенный - ради бога делает все что угодно, просто нигде это не фиксируется - а почему нет? Например родители хотят оценить уровень тестов, или работник министерства - да ради бога тестируйется на здоровье - только мы вас не контролируем, не оцениваем, дипломов не выдадим.

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

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

Полностью согласен.
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 06 Января 2007, 13:25:54
Да, вот еще...

Не совсем понятнет пункт "Минимальные гарантии". Это что? То, что вы полнится в любом случае или может быть, что обязательно должно быть перед выполнением сценария? Тогда это очень похоже на предусловия...
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 06 Января 2007, 19:11:15
Вариант использования 2.
Войти в систему (уровень пользователя)
Основное действующее лицо: Зарегистрированный пользователь. Гость - это случайный посетитель. Т.е. в иерархии актеров, нужно сделать зарегистрированного пользователя. Ну не может гость никуда попасть, он же не известен системе. Конечно, можно быть зарегистрированным пользователм, но играть роль гостя, но все равно это не гость.
Область действия: Система электронного тестирования
Уровень: цель пользователя
Участники и интересы:
Зарегистрированный пользователь – хочет зайти в систему с определенными правами.
Предусловие: Пользователь зашел на сайт системы
Минимальные гарантии: Нет регистрации - нет и доступа к защищенным разделам.
Гарантии успеха: При успешной авторизации пользователь распознается системой и ему предоставляется доступ к разделам согласно его группе прав.
Основной сценарий:
1.   Пользователь выбирает ссылку «авторизация».
2.   Система выводит форму авторизации
3.   Пользователь вводит необходимую информацию:
                    логин и пароль.  
4.   Система подтверждает введенные логин и пароль и предоставляет доступ к защищенным разделам согласно правам доступа
Расширения:
4а. Пара логин-пароль не верная
4а1. Система возвращает Пользователя на главную страницу.
4б. Пользователь забыл ввести пароль.
4б1. Система выводит сообщение о необходимости ввести пароль и возвращается пользователя на шаг 2.

Думаю пока этого достаточно. Сбой системы обычно общий, совсем ни к чему об этом думать - по идее это достигается в настройках веб-сервера. Можно конечно обработать ошибку соединения с БД и т.п.

Ваша ошибка - вы пытаетесь описать работу с интерфейсом, т.е. как делать, а не что!
Описание работы интерфейса не очень хороший стиль. Кроме того вы пытаетесь писать прозрачный ящик, но опять же не верно, здесь уместен черный ящик - пинг-понг, передача мяча от пользователя к системе и обратно...
Реализация описывается в кооперации: диаграмме последовательности и диаграмме классов
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 07 Января 2007, 01:01:06
А вот у меня такой вопрос:
Наверно сначала нужно описать все сценарии, да? А потом уже рассматривать более подробно каждый.
Я правильно думаю?
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 07 Января 2007, 10:07:29
Я думаю, да! Набросать все сценарии, причем необязательно с альтернативными потоками. У вас их не так много. Не пытайтесь описывать подробности того, как это делается. Система - черный ящик.
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 07 Января 2007, 16:14:30
Андрей, вот давайте порассуждаем на тему вашей дипломной работы.
Каковы ее цели? Продемонстрировать умение самостоятельно решать поставленные задачи, показать профессиональные навыки, возможно сделать полезную систему для эксплуатации.

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

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

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

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

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

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

Теперь давайте посмотрим на вашу систему. И пройдемся для начала по ветки студента.

1. Студент становится таковым, получив регистрацию. Регистрация и авторизация - являются определющими в этом случае - без них тестирование не может состоятся.
Как вы планирует организовать регистрацию, каков ее механизм, алгоритм? В модельном случае -это может быть обычная он-лайн регистрация с подтверждением. Регистрационная форма должна содержать элементы проверки уникальности логина, корректности и допустимости пароля, корректности e-mail, графического кода для защиты от флуда, возможно требуется подтверждение, а может и нет - для начала можно сделать и без нее.
Авторизация - тоже должна иметь возможность проверки вводимой информации на корректность и допустимость символов, защиту о флуда, защиту от попытки подобрать пароль, возможность восстановления пароля - здесь столько всяких аналогов, что особых затруднений думаю врядли будет

2. Все-таки цель - это система тестирования, потому на первом этапе она вообще может идти без авторизации, правда куда тогда записывать результат? Однако для отработки механизма тестирования можно и не сохранять данные, либо присваивать студенту уникальный код при его первом заходе и потом его использовать через мехханизм сессий и кукис. Но думаю лучше сделать все-таки простенькую форму регистрации-авторизации.
Далее нужно понять как вы планируете проводить тест?
Предположим есть база данных вопросов и ответов. Выборка должна превышаь как минимум на 50% того, что будет в реальности задано. Т.е. задаете 5 вопросов на тест, то нужно как минимму 10, а лучше еще больше.
Далее какова процедура выбора и формирования тестов. Лично я использовал такую процедуру: после регистрации - студент выбирает нужный тест - для некого формируется уникальная неупорядоченная последовательность вопросов, которая записывается в БД. Далее согласно порядку отобранных вопросов выводится список вопросов, номера которых маскируются. Варианты ответов тоже выводятся в произвольном порядке.
Здесь нужно решать как выводит тест, весь целиком, или каждый вопрос отдельно? В каждом случае это может быть важно и зависеть от возможностей, нужно ли посоянное соединение или возможна потеря сессия и ее последующее восстановление, либо сессия отслеживается все время.
После завершения теста, будет выдан результат и поскольку возможны две попытки, то вероятно предложение сохранить результат или сделать еще попытку. Тогда возникает вопрос, сохранять каждую попытку или только последнюю....

3. Поскольку тестирование невозможно без предварительной его подготовки, то требуется инструмент создания теста. А для этого нужно понять каие тесты будут, какие типы вопросов и ответов будут:
1. однозначный выбор,
2. многозначный выбор
3. вычисление
4. точный ответ
5. текстовое представление вопроса
6. графическое представление вопроса
7. возможность выбора ответа нажатием на графическую область и т.п.

Нужно или нет конвертация ранее подготовленных тестов? Например я разработал список вопросв и ответов в word, то могу напрмире сохранить его как текст, сделать некую разметку типа bbcode а потом эту разметку использовать для быстрого импорта тестов в систему
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 07 Января 2007, 18:25:08
Андрей, вот давайте порассуждаем на тему вашей дипломной работы.
Каковы ее цели? Продемонстрировать умение самостоятельно решать поставленные задачи, показать профессиональные навыки, возможно сделать полезную систему для эксплуатации.

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

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

Полностью с этим согласен. Примерно 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 а потом эту разметку использовать для быстрого импорта тестов в систему

Вообще конечно хотелось бы такую штуку сделать, но я пока не знаю, как  :-\

Спасибо за советы. Они мне очень помогают!
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 07 Января 2007, 20:36:34
Цитировать
Как Вам такая система?
Ну система как система, главное предусмотреть возможность изменения

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

Цитировать
P.S. Обратите внимание, что мы создаем подсистему тестирования (оболочку), а не ее содержание(сами тесты).
Вот не согласен в вашим руководителем. Оболочка должна отвечать всей возможной специфики тестов. Просто угадайка - не самый лучший вариант системы контроля знаниями. Если в вопросах и ответах возможны графические элементы, нужно продумать как эти графические элементы будут внедряться - сохранятся и т.п.
Название: Re: Электронное тестирование учеников
Отправлено: Maxim от 09 Января 2007, 00:40:57
Здравствуйте.
Я напарник Андрея Литвиненко. Мы вместе с ним пишем диплом.
Расписали некоторые Варианты Использования.
Просьба проверить.
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 09 Января 2007, 15:58:15
Вариант использования Пройти тестирование - дублирует вариант Изменить профиль. В целом вообщем неплохо
Название: Re: Электронное тестирование учеников
Отправлено: bas от 09 Января 2007, 17:05:08
Расписали некоторые Варианты Использования.
Просьба проверить.

Ну не совсем понятен ВИ "Просмотр общей информации о системе" в плане Разделов, т.е. пользователь просcматривает какие разделы, чего разделы, как он по ним ходит и т.д.
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 10 Января 2007, 01:15:32
У меня вот сомнения на счет иерархии пользователей...
Подскажите плиз. Вот как я ее себе представляю.

По идее тут все в системе могут делать одно и то же только в разных объемах.
М.б. тогда вообще просто все будут дочерними к "Зарегистрированный пользователь"?
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 10 Января 2007, 03:07:58
Вот.
У меня еще вопрос про сценарии ВИ.
Мне непонятен пункт "Минимальные гарантии". Что это такое и что туда писать.
А так же в прикрепленном файле в местах, где стоят вопросы - тоже непонятно...
Например:
Вариант использования 7.
Публикация, редактирование теста.
Основное действующее лицо: Преподаватель, администратор. (?)

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

Спасибо за помощь!
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 10 Января 2007, 10:31:41
насчет иерархии пользователей.
А стоит ли слишком заморачиваться?
Зарегистрированный пользователь - это либо студент, либо руководитель, либо преподаватель, либо администратор.
Права доступа определяются группой, к которой они принадлежат. Группа определяет и информацию которую они могут просматривать, если согласно группе вы не можете просматривать оценки студентов, то и не увидете. Как это будет реализовано? Будет ли проверка через switch, или вы сделаете соотвествующее представление для каждой группы, ваше право....
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 10 Января 2007, 22:19:07
насчет иерархии пользователей.
А стоит ли слишком заморачиваться?
Зарегистрированный пользователь - это либо студент, либо руководитель, либо преподаватель, либо администратор.
Права доступа определяются группой, к которой они принадлежат. Группа определяет и информацию которую они могут просматривать, ...

Я так полагаю, что группы можно назвать так же? Т.е. "Студенты", "Руководители", Преподаватели", "Администраторы".

И еще... добрые люди, подскажи, пожалуйста, я правильно сделал диграмму активности для ВИ "Зарегистрироваться в системе"?
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 10 Января 2007, 22:53:17
В целом очень неплохо, можно конечно убрать такие силлогизмы, как Нажать ссылку Регистрация, заменив Выбрать регистрацию или даже лучше Выбирает регистрацию (а вот как он выбирает регистрацию, нажимает ли на ссылку, или на кнопку, или говорит голосом "Хочу регистрацию", или делает некий магический жест, думаю не важно.
Аналогично можно убрать условие нажата кнопка Отмена, хотя это и кажется понятным и заманчивым, все-таки лучше от понятие интерфейса уйти.
Перед конечным состоянием, мне кажется лучше поместить, что-то типа "Подтвердить успешную регистрацию", "Отобразить имя зарегистрировавшегося", Ну что там делает если успешная регистрация. Что появится на экране? Главная страница? Извещение об успешной регистрации, но все равно надо входить в систему? Или сразу становятся доступными ранее недоступные разделы?
И уж еще лучше распределить все по плавательным дорожкам - Студент - Система
 
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 11 Января 2007, 00:12:26
ну вот я кое-что добавил...
Добавил плавательные дорожки.
Правильно я сделал?
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 11 Января 2007, 01:09:24
Да... и еще вопрос у меня.
Вот такой ВИ.
Напоминание пароля.
Кто тут будет осн. действ. лицом? Зарегистрированный пользователь или Гость?
Я думаю, что Зарегистрированный пользователь.
Так как гостю не надо никакой пароль напоминать. Его у него просто нет в системе.
Название: Re: Электронное тестирование учеников
Отправлено: bas от 11 Января 2007, 01:28:48
ну вот я кое-что добавил...
Добавил плавательные дорожки.
Правильно я сделал?
Лучше "Отправить данные" сделать в виде условия. одни из которых идет на Ок, а др. на отмену. И что это за условие перед концом "Отмена Регистрации"?

Да... и еще вопрос у меня.
Вот такой ВИ.
Напоминание пароля.
Кто тут будет осн. действ. лицом? Зарегистрированный пользователь или Гость?
Я думаю, что Зарегистрированный пользователь.
Так как гостю не надо никакой пароль напоминать. Его у него просто нет в системе.
Это лучше оформить в виде альтернативного потока в Логине.
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 11 Января 2007, 14:07:06
Все-таки настаиваю не завершать конечным обезличеным состоянием, а показывать что будет после успешной и неуспешной регистрации. А то не понятно, после успешной регистрации что дальше? остаемся на тойже странице, возвращемся на главную как не зарегистрированный пользователь или появляется приветстиве - типа спасибо за регистрацию вы можете сделать то-то то...
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 11 Января 2007, 23:17:28
А у меня такой вот вопрос:
эти самые условия, их на какой дорожке надо рисовать?
Наверно на системной?
Или нет разницы?
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 11 Января 2007, 23:21:51
Цитировать
Лучше "Отправить данные" сделать в виде условия. одни из которых идет на Ок, а др. на отмену.
А может быть тогда и "Ввести регистрационные данные" сделать в виде условия?
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 11 Января 2007, 23:44:20
Получилось что-то такое.

А вот еще у меня вопрос.
Что следует делать после того, как будут готовы диаграммы активности?
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 12 Января 2007, 09:20:37
Цитировать
эти самые условия, их на какой дорожке надо рисовать?Наверно на системной?
Конечно на системной, условие определяет система.
Мне не понравилось, что вы завершаете отмену регистрации ромбом. Ромб - точка принятия решения. Обычно для слияния потоков используются жирная черная черта (правда если идут параллельные потоки). Хотя, имхо, иногда можно отойти от стандарта, тем более если все ясно и понятно...
Название: Re: Электронное тестирование учеников
Отправлено: bas от 12 Января 2007, 09:23:54
А может быть тогда и "Ввести регистрационные данные" сделать в виде условия?
Нет, т.к. "Ввести регистрационные данные" - это действие, а ромб должен быть после этого действия на стороне клиента.
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 12 Января 2007, 20:49:44
Цитировать
эти самые условия, их на какой дорожке надо рисовать?Наверно на системной?
Конечно на системной, условие определяет система.
Мне не понравилось, что вы завершаете отмену регистрации ромбом. Ромб - точка принятия решения. Обычно для слияния потоков используются жирная черная черта (правда если идут параллельные потоки). Хотя, имхо, иногда можно отойти от стандарта, тем более если все ясно и понятно...

а это идет просто объединение, это не условие. Хотя конечно можно и без него обойтись.

Нет, т.к. "Ввести регистрационные данные" - это действие, а ромб должен быть после этого действия на стороне клиента.
Так а "Отправить регистрационные данные" - это тоже действие. Подразумевается, что в этом месте пользоватль жмет кнопку "Регистрация" или что-то подобное.
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 12 Января 2007, 22:40:06
В принципе отставьте как есть. Я понимаю, что тут у вас отмена может произойти в любой момент, в момент заполнения полей, в момент отправки, хотя...
Стоп, если мы выбираем отправить действие отправить, то почему нажата отмена?
Вот где неясность. Ромб должен стоять до отправки данных - соотвественно при условии отмена - вылетаем на главную страницу, а если нажата кнопка сохранить - то это и есть событие отправить. Вот что имел в виду BAS. Т.е. отправить данные - убрать и сделать условием выбора пользователя...
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 16 Января 2007, 16:06:48
Так. Исправил. Добавил ромб.
Что плучилось - в прикрепленном файле.

Делаю диаграммы активности дальше.
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 16 Января 2007, 17:09:10
А у меня вот вопрос. ВИ "Войти в систему". Там же авторизуются все: студент, преподаватель, администратор. В общем все.
А как мне Диаграмму активности описывать? От кого будет Происходить действие? От Зарегистрированного пользователя?
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 16 Января 2007, 17:28:39
Да конечно. На диаграммах у тебя есть обобщенная роль - зарегистрированный пользователь, которая в любом случае требует авторизации
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 16 Января 2007, 17:36:43
Вот я нарисовал ДА для ВИ "Войти в систему". Что-то мне тут не нравится, а что именно - не знаю.

Сразу скажу, что форма авторизации будет примерно как и на этом форуме, т.е. сразу же будет видна. А если пользователь авторизован, то вместо формы авторизации будет выводиться краткая инфа про пользователя.
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 16 Января 2007, 18:10:08
Во-первых, у вас есть вариант использования. Ему и следуйте. Какова ваша цель описания этого процесса на диаграмме деятельности - показать общую концепцию, или как это делает система.
Если первое - то возможно оставить как есть, правда зачем после неудачного входа  перемещать на главную, думаю можно переместить в начала ВИ. Если не сказано иначе, то пользователь столько раз авторизируется сколько хочет, а если есть ограничение - например 3 раза - то после выдается сообщение и перевод на главную страницу
 Вывести сообщение об ошибки - вернуть в начал авторизации. автоизация 3 раза подряд - выход с сообщением и переход на главную страницу.

Если же описывается ВИ уже уровня систему, то вероятно можно описать все на диаграмме последовательсти с запуском сессии или передачей кукис
Вот такое мое мнение.
Кроме того, если вы запоминаете историю посещения, то в зависимости от пользователя отображается посещенный им последним ресурс. Имхо варианты есть
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 17 Января 2007, 14:44:47
Вот у меня возникли трудности с описанием ВИ "проверять корректность работы системы, устранять ошибки и проблемы связанные с потерей информации и т.п."
Я вот как-то не пойму, что тут надо описать :(
Подскажите плиз.
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 17 Января 2007, 16:57:08
Ничего не понял. Вы об Ви пишите или функции. Что значит проверять корректность, кто его запускет(таймер или пользователь) чья это цель. Начните отсюда
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 30 Января 2007, 22:30:33
Всем доброго времени сутокЁ
Вот и снова я.
После небольшого "перерыва" приступаю опять к диплому.
Сессия почти сдана. ;)

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

Ага. Прошу прощения. Попутал. :)


Значит на данный момент у меня имеется: какие-никакие требования к системе. Описание требований. Вроди как выявили участников системы. Описали основные ВИ. Сделали для них Диаграммы активности.

Теперь, я думаю, пора проектировать классы и архитекруту БД. Посоветовавшись на работе, пришли к выводу, что вначале лучше разобраться с БД, а потом с классами.
Вопрос такой. Действительно ли я уже могу переходить к описанным действия или лучше еще что-то сделать. И правильно ли то, что вначале лучше проектировать БД, а потом классы?
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 31 Января 2007, 09:05:46
Здравствуйте, Андрей.  Рад, что вы вновь с нами. Надеюсь, сессия сдана успешно?

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

2. что не сделано? - нет концептуальной модели предметной области, т.е. либо модели бизнес-объектов, либо ИЛМ. Вы как раз хотите этим занятся, но обратите внимание - это часть работы по исходному моделированию общей бизнес-модели или модели контекста.

3. требования ваши на мой взгляд еще не сформулированы на сто процентов. Например есть вариант испоьзования - Регистрировать пользователя - причем он прописан вами уже на уровне системы, а не бизнеса. Тем не менее, какое требование поддерживает ваш ВИ? На мой взгял ряд требований - основным из которых является: система предоставляет доступ к ресурсам согласно правам доступа пользователей. Из этого следует связанные с ним требования: система должна предоставлят возможность авторегистрации, система должна различать пользователей, система требует авторизованного входа и т.п. Все эти требования уже фиксированы на уровне описание ВИ, но мне кажется, что их следует сформулировать более строго и связать с контекстом. Тут же нужно выявлять и бизнес-правила - т.е. условия или ограничения имеющие четко выраженное значение. Возраст пользователей не ниже 18 лет.
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 31 Января 2007, 09:41:05
2. что не сделано? - нет концептуальной модели предметной области, т.е. либо модели бизнес-объектов, либо ИЛМ. Вы как раз хотите этим занятся, но обратите внимание - это часть работы по исходному моделированию общей бизнес-модели или модели контекста.

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

Простите, мне не совсем понятно, что такое ИЛМ? :(

По третьему пункту: т.е., если я правильно понял, Вы предлагаете добавить требования системы полбзователю? Или как? Я что-то тут не совсем понял...
Может еще не проснулся? :)
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 31 Января 2007, 13:01:46
Простите, мне не совсем понятно, что такое ИЛМ? :(
ИЛМ - информационно логическая модель то ест полноатрибутивная модель данных со всеми определениями но без ориентации на кокретную субд

Цитировать
По третьему пункту: т.е., если я правильно понял, Вы предлагаете добавить требования системы полбзователю? Или как? Я что-то тут не совсем понял...
Может еще не проснулся? :)
у вас есть описание ВИ, но это еще не требования. Ви - получить книгу, требование - Система должна предоставить книгу по требованию. Данное требование связано стребование Система должна идентифицировать пользователей ну и т.п.
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 31 Января 2007, 17:31:18
у вас есть описание ВИ, но это еще не требования. Ви - получить книгу, требование - Система должна предоставить книгу по требованию. Данное требование связано стребование Система должна идентифицировать пользователей ну и т.п.

Так это получается, что любое действие системы - есть требование к системе?
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 31 Января 2007, 18:50:02
Так это получается, что любое действие системы - есть требование к системе?

Ну мне трудно так сразу ответить, но собственно да. Есть внешние события, которые вы и описали, и будут еще внутренние события. Пока мы обсуждаем функциональные требования и бизнес правила, т.е. что должна делать система в ответ на события генерируемые пользователями раз, временем два, чем еще?
В общем можно так и сказать, что каждое требование определяет будущее действие системы
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 02 Февраля 2007, 16:06:37
А в каком виде лучше все это оформить?
Всмысле требования к системе? Просто их перечислить?
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 02 Февраля 2007, 16:57:53
А в каком виде лучше все это оформить?
Всмысле требования к системе? Просто их перечислить?
текстовый формат, док, эксель - в чем удобнее. И нумеруйте требования, возможна иерархия требований.
Можете попробывать EA для этого использовать
Название: Re: Электронное тестирование учеников
Отправлено: litvinenko от 02 Февраля 2007, 17:03:56
Так. Я вот подумал сейчас и понял, что мне немного непонятно.
Можно показать пример?
Например возьмем такой ВИ "Просмотр общей информации о системе".
Какие там требования к системе могут быть ???
Название: Re: Электронное тестирование учеников
Отправлено: Galogen от 02 Февраля 2007, 17:19:22
Так. Я вот подумал сейчас и понял, что мне немного непонятно.
Можно показать пример?
Например возьмем такой ВИ "Просмотр общей информации о системе".
Какие там требования к системе могут быть ???
смотрите описание. вы же навреняка пишете: пользовтаель выбрал то-то, система сделала то-то.
Т.е. получается
Т11: Система должна предоставить общую информацию при входе пользователя в систему
Общая информация: сведения о модулях тестирования, информация о назначении сайта, правила регистрации и тп.п Т.е. то что есть на главной странице или на сайте, та информация которая не требует регистрации
Т12: Система должна предоставить дополнительную информацию в соотвествии с правами доступа
Т121: Система должна идентифицировать пользователя по логину и паролю.
БП1: Логин - является уникальным для системы
БП2: Пароль должен быть не менее 6 символов и может состоять из цифр и букв латинского алфавита и не начинаться с цифры

Что-то в этом духе