24537

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

Доклад

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

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

Русский

2013-08-09

124.23 KB

28 чел.

Вопрос 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. Схема работы транслятора


 

А также другие работы, которые могут Вас заинтересовать

23026. Дослідження моделей лінійних динамічних систем з розподіленими параметрами при скінченновимірних варіаціях параметрів 330 KB
  22 нескінченні прирости. Пройти ці неприємності на шляху до оптимального розвязання задач розміщення спостерігачів та керувачів можна надаючи координатам та скінченні прирости та досліджуючи прирости .6 заключаємо що прирости та можуть бути вирахувані якщо будуть відомі прирости для та для .11 заключаємо що прирости та можуть бути вирахувані якщо будуть відомі прирости для та для .
23027. Псевдоінверсні методи моделювання задач керування лінійними динамічними системами 652 KB
  Інтегральні моделі динаміки лінійних систем і можливості по їх використанню в розвязанні обернених задач.13 були успішно розвязані в попередніх лекціях. Задачі були розвязані точно якщо це можливо або з деяким наближенням якщо точний розвязок задачі не можливий. Цим самим були дані розвязки або найкраще середньоквадратичне наближення до них для задач моделювання зовнішньодинамічної обстановки в якій функціонує система та прямих задач динаміки таких систем.
23028. Задачі ідентифікації динаміки систем з розподіленими параметрами 276.5 KB
  Псевдоінверсні методи [2227] обернення алгебраїчних інтегральних та функціональних перетворень дозволяють виконати таку заміну побудувати моделюючі функції в неперервному або дискретному вигляді тільки при відомій функції матриці Гріна в необмеженій просторовочасовій області. Викладена ж в лекції 2 методика побудови функції дозволяє виконати це для систем динаміка яких описана вже диференціальним рівнянням вигляду 1.7 зведеться до знаходження перетворюючої функції функції Гріна в нашому розумінні такої що 15.4 побудови...
23029. Задачі ідентифікації лінійних алгебраїчних, інтегральних та функціональних перетворень 487 KB
  Постановка та план розвязання задачі. Далі розвязки ідентифікаційних задач 16.3 отримаємо із розвязку допоміжних задач 16. Розглянемо розвязок задачі 16.
23030. Проблеми моделювання динаміки систем з розподіленими параметрами 1.64 MB
  4 і модель ця адекватно описує динаміку фізикотехнічного обєкту процесу то можна ставити і розвязувати: Прямі задачі динаміки визначення векторфункції стану ys при заданих зовнішньодинамічних факторах ; Обернені задачі динаміки визначення векторфункцій які б згідно певного критерію дозволяли отримувати задану картину змін векторфункції ys або наближатися до неї.4 побудовані апробовані практикою а відповідні математичні теорії дозволяють розвязувати як прямі так і обернені задачі динаміки таких систем....
23031. Побудова матричної функції Гріна та інтегральної моделі динаміки систем з розподіленими параметрами в необмеженій просторово-часовій області 249.5 KB
  Функція Гріна динаміки систем з розподіленими параметрами в необмежених просторовочасових областях.10 а також з того що шукана матрична функція Gss' є розвязком рівняння 1.1 де визначені вище матричні диференціальні оператори та матрична функція одиничного джерела. А це означає що матрична функція відповідає фізичному змісту задачі а розвязок її дійсно представляється співвідношенням 1.
23032. Дискретний варіант побудови та дослідження загального розв’язку задачі моделювання динаміки систем з розподіленими параметрами 586 KB
  Псевдообернені матриці та проблеми побудови загального розвязку системи лінійних алгебраїчних рівнянь. З цією метою виділимо в матриці C r лінійно незалежних стовпців. Враховуючи що всякий стовпець матриці C може бути розкладений за системою векторів як за базисом матрицю C подамо у вигляді де вектор коефіцієнтів розкладу стовпця матриці С за базисом .10 ранг основної матриці дорівнює рангу розширеної.
23033. Моделювання дискретизованих початково-крайових 244 KB
  Постановка задачі та проблеми її розвязання.4 в розвязку 1.23 вектора векторфункції та матричної функції проблему розвязання задачі 4.6 в залежності від співвідношень між та може мати точний розвязок або визначене згідно 4.
23034. Моделювання неперервної початково-крайової задачі динаміки систем з розподіленими параметрами 355.5 KB
  Моделювання неперервної початковокрайової задачі динаміки систем з розподіленими параметрами 5. Постановка задачі та проблеми її розвязання. Розглянутий вище варіант постановки та розвязання проблеми моделювання початковокрайової задачі динаміки системи 1.5 Для того щоб методику розвязання дискретизованої задачі моделювання динаміки розглядуваної системи розвинуту в рамках лекції 3 успішно узагальнену далі лекція 4 на задачі моделювання дискретизованих початковокрайових умов неперервними функціями та поширити на задачу 5.