
- •Специфицирование и тестирование программ
- •Введение
- •1. Краткие теоретические сведения
- •1.1. Внешние спецификации программного обеспечения
- •1.1.2. Спецификация функций с помощью таблиц решений.
- •1.2. Стратегии тестирования
- •1.3. Метод тестирования таблиц решений
- •2. Методика выполнения курсовой работы
- •2.1. Цель работы
- •2.2. Постановка задачи обработки информации
- •Структура и содержание файла f2
- •2.3. Ограничения на входные и выходные данные
- •2.4. Структурирование целей разрабатываемой программы
- •2.5. Внешние спецификации функций разрабатываемой программы
- •2.6. Схемы разрабатываемой программы
- •2.7. Рекомендации по кодированию программы
- •2.8. Тестирование программы
- •2.8.1.Тестирование функции “проверка на корректность f2”.
- •3. Оформление и содержание курсовой работы
- •Список литературы
- •Иванова г.С. Технология программирования: Учебник для вузов.- 2-е изд., стереотип. – м.: мгту им, Баумана, 2003. – 320 с.
- •Специфицирование и тестирование программ
Структура и содержание файла f2
Номер предмета |
Наименование предмета |
1 |
Математика |
2 |
Физика |
3 |
Химия |
4 |
Иностранный язык |
5 |
Алгоритмические языки |
В файлах F1 и F2 данные одного поля записи отделяются от данных следующего за ним поля хотя бы одним пробелом. На основании информации из этих файлов необходимо получить отчет, вид которого представлен в таблице 2.3.
Таблица 2.3
Выходная таблица
Номер группы |
Наименование предмета |
Оценка |
Количество оценок в группе |
Т28-Т210 |
Математика |
4 |
1 |
|
Физика |
3 |
1 |
|
|
5 |
1 |
|
Алгоритмические языки |
2 |
1 |
|
|
3 |
2 |
Т28-Т211 |
Математика |
5 |
1 |
2.3. Ограничения на входные и выходные данные
Основное положение проектирования программного обеспечения гласит: хорошая программа должна воспринимать любые данные на ее входе и правильные и неправильные (о чем часто программисты забывают). Иными словами, обработку неправильных входных данных нужно программировать также тщательно, как и правильных. Поэтому предварительный анализ задачи заключается в выявлении классов правильных и неправильных входных данных, а также неявных ограничений на входные и выходные данные. Для рассматриваемого примера такими неявными ограничениями являются максимальное количество экзаменов в сессию, количество студентов в академической группе, диапазон оценок. Конкретизируем эти ограничения следующим образом:
а) количество различных предметов у одной академической группы не превышает 5;
б) число студентов в группе не превышает 25 человек;
в) оценка может принимать значения 2, 3, 4, 5;
г) номеру предмета может быть поставлено в соответствие некоторое наименование, если номер предмета из файла F1 совпадает с одним из номеров предметов файла F2;
д) номера предметов и соответствующие им наименования в файле F2 должны быть уникальными, то есть разным номерам предметов не могут соответствовать одинаковые наименования и один и тот же номер не может быть присвоен двум или более наименованиям предметов;
е) номер предмета должен содержать только цифры.
В пункте “г” сформулировано условие связывания файлов по ключевому полю. Пункт “д” введен для однозначной связи между записями файлов. Очевидно, что если этот пункт ограничений не будет выполняться, то в итоговой таблице F3 могут фигурировать оценки не по тому предмету, который предполагался при вводе данных.
Перечисленные ограничения должны быть учтены при разработке алгоритма решения задачи и внешних спецификаций программы. Кроме того, при дальнейшем изложении методики разработки программы предполагается, что записи в файле F1 упорядочены по номеру группы. При выполнении работы студенты могут либо сразу создавать текстовым редактором отсортированный файл, либо могут осуществить его программную сортировку, что, естественно, будет только приветствоваться.