24537

Системы программирования: состав систем программирования. Этапы разработки ПО

Доклад

Информатика, кибернетика и программирование

Современные системы программирования как правило представляют собой интегрированную среду разработки integrated development environment – IDE к компонентам которой относятся следующие программные средства: текстовый редактор editor предназначенный для создания текстов исходной программы на языке высокого уровня ЯВУ или ассемблере макроассемблере; компилятор compiler – составитель предназначенный для трансляции перевода исходного текста входной программы в эквивалентную ей выходную программу объектный код на языке нижнего...

Русский

2013-08-09

124.23 KB

25 чел.

Вопрос 42. Системы программирования: состав систем программирования. Этапы разработки ПО.

       §8 Состав систем программирования.

Системой программирования (СП) называется комплекс программных средств предназначенных для разработки и отладки ПО.

Современные системы программирования, как правило, представляют собой интегрированную среду разработки (integrated development environmentIDE), к компонентам которой относятся следующие программные средства:

- текстовый редактор (editor), предназначенный для создания текстов исходной программы на языке высокого уровня (ЯВУ) или ассемблере (макроассемблере);

- компилятор (compiler – составитель), предназначенный для трансляции (перевода) исходного текста входной программы в эквивалентную ей выходную программу (объектный код) на языке нижнего уровня – машинных команд или ассемблера;

- библиотека стандартных или прикладных подпрограмм (library), содержащая часто используемые функции в виде готовых объектных модулей;

- компоновщик (linker), предназначенный для объединения нескольких объектных модулей, созданных компилятором или взятых из стандартных библиотек, в единое целое – исполняемый файл программы;

- загрузчик (loader), обеспечивающий подготовку готовой программы к выполнению;

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

Этапы разработки ПО в системе программирования представлены на рис. 8

Современные системы программирования строятся на основе так называемых языков четвертого поколения – 4GL (four generation languages), которые предназначены для поддержки систем быстрой разработки приложений – RAD (rapid application development).

Языки 4GL строятся на основе оперирования не синтаксическими структурами языка и описаниями элементов интерфейса, а представляющими их графическими образами, что удобно при визуальном проектировании приложений.

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

Ресурсами прикладной программы называют множество данных, обеспечивающих внешний вид интерфейса программы, не связанных напрямую с логикой выполнения программы. Характерными примерами ресурсов являются: тексты сообщений, цветовая гамма элементов интерфейса и надписи на них.

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

Рис. 8. Этапы разработки ПО в системе программирования

8.2 Компоненты систем программирования

Текстовые редакторы

Текстовый редактор, входящий в состав системы программирования, кроме обычных функций выполняет и некоторые дополнительные функции:

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

- пошаговая отладка программы непосредственно по ее исходному тексту;

- выделение в исходном тексте программы (цветом, жирным шрифтом) стандартных лексем исходного языка (например, ключевых слов), что делает исходный текст программы более наглядным.

Трансляторы, компиляторы и интерпретаторы

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

Компилятор – это транслятор, который осуществляет перевод исходной программы в эквивалентную ей объектную программу на языке машинных команд или ассемблера.

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

Интерпретатор – это программа, которая воспринимает входную программу на исходном языке и выполняет её.

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

Большинство языков высокого уровня являются компилируемыми, т. е. для каждого из них разработан собственный компилятор (FORTRAN, ALGOL-68, PL/1, ADA, PASCAL, MODULA,SIMULA, C и многие другие).

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

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

Язык HTML (Hipertext Markup Language – язык описания гипертекста) на котором основан протокол HTTP (hiper text transfer protocol – протокол передачи гипертекста) – тоже интерпретируемый язык.

Схема работы транслятора

Схема работы транслятора представлена на рис. 8.2. Процесс компиляции состоит из двух основных этапов: синтеза и анализа.

Рис. 8.2. Схема работы транслятора