- •Термины и определения (5.09.2006)
- •Архитектурная платформа
- •Стековая
- •Операционная платформа
- •Структура ос
- •Языки программирования
- •Основные характеристики языков программирования
- •Классификация языков программирования
- •Инструментальные средства
- •Методологии программирования
- •Методология императивного программирования.
- •Методология функционального программирования.
- •Методология структурного императивного программирования.
- •Методология программирования, управляемого потоками данных.
- •Методология доступ-ориентированного программирования.
- •Методология нейронно-сетевого программирования.
- •Технологии программирования (3.10.2006)
- •Объектный подход.
- •Компонентный подход и развитие case-технологий.
- •Основные технологические подходы
- •Каскадные (водопадные)
- •Каскадный подход с перекрывающимися процессами.
- •Генетические технологические подходы.
- •Конкретизирующее программирование.
- •Подходы на основе формальных преобразований.
- •Подходы быстрой разработки (прототипирование).
- •Подходы исследовательского программирования.
- •Общинная разработка
- •Жизненный цикл по
- •Классические процессы жизненного цикла
- •Стадии разработки, регламентированные гост 19.102 «Стадии разработки»
- •Модели жизненного цикла
- •Классические и технологические процессы.
- •1. Возникновение и исследование идеи.
- •2. Управление идеей
- •3. Формирование требований к программному продукту.
- •4. Определение требований к пс.
- •Спецификация качества пс
- •Функциональная спецификация
- •Проектирование (разработка архитектуры пс)
- •Основные классы архитектур.
- •Методы разработки структуры программы
- •I. Метод восходящей разработки:
- •II. Метод нисходящей разработки:
- •III. Конструктивный подход
- •IV. Архитектурный подход
- •Программный инструментарий, применяемый в процессах анализа требований проектирования.
- •Тестирование и отладка.
- •Отладка.
- •Виды ошибок.
- •Методы и виды тестирования.
- •Комплексное тестирование.
- •Ручное тестирование.
- •Структурное тестирование (тестирование по маршрутам).
- •Особенности потокового графа
- •Функциональное тестирование (тестирование черного ящика).
- •Тестирование, применяемое для локализации ошибок.
- •Критерии завершения тестирования и отладки.
- •Оценочное тестирование
- •Инструментарий, применяемый для тестирования и отладки.
- •Ввод программы в действие
- •Эксплуатация и сопровождение.
- •Завершение эксплуатации
- •Разработка интерфейсов
Инструментальные средства
Системы программирования – часть базового ПО, поддерживающая процесс программирования и представляет собой единство средств статической (инструментальной) и динамической (исполнительной) поддержки.
Состав систем программирования:
Редактор;
Транслятор;
Отладчик;
Библиотеки период трансляции и период выполнения;
Средства управления компиляцией и построением проекта и др.
Классификация (производится по ряду признаков):
По ориентированию на конкретный язык программирования;
По специализированности (ориентация на предметную область);
По комплексности (поддерживает ли среда все процессы или только часть);
По ориентированности на конкретную технологию программирования;
По ориентированности на коллективную разработку;
По интегрированности (интегрирована, если взаимодействие пользователя с инструментом подчиняется единообразным правилам, а инструменты действуют по заранее заданной информационной схеме, связаны по управлению или имеют общие части).
3 вида интегрирования:
По пользовательскому интерфейсу;
По данным;
По управлению.
По ориентации на технологические процессы:
Процесс-ориентированный инструментарий;
Универсальный;
Универсальный инструментарий. Программа представляет собой текст.
Группы:
Инструменты работы с текстом (редакторы, средства поиска).
Средства, базирующиеся на регулярных выражениях.
Для поиска участков текста по некоторым конкретным шаблонам.
Средства поиска различий (для обнаружений разницы между фрагментами)
diff, GNUdiff.
Средства поиска на основе шаблона.
На входе – исходный код и запрос на языке шаблонов. На выходе – информация о том, какие строки исходного кода соответствуют спецификации шаблона.
Обозреватели БД программ.
Генерируют БД программы, куда в качестве сущностей включают имена файлов, функций, переменные и другие сущности программы с хорошо определенными отношениями между ними.
Omega, CLA
Средства обнаружения плагиата;
Базируются на метриках Холстеда или на статистических деревьях исполнения.
Текстовые редакторы;
Синтаксически-ориентированные редакторы
Учитывают синтаксис текстовых структур. Возможности: редактирование текста на уровне смысловых конструкций языка, ускорение ввода программы за счет подстановки языковых конструкций целиком, непрерывный контроль правильности (синтаксис и семантика, автоматическое форматирование текстов)
EMACS, MENTOR, ALOE
Гипертекстовые средства.
Системы документирования
Основаны на различных принципах сбора информации по исходным текстам программ.
Java Doc, Toolbook.
Системы разработки интерфейсов.
В настоящее время часто входят в CASE-средства.
СУБД
Реляционные;
Логические;
Объектные.
Системы управления базами знаний и экспертные системы.
Системы AI;
Механизмы вывода на знаниях (логический вывод; метод, реализующий обратный вывод Маркова; продукционный вывод);
Механизмы неточного вывода на знаниях (присоединенный механизм и специально ориентированный).