Концепция объектно-ориентированного программирования

19.4. Инструментальные средства и среды разработки программного обе­
спечения

Жизненный цикл программного обеспечения

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

Основные понятия и классификация языков программирования



Концепция объектно-ориентированного программирования - student2.ru 19.1. Основные понятия и классификация языков программирования

Основные понятия

Язык программирования предназначен для описания данных и алгоритмов их обработки на вычислительной машине. Языки программирования занимают промежуточное положение между естественными и формализованными языками. С естественными языками языки программирования роднит грамматический строй (употребление слов естественного языка, фразовая структура и т. п.), с формали­зованными языками — символы и понятия, а главное — строгие, точно описанные правила построения текстов.

Концепция объектно-ориентированного программирования - student2.ru

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

Концепция объектно-ориентированного программирования - student2.ru

Часто компьютерной программой называют исходный код, написанный на одном из языков программирования. Компьютерную программу принято считать результатом программирования.

Концепция объектно-ориентированного программирования - student2.ru

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

На рисунке показан приблизительный порядок действий при программирова­нии. Программирование заключается в написании текста (исходного кода) про­граммы на выбранном языке программирования.



Глава 19. Технологии и инструменты программирования

Концепция объектно-ориентированного программирования - student2.ru Концепция объектно-ориентированного программирования - student2.ru Формулирование задачи

Концепция объектно-ориентированного программирования - student2.ru Концепция объектно-ориентированного программирования - student2.ru Разработка алгоритма

Концепция объектно-ориентированного программирования - student2.ru Концепция объектно-ориентированного программирования - student2.ru Написание исходного кода программы

Лексический анализ Трансляция
Синтаксический анализ
Создание объектного кода

Концепция объектно-ориентированного программирования - student2.ru Загружаемый модуль (образ) программы

Концепция объектно-ориентированного программирования - student2.ru Рис. 19.1. Схематичное описание процесса программирования

Концепция объектно-ориентированного программирования - student2.ru

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

Концепция объектно-ориентированного программирования - student2.ru

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

Концепция объектно-ориентированного программирования - student2.ru

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

Основные понятия и классификация языков программирования



Концепция объектно-ориентированного программирования - student2.ru Процесс трансляции состоит из нескольких этапов.

1. Производится лексический анализ текста с разбиением его на элементы-лексемы
(ключевые слова, имена-идентификаторы и т. д.).

2. Производится синтаксический разбор, то есть проверка правильности и допу­
стимости созданных на основе лексем конструкций языка.

3. Исходный код преобразуется в исполняемый машинный код.

Это описание процесса трансляции подводит нас к понятиям, связанным с язы­ками программирования — синтаксису и семантике языка.

Синтаксис искусственных и естественных языков определяет, какие конструк­ции из допустимых лексем являются правильными для данного языка.

Пример. Рассмотрим предложение: «Это кошка страус зеленая». В этом примере все используемые в предложении слова и символы допустимы для русского языка, но вместе они составляют недопустимую конструкцию.

Концепция объектно-ориентированного программирования - student2.ru

Формализация описания языка программирования нужна для создания ма­тематической или логической модели работы транслятора, то есть те правила, на основании которых транслятор будет производить синтаксический разбор. Од­ним из известных) способов формального описания синтаксиса языка является метаязык — формы Бэкуса-Наура. Задание синтаксиса языка программирования сводится к перечислению всех его допустимых конструкций.

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

Пример. Рассмотрим предложение: «Зеленая кошка — это страус». Этот пример проходит синтаксическую проверку, поскольку предложение построено правиль­но, но с семантической точки зрения он лишен смысла.

Концепция объектно-ориентированного программирования - student2.ru

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

Синтаксические и семантические способы описания языков программирования служат основой для создания эффективных трансляторов.


Наши рекомендации