Основные понятия теории надежности комплексов программ

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

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

ü надежность компонентов

ü дефекты в конструкции

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

Основные понятия качества информационной системы

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

При применении понятий надежности к ПС следует учитывать особенности и отличия этих объектов от традиционных технических систем, для которых первоначально разрабатывалась теория надежности:

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

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

ДМ и ОК — 2.3.2 Основные положения и зависимости надежности. Показатели надежности.

К задачам теории и анализа надежности, сложных ПС можно отнести следующие:

Ø формулировка основных понятий, используемых при исследовании и применении показателей надежности ПС

Ø выявление и исследование основных факторов, определяющих характеристики надежности сложных ПС

Ø выбор и обоснование критериев надежности для комплексов программ разного типа и назначения

Ø исследование дефектов и ошибок, динамики их изменения при отладке и сопровождении

Ø исследование и разработка методов структурного построения сложных ПС

Ø разработка методов и средств определения и прогнозирования характеристик надежности в ЖЦ комплексов программ.

Также в основе теории надежности лежат понятия о двух возможных состояниях объекта или системы: работоспособном и неработоспособном. Работоспособным называется состояние объекта, при котором он способен выполнять заданные функции с параметрами, установленными технической документацией. Определение работоспособности системы предполагает наличие в ней средств, способных установить соответствие ее характеристик требованиям технической документации. Для этого должны использоваться

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

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:

Источник: studopedia.ru

Тема 3.2. Занятие № 17.

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

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

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

Читайте также:
Как найти человека по имени и фамилии программа

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

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

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

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

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

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

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

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

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

Источник: studfile.net

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

К числу основных факторов, влияющих на надежность ПО отнесены:

 взаимодействие ПО с внешней средой (программно-аппаратная

средства, трансляторы, ОС). Этот фактор вносит наименьший вклад в

надежность ПО при современном уровне надежности аппаратуры, ОС и

компиляторов;

 взаимодействие с человеком (разработчиком и пользователем) (см.

например метрику Холстеда);

 организация ПО ( проектирование, постановка задачи и способы их

достижения и реализации) и качество его разработки. Этот фактор вносит

наибольший вклад в надежность;

 тестирование.

1.3. Ошибки ПО

В борьбе со сложностью ПО используются две концепции :

Иерархическая структура . Иерархия позволяет разбить систему по

уровням понимания (абстракции, управления). Концепция уровней позволяет

анализировать систему, скрывая несущественные для данного уровня детали

реализации других уровней. Иерархия позволяет понимать, проектировать и

описывать сложные системы.

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

сложности, необходимо максимально усилит ь независимость элементов

системы. Это оз начает такую декомпозици ю системы, чтобы её

высокочастотная динамика была заключена в отдельных компонентах, а

межкомпонентные взаимодействия (связи) описывали только

низкочастотную динамику системы.

Методы обнаружения ошибок , которые базируются на введении в ПО

системы различных видов избыточности:

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

ЭВМ для контроля исполнения и восстановления работоспособности ПО

после сбоя.

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

информационной системы для обеспечения надёжности и контроля

достоверности данных.

Программная избыточность включает в себя: взаимное недоверие —

компоненты системы проектируются, исходя из предположения, что другие

компоненты и исходные данные содержат ошибки, и должны пытаться их

обнаружить; немедленное обнаружение и регистрацию ошибок; выполнение

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

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

других видов избыточности.

Задача обеспечения ПО устойчивости к ошибкам направлены на

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

и включают в себя:

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

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

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

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

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

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

Дается 4 группы принципов обеспечения надежности:

 предупреждение ошибок;

 обнаружение ошибок;

 исправление ошибок;

 обеспечение устойчивости к ошибкам.

Действия, направленные на минимизацию ошибок и сбоев:

 предотвращение ошибок за счет структурного программирования;

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

программных средств и объектов в объектно-ориентированном

программировании;

 устойчивость к сбоям;

 обработка исключительных ситуаций (перехват ошибок, например,

деление на ноль) и локализация ошибок и сбоев;

 восстановление программы после сбоя

В соответствии с ГОСТ 19.004-80 различают следующие виды работ,

направленные на устранение ошибок в ПО : проверка, отладка и испытание

Чем интенсивнее использ ование программного изделия (ПИ), тем быстрее

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

обнаруженных ошибок от числа использующих ПИ пользователей:

чи сл о о бна р уж ен ны х ош и бо к

где K – число пользователей, K

Рис. 1 Интенсивность обнаружения ошибок от интенсивности использования

Процентные частоты появления ошибок в ПО по типам ошибок

представлены в таблице 1.

Таблица 1 – Процентные частоты появления ошибок в ПО

ТИП ОШИБКИ

Не полная или ошибочная спецификация 28

Отклонение от спецификации 12

Пренебрежение правилами программирования 10

Ошибочная выборка данных 10

Ошибочная логика или последовательность операций 12

Ошибочные арифметические операции 9

Нехватка времени для решения 4

Ошибка обработки прерываний 4

Ошибка в исходных данных 3

Неточная запись 8

Как видно из таблицы 1 основное количество ошибок делается из-за

неверной спецификации или ТЗ. Эти ошибки, в свою очередь, могут быть

разделены на следующие категории:

Таблица 2 – Категории ошибок в ПО

ПРИЧИНА ОШИБКИ

Ошибки в числовых значениях 12

Недостаточные требования к точности 4

Ошибочные символы или знаки 2

Ошибки оформления 15

Неправильное описание или требование к аппаратуре 2

Исходные данные для разработки неполные, неточные

или ошибочные

Двусмысленность требований 13

Из этих таблиц, кстати, следует, на что нужно обращать особое внимание

при проведении валидации и верификации ПО (верификация отвечает на

вопрос, правильно ли и качественно ли создана программа, а валидация (или

Читайте также:
Прекращена работа программы майкрософт ворд что делать

аттестация) — на вопрос правильно ли работает программа).

1.4. Средства и способы повышения надёжности ПО

На основании м етодов обнаружения ошибок были разработаны

следующие средства повышения надёжности ПО.

Средства, использующие врем енную избыточность : авторизация

доступа пользователей к систем е, анализ доступных пользователю ресурсов,

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

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

управления, записям и полям баз данных.

Средства обеспечения надёжности, использующие

информационную избыточность : ссылочная целостность баз данных

обеспечивается за счёт системы внутренних уникальных ключей для всех

информационных записей системы, открытая система кодирования,

позволяющая пользователю в любой момент изменять коды любых объектов

классификации, обеспечивает стыковку системы классификации АИС

делопроизводство с ПО других разработчиков, м еханизмы проверки

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

несанкционированных модификаций (ошибок, сбоев) информации.

Способы обеспечения и повышения надежности ПО:

 усовершенствование технологии программирования (например,

формальное описание этапов программирования при помощи языка UML);

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

вычислительного процесса (использование алгоритмической избыточности);

 резервирование программ — N -версионное программирование;

 верификация и валидация программ с последующей коррекцией.

1.5. Проблемы исследования надежности ПО

К основным проблемам исследований надежности ПО относятся:

 прежде всего — разработка методов оценки и прогнозирования

надежности ПО;

 определение основных факторов, влияющих на надежность ПО;

 разработка методов, обеспечивающих достижение заданного уровня

надежности ПО;

 совершенствование методов повышения надежности ПО в п роцессе

проектирования и эксплуатации.

1.6. Тестирование ПО

Важным этапом жизненного цикла ПО, определяющим качество и

надёжность системы, является тестирование . Тестирование — процесс

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

следующие этапы:

— автономное тестирование;

— тестирование сопряжений;

— тестирование функций;

— комплексное тестирование;

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

— тестирование конфигураций.

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

методов тестирования . Полное тестирование ПО невозможно. Обычно

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

 тестирование ветвей;

 математическое доказательство правильности алгоритма решения

задачи ( в некоторых работах именно в этом смысле употребляется слово

верификация).

 символическое тестирование (или с помощью специально подобранных

тестовых наборов), еще называется статическим тестированием. Удобно при

локализации ошибки, проявление которой выявлено при конкретном узком

или строго заданном диапазоне входных значений;

 динамическое тестирование (с помощью динамически генерируемых

входных данных), что удобно при быстром тестировании во всем широком

диапазоне входных параметров;

 тестирование путей выполнения программы;

 функциональное тестирование;

 проверки по времени выполнения программы;

 проверка по использованию ресурсов и стрессовое тестирование.

2. Классификация показателей качества ПО

 По количеству характеризуемых свойств различают единичные и

комплексные показатели. Единичные показатели качества характеризуют

одно из свойств ПС, комплексный – несколько. Комплексные показатели

могут быть групповыми, обобщенными или интегральными.

 В зависимости от места применения в процедуре оценки уровня

качества ПС различают базовые и относительные показатели. Базовым

значением показателя качества продукции называют значение показателя,

принятое за основу при сравнительной оценке качества продукции.

Относительное значение показателя качества продукции представляет

собой отношение ф актического значения показателя качества оцениваемой

продукции к базовому значению этого показателя.

 По стадии определения значений показателей качества

различают прогнозируемые, проектные, производственные и

эксплуатационные показатели . Прогнозируемыми показателями оперируют

на стадиях выполнения научно-исследовательских работ и составления ТЗ на

разработку ПС, т. е. на тех стадиях, когда нет еще ни детального проекта ПС,

ни, тем более, самого ПС. Значения прогнозируемых показателей в основном

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

эти показатели носят субъективный характер.

Значения проектных показателей определяют на основе анализа проектов

ПС ( эскизного, технического, рабочего), а также путем испытания опытного

образца ПС. Эти показатели носят более объективный характер. Степень их

достоверности зависит от эффективности используемых инструментальных

средств анализа и испытания.

Производственные показатели мало отличаются от проектных, особенно

если изготовление ПС сводится к простому копированию. Если же

копированию предшествуют операции сборки или генерации ПС, то

производственные показатели качества таких ПС могут существенно

отличаться от проектных.

Значения эксплуат ационных показателей определяют по результатам

промышленной эксплуатации ПС. При соблюдении определенных правил

сбора и обработки данных о качестве ПС в процессе эксплуатации

эксплуатационные показатели дают наиболее объективную и достоверную

оценку. Только по этим показателям можно произвести действительную

оценку научно-технического уровня и качества ПС.

Около 50 % частных показателей можно определить автоматически с

помощью ЭВМ, 25 % —с помощью ком паратора. Таким образом, оценка

около 75 % показателей м ожет быть формализована. Оценка 20 %

показателей может быть произведена только квалифицированным

специалистом. Большинство показателей устанавливают путем статического

анализа программ и лишь около 5 % — в процессе динамических испытаний

(Данные соответствуют положению в этой области в 80-е годы).

Источник: www.studmed.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru