Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Орталық басқару процессорының бағдарламасын сенімділікке арттыруын қамтамасыз ету





Проблема надежности программного обеспечения приобретает все большее значение в связи с постоянным усложнением разрабатываемых систем, расширением круга задач, возлагаемых на них, а следовательно, и значительным увеличением объемов и сложности программного обеспечения.

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

Надежность программного обеспечения обуславливается наличием в программах разного рода ошибок, внесенных в нее, как правило, при разработке или в процессе эксплуатации.

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

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

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

Вследствие изложенного факта проявление ошибки в программном обеспечении, является случайным событием, хотя сама ошибка не является случайной.

Факторами, определяющими надежность программного обеспечения являются:

- подготовка инженерного персонала по технологии использования цифровой техники;

- контроль выдачи и изменения программ;

-постоянная связь разработчика и заказчика программного обеспечения;

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

- внедрение стандартов, регламентирующих работы по программному обеспечению систем.

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

Повышению качества разработки сложных программ способствуют прогрессивные приемы структурного программирования и принцип модульности программного обеспечения.

В основу структурного программирования должны быть положены следующие правила:

- программа должна составляться мелкими шагами;

- сложная задача должна разбиваться на простые составляющие с одним входом и выходом;

- логика программы должна содержать минимум простых базовых структур.

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

Рекомендуется объем модулей 100 -500 команд. Запрет на применение потенциально ненадежных программных конструкций, возможность оперативного автономного контроля результатов функционирования модуля обеспечивают высокую вероятность исключения ошибок на самых ранних этапах разработки программного обеспечения.

Для создания надежного программного обеспечения используют также принцип структурирования массивов данных, что позволяет снизить вероятность появления ошибок из-за неправильного использования.

Исходя из задач и применяемых методов для выявления ошибок процесс отладки программного обеспечения можно разделить на следующие этапы:

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

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

- детерминированное тестирование предусматривает задание конкретных исходных данных и маршрутов исполнения программы;

- проверка всех маршрутов при всех значениях исходных данных может быть реализована только для очень простых программ и при малых диапазонах изменения исходных данных.

Диапазон варьирования исходных данных и степень охвата возможных маршрутов определяют эффективность обнаружения ошибок данным методом.

Восходящее тестирование начинается с автономного тестирования программных модулей самого нижнего уровня, а нисходящее тестирование с автономного тестирования головной программы.


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

Существует несколько экспериментально-аналитических методов прогнозирования надежности ПО по результатам испытаний, основанных на тех или иных допущениях. К числу более простых относится модель Шумана. Эта модель исходит из следующих предпосылок:

число команд N в программе постоянно;

при начальном числе ошибок Ro в ходе испытаний длительностью Т их число снижается, R(t)< Ro новые ошибки в ходе исправлений не вносятся;

относительное число исправленных в ходе испытаний ошибок rи(T) = Rи(T) /N и их изменение во времени характеризуют оставшееся число ошибок r(T) = [R0 – Rи(t)] /N и интенсивность их возникновения:

 

l[T]=ks r[T],

 

где ks – коэффициент пропорциональности.

В ходе эксплуатации программ:

и будет не ниже , поскольку r(t)<r(0)=r(T).

Коэффициент ks и r(T) рассчитывают по результатам двух интервалов испытаний. В частности, начальная наработка на отказ ПО при испытаниях T0= 1/l(T0) = N/ (ks R0), откуда R0 ks=N/ T0. Зная число отказов, предшествующих второй наработке, находим:

, получаем

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

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

Модели надежности программного обеспечения

 

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

Существует несколько экспериментально-аналитических методов прогнозирования надежности ПО по результатам испытаний, основанных на тех или иных допущениях. К числу более простых относится модель Шумана. Эта модель исходит из следующих предпосылок:


число команд N в программе постоянно;

при начальном числе ошибок Ro в ходе испытаний длительностью Т их число снижается, R(t)< Ro новые ошибки в ходе исправлений не вносятся;

относительное число исправленных в ходе испытаний ошибок rи(T) = Rи(T) /N и их изменение во времени характеризуют оставшееся число ошибок r(T) = [R0 – Rи(t)] /N и интенсивность их возникновения:

 

l[T]=ks r[T],

 

где ks – коэффициент пропорциональности.

В ходе эксплуатации программ:

и будет не ниже , поскольку r(t)<r(0)=r(T).

Коэффициент ks и r(T) рассчитывают по результатам двух интервалов испытаний. В частности, начальная наработка на отказ ПО при испытаниях T0= 1/l(T0) = N/ (ks R0), откуда R0 ks=N/ T0. Зная число отказов, предшествующих второй наработке, находим:

, получаем

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

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







Date: 2016-05-24; view: 704; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.01 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию