Необходимо разработать программное средство, позволяющая проходить психологические тесты.
Курсовой проект должен быть реализован в виде web-приложения на языке Java c использованием технологий JSP, Servlet, XML/XSLT. Архитектура приложения должна быть выполнена в архитектуре паттерна MVC. Интерфейс приложения должен быть оформлен с использованием каскадных таблиц стилей (CSS).
При разработке пользовательского интерфейса необходимо предусмотреть элемент «меню», пункты которого должны храниться в виде XML документа, который будет трансформироваться в html представление с помощью технологии XSLT.
Приложение должно быть выполнено в системе IntelliJ IDEA 9.2.
База данных должна содержать следующие таблицы:
- таблица «Доступы»;
- таблица «Пользователи»;
- таблица «Вопросы»;
- таблица «Результат»;
- таблица «Тесты»;
- таблица «Опции»;
В таблице «Доступы» необходимо создать следующие поля: id-доступы, логин и пароль.
В таблице «Пользователи» необходимо создать следующие поля: id-пользователь, id-доступы и роль пользователя.
В таблице «Вопросы» необходимо создать следующие поля: id-вопроса, название вопроса и баллы.
В таблице «Результат» необходимо создать следующие поля – описание результата.
В таблице «Тесты» необходимо создать следующие поля: название теста и описание.
В таблице «Опции» необходимо создать следующие поля: id-вопроса, id-тесты и id-результатов.
Разрабатываемое приложение должно обеспечивать администратору добавление, редактирование и удаление тестов в базе данных.
Программа должна быть устойчивой к самым различным ошибкам, которые могут возникнуть в процессе работы.
Описание системы с помощью IDEF0 называется функциональной моделью. Функциональная модель предназначена для описания существующих бизнес-процессов, в котором используются как естественный, так и графический языки. Для передачи информации о конкретной системе источником графического языка является сама методология IDEF0. Рассмотрим функциональную модель процесса системы – пройти тест.
Методология IDEF0 предписывает построение иерархической системы диаграмм - единичных описаний фрагментов системы. Сначала проводится описание системы в целом и ее взаимодействия с окружающим миром (контекстная диаграмма), после чего проводится функциональная декомпозиция - система разбивается на подсистемы, и каждая подсистема описывается отдельно (диаграммы декомпозиции). Затем каждая подсистема разбивается на более мелкие и так далее до достижения нужной степени подробности.
Каждая IDEF0-диаграмм, содержит блоки и дуги. Блоки изображают функции моделируемой системы. Дуги связывают блоки вместе и отображают взаимодействия и взаимосвязи между ними.
Функциональные блоки (работы) на диаграммах изображаются прямоугольниками, означающими поименованные процессы, функции или задачи, которые происходят в течение определенного времени и имеют распознаваемые результаты. Имя работы должно быть выражено отглагольным существительным, обозначающим действие.
IDEF0 требует, чтобы в диаграмме было не менее трех и не более шести блоков. Эти ограничения поддерживают сложность диаграмм и модели на уровне, доступном для чтения, понимания и использования.
Каждая сторона блока имеет особое, вполне определенное назначение. Левая сторона блока предназначена для входов, верхняя - для управления, правая - для выходов, нижняя - для механизмов. Такое обозначение отражает определенные системные принципы: входы преобразуются в выходы управление ограничивает или предписывает условия выполнения преобразований, механизмы показывают, что и как выполняет функция.
Блоки в IDEF0 размещаются по степени важности, как ее понимает автор диаграммы. Этот относительный порядок называется доминированием. Доминирование понимается как влияние, которое один блок оказывает на другие блоки диаграммы. Например, самым доминирующим блоком диаграммы может быть либо первый из требуемой последовательности функций, либо планирующая или контролирующая функция, влияющая на все другие.
В IDEF0 различают пять типов стрелок.
Вход - объекты, используемые и преобразуемые работой для получения результата (выхода). Допускается, что работа может не иметь ни одной стрелки входа. Стрелка входа рисуется как входящая в левую грань работы.
Управление - информация, управляющая действиями работы. Обычно управляющие стрелки несут информацию, которая указывает, что должна выполнять работа. Каждая работа должна иметь хотя бы одну стрелку управления, которая изображается как входящая в верхнюю грань работы.
Выход - объекты, в которые преобразуются входы. Каждая работа должна иметь хотя бы одну стрелку выхода, которая рисуется как исходящая из правой грани работы.
Механизм - ресурсы, выполняющие работу. Стрелка механизма рисуется как входящая в нижнюю грань работы. По усмотрению аналитика стрелки механизма могут не изображаться на модели.
Вызов - специальная стрелка, указывающая на другую модель работы. Стрелка вызова рисуется как исходящая из нижней части работы и используется для указания того, что некоторая работа выполняется за пределами моделируемой системы.
На контекстной диаграмме верхнего уровня «Пройти тест» (рисунок 2.1.1) определены потоки входных и выходных данных, механизмы и управления данными.
Рисунок 2.1.1 – Диаграмма IDEF0. Верхний уровень
Далее необходимо построить диаграмму второго уровня, выполнив декомпозицию функционального блока. Таким образом будет получено более подробное описание. Диаграмма отображена на рисунке 2.1.2.
Рисунок 2.1.2 – Диаграмма IDEF0. Уровень 1
Пройти тест можно разбить на: авторизация, выбор теста и прохождение теста.
Все эти действия находятся в функциональных блоках. Входная информация для каждого блока меняется, так как по средствам преобразования информации на входе должен быть получен конечный результат.
Далее можно декомпозировать еще один блок, например, «Авторизация». (рисунок 2.1.3).
Рисунок 2.1.3 – Диаграмма IDEF0. Уровень 2
Процесс авторизации разбиваем на «Ввод логина», «Ввод пароля» и «Вывод страницы со списком тестов».
Дата | Выполнено, % |
---|---|
2020-05-30 19:54:47 | 10 |
2020-05-30 16:54:44 | 100 |