Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Этот этап охватывает период 60-70-е годы XX в. Структурный подход к программированию представляет собой совокупность рекомендуемых технологических приемов, охватывающих вы­полнение всех этапов разработки программного обеспечения. В основе структурного подхода лежит декомпозиция (разбиение на части) сложных си­стем с целью последующей реализации в виде отдельных небольших (до 40 - 50 операторов) подпрограмм. С появлением других принципов декомпо­зиции (объектного, логического и т. д.) данный способ получил название процедурной декомпозиции.

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

Поддержка принципов структурного программирования была заложена в основу так называемых процедурных языков программирования. Как пра­вило, они включали основные «структурные» операторы передачи управле­ния, поддерживали вложение подпрограмм, локализацию и ограничение области «видимости» данных. Среди наиболее известных языков этой группы стоит назвать PL/1, ALGOL-68, Pascal, С.

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

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

Модульное программирование предполагает выделение групп подпро­грамм, использующих одни и те же глобальные данные в отдельно компили­руемые модули (библиотеки подпрограмм), например, модуль графических ресурсов, модуль подпрограмм вывода на принтер (рис. 1.5). Связи между модулями при использовании данной технологии осуществляются через спе­циальный интерфейс, в то время как доступ к реализации модуля (телам под­программ и некоторым «внутренним» переменным) запрещен! Эту техноло­гию поддерживают современные версии языков Pascal и С (C++), языки Ада и Modula.

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

Практика показала, что структурный подход в сочетании с модульным программированием позволяет получать достаточно надежные программы, размер которых не превышает 100 000 операторов [10]. Узким местом мо­дульного программирования является то, что ошибка в интерфейсе при вы­зове подпрограммы выявляется только при выполнении программы (из-за раздельной компиляции модулей обнаружить эти ошибки раньше невозмож­но). При увеличении размера программы обычно возрастает сложность меж­модульных интерфейсов, и с некоторого момента предусмотреть взаимовли­яние отдельных частей программы становится практически невозможно. Дня разработки программного обеспечения большого объема было предложено использовать объектный подход.




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 560; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.