Диплом: Автоматизация процесса контроля знаний учащихся ГОУ СОШ

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
45
Рисунок 2.6 – Модуль редактора профиля
В Модуле редактора профилей содержатся функции работы с файлами
профилей (таблица 2.2).
Таблица 2.2
Описание глобальных переменных
Название:
currentProfile
Назначение:
используется для хранения имени профиля
Тип данных:
строка
Подпрограммы, в которых
используется:
TProfileForm::SelectBtClick,
TResultForm::FormShow
Описание подпрограмм
Название:
findProfiles
Назначение:
для загрузки списка файлов профилей
Реализуемые функциональные
требования:
3, 4
46
Описание локальных
переменных:
tsch_r;
str – строка имени файла без расширения;
Тесты, проверяющие
работоспособность
подпрограммы:
2, 3
Словесное описание алгоритма:
Если существует файл в директории “profiles/” с любым именем
расширения “.prof”, то хаписать в локальную переменную str имя файла, удалить
из строки ““.prof ” и добавить ее ProfileListBox (таблица 2.3).
Таблица 2.3
Описание глобальных переменных
Название:
openProfile
Назначение:
Открывает файл профиля
Описание параметров:
String name – имя файла, без расширения,
int &nпеременная, в которую будет
передан размер массива
Описание локальных
переменных:
FILE *file – указатель на открываемый файл;
int *mas; - массив баллов профиля
Использующие подпрограммы:
TProfileForm::ProfileListBoxEnter
Словесное описание алгоритма:
Если файл открылся для чтения, то считываем целое число и записываем в
n. Создаем массив целых чисел размером n. Пока i<n считываем целое число и
записываем в mas[i], i увеличиваем на 1. Закрываем файл, возвращаем mas
(таблица 2.4).
Таблица 2.4
Описание глобальных переменных
Название:
saveProfile
Назначение:
Сохраняет профиль в файл
47
Реализуемые функциональные
требования:
1
Описание параметров:
String name - имя профиля,
int* mas – массив баллов,
int n – размер массива баллов
Описание локальных переменных:
FILE *file;
Использующие подпрограммы:
TProfileForm::AddBtClick
Тесты, проверяющие
работоспособность подпрограммы:
1
Словесное описание алгоритма:
Если файл открылся для записи, то записываем целое число из параметра n.
Пока i<n записываем целое число из mas[i], i увеличиваем на 1. Закрываем файл
(таблица 2.5).
2.3.2 Характеристика базы данных
Таблица 2.5
Описание глобальных переменных
Название:
TProfileForm::AddBtClick
Назначение:
Добавляет профиль
Реализуемые функциональные требования:
1, 3, 4
Тесты, проверяющие работоспособность
подпрограммы:
1
Словесное описание алгоритма:
Если AddEd->Text не пустое, то если AddEd->Text не присутствует в
ProfileListBox, то сохраняем профиль с именем AddEd->Text и пустым массивом
баллов, DelBt->Enabled и SelectBt->Enabled присваиваем true, ProfileListBox-
>ItemIndex присваиваем последнее значение, иначе показать сообщение
«Профиль с таким именем уже существует», иначе показать сообщение «Нельзя
создать профиль с пустым именем!» (таблица 2.6).
48
Таблица 2.6
Описание глобальных переменных
Название:
TProfileForm::DelBtClick
Назначение:
удаляет профиль
Реализуемые функциональные требования:
2
Тесты, проверяющие работоспособность
подпрограммы:
4
Словесное описание алгоритма:
Удаляет файл в директории "profiles/" с именем ProfileListBox->Items-
>operator [](ProfileListBox->ItemIndex) + ".prof"). Удаляет элемент из
ProfileListBox, QtyPnl->Caption, BestPnl->Caption и MiddlePnl->Caption
присваиваем "". Если ProfileListBox->Count равен 0, то DelBt->Enabled и SelectBt-
>Enabled присваиваем false, иначе ProfileListBox->ItemIndex присваиваем 0
(таблица 2.7).
Таблица 2.7
Описание глобальных переменных
Название:
TProfileForm::ProfileListBoxEnter
Назначение:
Отображает информацию о профиле
Реализуемые функциональные
требования:
5, 6, 7
Описание локальных
переменных:
int n – размер массива;
int max – максимальный элемент массива;
int sum – сумма элементов массива.
Словесное описание алгоритма:
Открываем профиль с именем ProfileListBox->Items->operator
[](ProfileListBox->ItemIndex) и записываем данные в mas и n. Пока i<n если
max<mas[i], то присваивает в max mas[i], значение sum увеличиваем на mas[i], i
увеличиваем на 1. QtyPnl->Caption присваиваем n. BestPnl->Caption присваиваем
max. MiddlePnl->Caption присваиваем если n не равно 0, то sum / n, иначе 0
(таблица 2.8).
49
Таблица 2.8
Описание глобальных переменных
Название:
TProfileForm::SelectBtClick
Назначение:
Запускает тестирование из под данного профиля
Глобальные
переменные:
currentProfile
Словесное описание алгоритма:
Присвоить переменной currentProfile значение ProfileListBox->Items-
>operator [](ProfileListBox->ItemIndex). Скрыть форму. Показать форму TestForm.
2.3.3 Структурная схема пакета (дерево вызова программных модулей)
UTest - основной модуль программы, в котором описаны функции и
глобальные переменные, реализующие прохождение тестирования. Является
смысловой основой программы (рис.2.7).
Рисунок 2.7 – Модуль UTest
50
В таблице 2.9 ниже приведено описание глобальных перемен модуля.
Таблица 2.9
Описание глобальных переменных
Название:
tsch_r
Назначение:
используется для файла текущего вопроса
Тип данных:
TSearchRec
Подпрограммы, в которых
используется:
TTestForm::FormShow, TTestForm::FormClose,
TTestForm::OkBtClick
Тип данных:
целое число
Подпрограммы, в которых
используется:
openQuestion
Название:
qty
Назначение:
используется для хранения кол-ва вопросов
Тип данных:
целое число
Подпрограммы, в которых
используется:
openQuestion
Название:
qtyTrue
Назначение:
используется для кол-ва правильных ответов
Тип данных:
целое число
Подпрограммы, в которых
используется:
openQuestion
В таблице 2.10 приведено описание подпрограмм модуля.
Таблица 2.10
Описание глобальных переменных
Название:
readString
Назначение:
Считывает строку из файла
Реализуемые функциональные
требования:
10, 11
Описание параметров
fileуказатель на файл из которого
надо считать строку
51
Описание локальных переменных:
strмассив символов
s – указатель на символ
Использующие подпрограммы:
openQuestion
Тесты, проверяющие работоспособность
подпрограммы:
5
Словесное описание алгоритма:
Создаем массив символов. Записываем в него строку из файла. Записываем
в s указатель на ‘/n’ в str. Если s не пустое устанавливаем в него ‘/0’. Возвращаем
str (таблица 2.11).
Таблица 2.11
Описание глобальных переменных
Название:
isTrue
Назначение:
Проверяет содержит ли строчка
правильный ответ
Описание параметров
strмассив символов
Описание локальных переменных:
s – указатель на символ
Использующие подпрограммы:
Словесное описание алгоритма:
Записываем в s указатель на ‘+’. Если s не пусто устанавливаем в него ‘/0’
и возвращаем true, иначе возвращаем false (таблица 2.12).
Таблица 2.12
Описание глобальных переменных
Название:
openQuestion
Назначение:
Открывает файл вопроса
Реализуемые функциональные требования:
9
Описание параметров
name – имя файла
Описание локальных переменных:
file;
Использующие подпрограммы:
TTestForm::FormShow
52
Тесты, проверяющие работоспособность
подпрограммы:
5, 6
Словесное описание алгоритма:
Если файл открылся для чтения как текстовый, то считываем строку в str,
очищаем QuestionMemo, добавляем str в QuestionMemo. Cчитываем строку в str
проверяем содержит ли она правильный ответ, если да, то присваиваем trueAnswer
значение.
1. Очищаем AnswerMemo1, добавляем str в AnswerMemo1. Cчитываем
строку в str проверяем содержит ли она правильный ответ, если да, то
присваиваем trueAnswer значение.
2. Очищаем AnswerMemo2, добавляем str в AnswerMemo2. Cчитываем
строку в str проверяем содержит ли она правильный ответ, если да, то
присваиваем trueAnswer значение.
3. Очищаем AnswerMemo3, добавляем str в AnswerMemo3. Cчитываем
строку в str проверяем содержит ли она правильный ответ, если да, то
присваиваем trueAnswer значение.
4. Очищаем AnswerMemo4, добавляем str в AnswerMemo4. Закрываем файл.
Увеличиваем значение qty на 1 (таблица 2.13).
Таблица 2.13
Описание глобальных переменных
Название:
TTestForm:: FormClose
Назначение:
Закрывает приложение
Реализуемые функциональные
требования:
17
Глобальные переменные:
tsch_r
Тесты, проверяющие
работоспособность подпрограммы:
9
Словесное описание алгоритма:
Закрыть поиск файлов. Закрыть форму ProfileForm (таблица 2.14).
53
Таблица 2.14
Описание глобальных переменных
Название:
TTestForm:: OkBtClick
Назначение:
Изменяет статистику ответов. Вызывает
следующий вопрос
Глобальные переменные:
tsch_r
Словесное описание алгоритма:
Если один из RadioButton ов включен, то увеличить значение qtyTrue на
один из четырех RadioButton->Checked, в зависимост от trueAnswer. Выключить
все RadioButton. Если есть следующий файл, то открыть вопрос с именем этого
файла. Иначе очистить все Memo на форме, скрыть форму и показать ResultForm
форму. Иначе показать сообщение «Не выбран вариант ответа!».
2.3.4 Описание программных модулей
Словесное описание алгоритма:
Закрывает форму.
Таблица 2.15
Описание глобальных переменных
Название:
TResultForm::FormClose
Назначение:
Закрывает приложение
Реализуемые функциональные
требования:
17
Тесты, проверяющие
работоспособность подпрограммы:
9
Словесное описание алгоритма: Закрывает форму TestForm.
54
Таблица 2.16
Описание глобальных переменных
Название:
TResultForm::RepeatBtClick
Назначение:
Вызывает тестирующий модуль
Реализуемые функциональные
требования:
16
Тесты, проверяющие
работоспособность подпрограммы:
8
Словесное описание алгоритма:
Скрывает форму. Показывает форму TestForm.
2.4 Контрольный пример реализации проекта и его описание
UResult - модуль вывода информации результатов прохождения теста
(рис.2.8).
Рисунок 2.8 – Вывод результатов тестирования
В таблице 2.17 приведено описание глобальных перемен модуля.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)