24537

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

Доклад

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

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

Русский

2013-08-09

124.23 KB

47 чел.

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


 

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

25160. Єдність та багатоманітність історії як філософсько-історична проблема 29 KB
  Єдність та багатоманітність історії як філософськоісторична проблема. Осягнення всесвітньої історії в її єдності і багатоманітності проявів головна мета філософії історії. На відміну від дослідження історика який зосереджується на описі одиничних фактів філософське осмислення історії завжди намагається усвідомити ціліснсть історичного процесу. Вихідною при поясненні окремих явищ історії з філософсько історичної позиції є ідея закономірності історичного розвитку і саме вона становить фундамент для побудови загального...
25161. Ідеологія, її місце в житті суспільства 26 KB
  В ній з більшою чи меншою адекватністю виражено їх соціальне становище колективний інтерес історичну еволюцію сучасний стан можливі перспективи розвитку Можна визначити ряд характеристик ідеології з метою кращого усвідомлення даного феномену: завжди дає цілісну картину світу акцентуючи увагу на місці і ролі людини в цьому світі; інтерферує знання отримані попередніми поколіннями; стимулює і направляє людську поведінку інтегруючи суспільні дії; є організуючою формою громадського життя; в цілому визначає перетворення розвиток і...
25162. Ф.Шеллінг про місце натурфілософії в системі знання 25.5 KB
  Система трансцендентального ідеалізму це шлях від субєкта до обєкта. А натурфілософія це шлях від обєкта до субєкта. А як в природі зародилося це ідеальне Цим ідеальним є дух або безкінцевий субєкт. В абсолютному розумі суб'єкт і об'єкт нерозривно пов'язані створюють цілісну нерозрізнюваність суб'єктивного й об'єктивного .
25163. Концепція локальних цивілізацій Тойнбі 27 KB
  Концепція локальних цивілізацій Тойнбі Заперечення лінійної універсальної моделі історії. Критика класичної теорії історії Тойнбі культурноцивілізаційні моделі історії спираючись на доробок Шпенглера створив концепцію коловороту локальних цивілізацій; одиниця аналізу локальна цивілізація 21 Формування розвиток та занепад локальних цивілізацій Відмова від ідеї універсалізму історії і утвердження ідеї полілінійності варіативності багатоманітних історичних систем Майбутнє не передбачуване залежить від вибору який робить те чи інше...
25164. Співвідношення науки і філософії в Античній культурі 22.5 KB
  А через досвід у людей виникає наука та мистецтво під мистецтвом в цьому контексті розуміється філософія. Та найвищою мудрістю яку Арістотель визначає як науку про граничні причини та начала є філософія. 1а філософія знання про істину; це наука що досліджує суще як таке а також те що йому властиве само по собі. 1а філософія бажана заради самої себе і заради пізнання а не ізза корисності.
25165. Проблема істини у філософії. Гносеологічне і онтологічне розуміння істини. (за Коретом) 24 KB
  Проблема істини у філософії. Гносеологічне і онтологічне розуміння істини. за Коретом Австрійський філософ Корет виокремлює 3 види істини: логічну онтічну та онтологічну. З цього приводу Корет виділяє 3 концепції істини: кореспондентна відповідність пізнання і судження з предметом іншими словами це те що дійсно є консенсусна дещо вважається істинним якщо компетентні в цій області судді погодяться з цим та когерентна нове знання не має суперечити вже існуючому має узгоджуватися з ним.
25166. Проблема істини у філософії. Гносеологічне і онтологічне розуміння істини 32.5 KB
  Проблема істини у філософії. Гносеологічне і онтологічне розуміння істини. Класичне визначення істини яке потім стало традиційним у філософії дав Арістотелькореспондентська теорія істини визначивши істину як відповідність наших знань дійсності. Це визначення істини визнавали такі мислителі як Аквінський Гольбах Гегель Фейєрбах а також Маркс.
25167. Філософські засади гуманітарного знання 28 KB
  Філософські засади гуманітарного знання Тривалий час для філософії головним напрямком орієнтації були ідеали природничого знання точність обєктивність повторюваність результату. Проте досить давно було підміченим що значна частина гуманітарного знання яке отримує своє коріння в культурі і з яким дуже тісно виявляється повязаним філософське знання не знаходить адекватного відображення в теорії і методології природничого знання. Головні проблеми гуманітарного знання властиві також і філософії пізнавальне і ціннісне відношення людини...
25168. Арістотель. «Метафізика»: вчення про сутність 22.5 KB
  Справді ми маємо на увазі одне й те ж коли говоримо людина і одна людина людина що існує і людина.