Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Шпоры по технологии программирования (Гвоздев) - файл 2.doc


Шпоры по технологии программирования (Гвоздев)
скачать (254.3 kb.)

Доступные файлы (16):

10.doc34kb.27.01.2006 23:07скачать
12-13.doc36kb.27.01.2006 23:13скачать
14.doc44kb.27.01.2006 23:30скачать
16.doc23kb.27.01.2006 23:33скачать
18.doc23kb.27.01.2006 19:24скачать
1.doc43kb.27.01.2006 20:28скачать
20.doc32kb.27.01.2006 23:43скачать
21-22.doc22kb.27.01.2006 22:00скачать
26-27.doc107kb.27.01.2006 19:49скачать
2.doc68kb.27.01.2006 22:25скачать
3.doc82kb.27.01.2006 20:21скачать
4.doc25kb.27.01.2006 20:19скачать
5.doc24kb.27.01.2006 19:51скачать
6.doc27kb.27.01.2006 21:20скачать
7.doc25kb.27.01.2006 20:52скачать
8.doc23kb.27.01.2006 22:49скачать

2.doc

.,

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

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

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

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

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

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

одули с локальными данными и попрограммами Архитектура программы, состоящей из модулей

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

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

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

Использование объектного подхода имеет много преимуществ, однако его конкретная реализация в объектно-ориентированных языках программи­рования, таких, как Pascal и C++, имеет существенные недостатки:

  • фактически отсутствуют стандарты компоновки двоичных результатов
    компиляции объектов в единое целое даже в пределах одного языка програм­
    мирования: компоновка объектов, полученных разными компиляторами C++
    в лучшем случае проблематична, что приводит к необходимости разработки
    программного обеспечения с использованием средств и возможностей одно­
    го языка программирования высокого уровня и одного компилятора, а значит,
    требует наличия исходных кодов используемых библиотек классов;

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

Таким образом, при использовании этих языков программирования со­храняется зависимость модулей программного обеспечения от адресов экс­портируемых полей и методов, а также структур и форматов данных. Эта за­висимость объективна, так как модули должны взаимодействовать между со­бой, обращаясь к ресурсам друг друга. Связи модулей нельзя разорвать, но можно попробовать стандартизировать их взаимодействие, на чем и основан компонентный подход к программированию.


Скачать файл (254.3 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации