Лабораторная работа №3.

Задание

Разработка диалоговой GUI-системы тестирования с учетом требований к GUI (естественность, согласованность и непротиворечивость, дружественность, простота и неизбыточность, уровневая дифференциация - простой режим и режим эксперта, доступ к системе помощи, эстетическая привлекательность) и требований к многозадачности (система должна позволять одновременное прохождение теста несколькими пользователями).
  1. Минимальный набор функциональных возможностей системы (режим эксперта)
    1. Вход с регистрацией пользователя и получением уникального идентификатора (action_login0)
    2. Вход с помощью ранее полученного идентификатора (action_login1)
    3. Проверка корректности идентификатора (action_login1_verify)
    4. Разрегистрация пользователя (action_logout)
    5. Получение списка тестов со статданными для каждого из них (количество попыток прохождения, % наилучшего результата, % наихудшего результата) (action_list)
    6. Прохождение выбранного теста (action_test) с генерацией результатов тестирования (action_testresult)
  2. Минимальный набор диалогов системы (режим эксперта)
    1. Форма входа с выбором способа регистрации (state_first).
      Входы - первоначальный запуск, action_logout, action_login1_verify
      Содержимое - Описание системы, автора, информация об ошибке в случае входа по action_login1_verify, остальное - на усмотрение студента с учетом требований к GUI-интерфейсу.
      Выходы - action_login0, action_login1
    2. Форма входа с регистрацией пользователя и получением уникального идентификатора (state_login0).
      Входы - action_login0
      Содержимое - ввод регистрационных данных (напр. ФИО), остальное - на усмотрение студента с учетом требований к GUI-интерфейсу.
      Выходы - action_list, action_logout
    3. Форма входа с помощью ранее полученного идентификатора (state_login1).
      Входы - action_login1
      Содержимое - ввод уникального идентификатора, остальное - на усмотрение студента с учетом требований к GUI-интерфейсу.
      Выходы - action_login1_verify, action_logout
    4. Рабочее поле (state_work)
      Входы - action_login0, action_login1_verify, action_list
      Содержимое - идентификационные данные пользователя, включая уникальный идентификатор, список тестов, остальное - на усмотрение студента с учетом требований к GUI-интерфейсу.
      Выходы - action_test, action_logout
    5. Форма прохождения теста (state_test)
      Входы - action_test
      Содержимое - название теста, текущее тестовое задание, остальное - на усмотрение студента с учетом требований к GUI-интерфейсу.
      Выходы - action_test, action_testresult, action_logout
    6. Форма результата прохождения теста (state_testresult)
      Входы - action_testresult
      Содержимое - название теста, текущее тестовое задание, остальное - на усмотрение студента с учетом требований к GUI-интерфейсу.
      Выходы - action_test (пройти снова), action_list, action_logout
  3. Формат теста
    Каждый тест хранится в отдельном файле с раширением .tst. Тестовые задания - закрытого типа с выбором одного варианта. Тест начинается набором строк - заголовком теста (минимум - названием теста, остальное - на усмотрение студента). Заголовок теста отделяется от тествоых заданий пустой строкой. Структура тестового задания:
    Вопрос в одной строке
    Номер правильного ответа
    Вариант ответа 1 в одной строке
    Вариант ответа 2 в одной строке
    ...
    Вариант ответа N в одной строке
    Пустая строка
    
    Пример файла теста
    name: Тест-пример
    
    Утро вечера мудренее?
    1
    да
    нет
    наверное
    когда как
    не знаю
    
    Где растет трава?
    2
    на дровах
    на дворе
    на ушах
    
    Модуль в языке программирования Pascal это:
    2
    часть космической станции
    файл, где сгруппированы объединенные общими принципами функции, процедуры, типы и т.д
    абсолютное значение числа
    измеряемая в паскалях способность твёрдого тела упруго деформироваться при приложении к нему силы.
    
  4. UML-схемы системы