рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Надежность программного обеспечения.

Надежность программного обеспечения. - раздел Философия, Экономика, Организация и Управление Строительством   Одними Из Самых Серьезных Проблем Программного Обеспечения (П...

 

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

Дадим определение основных понятий надежности ПО в соответствии с классической работой Г. Майерса [1]:

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

Отказ программного обеспечения - это появление в нем ошибки.

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

Из данных определений можно сделать важные выводы:

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

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

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

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

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

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

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

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

Методы проектирования надежного программного обеспечения можно разбить на следующие группы [1]:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

обработку сбоев аппаратуры;

повторное выполнение операций;

динамическое изменение конфигурации;

сокращенное обслуживание в случае отказа отдельных функций системы;

копирование и восстановление данных;

изоляцию ошибок.

Важным этапом жизненного цикла программного обеспечения, определяющим качество и надёжность системы, является тестирование. Тестирование - процесс выполнения программ с намерением найти ошибки. Этапы тестирования:

Автономное тестирование, контроль отдельного программного модуля отдельно от других модулей системы.

Тестирование сопряжений, контроль сопряжений (связей) между частями системы (модулями, компонентами, подсистемами).

Тестирование функций, контроль выполнения системой автоматизируемых функций.

Комплексное тестирование, проверка соответствия системы требованиям пользователей.

Тестирование полноты и корректности документации, выполнение программы в строгом соответствии с инструкциями.

Тестирование конфигураций, проверка каждого конкретного варианта поставки (установки) системы.

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

Качество подготовки исходных данных для проведения тестирования серьёзно влияет на эффективность процесса в целом и включает в себя:

техническое задание;

описание системы;

руководство пользователя;

исходный текст;

правила построения (стандарты) программ и интерфейсов;

критерии качества тестирования;

эталонные значения исходных и результирующих данных;

выделенные ресурсы, определяемые доступными финансовыми средствами.

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

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

предлагаемых изменений;

найденных дефектов;

утвержденных корректировок;

реализованных изменений;

пользовательских версий.

Ссылки по разделу надежности ПО: Майерс Г. Надёжность программного обеспечения /Мир. - М., 1980. - 360 с.; Липаев В.В. Надёжность программных средств /СИНТЕГ. - М., 1998. - 232 с.

 

 


Основные понятия, виды и цели испытаний на надежность КТС

 

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

Стандартами предусмотрены следующие виды испытаний:

Определительные испытания - испытания, проводимые для определения значений характеристик объекта с заданными значениями точности и (или) достоверности.

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

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

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

Предварительные испытания - контрольные испытания опытных образцов (партий) изделий с целью определения возможности их предъявления на приемочные испытания.

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

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

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

Испытаниям могут подвергаться как натурные опытные или серийные образцы изделий и систем, так и их макеты и модели. Натурные испытания - испытания объекта в условиях, соответствующих условиям его использования по прямому назначению с непосредственным оцениванием или контролем определяемых характеристик свойств объекта. Макет для испытаний- изделие, представляющее собой упрощенное воспроизведение объекта испытаний или его части и предназначенное для испытаний. Модель для испытаний- изделие, процесс, явление, математическая модель, находящееся в определенном соответствии с объектом испытаний и (или) воздействиями на него, и способное замещать его в процессе испытаний.

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

 

– Конец работы –

Эта тема принадлежит разделу:

Экономика, Организация и Управление Строительством

Экономика Организация и Управление Строительством... Кафедра Информационные Системы и Технологии Управления...

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Надежность, эргономика и качество АСОИУ
  Москва Содержание   ВВЕДЕНИЕ.. 4 Надежность работы человека – пользователя АС.. 7 Надежность технического обеспечения. 8 Надежн

Надежность работы человека – пользователя АС
Одной из задач науки «эргономики» является изучение совместного выполнения в рамках сложной системы определенных функций человеком и вычислительной техникой совместно. Эргономика –

Надежность программного обеспечения.
Надежность программного обеспечения – это свойство программ, выполнять заданные функции в заданных условиях и на заданной конфигурации вычислительных средств (ЭВМ). Специфика програ

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

Статистическое определение вероятности

Вероятность безотказной работы и вероятность его отказа
Вероятность безотказной работы – это вероятность того, что в пределах заданной наработки отказ не возникает. Р(t) = P { ta >=t} – то есть, отказ возникает за t, но не

Частота отказов (плотность распределения)
Частота отказов – это отношение числа отказавших элементов в интервале D t к первоначальному числу элементов в единицу времени.  

Закон надежности для невосстанавливаемых систем.
p(t)

Функция средняя наработка до отказа.
Средняя наработка до отказа [36] – это математической ожидание (МО) этой наработки. n M[x] = S xi * R(x) (В данном случае не подходит) i=1  

Гамма-процентная наработка.
  Гамма-процентная наработка tg - наработка, в течение которой отказ не возникает с вероятностью g, выражается в процентах. &nbs

Номинальная и реальная интенсивность отказов.
  Ориентировочная оценка реальной интенсивности отказа определяется умножением номинальной интенсивности отказов ln на поправочные коэффициенты, учитывая воздействие окружа

Ремонтопригодность и восстанавливаемость.
  Ремонтопригодность [4] - это свойство объекта заключается в приспособленности объекта к обнаружению и предупреждению возникновения отказов, поддержание и восстановление работ

Схемы с узловыми элементами.

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

Резервирование с применением адаптивных схем с можоритарным резервированием «2 из 3».
Пассивная отказоустойчивость. /M

Модели Колмогорова.
Если процесс перехода системы из одного состояния в другое можно представить как результат воздействия простейших потоков отказов l(t) и восстановления (t) без последствия, то этот процесс

Модель восстанавливаемой системы из n-последовательно включенных элементов.
µs – и

Модель восстанавливаемой системы двух параллельно включенных элементов.
  2

Понятие финальных вероятностей и систем с доходами.
  В теории случайных процессов доказывается теорема о существовании в установившемся режиме финальных вероятностей Р*i ,   Если число сост

Задачи и методы испытаний
Основные виды испытаний на надежность — определительные и контрольные. Кроме них в ряде случаев проводятся испытания с целью прогнозирования надежности и технического состояния изделий.

Контрольные испытания
Конечным результатом контрольных испытаний на надежность является одно из двух решений: принять партию машин, считая их надежность удовлетворяющей требованиям стандартов (ТУ или технических заданий

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

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

Модель оценки надежности
Естественным показателем надежности АСУ может быть вероятность предоставления запрашиваемой пользователем выходной информации, документов определенного типа (i-тый тип). Предполагается, что програм

Показатели оценки надежности ПТС АС.
В любой случайный момент времени пользователь может направить запрос на предоставление выходного документа i-го типа в АСУ. При этом возможно три ситуации. 1. Запрос засчет ПТС в

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги