2.13M
Category: programmingprogramming

Введение в технологии программирования

1.

ВВЕДЕНИЕ В
ТЕХНОЛОГИИ
ПРОГРАММИРОВАНИЯ
Основные понятия

2.

Рекомендуемая литература
• Басс Л., Клементс П., Кацман Р. Архитектура программного
обеспечения на практике. М.-СПб.: Питер, 2006.
• Гагарина Л.Г, Кокорева Е.В., Виснадул Б.Д. Технология
разработки программного обеспечения. М.: ИНФРА – М,
2008.
• Гецци К., Мандриоли Д. Основы инженерии программного
обеспечения. 2-е изд. СПб.: БХВ-Петербург, 2005.
• Константайн Л.,
Локвуд Л. Разработка программного
обеспечения. М.-СПб.: Питер, 2004.
• Орлов
С.А., Цилькер Б.В. Технологии разработки
программного обеспечения. М.-СПб.: Питер, 2012.
• Рудаков
А.В. Технология разработки программных
продуктов. 4-е изд. М.: Академия, 2013.
• Иванова Г.С. Технология программирования. М.:КиноРус,
2011.

3.

Понятие технологии программирования
Целью программирования является описание процессов
обработки данных.
Это описание создается согласно набору инструкций,
определяющих последовательность операций, необходимых
для создания программы, а также условия выполнения этих
операций, их характеристики, входные и выходные данные и
т.п. Такой набор инструкций называется «технология».
Технология программирования – это совокупность
процессов
(согласно
классификации

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

4.

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

5.

Программный продукт
Программная система (программный продукт) - это
совокупность программного кода и документации к нему.
Является реализацией алгоритма.
Алгоритм – это заранее определенная последовательность
правил, процедур, указаний или команд, которая за конечное
количество шагов приводит к достижению поставленной
цели.

6.

Программный продукт
Основные характеристики программ:
• Алгоритмическая сложность;
• Состав функций обработки информации;
• Объем файлов, используемых программой;
• Требования к операционной системе (ОС) и
техническим средствам обработки информации.

7.

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

8.

Качества программной системы
• Корректность;
• Надежность;
• Устойчивость;
• Производительность;
• Удобство;
• Способность к модификации;
• Актуальность.

9.

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

10.

Системное ПО
Это совокупность программ и программных комплексов
для управления всеми ресурсами ВС, а также для
предоставления пользователям определенных услуг.
Функции системного ПО:
• Среда функционирования прикладных программ;
• Обеспечение безопасности ВС;
• Проведение диагностики и профилактики работы ВС;
• Выполнение
процессов.
вспомогательных
технологических

11.

Виды системного ПО:
• Базовое

набор
программных
средств,
обеспечивающих работу ВС;
• Сервисное – программы и программные комплексы,
расширяющие
возможности базового ПО и
организующие удобную среду работы пользователя.

12.

Пакеты прикладных программ
Комплекс взаимосвязанных программ для решения
задач определенного класса конкретной предметной
области. Могут быть:
• Общего назначения;
• Офисные ППП;
• Мультимедиа;
• Системы искусственного интеллекта;
• Системы виртуальной реальности;
• Бизнес-системы;
• Игры;
• Вредоносное ПО и т.п.

13.

Инструментарий технологий
программирования
Программные
продукты
создания
программных
продуктов и поддержки технологий программирования.
Включают в себя:
• Средства для проектирования приложений;
• Средства для создания приложений.

14.

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

15.

Языки программирования
Машинный код (машинный язык) – система команд конкретной
вычислительной
машины,
которая
интерпретируется
непосредственно процессором или микропрограммами этой
вычислительной
машины.
Как
правило,
предоставляет
ограниченный набор команд и обрабатываемых структур данных.
Низкоуровневый
язык
программирования

язык
программирования, близкий к программированию в машинных
кодах используемого процессора. Как правило, использует
особенности конкретного семейства процессоров (например,
ассемблер, CIL для Microsoft.NET, Java байт-код и т.п.).
Высокоуровневый
язык
программирования

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

16.

Вариант «Hello, world!» на Assembler

17.

Java
• Исходный код
• Промежуточный код
(байт-код Java);
• Интерпретатор (Java
Virtual Machine);
• Результат

18.

Java
Язык программирования Java
Часть формируемого Java байткода для определенной машины

19.

Microsoft .NET Framework
«Hello, world!» на CIL:
.assembly Hello {}
.method public static void
Main() cil managed
{
.entrypoint
.maxstack 1
ldstr "Hello, world!"
call void
[mscorlib]System.Console::
WriteLine(string)
ret
}

20.

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

21.

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

22.

Компиляция
Компиляция – это трансляция программы на исходном
языке высокого уровня в эквивалентную программу на
языке низкого уровня.
Виды компиляции:
• Пакетная – компиляция нескольких исходных модулей
в одном пункте задания;
• Построчная = интерпретация;
• Условная – транслируемый текст зависит от условий,
заданный в программе директивами компилятора.

23.

Компиляция
Этапы компиляции:
1. Лексический анализ (последовательность символов
исходного файла преобразуется в последовательность
лексем);
2. Синтаксический анализ (анализ грамматики);
3. Семантический анализ;
4. Оптимизация (удаление излишних конструкций и
упрощение кода с сохранением его смысла);
5. Генерация кода на целевом языке.

24.

Интерпретация
Интерпретация – это пооператорный, покомандный или
построчный анализ, обработка и незамедлительное
выполнение исходной программы или запроса.
Виды интерпретаторов:
• Простой интерпретатор;
• Интерпретатор компилируемого типа ~ компилятор.

25.

Интерпретация
Алгоритм работы простого интерпретатора:
1. прочитать инструкцию;
2. проанализировать инструкцию и определить
соответствующие действия;
3. выполнить соответствующие действия;
4. если не достигнуто условие завершения
программы, прочитать следующую инструкцию и
перейти к пункту 2.

26.

Среды программирования
Среды
программирования
Среды общего
назначения
Языковоориентированные
среды
Интерпретирующие
и компилирующие
среды
Синтаксически
управляемые среды
English     Русский Rules