Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
29
Добавлен:
31.03.2015
Размер:
199.68 Кб
Скачать

7.8. Спецификация задачи

Документ, содержащий спецификацию задачи, состоит из 6-ти разделов.

1. Задача

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

2. Входные данные

 Состав. Перечисляются имена входных данных, их тип и смысл.

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

Точность представления данных задается для задач вычислительного класса и определяет погрешность вычисления и количество печатаемых дробных знаков.

Объем вводимых данных может быть задан либо количеством данных в разделе состав, если оно известно заранее, либо специальным признаком в составе вводимых данных, либо признаком конец файла.

Входная форма определяет внутреннее имя файла, откуда данные вводятся и имена вводимых данных в порядке, заданном программистом:

<входные данные>

<имя файла>

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

Например, описание файла с исходными данными может иметь следующий вид:

<x> <eps>

Input  вначале вводится значение переменной x,

а затем eps.

3. Выходные данные

Состав, диапазон, точность описываются аналогично входным данным.

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

Выходная форма (выходной документ) имеет следующую структуру:

<заголовок>  

<входные данные>

[<промежуточные данные>]  

<результаты решения>

<реакция на аномалии>

образец 1

образец 2

образец 3

 образец 4

 

образец 5

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

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

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

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

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

Приближенное вычисление функции  

для аргумента <х> с точностью <eps>

 у = <у>

 S = <S>

 Неправильные входные данные

образец 1

образец 2

образец 3

   

образец 4

В этом документе фигурная скобка предусматривает альтернативный вывод: выводится или у, S (образец 3) или сообщение о неправильных входных данных (образец 4).

  1. Аномалии

Описывается область значений входных данных, при которых решение не может

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

5. Метод

Раздел содержит описание связи между входными и выходными данными в

следующих вариантах:

  • Формально – в виде формулы, связывающей входные и выходные данные;

  • Полуформально – в виде краткого описания на естественном языке с использованием

математической символики;

  • Вербально – в виде краткого описания идеи метода;

  • Ссылочно – если есть готовая процедура, реализующая этот метод, то интерфейс этой

процедуры.

  1. Функциональные тесты

Цель функциональных тестов – найти расхождение между программой и ее

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

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

Входные данные

Ожидаемые результаты

I

Допустимые значения

II

Значения на границе

III

Недопустимые значения

<Реакция на аномалии>

Правила записи входных/выходных форм

  1. При заполнении форм следует учитывать, что в строку экрана можно записать не более 80 символов.

  2. Тексты форм заключаются в прямоугольники.

  3. Если текст является переменной, то есть будет заменяться конкретным значением, то

он заключается в угловые скобки или овал. Например, <Реакция на аномалии>.

4. Запись текстов должна отражать порядок их выполнения и производится в

соответствии с тремя правилами правилами их структурирования: следование, выбор, повторение.

Основные правила записи текстов:

  1. Следование:

<текст1>

<текст2>

<текст1><текст2>

или

Выполняется последовательно <текст1>, затем <текст2>.

2

<текст1>

<текст2>

{<текст1><текст2>}

) Выбор:

или

Выполняется или <текст1> или <текст2>.

3) Повторение:

  • Количество повторений неизвестно:

<текст>

<текст> …

или

  • Количество повторений известно:

<текст> n

m

а) б)

<текст> r

В форме а) текст повторяется не более m и не менее n раз.

В форме б) текст повторяется r раз.

Соседние файлы в папке ПРАКТИКУМ-1--5