- •Специфицирование и тестирование программ
- •Содержание
- •Введение
- •Задание
- •Ограничения на исходные данные
- •Структура целей
- •Таблицы решений
- •Схемы программ
- •Тестирование программы
- •Неуникальные номера предметов
- •Наличие неассоциированного номера предмета
- •Неверное значение оценки
- •Нечисловые символы в номере предмета
- •Отсутствие поля
- •Превышение максимальной длины
- •Заключение
Структура целей
На рисунке Рисунок 1 представлена структура целей разрабатываемой программы.
Рисунок 1. Структура целей разрабатываемой программы
Таблицы решений
Таблица решений для проверки правильности содержимого первого файла представлена в таблице Таблица 4.
Таблица 4. Проверка правильности содержимого первого файла
Условие |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Превышено максимальное кол-во символов в строке? |
Д |
Н |
Н |
Н |
Н |
Н |
Н |
В записи содержится верное число полей? |
- |
Д |
Д |
Д |
Д |
Д |
Н |
Номер предмета состоит из цифр? |
- |
Д |
Д |
Д |
Д |
Н |
- |
Номер предмета равен нулю? |
- |
Д |
Н |
Н |
Н |
- |
- |
Номер предмета уникален? |
- |
- |
Д |
Д |
Н |
- |
- |
Просмотрены все записи? |
- |
- |
Д |
Н |
- |
- |
- |
Действия |
|
|
|
|
|
|
|
Выдать сообщение «превышено максимальное число символов в строке <N>» |
1 |
|
|
|
|
|
|
Выдать сообщение «неверное число полей в строке <N>» |
|
|
|
|
|
|
1 |
Выдать сообщение «неверное значение номера предмета в строке <N>, номер предмета должен быть числом» |
|
|
|
|
|
1 |
|
Выдать сообщение «неверное значение номера предмета в строке <N>, номер предмета не может быть равен нулю» |
|
1 |
|
|
|
|
|
Выдать сообщение «Уже определенный номер предмета <N> пытаются определить для сопоставления с <имя>» |
|
|
|
|
1 |
|
|
Добавить данные во временный файл |
|
|
1 |
1 |
|
|
|
Перейти к следующей записи |
|
|
|
2 |
|
|
|
Прекратить обработку |
2 |
2 |
2 |
|
2 |
2 |
2 |
Таблица решений для функции соединения таблиц с формированием двоичного файла приведена в таблице Таблица 5.
Таблица 5. Соединение таблиц с формированием двоичного файла
Условие |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Превышено максимальное кол-во символов в строке? |
Д |
Н |
Н |
Н |
Н |
Н |
Н |
Н |
Н |
Н |
Н |
В записи содержится верное число полей? |
- |
Д |
Д |
Д |
Д |
Д |
Д |
Д |
Д |
Д |
Н |
Номер группы содержит нечисловые символы? |
- |
Д |
Н |
Н |
Н |
Н |
Н |
Н |
Н |
Н |
- |
Номер группы равен нулю? |
- |
- |
Д |
Н |
Н |
Н |
Н |
Н |
Н |
Н |
- |
Номер предмета содержит нечисловые символы? |
- |
- |
- |
Д |
Н |
Н |
Н |
Н |
Н |
Н |
- |
Номер предмета равен нулю? |
- |
- |
- |
- |
Д |
Н |
Н |
Н |
Н |
Н |
- |
Оценка содержит нечисловые символы? |
- |
- |
- |
- |
- |
Д |
Н |
Н |
Н |
Н |
- |
Оценка от 2 до 5? |
- |
- |
- |
- |
- |
- |
Д |
Д |
Д |
Н |
- |
Номер предмета существует? |
- |
- |
- |
- |
- |
- |
Д |
Д |
Н |
- |
- |
Просмотрены все записи? |
- |
- |
- |
- |
- |
- |
Д |
Н |
- |
- |
- |
Действия |
|
|
|
|
|
|
|
|
|
|
|
Выдать сообщение «превышено максимальное число символов в строке <N>» |
1 |
|
|
|
|
|
|
|
|
|
|
Выдать сообщение «неверное число полей в строке <N>» |
|
|
|
|
|
|
|
|
|
|
1 |
Выдать сообщение «неверное значение номера группы в строке <N>, номер группы должен быть числом» |
|
1 |
|
|
|
|
|
|
|
|
|
Выдать сообщение «неверное значение номера группы в строке <N>, номер группы не может быть равен нулю» |
|
|
1 |
|
|
|
|
|
|
|
|
Выдать сообщение «неверное значение номера предмета в строке <N>, номер предмета должен быть числом» |
|
|
|
1 |
|
|
|
|
|
|
|
Выдать сообщение «неверное значение номера предмета в строке <N>, номер предмета не может быть равен нулю» |
|
|
|
|
1 |
|
|
|
|
|
|
Выдать сообщение «неверное значение оценки в строке <N>, оценка должна быть числом» |
|
|
|
|
|
1 |
|
|
|
|
|
Выдать сообщение «неверное значение оценки в строке <N>, оценка должна быть от 2 до 5» |
|
|
|
|
|
|
|
|
|
1 |
|
Выдать сообщение «в строке <N> указан несуществующий номер предмета» |
|
|
|
|
|
|
|
|
1 |
|
|
Добавить данные во временный файл |
|
|
|
|
|
|
1 |
1 |
|
|
|
Перейти к следующей записи |
|
|
|
|
|
|
|
2 |
|
|
|
Прекратить обработку |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
|
2 |
2 |
2 |
Таблица решений для функции создания текстового файла с результирующей таблицей приведена в таблице Таблица 6.
Таблица 6. Создание текстового файла с результирующей таблицей
Условия |
1 |
2 |
3 |
Возможно найти первую непомеченную запись? |
Д |
Д |
Н |
Имеются ли еще записи с таким же номером предмета и номером группы? |
Д |
Н |
- |
Действия |
|
|
|
Выписать в текстовый файл первую непомеченную запись и пометить ее |
1 |
1 |
|
Выписать в текстовый файл записи с таким же номером предмета и номером группы и пометить их |
2 |
|
|
Перейти к поиску следующей непомеченной записи |
3 |
2 |
|
Прекратить обработку |
|
|
1 |
Таблица решений для функции подсчета среднего балла приведена в таблице Таблица 7.
Таблица 7. Подсчет среднего балла
Условия |
1 |
2 |
3 |
Возможно найти первую непомеченную запись? |
Д |
Д |
Н |
Имеются ли еще записи с таким же номером предмета и номером группы? |
Д |
Н |
- |
Действия |
|
|
|
Установить сумму оценок на значение оценки в записи, установить количество оценок равное 1, пометить эту запись как прочитанную |
1 |
1 |
|
Просуммировать оценки для записей с таким же номером предмета и номером группы, увеличить счетчик количества оценок на число найденных записей, пометить записи как прочитанные |
2 |
|
|
Вычислить средний балл, поделив сумму оценок на их количество, обнулить счетчики оценок и записать средний балл в файл |
3 |
2 |
|
Перейти к поиску следующей непомеченной записи |
4 |
3 |
|
Прекратить обработку |
|
|
1 |
Схема работы системы
Схема работы системы представлена на рисунке Рисунок 2.
Рисунок 2. Схема работы системы