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