- •Термины и определения (5.09.2006)
- •Архитектурная платформа
- •Стековая
- •Операционная платформа
- •Структура ос
- •Языки программирования
- •Основные характеристики языков программирования
- •Классификация языков программирования
- •Инструментальные средства
- •Методологии программирования
- •Методология императивного программирования.
- •Методология функционального программирования.
- •Методология структурного императивного программирования.
- •Методология программирования, управляемого потоками данных.
- •Методология доступ-ориентированного программирования.
- •Методология нейронно-сетевого программирования.
- •Технологии программирования (3.10.2006)
- •Объектный подход.
- •Компонентный подход и развитие case-технологий.
- •Основные технологические подходы
- •Каскадные (водопадные)
- •Каскадный подход с перекрывающимися процессами.
- •Генетические технологические подходы.
- •Конкретизирующее программирование.
- •Подходы на основе формальных преобразований.
- •Подходы быстрой разработки (прототипирование).
- •Подходы исследовательского программирования.
- •Общинная разработка
- •Жизненный цикл по
- •Классические процессы жизненного цикла
- •Стадии разработки, регламентированные гост 19.102 «Стадии разработки»
- •Модели жизненного цикла
- •Классические и технологические процессы.
- •1. Возникновение и исследование идеи.
- •2. Управление идеей
- •3. Формирование требований к программному продукту.
- •4. Определение требований к пс.
- •Спецификация качества пс
- •Функциональная спецификация
- •Проектирование (разработка архитектуры пс)
- •Основные классы архитектур.
- •Методы разработки структуры программы
- •I. Метод восходящей разработки:
- •II. Метод нисходящей разработки:
- •III. Конструктивный подход
- •IV. Архитектурный подход
- •Программный инструментарий, применяемый в процессах анализа требований проектирования.
- •Тестирование и отладка.
- •Отладка.
- •Виды ошибок.
- •Методы и виды тестирования.
- •Комплексное тестирование.
- •Ручное тестирование.
- •Структурное тестирование (тестирование по маршрутам).
- •Особенности потокового графа
- •Функциональное тестирование (тестирование черного ящика).
- •Тестирование, применяемое для локализации ошибок.
- •Критерии завершения тестирования и отладки.
- •Оценочное тестирование
- •Инструментарий, применяемый для тестирования и отладки.
- •Ввод программы в действие
- •Эксплуатация и сопровождение.
- •Завершение эксплуатации
- •Разработка интерфейсов
Языки программирования
Язык программирования (формальное определение) – это определенный способ сопоставления объектам Ri, которые рассматриваются как некоторая первичная реальность, объектов Li, называемых именами Ri и рассматриваемых как нечто вторичное, специально созданное для сопоставления объектам Ri.
По отношению к своему имени Li объект Ri называется его значением. Совокупность всех объектов Li также называется языком.
Язык программирования – это открытое для пополнения множество текстов, записанных с помощью некоторого набора символов – алфавита языка.
Наука, изучающая языковые знаковые символы (семиотика) включает 3 группы правил:
синтаксис;
семантика;
прагматика;
Синтаксис – 1) это правила построения допустимых сообщений (образования текста); 2) это совокупность требований, которым должна удовлетворять любая осмысленная программа; набор правил синтаксиса определяет, какие последовательности символов составляют программу.
Для задания синтаксических правил наиболее часто используют аппарат форм Бэкуса-Наура.
Семантика – правила сопоставления смысла таким сообщениям.
В программировании семантика – это правила, определяющие, какие операции, и в какой последовательности должна исполнить машина, работая по произвольной программе.
Семантика языка программирования в целом задается указанием:
Используемых типов простых значений;
Способов построения составных значений;
Указание операций над простыми и составными значениями (простых действий);
Способов задания сложных действий.
Прагматика – правила, регулирующие использование сообщений (правила сопоставления текстов целям и намерениям тех, от кого они исходят).
В программировании прагматика – это описание принципов, методов и приемов, позволяющих, исходя из постановки задачи, составить программу ее решения.
Основные характеристики языков программирования
Уровень языка
Характеризуется сложностью задач, решаемых с помощью этого языка. Языки специализированных областей. Чем более точно, тем выше уровень.
Мощность языка
Характеризуется количеством и многообразием задач, алгоритм решения которых позволяет записать язык.
Концептуальная целостность.
Характеризуется свойствами совокупности понятий, служащих для описания этого языка (единообразие понятий, экономия понятий и др.)
Другими характеристиками языка программирования являются:
Надежность (обеспечение минимума ошибок);
Удобочитаемость;
Полнота (способность описать класс задач некоторой предметной области);
Гибкость и др.
Классификация языков программирования
По поколениям
Машинные (0 и 1);
Ассемблеры (компактные программы, легко переводить в машинный код);
Процедурные;
Языки поддержки сложных структур данных;
Языки искусственного интеллекта (Prolog). Позволяют делать логические выводы на знаниях.
Языки нейронных сетей (самообучающиеся).
По поддерживаемым методологиям
Языки императивного программирования;
Языки ООП;
Языки функционального программирования;
Языки логического программирования;
Языки программирования в ограничениях;
По принадлежности к семейству
Семейство универсальных языков;
Семейство уникальных языков (APL);
Семейство языков параллельного программирования;
C-семейство (версии);
Pascal-семейство;
Prolog-семейство;
По ориентации на предметную область
Языки форматирования текстов;
Языки разметки;
Языки скриптов и т.д.
По степени абстракции от машины
ЯНУ (прямой доступ к регистрам);
ЯВУ;
Языки сверхвысокого уровня;
Язык моделирования – это набор правил, определяющих построение модели, включающей их визуализацию в определенные структуры и описывающей их поведение.
Основные элементы:
Фундаментальные модели и их семантика;
Нотации;
Руководство по использованию;
Два поколения:
языки структурного системного анализа и проектирования;
объектно-ориентированные языки моделирования;
По назначения языки моделирования делятся на:
Языки описания архитектур;
Языки проектирования модулей;
Языки спецификаций;
языки моделирования данных;
Языки моделирования знаний.
К языкам моделирования относятся: диаграммы потоков данных, диаграммы функционального моделирования, диаграммы сущность-связь, КОК-карты, UML, диаграммы вариантов использования, диаграммы состояний, диаграммы последовательностей, компонентов и др.
