- •Лекции по курсу «Технология программирования». Два подхода к разработке программных средств
- •Основные задачи, решаемые при разработке пс
- •Основные понятия и определения, используемые при разработке сложных кп
- •Особенности кп срмв.
- •Основные требования к кп срмв
- •Жизненный цикл сложных кп
- •Каскадная модель жизненного цикла
- •Итеративная модель (Спиральная модель) разработки по
- •Документация на сложные кп
- •Примеры итеративных процессов разработки
- •Виды программ и программных документов
- •Пояснительная записка
- •Техническое задание
- •Стадии разработки
- •Общие требования к программным документам
- •Спецификация
- •Формуляр
- •Текст программы
- •Описание программы
- •Программа и методика испытаний
- •Руководство системного программиста
- •Руководство оператора
- •Типовая структура программы и программного модуля
- •Понятие резидентных и кросс–систем автоматизации
- •Проблемы стандартизации при разработки пс
- •Принципы разработки больших кп
- •Принципы организации коллективов разработчиков кп
- •Тестирование и отладка по
- •Принципы тестирования.
- •Критерии тестирования Критерии «Черного ящика»:
- •Критерии «Белого ящика»:
- •Виды тестирования
- •Основные способы получения эталонов
- •Типичные ошибки при проектировании кп
- •Технологические ошибки
- •Программные ошибки
- •Алгоритмические ошибки
- •Системные ошибки
- •Динамика изменения количества сложныхошибок кп при отладке
- •Определение рациональной длительности отладки
- •Основные принципы отладки
- •Методы отладки
- •Принципы отладки
- •Принципы комплексной отладки и испытаний кп
- •Комплексная отладка
Основные задачи, решаемые при разработке пс
Для разработки современных ПС при использовании высокоэффективных технологий и их разработки необходимо организовать и скоординировать сам процесс разработки.
При этом необходимо изучить принципы и условия создания ПС.
Для этого необходимо решение методологическихзадач:
Определить процесс и этапы разработки ПС;
Определить количество и качество разрабатываемого программного продукта;
Разработать методы оценки длительности разработки ПС и трудозатрат;
Оценить факторы, определяющие производительность труда коллектива разработчиков;
Изучить варианты организации коллектива разработчиков и выбрать наиболее подходящий.
Для создания унифицированных методов с целью построения сложных ПС и эффективного использования ресурсов необходимо решение структурныхзадач:
Определить структуры построения ПС или комплекса программ (КП) как сложной системы;
Определить структуры переменных и возможных структур БД;
Разработать метод распределения ресурсов ВС для построения конкретного КП;
Разработать структуры КП, надежно функционирующие при наличии ошибок ПС и в аппаратуре.
Для реализации сложных КП конкретным коллективом разработчиков необходимо решение технологических задач:
Создание четкой технологической системы разработки (этапы, объемы выполняемых работ, ответственные лица, методы контроля и т.д.);
Охват технологической системой всего жизненного цикла при разработке КП;
Выбор или создание методов и средств автоматизации разработки сложных КП;
Стандартизация процессов и средств разработки КП.
Для того, чтобы вести разработку, имея решенными предыдущие задачи, необходимо решить задачу обеспечения разработчиков аппаратными ПС:
Создание структур ВС как для разработчика, так и для конечного пользователя (мощность ВС разработчика, как правило, многократно превышает мощность ВС пользователя);
Выбор технологических средств разработки (средств автоматизации, компиляции, отладчиков).
Основные понятия и определения, используемые при разработке сложных кп
Система – это комплекс средств, элементов и частей, образующих единое целое и предназначенных для достижения определенных целей.
Мы будем рассматривать сложные системные программы( или КП), предназначенные для решения задач обработки информации в “административных” и управленческих задач или же решение задач реального масштаба времени.
Характерные черты сложных систем:
Единая цель функционирования, т.е. решение особого набора функциональных задач, выполняющих единую цель;
Большое количество взаимосвязанных компонентов (элементов, частей) при функционировании систем (для КП - операторы, программные модули, подсистемы, данные, массивы данных и т.д.);
Наличие иерархической структуры, т.е. подчинение одних компонент другим. Подчиненность касается как программного кода, так и данных;
Возможность декомпозиции компонент на более мелкие компоненты, которые в свою очередь могут быть сложными системами;
Сложное поведение сложных систем с большим количеством обратных связей между компонентами, т.е. поведение системы зависит не только от внешних воздействий, но и от ее внутреннего состояния;
Устойчивость к возмущениям, вызванным как внутренними, так и внешними причинами (для сложных КП - изменения характеристик входных потоков, изменения условий функционирования состава и характеристик компонентов.);
Надежность функционирования системы в целом, как программных, так и аппаратных ее частей;
Наличие целей системы и критериев качества, которые определяют достоинства системы, в частности сложных КП.
Функционирование сложных систем определяется алгоритмом их работы.
Алгоритм–это совокупность формальных правил, действуя согласно которым можно получить необходимое решение соответствующихзадач за конкретное время.
Программа–алгоритм, заданный на некотором языке, доступном ВС, которая может выполнить эту программу.
