Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



 

Структурное программирование – методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века.

Основные положения следующие.

1. Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:

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

– ветвление, или условный оператор. Достаточно часто одна или другая задачи должны исполняться в зависимости от определённого условия, которое зависит от результатов выполнения предыдущей программы или от внешних устройств. Каждая из таких задач называется плечом условного оператора;

– цикл. Это многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла). При этом условие может проверяться до или после тела цикла.

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

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

3. Разработка программы ведётся пошагово, методом «сверху вниз», или «нисходящего проектирования».

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

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

Цели структурного программирования заключаются в следующем:

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

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

3) уменьшение времени и стоимости программной разработки;

4) улучшение читабельности программ.

 


Поделиться:



Последнее изменение этой страницы: 2019-03-29; Просмотров: 219; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.013 с.)
Главная | Случайная страница | Обратная связь