Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПП пособие Шишов.doc
Скачиваний:
131
Добавлен:
17.11.2018
Размер:
3.25 Mб
Скачать

4.5 Приемы надежного программирования

Надежность ПО основывается на двух его основных свойствах: это правильность и устойчивость (предполагает, что ПО не создает аварийных ситуаций определенного вида при отказах оборудования системы). Программа любой сложности и назначения при строго фиксированных исходных данных и абсолютно надежной аппаратуры исполняется по однозначно определенному маршруту и дает на выходе строго определенные результаты, при изменении данных – получается много других маршрутов. Такое количество вариантов исполнения ПП невозможно проверить при отладке и тестировании, что является уже само собой ненадежностью.

Понятие правильной и корректной программы можно рассматривать во временном функционировании ПС. Восстановления функционирования ПК (при сбоях работы) позволяют улучшить показатели надежности, для решения этой проблемы необходимо выполнять следующие работы:

  1. систематический контроль и обнаружение аномалий процесса функционирования или состояния программы и данных.

  2. диагностировать обнаруженные искажения.

  3. выбирать методы и средства оперативного восстановления.

  4. реализовывать оперативное восстановление работоспособности.

  5. регистрировать каждый произошедший сбой.

Реализация осуществляется за счет введения избыточности в программе, т.е. помимо выполнения основного процесса ПС должны выполнять программно все вышеуказанные пункты. Существуют такие факторы снижающие надежность, как вызывающие сбои или отказ при исполнении программы (искаженная информация); самоустраняющиеся отказы или сбои в аппаратуре ЭВМ; не выявленные ошибки в ПС, шумы и сбои в каналах связи при передачи сообщений по линиям связи; потери или искажения сообщений в ограниченных буферах компьютера; ошибки в документах, используемых для подготовки данных вводимых в ПК.

В процессе проектирования недостаточно формировать правильные программы, выдающие верные результаты, поэтому в ПК закладывается избыточность для обеспечения надежности функционирования.

Виды избыточности:

  1. временная – использование некоторой части производительности ПК для контроля исполнения программы и восстановления вычислительного процесса.

  2. информационная – дублирование данных, обрабатываемых ПК.

  3. программная – контроль и обеспечение достоверности наиболее важных результатов обработки информации (контрольная сумма).

5. ОБЕСПЕЧЕНИЕ ТОЧНОСТИ ПРОГРАММНОГО СРЕДСТВА

Погрешность вычисленного значения (полная погрешность) зависит

  • от погрешности используемого метода вычисления (в которую мы включаем и неточность используемой модели),

  • от погрешности представления используемых данных (от т. н. неустранимой погрешности),

  • от погрешности округления (неточности выполнения используемых в методе операций).

6. ОБЩАЯ ТЕХНОЛОГИЯ ПРОЕКТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

6.1. Определение технологии программирования.

Требования к технологии

Методология создания ПО реализуется через конкретные технологии и поддерживающие их стандарты, методики и инструментальные средства.

Технология проектирования определяется как совокупность трех составляющих:

  • пошаговой процедуры, определяющей последовательность технологических операций проектирования (рис. 5);

  • критериев и правил, используемых для оценки результатов выполнения технологических операций;

  • нотаций (графических и текстовых средств), используемых для описания проектируемой системы.

Р и с. 5. Представление технологической операции проектирования

Технологические инструкции, составляющие основное содержание технологии, должны состоять из описания последовательности технологических операций, условий, в зависимости от которых выполняется та или иная операция, и описаний самих операций.

Технология проектирования, разработки и сопровождения ПО должна:

  • поддерживать полный ЖЦ ПО;

  • гарантировать достижение целей разработки ИС с заданным качеством и в установленное время;

  • обеспечивать выполнение крупных проектов в виде подсистем. Опыт разработки программ для сложных МПС показывает, что для повышения эффективности работ необходимо разбить проект на отдельные, слабо связанные по данным и функциям подсистемы. Реализация подсистем должна выполняться отдельными группами специалистов. При этом необходимо обеспечить координацию ведения общего проекта и исключить дублирование результатов работ каждой проектной группы, которое может возникнуть в силу наличия общих данных и функций;

  • обеспечивать возможность ведения работ по проектированию отдельных подсистем небольшими группами (3–7 человек). Это обусловлено принципами управляемости коллектива и повышения производительности за счет минимизации числа внешних связей;

  • обеспечивать минимальное время получения работоспособного ПО. Коротких сроков его разработки в целом можно добиться, привлекая большое число специалистов. Однако гораздо большего эффекта по сокращению времени можно достичь при работе нескольких малочисленных групп над небольшими подсистемами общей задачи. Необходимо учитывать, что минимизировать время внедрения ПО можно и тогда, когда оно осуществляется последовательно по отдельным подсистемам;

  • предусматривать возможность управления конфигурацией проекта, ведения его версий и составляющих, возможность автоматического выпуска проектной документации и синхронизацию ее версий с версиями проекта.