- •Жизненный цикл по
- •Основные
- •Организационные
- •Модели жизненного цикла
- •Классические процессы жизненного цикла
- •Проектирование
- •Стадии разработки, регламентированные гост 19.102 «Стадии разработки»
- •4. Управление идеей
- •5. Формирование требований к программному продукту.
- •4. Определение требований к пс.
- •Проектирование (разработка архитектуры пс)
- •Основные классы архитектур.
- •Методы разработки структуры программы
- •I. Метод восходящей разработки:
- •II. Метод нисходящей разработки:
- •III. Конструктивный подход
- •IV. Архитектурный подход
- •Объектный подход.
- •Компонентный подход и развитие case-технологий.
- •Методологии программирования
- •Методология императивного программирования.
- •Методология функционального программирования.
- •Методология структурного императивного программирования.
- •Каскадный подход с перекрывающимися процессами.
- •Генетические технологические подходы.
- •Конкретизирующее программирование.
- •Подходы на основе формальных преобразований.
- •Подходы быстрой разработки (прототипирование).
- •Подходы исследовательского программирования.
- •Языки программирования
- •Основные характеристики языков программирования
- •Классификация языков программирования (19.09.2006)
- •Инструментальные средства
- •12.Способы описания алгоритмов
- •13. Стиль программирования
- •14.Архитектурная платформа
- •Стековая
- •Структура ос
- •16.Тестирование и отладка.
- •Отладка.
- •Виды ошибок.
- •Методы и виды тестирования.
- •Комплексное тестирование.
- •17.Стандартные технологические процессы
- •18. Документирование
- •19. Спецификация качества пс
- •24. Коллективная разработка
- •2.2. Группы разработки
Объектный подход.
Середина 80-х гг.-конец 90-х гг. Широкое внедрение ПК, широкий круг пользователей -> бурное развитие пользовательских интерфейсов и создание четкой концепции качества программ. Появляются языки, учитывающие технологии программирования (ADA). Развиваются методы и языки спецификации программных средств (требования к ПО). Развивается ООП. Созданы среды, поддерживающие визуальное программирование с использованием специальных библиотечных компонентов.
- при использовании ОО-языков сохраняется зависимости модулей ПО от адресов экспортируемых полей и методов структур и форматов данных.
Компонентный подход и развитие case-технологий.
С середины 90-х гг.
Построение ПО из физически отдельно существующих частей ПО, которые взаимодействуют между собой через стандартизированные двоичные интерфейсы (на машинном языке).
Позволяет собирать компоненты в динамически вызываемые библиотеки или исполняемые файлы, распространяемые в двоичном виде и использовать в любом языке программирования, поддерживающем соответствующую технологию.
CASE-технологии – это разработка ПО с использованием компьютерной поддержки всех этапов жизненного цикла ПО.
Методологии программирования
Методология – совокупность методов, применяемых в какой-либо науке, рассматривает методы с точки зрения структуры, логической организации, средств деятельности.
Методологическое знание выступает в форме предписаний и норм, в которых фиксируются содержание и последовательность определенных видов деятельности, а также описание фактически выполненной деятельности.
Метод – способ теоретического или практического исследования или реализации, совокупность приемов или операций, подчиненных решению конкретной задачи.
Методологией программирования называют совокупность методов и концепций, объединенных общим философским подходом.
Разные направления в программировании (в том числе и в методологиях) родились на основе четырех главных моделей алгоритмов:
Абстрактные вычислительные машины Тьюринга и Поста -> методология императивного программирования.
От рекурсивных функций Гельберта и Аккермана -> методология структурного программирования.
Идея λ-исчисления Чёрча, Шейнфинкеля и Карри -> методология функционального программирования.
Нормальные алгорифмы Маркова -> методология логического программирования и обработка символьной информации.
Способ описания алгоритма определяет ядро методологии.
Методология императивного программирования;
Методология ООП;
Методология функционального программирования;
Методология программирования в ограничениях;
Методология логического программирования.
Топологией программ определяется «приставка» методологии. Например, если в императивной методологии придерживаться методов структурного программирования, то получим методологию структурного императивного программирования. «Суффикс» определяется организацией аппаратной поддержки. В настоящее время существует 2 организации архитектуры: централизованная и параллельная. Например, методология логического параллельного программирования.
Еще один способ классификации методологий – на основе отображения структур языка. Основные структуры языка – данные, управление и логика (9 отображений).
Данные->данные – Отображают процесс укрупнения данных и операций над ними, и приводит к методам модульности и абстрактных типов данных.
Управление->управление. Это отображение связано с понижением уровня структуры управления языка моделирования и идея структурного программирования.
Логика->логика. В основе логического программирования.
Данные->управление. Отображение активизирует пассивные данные, преобразуя их в активные процессы. Функциональное программирование, в значительной степени ООП.
Данные->логика. Дает возможность по совокупности операций с данными построить логическую структуру. Методология программирования в ограничениях.
Управление->данные. Лежит в основе методов интерпретации, определяет методологию «доступ ориентированного программирования».
Управление->логика. Лежит в основе методов расшифровки смысла задачи. Методы обратного программирования.
Логика->данные. Может быть связано с типизацией данных, с интерпретаторами, реализующими языки с развитой логической структурой.
Логика->управление. Может быть использовано в системах структурного синтеза.
Каждая из 3-х структур языка состоит из разнородных подструктур, следовательно, на основе их можно построить более детальную классификацию.