- •Жизненный цикл по
- •Основные
- •Организационные
- •Модели жизненного цикла
- •Классические процессы жизненного цикла
- •Проектирование
- •Стадии разработки, регламентированные гост 19.102 «Стадии разработки»
- •4. Управление идеей
- •5. Формирование требований к программному продукту.
- •4. Определение требований к пс.
- •Проектирование (разработка архитектуры пс)
- •Основные классы архитектур.
- •Методы разработки структуры программы
- •I. Метод восходящей разработки:
- •II. Метод нисходящей разработки:
- •III. Конструктивный подход
- •IV. Архитектурный подход
- •Объектный подход.
- •Компонентный подход и развитие case-технологий.
- •Методологии программирования
- •Методология императивного программирования.
- •Методология функционального программирования.
- •Методология структурного императивного программирования.
- •Каскадный подход с перекрывающимися процессами.
- •Генетические технологические подходы.
- •Конкретизирующее программирование.
- •Подходы на основе формальных преобразований.
- •Подходы быстрой разработки (прототипирование).
- •Подходы исследовательского программирования.
- •Языки программирования
- •Основные характеристики языков программирования
- •Классификация языков программирования (19.09.2006)
- •Инструментальные средства
- •12.Способы описания алгоритмов
- •13. Стиль программирования
- •14.Архитектурная платформа
- •Стековая
- •Структура ос
- •16.Тестирование и отладка.
- •Отладка.
- •Виды ошибок.
- •Методы и виды тестирования.
- •Комплексное тестирование.
- •17.Стандартные технологические процессы
- •18. Документирование
- •19. Спецификация качества пс
- •24. Коллективная разработка
- •2.2. Группы разработки
Методология императивного программирования.
Это подход, характеризующийся принципом последовательного изменения состояния вычислителя пошаговым образом. При этом управление изменениями полностью определено и полностью контролируемо.
Основное синтаксическое понятие – оператор (атомарные и структурные). Средство структурирования – подпрограмма.
Методы: метод изменения состояния вычислителя и метод управления потоком исполнения.
Языки: Fortran, Algol, Pascal, C и др.
Класс задач: задачи, в которых последовательное выполнение команд является естественным, например, управление современными аппаратными средствами.
Методология ООП.
Основана на методах объектно-ориентированной декомпозиции (концепции инкапсуляции, наследования и полиморфизма), абстрактных типах данных, пересылке сообщений. Статическая структура системы описывается в терминах объектов и связей между ними, а поведение системы – в терминах обмена сообщениями между объектами. Одно из основных понятий – класс.
Класс описывает структуру и функционирование множества объектов с подобными характеристиками, атрибутами и поведением.
Средство структурирования: класс.
Языки: Симула, Java, C++, Delphi (Object Pascal), C#.
Класс задач: практически любая предметная область, особенно для создания и взаимодействия элементов графического интерфейса.
Методология функционального программирования.
Основана на методах аппликативности рекурсивного поведения, настраиваемости. Это способ составления программ, в котором единственным действием является вызов функции, способ расчленения программ на части заданием функций (имя и выражение). Правила композиции – оператор суперпозиции функции. Константами в λ-исчислении могут быть числа, кортежи, списки, имена предопределенных функций и т.п.
Языки: LISP, РЕФАЛ, ML, VIRANDA.
Класс задач: задачи, которые трудно сформулировать в терминах последовательных операций: задачи обработки естественного языка, экспертные консультирующие системы, проблемы зрительного восприятия и другие, связанные с искусственным интеллектом.
Методология логического программирования.
Программа содержит описание проблемы в терминах фактов и логических формул, а решение проблемы система выполняет с помощью методов логического вывода. Методология основана на методах единообразного применения механизма логического доказательства ко всей программе, методе унификации, методе резолюции. Логическое программирование допускает естественную параллельную реализацию (распараллеливание задач).
Языки: Prolog, Леаф (leaf), Mercury.
Методология программирования в ограничениях.
Это подход, основанный на методе описательной модели вычислений, в котором в программе определяется тип данных решения, предметная область решения и ограничения на значения искомого решения. Оно находится системой самостоятельно.
Семантически исполнение программы рассматривается как нахождение значений переменных, при этом порядок удовлетворения отдельных ограничений не имеет значения.
Пример: поиск методом отсеивания.
Языки: IDEAL, OPL, УТОПИСТ (универсальные текстовые описания терминов).