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