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


Полезное:

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


Категории:

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






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





Одними из самых серьезных проблем программного обеспечения является его дороговизна и низкая надежность. Многие специалисты считают первый из этих недостатков продолжением второго. Поскольку программное обеспечение по самой своей природе ненадежно, его тестирование и сопровождение требует постоянных существенных расходов. Дадим определение основных понятий надежности ПО в соответствии с классической работой Майерса Г. [85]. В программном обеспечении имеется ошибка, если оно не выполняет того, что пользователю разумно от него ожидать. Отказ программного обеспечения – это появление в нем ошибки. Надежность программного обеспечения – есть вероятность его работы без отказов в течение определенного периода времени, рассчитанного с учетом стоимости для пользователя каждого отказа. Из данных определений можно сделать важные выводы:

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

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

Основными причинами ошибок программного обеспечения являются:

· большая сложность ПО, например, по сравнению с аппаратурой ЭВМ;

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

Источниками ошибок (угрозами надежности) программного обеспечения являются:

· внутренние: ошибки проектирования, ошибки алгоритмизации, ошибки программирования, недостаточное качество средств защиты, ошибки в документации;

· внешние: ошибки пользователей, сбои и отказы аппаратуры ЭВМ, искажение информации в каналах связи, изменения конфигурации системы.

На основании анализа работ Майерса Г., Липаева В.В., Калбертсона Р., Брауна К., Бейзера Б. и других авторов [85, 73-75, 80, 41, 11, 1, 7, 153], посвященных вопросам обеспечения качества и надежности при разработке программных систем, проведена классификация методов проектирования надежного программного обеспечения [110, 119, 120], представленная на рис. 2.11. Эти методы в соответствии с их целями можно разбить на следующие группы:

· предупреждение ошибок, методы позволяющие минимизировать или исключить появление ошибки;

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

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

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

· методы, позволяющие справиться со сложностью системы;

· методы достижения большей точности при переводе информации;

· методы улучшения обмена информацией;

· методы немедленного обнаружения и устранения ошибок на каждом шаге (этапе) проектирования, не откладывая их на этап тестирования программы.

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

· Иерархическая структура. Иерархия позволяет разбить систему по уровням понимания (абстракции, управления). Концепция уровней позволяет анализировать систему, скрывая несущественные для данного уровня детали реализации других уровней. Иерархия позволяет понимать, проектировать и описывать сложные системы.

· Независимость. В соответствии с этой концепцией, для минимизации сложности, необходимо максимально усилить независимость элементов системы. Это означает такую декомпозицию системы, чтобы её высокочастотная динамика была заключена в отдельных компонентах, а межкомпонентные взаимодействия (связи) описывали только низкочастотную динамику системы.

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

· Временная избыточность. Использование части производительности ЭВМ для контроля исполнения и восстановления работоспособности ПО после сбоя.

· Информационная избыточность. Дублирование части данных информационной системы для обеспечения надёжности и контроля достоверности данных.

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

Методы обеспечения устойчивости к ошибкам направлены на минимизацию ущерба, вызванного появлением ошибок, и включают в себя:

· Методы динамической избыточности обеспечивают динамическое изменение конфигурации и повторное выполнения операций.

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

· Методы изоляции ошибок обеспечивают: контроль действий пользователей; обработку сбоев аппаратуры; анализ корректности данных; копирование и восстановление данных.

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

 

Date: 2015-11-14; view: 3077; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



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