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