🗊Презентация Системы программирования. Интегрированные среды разработки. Системы контроля версий

Нажмите для полного просмотра!
Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №1Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №2Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №3Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №4Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №5Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №6Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №7Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №8Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №9Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №10Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №11Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №12Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №13Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №14Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №15Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №16Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №17Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №18Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №19Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №20Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №21Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №22Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №23Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №24Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №25Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №26Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №27Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №28Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №29Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №30Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №31Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №32Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №33Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №34Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №35Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №36Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №37Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №38Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №39Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №40Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №41Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №42Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №43Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №44Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №45Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №46Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №47Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №48Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №49Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №50Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №51Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №52Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №53Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №54Системы программирования. Интегрированные среды разработки. Системы контроля версий, слайд №55

Содержание

Вы можете ознакомиться и скачать презентацию на тему Системы программирования. Интегрированные среды разработки. Системы контроля версий. Доклад-сообщение содержит 55 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Системы программирования
Интегрированные среды разработки
Системы контроля версий
О. Г. Французов
Описание слайда:
Системы программирования Интегрированные среды разработки Системы контроля версий О. Г. Французов

Слайд 2





Структура вычислительной системы






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

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

Слайд 3





Этапы технологического цикла создания ПП 

Создание ПП.
II. 	Сопровождение:

попытка приспособить ПП к измененным целям, 
исправление ошибок, не выявленных на этапе I. 
III. 	Эксплуатация ПП.
Описание слайда:
Этапы технологического цикла создания ПП Создание ПП. II. Сопровождение: попытка приспособить ПП к измененным целям, исправление ошибок, не выявленных на этапе I. III. Эксплуатация ПП.

Слайд 4





Создание ПП (1) 
1. Анализ требований
       Уточняются, формализуются и документируются требования заказчика к ПП, в результате создаются внешняя спецификация ПП, т.е. характеристика программы с точки зрения заказчика.
	Часть требований к ПП можно формально записать с помощью языков спецификаций (SDL,…), таблиц решений, функциональных диаграмм.
 2. Проектирование
       Выделяются отдельные модули, определяется их иерархия и сопряжение между ними. В результате создается общая схема иерархии и внешняя спецификация отдельных модулей.
    	По внешним спецификациям разрабатывается внутренняя структура каждого модуля - выбирается алгоритм работы модуля и способ внутреннего представления данных.
Описание слайда:
Создание ПП (1) 1. Анализ требований Уточняются, формализуются и документируются требования заказчика к ПП, в результате создаются внешняя спецификация ПП, т.е. характеристика программы с точки зрения заказчика. Часть требований к ПП можно формально записать с помощью языков спецификаций (SDL,…), таблиц решений, функциональных диаграмм. 2. Проектирование Выделяются отдельные модули, определяется их иерархия и сопряжение между ними. В результате создается общая схема иерархии и внешняя спецификация отдельных модулей. По внешним спецификациям разрабатывается внутренняя структура каждого модуля - выбирается алгоритм работы модуля и способ внутреннего представления данных.

Слайд 5





Создание ПП (2) 
 3. Кодирование. 

 4. Компоновка и интеграция

 5. Тестирование и отладка
	Верификация (ПП работает согласно спецификации)
	Валидация (ПП пригоден для использования)
	Тестирование: ручное, автоматизированное; функциональное, интеграционное, модульное; регрессионное
	Формальное доказательство корректности работы	
 6. Документирование
7. Внедрение

8. Сопровождение
Описание слайда:
Создание ПП (2) 3. Кодирование. 4. Компоновка и интеграция 5. Тестирование и отладка Верификация (ПП работает согласно спецификации) Валидация (ПП пригоден для использования) Тестирование: ручное, автоматизированное; функциональное, интеграционное, модульное; регрессионное Формальное доказательство корректности работы 6. Документирование 7. Внедрение 8. Сопровождение

Слайд 6





Каскадная модель
Описание слайда:
Каскадная модель

Слайд 7





Каскадно-возвратная модель
Описание слайда:
Каскадно-возвратная модель

Слайд 8





Итерационная модель
Описание слайда:
Итерационная модель

Слайд 9





Основные компоненты системы программирования.
Транслятор (переводит программы с языка программирования на машинный язык, что и позволяет выполнить их на ЭВМ).

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

Редактор текстов (используется для составления программ на языке программирования).

Редактор связей или компоновщик (предназначен для связывания между собой (по внешним данным) объектных файлов, порождаемых компилятором, а также файлов библиотек, входящих в состав СП).

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

Библиотеки стандартных программ (облегчают работу программиста, используются на этапе трансляции и исполнения).
Описание слайда:
Основные компоненты системы программирования. Транслятор (переводит программы с языка программирования на машинный язык, что и позволяет выполнить их на ЭВМ). Макрогенератор или макропроцессор (работает непосредственно перед транслятором, используется для получения макрорасширения исходной программы). Редактор текстов (используется для составления программ на языке программирования). Редактор связей или компоновщик (предназначен для связывания между собой (по внешним данным) объектных файлов, порождаемых компилятором, а также файлов библиотек, входящих в состав СП). Отладчик (используется для проверочных запусков программ и исправления ошибок). Библиотеки стандартных программ (облегчают работу программиста, используются на этапе трансляции и исполнения).

Слайд 10





Дополнительные компоненты
систем программирования
Система контроля версий для версионирования исходного текста ПП.

Средства конфигурирования
помогают создавать различные конфигурации ПП в зависимости от конкретных параметров системного окружения, в котором ПП будет функционировать и от возможных различий отдельных версий ПП;
 поддерживают информацию обо всех предполагаемых и выполненных изменениях ПП;
обеспечивают координированное управление развитием функциональности и улучшением характеристик системы.
Средства тестирования (помогают при составлении набора тестов).
Профилировщик.  Профилирование — определение (в процентах) времени, затрачиваемого на выполнение отдельных  фрагментов программы,  как правило, для линейных участков кода (фрагментов программы, где нет передачи управления). Профилировщик часто используется для более эффективной оптимизации программы.
Справочная система (содержит справочные материалы по языку программирования и компонентам СП).
Описание слайда:
Дополнительные компоненты систем программирования Система контроля версий для версионирования исходного текста ПП. Средства конфигурирования помогают создавать различные конфигурации ПП в зависимости от конкретных параметров системного окружения, в котором ПП будет функционировать и от возможных различий отдельных версий ПП; поддерживают информацию обо всех предполагаемых и выполненных изменениях ПП; обеспечивают координированное управление развитием функциональности и улучшением характеристик системы. Средства тестирования (помогают при составлении набора тестов). Профилировщик. Профилирование — определение (в процентах) времени, затрачиваемого на выполнение отдельных фрагментов программы, как правило, для линейных участков кода (фрагментов программы, где нет передачи управления). Профилировщик часто используется для более эффективной оптимизации программы. Справочная система (содержит справочные материалы по языку программирования и компонентам СП).

Слайд 11





Дополнительные компоненты
систем программирования
Инструменты для статического анализа кода
Производят анализ логики работы программы без её исполнения (работают с исходным текстом программы).
Основное применение — поиск мест, где может содержаться логическая ошибка (lint и аналоги).
Также используются для организации навигации по коду (генерация т. н. тэгов), полуавтоматического рефакторинга и проч.
Средства навигации по коду. В простейшем варианте (ctags) — анализ исходного текста, поиск в нем символов (определений функций, классов) и формирование указателя найденных символов для использования в текстовом редакторе. В более сложных случаях отыскиваются также отношения наследования, места использования символа в коде и проч.

Инструменты подготовки документации. Используются для автоматической генерации списков классов, функций и т. п. по исходному коду. При этом автоматически извлекаются комментарии к коду, и на выходе генерируется документация к коду, которая может компоноваться с концептуальной документацией на ПП и его подсистемы.
h) 	Управление разработкой. Планирование, отслеживание замечаний.
Описание слайда:
Дополнительные компоненты систем программирования Инструменты для статического анализа кода Производят анализ логики работы программы без её исполнения (работают с исходным текстом программы). Основное применение — поиск мест, где может содержаться логическая ошибка (lint и аналоги). Также используются для организации навигации по коду (генерация т. н. тэгов), полуавтоматического рефакторинга и проч. Средства навигации по коду. В простейшем варианте (ctags) — анализ исходного текста, поиск в нем символов (определений функций, классов) и формирование указателя найденных символов для использования в текстовом редакторе. В более сложных случаях отыскиваются также отношения наследования, места использования символа в коде и проч. Инструменты подготовки документации. Используются для автоматической генерации списков классов, функций и т. п. по исходному коду. При этом автоматически извлекаются комментарии к коду, и на выходе генерируется документация к коду, которая может компоноваться с концептуальной документацией на ПП и его подсистемы. h) Управление разработкой. Планирование, отслеживание замечаний.

Слайд 12





Виды систем программирования


(По стратегии интеграции)


Наборы независимых инструментов


Интегрированные системы программирования
Описание слайда:
Виды систем программирования (По стратегии интеграции) Наборы независимых инструментов Интегрированные системы программирования

Слайд 13





Стратегии трансляции



Компиляторы и ассемблеры

Интерпретаторы

Смешанная стратегия (байт-код, JIT-компиляция)
Описание слайда:
Стратегии трансляции Компиляторы и ассемблеры Интерпретаторы Смешанная стратегия (байт-код, JIT-компиляция)

Слайд 14





Общая схема функционирования основных компонентов СП на базе компилятора (на примере СП Си):
Описание слайда:
Общая схема функционирования основных компонентов СП на базе компилятора (на примере СП Си):

Слайд 15





Общая схема функционирования основных компонентов СП на базе интерпретатора:
Описание слайда:
Общая схема функционирования основных компонентов СП на базе интерпретатора:

Слайд 16





Интегрированная среда разработки
ИСР (IDE, integrated development environment) — комплекс программных средств, поддерживающих полный жизненный цикл ПП. 

Простая ИСР содержит минимальный набор компонентов:
текстовый редактор,
компилятор,
редактор связей, 
отладчик.
Описание слайда:
Интегрированная среда разработки ИСР (IDE, integrated development environment) — комплекс программных средств, поддерживающих полный жизненный цикл ПП. Простая ИСР содержит минимальный набор компонентов: текстовый редактор, компилятор, редактор связей, отладчик.

Слайд 17





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

Слайд 18





Текстовые редакторы
Пакетные
+ Макросредства
Диалоговые
Строчные
Экранные
Описание слайда:
Текстовые редакторы Пакетные + Макросредства Диалоговые Строчные Экранные

Слайд 19





Возможности текстового редактора (в ИСР)
Подготовка текста программы (обычные действия по созданию, редактированию, сохранению файла с текстом программы).
Многооконный интерфейс, управление окнами и вкладками.
Закладки, настраиваемые сочетания клавиш, шаблоны фрагментов текста, программное управление самим редактором
Интеграция с компилятором и средствами статического анализа кода.
Интеграция с отладчиком.
Описание слайда:
Возможности текстового редактора (в ИСР) Подготовка текста программы (обычные действия по созданию, редактированию, сохранению файла с текстом программы). Многооконный интерфейс, управление окнами и вкладками. Закладки, настраиваемые сочетания клавиш, шаблоны фрагментов текста, программное управление самим редактором Интеграция с компилятором и средствами статического анализа кода. Интеграция с отладчиком.

Слайд 20





Возможности текстового редактора (в ИСР)
Интеграция с компилятором и/или средствами статического анализа кода:
 визуализация текста с выделением лексем (синтаксическая подсветка элементов языка),
 дополнение кода, интерактивная подсказка,
Описание слайда:
Возможности текстового редактора (в ИСР) Интеграция с компилятором и/или средствами статического анализа кода: визуализация текста с выделением лексем (синтаксическая подсветка элементов языка), дополнение кода, интерактивная подсказка,

Слайд 21





Возможности текстового редактора (в ИСР)
4.  	Интеграция с отладчиком:
отображение контрольных точек останова при отладке,
отображение текущего значения объекта, при наведении курсора на идентификатор.
Описание слайда:
Возможности текстового редактора (в ИСР) 4. Интеграция с отладчиком: отображение контрольных точек останова при отладке, отображение текущего значения объекта, при наведении курсора на идентификатор.

Слайд 22





Задачи отладчика в рамках ИСР
пошаговое выполнение программы (шаг = строка; с трассировкой внутри вызываемой функции и без нее),
выполнение программы до строки, в которой в редакторе стоит курсор,
выделение выполняемой в данный момент строки,
4.  	приостановка выполнения программы, при этом:
можно запросить значение переменной,
можно заказать вычисление некоторого выражения,
можно изменить значение переменной и продолжить выполнение программы (но не всякий отладчик позволяет изменять программный код, т.е. поддерживает частичную перекомпиляцию),
расстановка/снятие точек останова, которые визуализируются в текстовом редакторе,
6.  	выдача всей информации в терминах исходной программы.
Описание слайда:
Задачи отладчика в рамках ИСР пошаговое выполнение программы (шаг = строка; с трассировкой внутри вызываемой функции и без нее), выполнение программы до строки, в которой в редакторе стоит курсор, выделение выполняемой в данный момент строки, 4. приостановка выполнения программы, при этом: можно запросить значение переменной, можно заказать вычисление некоторого выражения, можно изменить значение переменной и продолжить выполнение программы (но не всякий отладчик позволяет изменять программный код, т.е. поддерживает частичную перекомпиляцию), расстановка/снятие точек останова, которые визуализируются в текстовом редакторе, 6. выдача всей информации в терминах исходной программы.

Слайд 23





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

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

Стратегия гибридного теста является комбинацией поведенческой и структурной стратегий. Модули и низкоуровневые компоненты часто тестируются с помощью структурной стратегии. Большие компоненты и системы в основном тестируются с помощью поведенческой стратегии. Гибридная стратегия полезна на всех уровнях.
Описание слайда:
Стратегии тестирования Стратегия тестирования — это метод, используемый для отбора тестов, которые должны быть включены в тестовый комплект. Стратегия является эффективной, если тесты, включенные в нее, с большой вероятностью обнаружат ошибки тестируемого объекта. Эффективность стратегии зависит от комбинации природы тестов и природы ошибок, на поиск которых эти тесты направлены. Стратегия поведенческого теста основана на технических требованиях. Тестирование, выполняемое с помощью стратегии поведенческого теста, называется поведенческим тестированием, функциональным тестированием или тестированием черного ящика. Стратегия структурного теста определяется структурой тестируемого объекта. Тестирование, выполненное с помощью стратегии структурного теста, называется также тестированием белого ящика. Стратегия структурного теста требует полного доступа к структуре объекта, то есть к исходной программе. Стратегия гибридного теста является комбинацией поведенческой и структурной стратегий. Модули и низкоуровневые компоненты часто тестируются с помощью структурной стратегии. Большие компоненты и системы в основном тестируются с помощью поведенческой стратегии. Гибридная стратегия полезна на всех уровнях.

Слайд 24





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

Интеграционное тестирование призвано проверить все аспекты работы программы от правильности взаимодействия внутренних программных компонентов до правильности взаимодействия программного комплекса с его пользователями.
Во время пользовательского тестирования результаты работы программы проверяются с прикладной точки зрения.
Нагрузочное тестирование дает возможность проверить безопасную и эффективную работу созданной программы в нормальном и пиковом режимах ее использования. Функциональность на этом этапе проверяется только в смысле ее влияния на важнейшие технические параметры программы, например, на время реакции системы на запрос пользователя.
Важной в тестировании является возможность проведения регрессионного тестирования. Регрессионные тесты, повторяемые после каждого исправления программы, позволяют убедиться, что функциональность программы, не связанная с внесенным исправлением, не затронута этим исправлением и не утрачена из-за него.
Описание слайда:
Способы тестирования Тестирование проводится не только на той стадии разработки программ, которая специально для этого предназначена, но и на предшествующих стадиях – при автономной отладке программ, еще до объединения их в единый программный комплекс. Такое тестирование называется модульным. Его обычно проводят сами разработчики, которые проверяют точное соответствие программы выданной им спецификации. Интеграционное тестирование призвано проверить все аспекты работы программы от правильности взаимодействия внутренних программных компонентов до правильности взаимодействия программного комплекса с его пользователями. Во время пользовательского тестирования результаты работы программы проверяются с прикладной точки зрения. Нагрузочное тестирование дает возможность проверить безопасную и эффективную работу созданной программы в нормальном и пиковом режимах ее использования. Функциональность на этом этапе проверяется только в смысле ее влияния на важнейшие технические параметры программы, например, на время реакции системы на запрос пользователя. Важной в тестировании является возможность проведения регрессионного тестирования. Регрессионные тесты, повторяемые после каждого исправления программы, позволяют убедиться, что функциональность программы, не связанная с внесенным исправлением, не затронута этим исправлением и не утрачена из-за него.

Слайд 25





Редактор связей
Редактор связей (компоновщик) предназначен для связывания между собой  (по внешним данным) объектных файлов, порождаемых компилятором, а также файлов библиотек, входящих в состав СП.

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

Слайд 26





Типы библиотек
Библиотеки являются существенной частью систем программирования.
В настоящее время можно выделить 3 типа библиотек:
		1. Библиотеки функций (или подпрограмм).
		2. Библиотеки классов.
		3. Библиотеки компонентов.
Описание слайда:
Типы библиотек Библиотеки являются существенной частью систем программирования. В настоящее время можно выделить 3 типа библиотек: 1. Библиотеки функций (или подпрограмм). 2. Библиотеки классов. 3. Библиотеки компонентов.

Слайд 27





Библиотеки функций

Библиотеки функций во многом определяют возможности систем программирования в целом. Чем больше выбор библиотечных функций СП предоставляет пользователю, тем лучшие позиции она имеет на рынке средств разработки программного обеспечения.
Различают: 
библиотеки для языков программирования (например, функции ввода-вывода, работа со строками) и
 
библиотеки для решения задач в конкретной проблемной области (например, функции, реализующие алгоритмы линейной алгебры).
Библиотеки функций представляют собой откомпилированные объектные модули, а необходимые фрагменты библиотеки функций включаются в исполняемый файл на этапе работы редактора связей.
Описание слайда:
Библиотеки функций Библиотеки функций во многом определяют возможности систем программирования в целом. Чем больше выбор библиотечных функций СП предоставляет пользователю, тем лучшие позиции она имеет на рынке средств разработки программного обеспечения. Различают: библиотеки для языков программирования (например, функции ввода-вывода, работа со строками) и библиотеки для решения задач в конкретной проблемной области (например, функции, реализующие алгоритмы линейной алгебры). Библиотеки функций представляют собой откомпилированные объектные модули, а необходимые фрагменты библиотеки функций включаются в исполняемый файл на этапе работы редактора связей.

Слайд 28





Библиотеки классов

Библиотеки классов также являются важной частью современных систем программирования, базирующихся на ООЯП. 
Недостаток библиотеки классов  —  все ее классы должны быть написаны на том же ЯП, на котором пишется программа, куда интегрируются библиотечные классы.
В библиотеке классов различают:

конкретные классы;

абстрактные классы, иерархии классов;

шаблоны классов, иерархии шаблонов классов.
Библиотеки классов включаются в программу на этапе компиляции и компилируются со всей программой вместе.
Описание слайда:
Библиотеки классов Библиотеки классов также являются важной частью современных систем программирования, базирующихся на ООЯП. Недостаток библиотеки классов — все ее классы должны быть написаны на том же ЯП, на котором пишется программа, куда интегрируются библиотечные классы. В библиотеке классов различают: конкретные классы; абстрактные классы, иерархии классов; шаблоны классов, иерархии шаблонов классов. Библиотеки классов включаются в программу на этапе компиляции и компилируются со всей программой вместе.

Слайд 29





Библиотеки компонентов
Библиотеки компонентов - это библиотеки готовых откомпилированных программных модулей, предназначенных для использования в качестве составных частей программ, и которыми можно манипулировать во время разработки программ.
Компоненты бывают локальные (находящиеся на той же ЭВМ, где создается ПП) и распределенные (расположенные на сервере и доступные по сети ЭВМ).
Примеры технологий, использующих библиотеки компонентов:
Технология CORBA (Common Object Request Broker Architecture) от международной группы OMG  позволяет использовать программные компоненты, размещённые как локально, так и дистанционно. Использование CORBA-компонент не зависит от языка, на котором они были написаны.
Технология COM (Common Object Model) от компании Microsoft под ОС Windows позволяет использовать локально размещённые компоненты, независимо от языка их реализации. Её развитие привело к распределённой архитектуре DCOM (Distributed COM), а затем к ActiveX.
Технология Java Beans от Sun Microsystems позволяет использовать компоненты, написанные на языке Java. Так как реализация Java-машины существует почти для всех ОС, отсутствует жёсткая привязка к конкретной ОС.
Описание слайда:
Библиотеки компонентов Библиотеки компонентов - это библиотеки готовых откомпилированных программных модулей, предназначенных для использования в качестве составных частей программ, и которыми можно манипулировать во время разработки программ. Компоненты бывают локальные (находящиеся на той же ЭВМ, где создается ПП) и распределенные (расположенные на сервере и доступные по сети ЭВМ). Примеры технологий, использующих библиотеки компонентов: Технология CORBA (Common Object Request Broker Architecture) от международной группы OMG позволяет использовать программные компоненты, размещённые как локально, так и дистанционно. Использование CORBA-компонент не зависит от языка, на котором они были написаны. Технология COM (Common Object Model) от компании Microsoft под ОС Windows позволяет использовать локально размещённые компоненты, независимо от языка их реализации. Её развитие привело к распределённой архитектуре DCOM (Distributed COM), а затем к ActiveX. Технология Java Beans от Sun Microsystems позволяет использовать компоненты, написанные на языке Java. Так как реализация Java-машины существует почти для всех ОС, отсутствует жёсткая привязка к конкретной ОС.

Слайд 30





Динамически подключаемые библиотеки (ДБ)
ДБ в отличие от статических библиотек подключаются к программе не во время компиляции программы, а непосредственно в ходе её выполнения.
На этапе компоновки программы редактор связей, встречая вызовы функций ДБ, вместо процедуры связывания формирует таблицу точек вызова функций ДБ для последующей операции динамического связывания. Таким образом, процесс полной компоновки завершается уже на этапе выполнения целевой программы.
Преимущества ДБ:
 не требуется включать в программу объектный код часто используемых функций, что существенно сокращает объем кода;
 различные программы, выполняемые в некоторой ОС, могут пользоваться кодом одной и той же библиотеки, содержащейся в ОС;
 изменения и улучшения функций библиотек сводится к обновлению только содержимого ДБ, а уже существующие тексты программ не требуют перекомпиляции (этот же факт может оказаться недостатком, если при модификации функций  меняется логика их работы, поэтому использование ДБ накладывает определенные обязательства как на разработчика программы, так и на создателя библиотеки).
Как правило, динамически подключаются системные функции ОС и общедоступные функции программного интерфейса (API). 
Существует возможность создавать свои ДБ для использования при разработке прикладных программ.
Описание слайда:
Динамически подключаемые библиотеки (ДБ) ДБ в отличие от статических библиотек подключаются к программе не во время компиляции программы, а непосредственно в ходе её выполнения. На этапе компоновки программы редактор связей, встречая вызовы функций ДБ, вместо процедуры связывания формирует таблицу точек вызова функций ДБ для последующей операции динамического связывания. Таким образом, процесс полной компоновки завершается уже на этапе выполнения целевой программы. Преимущества ДБ: не требуется включать в программу объектный код часто используемых функций, что существенно сокращает объем кода; различные программы, выполняемые в некоторой ОС, могут пользоваться кодом одной и той же библиотеки, содержащейся в ОС; изменения и улучшения функций библиотек сводится к обновлению только содержимого ДБ, а уже существующие тексты программ не требуют перекомпиляции (этот же факт может оказаться недостатком, если при модификации функций меняется логика их работы, поэтому использование ДБ накладывает определенные обязательства как на разработчика программы, так и на создателя библиотеки). Как правило, динамически подключаются системные функции ОС и общедоступные функции программного интерфейса (API). Существует возможность создавать свои ДБ для использования при разработке прикладных программ.

Слайд 31





Критерии проектирования стандартных библиотек.
 Требования по составу
Стандартная библиотека должна:
обеспечивать поддержку свойств языка (например, управление памятью, предоставление информации об объектах во время выполнения программ);
предоставлять информацию о зависящих от реализации аспектах языка, (например, о максимальных размерах целых значений);
предоставлять функции, которые не могут быть написаны оптимально для всех вычислительных систем на данном языке программирования (например, sqrt() или  memmove() — пересылка блоков памяти);
предоставлять программисту нетривиальные средства, на которые он может рассчитывать, заботясь о переносимости программ (например, средства работы со списками, функции сортировки, потоки ввода/вывода);
предоставлять основу для расширения собственных возможностей, в частности, соглашения и средства поддержки, позволяющие обеспечить операции для данных, имеющих определяемые пользователями типы, в том же стиле, в котором обеспечиваются операции для встроенных типов (например, ввод/вывод);
служить основой и теоретическим базисом других библиотек.
Описание слайда:
Критерии проектирования стандартных библиотек. Требования по составу Стандартная библиотека должна: обеспечивать поддержку свойств языка (например, управление памятью, предоставление информации об объектах во время выполнения программ); предоставлять информацию о зависящих от реализации аспектах языка, (например, о максимальных размерах целых значений); предоставлять функции, которые не могут быть написаны оптимально для всех вычислительных систем на данном языке программирования (например, sqrt() или memmove() — пересылка блоков памяти); предоставлять программисту нетривиальные средства, на которые он может рассчитывать, заботясь о переносимости программ (например, средства работы со списками, функции сортировки, потоки ввода/вывода); предоставлять основу для расширения собственных возможностей, в частности, соглашения и средства поддержки, позволяющие обеспечить операции для данных, имеющих определяемые пользователями типы, в том же стиле, в котором обеспечиваются операции для встроенных типов (например, ввод/вывод); служить основой и теоретическим базисом других библиотек.

Слайд 32





Требования по свойствам 
Требования по свойствам 
компонентов стандартной библиотеки (1)
Компоненты стандартной библиотеки должны:
иметь общезначимый характер (структуры данных и алгоритмы для работы с ними – стек, очередь, список, …, сортировка, поиск, копирование, …); быть важными и удобными для использования всеми программистами;
быть настолько эффективными, чтобы у пользователей библиотеки не возникало потребности заново программировать библиотечные средства;
быть независимыми от конкретных алгоритмов или предоставлять возможность указывать алгоритм в качестве параметра;
оставаться элементарными, чтобы не терять эффективности из-за излишних усложнений или попыток совместить различные функции в одной;
Описание слайда:
Требования по свойствам Требования по свойствам компонентов стандартной библиотеки (1) Компоненты стандартной библиотеки должны: иметь общезначимый характер (структуры данных и алгоритмы для работы с ними – стек, очередь, список, …, сортировка, поиск, копирование, …); быть важными и удобными для использования всеми программистами; быть настолько эффективными, чтобы у пользователей библиотеки не возникало потребности заново программировать библиотечные средства; быть независимыми от конкретных алгоритмов или предоставлять возможность указывать алгоритм в качестве параметра; оставаться элементарными, чтобы не терять эффективности из-за излишних усложнений или попыток совместить различные функции в одной;

Слайд 33





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

Слайд 34





СП под UNIX. Координатор GNU Make.
Make существенно упрощает процесс сборки проектов.
Make отслеживает изменившиеся файлы и перекомпилирует при обращении к нему только их и файлы, связанные с ними по компиляции.
Информация о зависимостях по компиляции и необходимые команды по компиляции  содержатся в файле Makefile (makefile или  в файле с соответствующей структурой, имя которого задается при обращении к Make:    Make  -f  <имя_файла> ),   который должен находиться в текущей директории.
Makefile состоит из последовательности записей вида:
цель: зависимости_по_компиляции
	команда ОС UNIX
	...
	команда ОС UNIX
...
Цель - имя целевого файла или название действия.
Если обращение к Make происходит без параметра, то выполняются действия по достижению первой цели, если же параметр есть, то Make достигает цель, имя которой совпадает с именем параметра.
Если цель - имя файла, Make автоматически по дате модификации файлов, указанных среди файлов-зависимостей по компиляции, определяет, какие из них должны быть перекомпилированы и выполняет соответствующие команды.
В Makefile должны быть указаны зависимости и команды для получения как промежуточных объектных файлов, так и исполняемых файлов.
Описание слайда:
СП под UNIX. Координатор GNU Make. Make существенно упрощает процесс сборки проектов. Make отслеживает изменившиеся файлы и перекомпилирует при обращении к нему только их и файлы, связанные с ними по компиляции. Информация о зависимостях по компиляции и необходимые команды по компиляции содержатся в файле Makefile (makefile или в файле с соответствующей структурой, имя которого задается при обращении к Make: Make -f <имя_файла> ), который должен находиться в текущей директории. Makefile состоит из последовательности записей вида: цель: зависимости_по_компиляции команда ОС UNIX ... команда ОС UNIX ... Цель - имя целевого файла или название действия. Если обращение к Make происходит без параметра, то выполняются действия по достижению первой цели, если же параметр есть, то Make достигает цель, имя которой совпадает с именем параметра. Если цель - имя файла, Make автоматически по дате модификации файлов, указанных среди файлов-зависимостей по компиляции, определяет, какие из них должны быть перекомпилированы и выполняет соответствующие команды. В Makefile должны быть указаны зависимости и команды для получения как промежуточных объектных файлов, так и исполняемых файлов.

Слайд 35





Пример 1. Makefile (для модельного  SQL-интерпретатора):
client:	client.o
		cc -o client client.o
server:	server.o  parse.o  getlex.o  table.o 
		cc -o server server.o  parse.o  getlex.o  table.o
 
table.o:	 table.c  table.h
		cc –c  table.c
parse.o: parse.c  parse.h  getlex.h  table.h
		cc –c  parse.c
getlex.o: getlex.c  parse.h  getlex.h
		cc –c  getlex.c
server.o: server.c  parse.h  getlex.h
		cc –c server.c
client.o: client.c
		cc –c  client.c
clean:
		rm *.o
all:  client   server
Описание слайда:
Пример 1. Makefile (для модельного SQL-интерпретатора): client: client.o cc -o client client.o server: server.o parse.o getlex.o table.o cc -o server server.o parse.o getlex.o table.o table.o: table.c table.h cc –c table.c parse.o: parse.c parse.h getlex.h table.h cc –c parse.c getlex.o: getlex.c parse.h getlex.h cc –c getlex.c server.o: server.c parse.h getlex.h cc –c server.c client.o: client.c cc –c client.c clean: rm *.o all: client server

Слайд 36





Некоторые дополнительные возможности создания Make-файлов
В начале файла можно вводить макросы для обозначения каких-либо часто повторяющихся фрагментов текста файла в виде:
		имя = текст ,
а затем там, где нужно, использовать введенные имена таким образом:
		$(имя)  .
Некоторые предопределенные макроопределения:
$@	 - полное имя текущей цели,
$* 	- имя текущей цели без типа файла (суффикса),
$? 	- список зависимостей, которые обновились с момента предыдущего обновления цели,
$< 	- полное имя исходного файла, к которому применяется правило трансформации.
В язык для Makefile введены некоторые предопределенные правила суффиксов по умолчанию для стандартного получения результирующих файлов по исходным файлам.
Например, правило трансформации  .с.о  означает, что для того, чтобы получить файл с расширением  .о (если есть файл с расширением  .с), надо выполнить указанную команду.
Строка, начинающаяся символом '#' , является комментарием.
Пустые строки игнорируются.
Любая строка, оканчивающаяся символом '\', продолжается на следующую строку.
gcc -MM позволяет сгенерировать фрагмент make-файла с зависимостями модулей.
Описание слайда:
Некоторые дополнительные возможности создания Make-файлов В начале файла можно вводить макросы для обозначения каких-либо часто повторяющихся фрагментов текста файла в виде: имя = текст , а затем там, где нужно, использовать введенные имена таким образом: $(имя) . Некоторые предопределенные макроопределения: $@ - полное имя текущей цели, $* - имя текущей цели без типа файла (суффикса), $? - список зависимостей, которые обновились с момента предыдущего обновления цели, $< - полное имя исходного файла, к которому применяется правило трансформации. В язык для Makefile введены некоторые предопределенные правила суффиксов по умолчанию для стандартного получения результирующих файлов по исходным файлам. Например, правило трансформации .с.о означает, что для того, чтобы получить файл с расширением .о (если есть файл с расширением .с), надо выполнить указанную команду. Строка, начинающаяся символом '#' , является комментарием. Пустые строки игнорируются. Любая строка, оканчивающаяся символом '\', продолжается на следующую строку. gcc -MM позволяет сгенерировать фрагмент make-файла с зависимостями модулей.

Слайд 37





Пример 2. Makefile (для модельного SQL-интерпретатора):
сс = gcc
serv_o = server.o parse.o getlex.o table.o
client:	 client.o
		$(cc) -o client client.o
server: $(serv_o)
		$(cc) -o server $(serv_o)
.с.о:
		$(cc) -с $*.c
table.c:	table.h
parse.c:	parse.h getlex.h table.h
getlex.c:	parse.h getlex.h
server.c:	parse.h getlex.h
clean:
		rm *.o
all:	client server
Описание слайда:
Пример 2. Makefile (для модельного SQL-интерпретатора): сс = gcc serv_o = server.o parse.o getlex.o table.o client: client.o $(cc) -o client client.o server: $(serv_o) $(cc) -o server $(serv_o) .с.о: $(cc) -с $*.c table.c: table.h parse.c: parse.h getlex.h table.h getlex.c: parse.h getlex.h server.c: parse.h getlex.h clean: rm *.o all: client server

Слайд 38





Системы контроля версий
Система контроля версий в самом общем понимании осуществляет отслеживание версий (ревизий) некоего набора объектов (например, файлового дерева).

Применительно к процессу разработки ПП говорят
 
 об управлении исходным кодом (source control),
при этом отслеживаются ревизии исходного кода ПП и других ресурсов, необходимых для сборки ПП,
 
 или об управлении конфигурациями (configuration management),
при этом отслеживаются ревизии всего окружения, в том числе сопутствующих материалов, таких как файлы данных и документация.
Система контроля версий позволяет фиксировать ревизии исходного кода ПП, возвращаться к любой из них, отслеживать авторство изменений, производить анализ истории изменений и т. д.
Описание слайда:
Системы контроля версий Система контроля версий в самом общем понимании осуществляет отслеживание версий (ревизий) некоего набора объектов (например, файлового дерева). Применительно к процессу разработки ПП говорят об управлении исходным кодом (source control), при этом отслеживаются ревизии исходного кода ПП и других ресурсов, необходимых для сборки ПП, или об управлении конфигурациями (configuration management), при этом отслеживаются ревизии всего окружения, в том числе сопутствующих материалов, таких как файлы данных и документация. Система контроля версий позволяет фиксировать ревизии исходного кода ПП, возвращаться к любой из них, отслеживать авторство изменений, производить анализ истории изменений и т. д.

Слайд 39





Системы контроля версий
Описание слайда:
Системы контроля версий

Слайд 40





Развитие систем контроля версий
Старейшие системы: 
SCCS (1972), RCS (1982)
отслеживается один файл на одной машине
рядом с файлом хранится история всех его ревизий
Проектные клиент-серверные системы: 
CVS (1990), SVN (2000)
поддерживается отслеживание файлового дерева
фиксируется ревизия дерева в целом
история ревизий хранится в репозитории (на сервере)
работа с кодом ведется в рабочих копиях
Распределенные системы: 
BitKeeper (1998), Darcs (2002), Git (2005), Mercurial (2005)
каждая рабочая копия может иметь собственный репозиторий
работа с репозиторием не требует доступа к серверу
возможна децентрализованная разработка
Описание слайда:
Развитие систем контроля версий Старейшие системы: SCCS (1972), RCS (1982) отслеживается один файл на одной машине рядом с файлом хранится история всех его ревизий Проектные клиент-серверные системы: CVS (1990), SVN (2000) поддерживается отслеживание файлового дерева фиксируется ревизия дерева в целом история ревизий хранится в репозитории (на сервере) работа с кодом ведется в рабочих копиях Распределенные системы: BitKeeper (1998), Darcs (2002), Git (2005), Mercurial (2005) каждая рабочая копия может иметь собственный репозиторий работа с репозиторием не требует доступа к серверу возможна децентрализованная разработка

Слайд 41





Контроль версий: основные понятия
Сущности

 Дерево
 Ревизия
 Набор изменений (changeset)
 Ветка
 Репозиторий
 Рабочая копия
Описание слайда:
Контроль версий: основные понятия Сущности Дерево Ревизия Набор изменений (changeset) Ветка Репозиторий Рабочая копия

Слайд 42





История изменений дерева
Описание слайда:
История изменений дерева

Слайд 43





История изменений дерева
Описание слайда:
История изменений дерева

Слайд 44





Ветки
Описание слайда:
Ветки

Слайд 45





Контроль версий: классификация
По расположению репозитория:
 централизованные (CVS, SVN),
 распределенные (Git, Mercurial, Darcs), 
 комбинированные (Bazaar).
По объекту отслеживания:
 отслеживающие ревизии (CVS, SVN),
 отслеживающие наборы изменений:
наборы изменений организованы в ациклический орграф (Git, Mercurial)
наборы изменений организованы как набор патчей (Darcs)
Описание слайда:
Контроль версий: классификация По расположению репозитория: централизованные (CVS, SVN), распределенные (Git, Mercurial, Darcs), комбинированные (Bazaar). По объекту отслеживания: отслеживающие ревизии (CVS, SVN), отслеживающие наборы изменений: наборы изменений организованы в ациклический орграф (Git, Mercurial) наборы изменений организованы как набор патчей (Darcs)

Слайд 46





Централизованные системы
Описание слайда:
Централизованные системы

Слайд 47





Распределенные системы
Описание слайда:
Распределенные системы

Слайд 48





Приемы работы с системами контроля версий
Линейная работа. Последовательная фиксация прогресса работы над ПП.
Совместная линейная работа. Совместная работа с фиксацией по принципу «кто успел» и последующим слиянием изменений.
Ветки для разработки, в которых новая функциональность дорабатывается до готовности к выпуску версии ПП. 
Ветки для тестирования.
Ветки для сопровождения старых версий.
Метки (тэги) для фиксации значимых ревизий (например, версий ПП).
Анализ истории (в том числе аннотирование кода).
Описание слайда:
Приемы работы с системами контроля версий Линейная работа. Последовательная фиксация прогресса работы над ПП. Совместная линейная работа. Совместная работа с фиксацией по принципу «кто успел» и последующим слиянием изменений. Ветки для разработки, в которых новая функциональность дорабатывается до готовности к выпуску версии ПП. Ветки для тестирования. Ветки для сопровождения старых версий. Метки (тэги) для фиксации значимых ревизий (например, версий ПП). Анализ истории (в том числе аннотирование кода).

Слайд 49





Режим аннотирования кода
Описание слайда:
Режим аннотирования кода

Слайд 50





Популярные современные системы
Git
Высокая скорость
Github
Mercurial
Простота в использовании
Кроссплатформенность
Subversion (SVN)
Централизованная система
Описание слайда:
Популярные современные системы Git Высокая скорость Github Mercurial Простота в использовании Кроссплатформенность Subversion (SVN) Централизованная система

Слайд 51





Когда следует применять 
системы контроля версий?
Всегда
Описание слайда:
Когда следует применять системы контроля версий? Всегда

Слайд 52





CASE-средства
CASE-средства (Computer Aided Software Engineering) – программные средства, поддерживающие полуавтоматическую разработку комплексного ПП на всех стадиях его жизненного цикла. 
Основные характерные  особенности CASE-средств: 
наличие мощных графических средств для описания и документирования ПП, обеспечивающие удобный интерфейс с разработчиком и развивающие его творческие возможности;
 
интеграция отдельных компонент CASE-средств, обеспечивающая управляемость процессом разработки программной системы; 
наличие средств автоматического или автоматизированного кодирования и документирования ПП
Описание слайда:
CASE-средства CASE-средства (Computer Aided Software Engineering) – программные средства, поддерживающие полуавтоматическую разработку комплексного ПП на всех стадиях его жизненного цикла. Основные характерные особенности CASE-средств: наличие мощных графических средств для описания и документирования ПП, обеспечивающие удобный интерфейс с разработчиком и развивающие его творческие возможности; интеграция отдельных компонент CASE-средств, обеспечивающая управляемость процессом разработки программной системы; наличие средств автоматического или автоматизированного кодирования и документирования ПП

Слайд 53





Современные CASE-средства 
Примером наиболее известного CASE-средства является объектно-ориентированное CASE-средство 
Rational Rose (компании Rational Software Corporation).
 
В основе работы Rational Rose лежит построение диаграмм и спецификаций унифицированного языка моделирования 
UML (Unified Modeling Language), 
определяющих архитектуру проекта, его статические и динамические аспекты.
UML — язык для определения, представления, проектирования и документирования программных систем различной природы.
Описание слайда:
Современные CASE-средства Примером наиболее известного CASE-средства является объектно-ориентированное CASE-средство Rational Rose (компании Rational Software Corporation). В основе работы Rational Rose лежит построение диаграмм и спецификаций унифицированного языка моделирования UML (Unified Modeling Language), определяющих архитектуру проекта, его статические и динамические аспекты. UML — язык для определения, представления, проектирования и документирования программных систем различной природы.

Слайд 54





Некоторые дополнительные возможности 
современных систем программирования 
Существует множество других программных средств, помогающих в проектировании, модификации и кодировании программ. Например,
  
системы, преобразующие программы на процедурном (императивном) ЯП в программы на ООЯП (поскольку ОО программы считаются более простыми в сопровождении, это бывает полезно),
системы, анализирующие исходный код, с целью получения высокоуровневых абстракций (например, Java  диаграммы UML),
средства, предоставляющие среду разработки программ по диаграммам UML,
средства сборочного программирования (из готовых программных модулей, официально распространены достаточно слабо в связи с различными правовыми проблемами копирования модулей, низким качеством модулей и их плохой документацией).
Статистика отмечает, что около 80% программного обеспечения создается по уже  имеющемуся.  
Следовательно, большой  интерес представляют собой репозитории, поддерживающие архивы, документацию и интеллектуальный поиск нужных прототипов и фрагментов проектов программ для реализации эффективного сборочного программирования.
Описание слайда:
Некоторые дополнительные возможности современных систем программирования Существует множество других программных средств, помогающих в проектировании, модификации и кодировании программ. Например, системы, преобразующие программы на процедурном (императивном) ЯП в программы на ООЯП (поскольку ОО программы считаются более простыми в сопровождении, это бывает полезно), системы, анализирующие исходный код, с целью получения высокоуровневых абстракций (например, Java  диаграммы UML), средства, предоставляющие среду разработки программ по диаграммам UML, средства сборочного программирования (из готовых программных модулей, официально распространены достаточно слабо в связи с различными правовыми проблемами копирования модулей, низким качеством модулей и их плохой документацией). Статистика отмечает, что около 80% программного обеспечения создается по уже имеющемуся. Следовательно, большой интерес представляют собой репозитории, поддерживающие архивы, документацию и интеллектуальный поиск нужных прототипов и фрагментов проектов программ для реализации эффективного сборочного программирования.

Слайд 55






Q & A
Описание слайда:
Q & A



Похожие презентации
Mypresentation.ru
Загрузить презентацию