Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ irina.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.17 Mб
Скачать

3. Разработка информационной системы

3.1 Физическое модель и реализация базы данных информационной системы

Для создания базы данных использовалась PostgreSQL 8.4. Запросы PostgreSql создания базы данных представлен в приложении Б.

Полная атрибутивная физическая модель базы данных представлена на Рисунке 11.

Рисунок 11 – Атрибутивная модель базы данных

Полное описание отношений представлены на следующих рисунках:

Рисунок 12 – Отношение Texaminator

Рисунок 13 – Отношение Texaminee

Рисунок 14 – Отношение TGroup

Рисунок 15 – Отношение TSubject

Рисунок 16 – Отношение TTest

Рисунок 17 – Отношение TQuestion

Рисунок 18 – Отношение TCurrentTest

Рисунок 19 – Отношение TPassedTest

Рисунок 20 – Отношение TResult

Для данного круга пользователей так же создано представление. Запрос SQL для создания представления:

CREATE VIEW viewpassedtest AS

SELECT "TExaminee"."Name" AS nameexaminee,

"TGroup"."Name" AS groupexaminee,

"TSubject"."Name" AS namesubject,

"TTest"."Name" AS nametest,

"TExaminator"."Name" AS nameexaminator,

"TPassedTest"."Date" AS date, sum(DISTINCT "TResult"."Score") AS score

FROM

"TPassedTest", "TResult", "TExaminee", "TExaminator", "TGroup", "TSubject", "TTest"

WHERE

((((("TExaminee".id = "TPassedTest"."idExaminee") AND ("TGroup".id = "TExaminee"."idGroup"))

AND ("TSubject".id = "TPassedTest"."idSubject")) AND ("TTest".id = "TPassedTest"."idTest"))

AND ("TExaminator".id = "TPassedTest"."idExaminator"))

GROUP BY

"TExaminee"."Name", "TGroup"."Name", "TSubject"."Name", "TTest"."Name", "TExaminator"."Name", "TPassedTest"."Date";

3.2 Серверная часть приложения информационной системы

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

3.3. Запросы клиентского приложения к базе данных

Для данной подстистемы были разработаны следующие запросы:

  • Выборка студентов:

SELECT Name FROM TExaminee

WHERE idGroup = (SELECT id FROM TGroup WHERE Name = '%1')").arg(group), db);

  • Проверка соответсвия введенного пароля с имеющимся:

(SELECT id FROM TExaminee WHERE Code = '%1'").arg(Code), db);

  • Добавление данных в таблицу пройденных тестов:

(SELECT idSubject, idTest, idExaminator

FROM TCurrentTest

WHERE idGroup = (SELECT id FROM TGroup WHERE Name = '%1')").arg(GroupName), db);

(INSERT INTO TPassedTest (idExaminee, idSubject, idTest, idExaminator, Date) VALUES (%1, %2 ,%3, %4, %5::abstime)").arg(id).arg(idSubject).arg(idTest).arg(idExaminator).arg(QDateTime::currentDateTime().toTime_t()));

3.4 Кодирование клиентского приложения

Полный исходный код данного приложения представлен в приложении А.

Диаграмма классов приведена на схеме 1:

3.5 Средства поддержки пользователя клиентского приложения

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

3.6 Тестирование клиентского приложения

Тест №1: Запустить программу

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

Полученный результат: соответствует ожидаемому (рисунок 21).

Рисунок 21 – Окно авторизации

Тест №2: Ввести номер группы

Ожидаемый результат: после ввода группы заполниться список студентов, относящихся к ней.

Полученный результат: соответствует ожидаемому (рисунок 22, рисунок 23).

Рисунок 22 – Окно авторизации (неправильно введена группа либо в группе нет ни одного студента)

Рисунок 22 – Окно авторизации (группа введена правильно)

Тест №3: Ввести пароль

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

Полученный результат: соответствует ожидаемому (рисунок 23, рисунок 24).

Рисунок 23 – Окно авторизации (неправильно введен пароль)

Тест №4: Прохождение теста через интернет

Ожидаемый результат: При невозможности подключения к локальному серверу базы данных появится окно с запросом на ввод IP адреса удалённого сервера БД, а так же имени пользователя и пароля.

Полученный результат: соответствует ожидаемому (рисунок 24).

Рисунок 24 – Окно авторизации (программа успешно подключилась к удалённому серверу БД, о чём нас и информирует неактивная кнопка «Connected»)

Тест №5: Прохождение всех заданий теста

Ожидаемый результат: после прохождения всех заданий и нажатия на кнопку «Finish» появится уведомление о том, что тест пройден.

Полученный результат: соответствует ожидаемому (рисунок 25-27).

Рисунок 25-27 – Прохождение тестирования и его завершение

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]