Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety1.doc
Скачиваний:
445
Добавлен:
14.02.2015
Размер:
12.78 Mб
Скачать

312 Структурное программирование.

Структу́рное программи́рование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков.

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

 

Рис. Блок-схема алгоритма поиска в базе данных.

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

Таблица 18.1. Управляющие структуры алгоритмов

Типы управляющей структуры

Применение управляющей структуры

Последовательность

Блок 1

Блок 2

Конец

Последовательность включает фиксированный перечень блоков (операторов). Каждый очередной блок обрабатывается после завершения предыдущего без дополнительных условий.

Для изменения порядка обработки блоков редактируется последовательность выполняемых

Альтернатива (условие выбора)

Начало

Да Условие Нет

Альтернатива1 Альтернатива2

Конец

В блоке Условие содержится условие выбора альтернативы обработки. Каждая альтернатива выполняется 1 раз; выполнение одной из двух альтернатив - обязательно.

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

Если ни одно из условий не выполнилось, происходит выход.

Цикл ("пока")

Начало

Условие

Нет Да

Тело цикла

Конец

В блоке Условие задается условие тела цикла - определенной обработки. Если условие не выполняется, цикл прерывается и осуществляется выход.

Условие может содержать счетчик повторений тела цикла либо логическое условие.

Тело цикла - произвольная последовательность блоков (операторов) обработки

313 Структурные методы анализа и проектирования программного обеспечения (ПО). Метод функционального моделирования SADT (IDEF0). Метод моделирования процессов IDEF3. Моделирование потоков данных. Моделирование данных.

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

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

• разбиение системы на уровни абстракции с офаничением

числа элементов на каждом из уровней (обычно от 3 до 6—7);

• ограниченный контекст, включающий лишь существенные на каждом уровне детали;

• использование строгих формальных правил записи;

• последовательное приближение к конечному результату.

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

те — на задачи и так далее до конкретных процедур. При этом система сохраняет целостное представление, в котором все составляющие компоненты взаимоувязаны. При разработке системы «снизу вверх» от отдельных задач ко всей системе целостность теряется, возникают проблемы при описании информационного взаимодействия отдельных компонентов.

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

производимые им действия и связи между этими действиями.

Рис. 2.1. Функциональный блок и интерфейсные дуги

Метод моделирования IDEF3 , являющийся частью семейства стандартов IDEF, был разработан в конце 1980-х годов для закрытого проекта ВВС США. Этот метод предназначен для таких моделей процессов, в которых важно понять последовательность

выполнения действий и взаимозависимости между ними.

Хотя IDEF3 и не достиг статуса федерального стандарта США, он приобрел широкое распространение среди системных аналитиков как дополнение к методу функционального моделирования IDEFO (модели IDEF3 могут использоваться для детализации функциональных блоков IDEFO, не имеющих диаграмм декомпозиции).

Основой модели IDEF3 служит сценарий процесса, который выделяет последовательность действий и подпроцессов анализируемой системы.

Как и в методе IDEFO, основной единицей модели IDEF3 является диафамма. Другой важный компонент модели — действие, или в терминах IDEF3«единица работы» (Unit of Work UOW).

Диаграммы IDEF3 отображают действие в виде прямоугольника.

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

Диаграммы потоков данных^ (Data Flow Diagrams DFD)

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

Для построения DFD традиционно используются две различные нотации, соответствующие методам Йордона—ДеМарко и Гейна-Сэрсона. Эти нотации незначительно отличаются друг от друга графическим изображением символов. Далее в примерах будет использоваться нотация Гейна—Сэрсона.

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

новые потоки, которые переносят информацию к дру- гим процессам или подсистемам, накопителям данных или внешним сущностям — потребителям информации.

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

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

данных.

Наиболее распространенным срдством моделирования данных (предметной области) является модель «сущность-связь» (ERM). Она была впервые введена Питером Ченом в 1976 г Базовыми понятиями ERM являются сущность, связь и атрибут.

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

Связь — поименованная ассоциация между двумя сущностями, значимая для рассматриваемой предметной области (в модели «сущность- связь»).

Атрибут — любая характеристика сущности, значимая для рассматриваемой предметной области и предназначенная для квалификации, идентификации, классификации, количественной характеристики или выражения состояния сущности

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]