47861 (определение внешних спецификаций уравнений)
Описание файла
Документ из архива "определение внешних спецификаций уравнений", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "47861"
Текст из документа "47861"
Лабораторная работа №1
ОПРЕДЕЛЕНИЕ ВНЕШНИХ СПЕЦИФИКАЦИЙ ПРОГРАММ
С ПОМОЩЬЮ HIPO-ТЕХНОЛОГИИ
Цель работы: ознакомиться с методикой разработки внешних спецификаций программ, основанной на использовании HIPO-технологии проектирования программ; приобрести практические навыки определения и оформления внешних спецификаций программ.
При подготовке к занятию прежде всего необходимо усвоить назначение внешних спецификаций при проектировании программ. Затем необходимо изучить правила и языковые средства, применяемые для составления спецификаций требований и функционнальных спецификаций. Особое внимание следует обратить на использование стандартов из HIPO-технологии для определения и документирования внешних спецификаций программ.
Контрольные вопросы
1. Что называется спецификациями программы?
2. Кто составляет спецификации программы?
3. В чем отличие спецификации требований и функциональных спецификаций?
4. Какие языки применяются для описания спецификаций?
5. Какие вопросы следует осветить при составлении внешних спецификаций?
6. Назовите методы проверки правильности разработанных спецификаций?
7. Каковы особенности HIPO-технологии проектирования программ?
8. Как составляются IPO-диаграммы и схема состава разложения?
Методические указания
Методика разработки программ на базе структурного подхода состоит из следующих этапов:
-
анализ требований и определение внешних спецификаций;
-
проектирование алгоритмов;
-
кодирование алгоритмов;
-
тестирование и документирование программы.
Подготовка полных и правильных спецификаций считается одним из ответственнейших этапов в разработке больших программных комплексов. Благодаря составлению внешних спецификаций уточняется исходная постановка задачи и устраняются противоречия, которые обусловлены неоднозначностью понятий естественного языка, применяемого для описания условия задачи и функций программы. Внешние спецификации - важнейший документ для каждой программы, описывающий внешнее взаимодействие программы с пользователем без конкретизации внутренней структуры самой программы.
Составление спецификаций - это функция не заказчика, а специалистов особого рода, обладающих знаниями в области системного анализа, проектирования и тестирования программ, психологии общения человека с машиной, теории программирования и т.п. Спецификации больших программных комплексов записываются на специальных языках. Применяются два класса языков спецификаций:
-
язык спецификаций требований (язык технического задания);
-
язык функциональных спецификаций.
Языки описания требований к программному продукту почти не формализованы. К этому классу относятся, например, языки PSL(США), СИПЛ(СНГ) и соответствующие им транслирующие системы PSA, ADS[ ] и СИПЛ, которые автоматизируют разработку требований на ЭВМ. Анализатор этих систем, общаясь с заказчиком в диалоговом режиме "вопрос-ответ", проверяет ответы на непротиворечивость, полноту и в результате формирует листинг спецификаций требований. Однако эти схемы не нашли широкого распространения из-за узкой специализации и необходимости выделения для их работы большого количества машинного времени. В настоящее время разрабатываются новые поколения средств системного анализа.
Языки функциональных спецификаций являются полуформальными и описывают все функции, реализуемые программой на ЭВМ. Для этой цели был разработан универсальный международный язык SDL (США) и аналогичный ему в СНГ язык PLUS. Кроме того, для малых и средних программ очень часто применяются специализированные стандарты, определяющие правила записи спецификаций с учетом специфики решаемых задач и утвердившихся традиций в технологии программирования. В любом случае внешние спецификации каждой функции должны освещать следующие вопросы.
-
Описание исходных данных. Должны быть точно описаны синтаксис (формат) и семантика (назначение, тип, допустимые значения, область изменения) всех исходных данных, которые вводит пользователь в программу.
-
Описание выходных данных. Дается точное описание семантики и синтаксиса всех результатов, формируемых программой, а также сообщений оператору об ошибках, о ходе вычислительного процесса, о запросах и т.д. Указывается реакция программы на некорректность исходных данных.
-
Описание функций преобразования информации, выполняемых программой, с точки зрения пользователя.
-
Дополнительные сведения о программе: ограничения на используемую память, длину программы, время ее работы; идеи относительно внутреннего проектирования функций (если это необходимо).
Для проверки правильности внешних спецификаций применяют ряд методов. Например, неполноту и неоднозначность спецификаций можно проверить с помощью таблицы решений [ ]. Также эффективным приемом оценки внешних спецификаций служит сквозной контроль по схеме "вход - интерпретация спецификаций - выход" [ ]. В соответствии с этим методом в начале для каждой функции строятся "тесты на бумаге", а затем имитируется ввод этих данных в систему и прослеживается преобразование их в соответствующие выходные данные, используя при этом спецификации как описание поведения системы. Если спецификации для какого-нибудь набора входных данных недостаточно полно и правильно описывают выходные данные, то это означает, что обнаружена ошибка.
Одним из эффективных средств составления внешних спецификаций по принципу "сверху-вниз" является HIPO-технология [ ].Внешние спецификации, полученные по этой технологии, еще называют исходным описанием программы. Оно представляет собой альбом связных между собой схем, каждая из которых описывает какую-либо часть задачи или системы, подлежащей разработке. При составлении исходного описания необходимо разделить рассматриваемую задачу на части. При этом следует соблюдать следующие рекомендации:
-
деление обьекта должно осущетвляться последовательно и сверху вниз;
-
каждая выделяемая часть должна описывать какую-либо законченную содержательную функцию, а методы и особенности реализации не должны учитываться при разложении.
В результате разработчик получает коплект документации: схема состава разложения и схемы (IPO-диаграммы) каждого из элементов разложения.
Исходное описание Системы Диспетчер Схема Состава Номер: 0.1 | Схема состава разложения | Лист: 2 Автор: Иванов А. Отдел: каф. ПОИС Дата: 1.09.99 |
Автоматизировать
обработку очереди
заявок по командам
оператора
1.1
Проверить
синтаксис
введенной
команды
2.1
Расположить
заявки в
обратном
порядке
2.2
Поставить
заявку в
начало
очереди
2.5
Удалить из
очереди указанную
заявку
2.4
Упорядочить
заявки
2.3
Сортировать методом
пузырька
3.1
Рис. 1. Схема состава разложения
Схема состава разложения изображается в виде древовидного графа с корнем в верхней части листа (рис.1). Вершинами графа служат прямоугольники, изображающие элементы разложения, в каждый из которых необходимо вписывать короткое функциональное назначение элемента, номер уровня от корня дерева и номер в уровне. При составлении схемы сначала выделяются важнейшие функции системы. Затем каждая из этих функций подразделяется на ряд подфункций нижнего уровня, каждая из которых также описывается и т.д. Каждому прямоугольнику в альбоме документации должна соответствовать схема (IPO-диаграмма) с тем же содержательным названием. Если какая-либо схема еще не составлена, то такой прямоугольник обозначается пунктиром.
Кроме графа составляется оглавление альбома документации (рис.2), включающее обозначение всех элементов, их содержательное название и номера листов в альбоме, на которых помещена схема описания этих элементов. Наглядная схема состава разложения и оглавление позволяют облегчить поиск информации нужной степени подробности или нужной диаграммы непосредственно по индексу, без перелистывания всего альбома.
Описание каждого элемента разложения выполняется в виде IPO-диаграммы, показывающей его как функцию обработки информации.
На диаграмме должны быть четко выражены три основные составляющие схемы: входная информация, функция обработки, выходная информация, что наглядно и естественно соответствует действительно происходящим процессам.
IPO-диаграмму рекомендуется чертить на бланках, применяя линейки - шаблоны. Бланк "по вертикали" делится на три зоны. Верхняя зона служит для идентификации схемы, т.е. содержит сведения о самой схеме и авторе. Во второй зоне размещается сама диаграмма, а в третьей, отводимой в нижней части бланка, помещаются комментарии к элементам схемы. Зона размещения диаграммы "по горизонтали" делится также на три части: входные данные, функции преобразования (обработка) данных, выходные данные. Функции преобразования с входными и выходными данными соединяются стрелками. Применяемые условные обозначения данных, путей их передачи и т.п. должны приводиться в каждом альбоме (рис. 2).
На схеме возле каждого данного пишется его имя. Записи в разделе "обработка" выполняются в формализованном виде. Используются записи двух типов: записи-функции и записи-условия.
Записи-функции - это словесные описания на требуемом в конкретной IPO-диаграмме уровне детализации. Если запись-функция подлежит дальнейшей детализации IPO-диаграммами более низкого уровня, то она заключается в прямоугольник.
Записи-условия могут быть альтернативными или итеративными.
Альтернативная запись может иметь следующий вид:
ЕСЛИ ТО
ИНАЧЕ
. . .
Итеративные записи используются для образования циклических структур и могут иметь вид:
ПОКА
.
Исходное описание Системы Диспетчер Схема Оглавление Номер: 0.0 | | Лист: 1Автор: Иванов А.Отдел: каф. ПОИСДата: 1.09.99 |
Обозначение | Наименование | Лист | Примечание |
0.0 0.1 1.1 2.4 | Оглавление альбома документации и условные обозначения Схема состава разложения Автоматизировать обработку очереди заявок по командам оператора Удалить из очереди указанную заявку Связь программы Диспетчер с используемыми внешними и внутренними структурами данных | 1 2 3 4 5 | Структурная схема (рис. 3) |
Данные Связи
Данные, вводимые Передача данных
с клавиатуры
Данные, печатаемые на Слияние потоков