Лекции (14) (Презентации лекций (PDF))
Описание файла
Файл "Лекции (14)" внутри архива находится в папке "Презентации лекций (PDF)". PDF-файл из архива "Презентации лекций (PDF)", который расположен в категории "". Всё это находится в предмете "практикум (прикладное программное обеспечение и системы программирования)" из 4 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Системы программированияИнтегрированные среды разработкиСистемы контроля версийО. Г. ФранцузовСтруктура вычислительной системыПрикладноепрограммное обеспечениеСистемы программирования54Программы управления логическими ресурсамиПрограммы управления физическими устройствамиАппаратные средства ЭВМ3ОС21Система программирования (СП) — это комплекс программныхинструментов и библиотек, который поддерживает весьтехнологический цикл создания программного продукта (ПП).ПП — программа, оформленная, документированная испецифицированная таким образом, что ее можно использоватьнезависимо, отчужденно от автора программы.Этапы технологического цикла создания ППI.Создание ПП.II.Сопровождение:попытка приспособить ПП к измененным целям,исправление ошибок, не выявленных на этапе I.III.Эксплуатация ПП.Создание ПП (1)1.
Анализ требованийУточняются, формализуются и документируются требованиязаказчика к ПП, в результате создаются внешняяспецификация ПП, т.е. характеристика программы с точкизрения заказчика.Часть требований к ПП можно формально записать с помощьюязыков спецификаций (SDL,…), таблиц решений,функциональных диаграмм.2. ПроектированиеВыделяются отдельные модули, определяется их иерархия исопряжение между ними.
В результате создается общая схемаиерархии и внешняя спецификация отдельных модулей.По внешним спецификациям разрабатывается внутренняяструктура каждого модуля - выбирается алгоритм работы модуляи способ внутреннего представления данных.Создание ПП (2)3.
Кодирование.4. Компоновка и интеграция5. Тестирование и отладкаВерификация (ПП работает согласно спецификации)Валидация (ПП пригоден для использования)Тестирование: ручное, автоматизированное; функциональное,интеграционное, модульное; регрессионноеФормальное доказательство корректности работы6. Документирование7. Внедрение8. СопровождениеКаскадная модельАнализ требованийПроектированиеКодированиеТестированиеОтладкаДокументированиеКаскадно-возвратная модельАнализ требованийПроектированиеКодированиеТестированиеОтладкаДокументированиеИтерационная модельОтладкаДокументированиеТестированиеАнализ требованийКодированиеПроектированиеОсновные компоненты системы программирования.1.Транслятор (переводит программы с языка программирования намашинный язык, что и позволяет выполнить их на ЭВМ).2.Макрогенератор или макропроцессор (работает непосредственноперед транслятором, используется для получениямакрорасширения исходной программы).3.Редактор текстов (используется для составления программ наязыке программирования).4.Редактор связей или компоновщик (предназначен длясвязывания между собой (по внешним данным) объектныхфайлов, порождаемых компилятором, а также файлов библиотек,входящих в состав СП).5.Отладчик (используется для проверочных запусков программ иисправления ошибок).6.Библиотеки стандартных программ (облегчают работупрограммиста, используются на этапе трансляции и исполнения).Дополнительные компонентысистем программированияa)Система контроля версий для версионирования исходного текста ПП.b)Средства конфигурированияпомогают создавать различные конфигурации ПП в зависимости отконкретных параметров системного окружения, в котором ПП будетфункционировать и от возможных различий отдельных версий ПП;поддерживают информацию обо всех предполагаемых и выполненныхизменениях ПП;обеспечивают координированное управление развитием функциональности иулучшением характеристик системы.c)Средства тестирования (помогают при составлении набора тестов).d)Профилировщик.
Профилирование — определение (в процентах)времени, затрачиваемого на выполнение отдельных фрагментовпрограммы, как правило, для линейных участков кода (фрагментовпрограммы, где нет передачи управления). Профилировщик частоиспользуется для более эффективной оптимизации программы.e)Справочная система (содержит справочные материалы по языкупрограммирования и компонентам СП).Дополнительные компонентысистем программированияИнструменты для статического анализа кодаe)Производят анализ логики работы программы без её исполнения (работают сисходным текстом программы).Основное применение — поиск мест, где может содержаться логическаяошибка (lint и аналоги).Также используются для организации навигации по коду (генерация т. н.тэгов), полуавтоматического рефакторинга и проч.f)Средства навигации по коду.
В простейшем варианте (ctags) — анализисходного текста, поиск в нем символов (определений функций, классов)и формирование указателя найденных символов для использования втекстовом редакторе. В более сложных случаях отыскиваются такжеотношения наследования, места использования символа в коде и проч.g)Инструменты подготовки документации. Используются дляавтоматической генерации списков классов, функций и т. п. по исходномукоду. При этом автоматически извлекаются комментарии к коду, и навыходе генерируется документация к коду, которая может компоноватьсяс концептуальной документацией на ПП и его подсистемы.Управление разработкой.
Планирование, отслеживание замечаний.h)Виды систем программирования(По стратегии интеграции)1. Наборы независимых инструментов2. Интегрированные системы программированияСтратегии трансляции1. Компиляторы и ассемблеры2. Интерпретаторы3. Смешанная стратегия (байт-код, JIT-компиляция)Общая схема функционирования основных компонентов СПна базе компилятора (на примере СП Си):текстовыйредакторисходныемодулипрограммымакрогенератор икомпиляторфайлызаголовковпараметры компиляции:Makefile или явно заданныеопции командной строкиотладчикобъектныемодулиредакторсвязейисполняемыйфайлзагрузчиквыполнениепрограммыбиблиотекидинамическаязагрузкаОбщая схема функционирования основных компонентов СПна базе интерпретатора:текстовыйредакторисходныемодулипрограммыинтерпретаторотладчикбайт-кодинтерпретаторвыполнениепрограммыСреда времени выполнениябиблиотекиИнтегрированная среда разработкиИСР (IDE, integrated development environment) — комплекспрограммных средств, поддерживающих полныйжизненный цикл ПП.Простая ИСР содержит минимальный набор компонентов:•текстовый редактор,•компилятор,•редактор связей,•отладчик.Состав продвинутой ИСР• модуль системы контроля версий (все объекты, с которыми идет работав рамках ИСР, хранятся в репозитории системы контроля версий);• графические средства анализа и проектирования, обеспечивающиесоздание и редактирование иерархически связанных диаграмм, образующихмодели ПП, а также графический пользовательский интерфейс,обеспечивающий взаимодействие с функциями API;• средства разработки приложений, включая инструменты кодогенерации;• компилятор;• текстовый редактор;• средства статического анализа кода с поддержкой навигации по коду иполуавтоматического рефакторинга;• средства документирования;• средства тестирования и отладки;• средства управления проектной деятельностью, в т.
ч. интеграция ссистемами отслеживания замечаний;• средства обратного конструирования (позволяют восстановить логику иструктуру программы по ее исходным текстам, с целью модификации илиперенесения на другую платформу).Текстовые редакторы1. Пакетные+ Макросредства2. Диалоговые1.Строчные2.ЭкранныеВозможности текстового редактора (в ИСР)1. Подготовка текста программы (обычные действия посозданию, редактированию, сохранению файла стекстом программы).2.
Многооконный интерфейс, управление окнами ивкладками.3. Закладки, настраиваемые сочетания клавиш, шаблоныфрагментов текста, программное управление самимредактором4. Интеграция с компилятором и средствами статическогоанализа кода.5. Интеграция с отладчиком.Возможности текстового редактора (в ИСР)Интеграция с компилятором и/илисредствами статического анализа кода:• визуализация текста с выделениемлексем (синтаксическая подсветкаэлементов языка),• дополнение кода, интерактивнаяподсказка,•••всплывающие подсказки об атрибутах идентификаторов, если наних установить курсор, отображение ошибок, обнаруженных наэтапе компиляции, в тексте программы,навигация по коду (переход к определению имени, поиск местиспользования имени, поиск имени, навигация по иерархиинаследования),рефакторинг кода (от простейших случаев: переименованиеидентификатора, генерация заглушки — до сложных: выделениебазового класса, перенос метода вверх или вниз по иерархии).Возможности текстового редактора (в ИСР)4.
Интеграция с отладчиком:• отображение контрольных точек останова при отладке,• отображение текущего значения объекта, при наведении курсорана идентификатор.Задачи отладчика в рамках ИСР1. пошаговое выполнение программы (шаг = строка; с трассировкойвнутри вызываемой функции и без нее),2. выполнение программы до строки, в которой в редакторе стоиткурсор,3. выделение выполняемой в данный момент строки,4.•••приостановка выполнения программы, при этом:можно запросить значение переменной,можно заказать вычисление некоторого выражения,можно изменить значение переменной и продолжить выполнениепрограммы (но не всякий отладчик позволяет изменятьпрограммный код, т.е. поддерживает частичную перекомпиляцию),5.
расстановка/снятие точек останова, которые визуализируются втекстовом редакторе,6. выдача всей информации в терминах исходной программы.Стратегии тестированияСтратегия тестирования — это метод, используемый для отбора тестов, которыедолжны быть включены в тестовый комплект.Стратегия является эффективной, если тесты, включенные в нее, с большойвероятностью обнаружат ошибки тестируемого объекта.
Эффективность стратегиизависит от комбинации природы тестов и природы ошибок, на поиск которых эти тестынаправлены.•Стратегия поведенческого теста основана на технических требованиях.Тестирование, выполняемое с помощью стратегии поведенческого теста, называетсяповеденческим тестированием, функциональным тестированием илитестированием черного ящика.•Стратегия структурного теста определяется структурой тестируемого объекта.Тестирование, выполненное с помощью стратегии структурного теста, называется такжетестированием белого ящика.