Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Надежность ПО.docx
Скачиваний:
6
Добавлен:
23.11.2023
Размер:
5.26 Mб
Скачать

Лекции по «Надежности по»

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

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

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

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

Три составляющие надежности:

1. Математическаятеория надежности. Определяет математические закономерности, которым подчиняются отказы и методы количественного измерения надежности, а также инженерные расчеты показателей надежности.

2. Статистическая теория надежности. Обработка статистической информации о надежности. Статистические характеристики надежности и закономерности отказов.

3. Физическая теория надежности. Исследование физико-химических процессов, физических причин отказов, влияния старения и прочности материалов на надежность.

Надежность связана с эффективностью и работай объекта. Недостаточная надежность технического средства имеет следствием:

– снижение производительности из-за простоев вследствие поломок;

– снижение качества результатов использования технического средства из-за ухудшения его технических характеристик вследствие неисправностей;

– затраты на ремонты технического средства;

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

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

История развития теории надежности

I этап. Начальный этап.

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

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

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

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

II этап. Этап становления теории надежности (1950 – 1960).

В 1950 г. военно-воздушные силы США организовали первую группу для изучения проблем надежности радиоэлектронного оборудования. Группа установила, что основная причина выхода из строя радиоэлектронной аппаратуры заключалась в низкой надежности ее элементов. Стали в этом разбираться, изучать влияние различных эксплуатационных факторов на исправную работу элементов. Собрали богатый статистический материал, который и явился основой теории надежности.

III этап. Этап классической теории надежности (1960 – 1970).

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

IV этап. Этап системных методов надежности (с 1970 г. по настоящее время).

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

Эти методики разделяются на два основных направления:

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

− второе направление – эксплуатационное, которое направлено на обеспечение эксплуатационной надежности (стабилизация условий эксплуатации, совершенствование методов ТО и ремонта и т.д.).

В процессе эксплуатации объект может находиться в одном из следующих состояний:

  1. Исправное состояние – состояние объекта, при котором он соответствует всем требованиям нормативно-технической и (или) конструкторской документации.

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

2) Неисправное состояние– состояние объекта, при котором он не соответствует хотя бы одному из требований нормативно-технической и (или) конструкторской документации.

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

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

Предельное состояние– состояние, при котором дальнейшая эксплуатация объекта недопустима или нецелесообразна, либо восстановление работоспособного состояния невозможно или нецелесообразно.

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

Отказ – это событие, заключающееся в нарушении работоспособного состояния объекта.

Восстановление (ремонт) – возвращение объекту работоспособного состояния.

Критерии повреждений и отказов устанавливают в нормативно-технической и (или) конструкторской документации.

Классификация отказов:

Признак

Вид отказа

I. Значимость

1) Критический

2) Существенный

3) Несущественный

II. Зависимость

1) Зависимый

2) Независимый

III. Характер возникновения

1) Внезапный

2) Постепенный

IV. Характер обнаружения

1) Явный

2) Скрытый

V. Причина возникновения

1) Конструктивный

2) Производственный

3) Эксплуатационный

4) Деградационный

Зависимый отказ– отказ, обусловленный другими отказами.

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

Постепенный отказ– характеризуется постепенным изменением одного или нескольких заданных параметров объекта. Характерным примером постепенного отказа является нарушение работоспособности тормозов в результате износа фрикционных элементов.

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

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

В зависимости от способа устранения отказа все объекты разделяют на ремонтируемые (восстанавливаемые) и неремонтируемые (невосстанавливаемые).

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

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

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

Безотказность – свойство объекта непрерывно сохранять работоспособное состояние в течение некоторого времени или наработки.

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

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

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

Жизненный цикл ПО.

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

На стадии проектирования объекта закладываются основы его надежности. На надежность объекта влияют:

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

– запасы прочности деталей и конструкции в целом;

– удобство сборки и разборки (определяет трудоемкость последующих ремонтов);

– механическая и тепловая напряженность конструктивных элементов;

– резервирование важнейших или наименее надежных элементов и другие меры.

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

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

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

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

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

– проведения профилактических восстановительных ремонтов.

Модель анализа надежности программных средств

Последующий анализ безопасности ИС при отсутствии злоумышленных дестабилизирующих факторов базируется на модели взаимодействия основных компонент, представленных на рисунке. В качестве объектов уязвимости рассматриваются:

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

  • информация, накопленная в базах данных;

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

  • информация, выдаваемая потребителям и на исполнительные механизмы.

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

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

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

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

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

Внешними дестабилизирующими факторами, создающими угрозы безопасности функционирования перечисленных объектов уязвимости ИС являются:

  • ошибки оперативного и обслуживающего персонала в процессе эксплуатации ИС;

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

  • сбои и отказы аппаратуры;

  • изменения состава и конфигурации ИС за пределы, проверенные при испытаниях или сертификации.

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

Методы предотвращения угроз надежности:

  • предотвращение ошибок проектирования;

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

  • обязательная сертификация.

  • Методы повышения надежности:

  • временная избыточность;

  • информационная избыточность;

  • программная избыточность.

В современных автоматизированных технологиях создания сложных ПС с позиции обеспечения их необходимой и заданной надежности можно выделить методы и средства, позволяющие:

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

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

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

  • удостоверять достигнутые качество и надежность функционирования ПС в процессе их испытаний и сертификации перед передачей в регулярную эксплуатацию;

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

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

Основные методы предотвращения угроз надежности:

  • предотвращение ошибок проектирования в CАSE-технологиях;

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

  • обязательная сертификация

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

Вычислительный процесс − это процесс выполнения программы совместно с ее данными на процессоре (редактирование текста, трансляция, выполнение какой-либо программы).

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

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

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

Временная избыточность (TimeRedundancy) заключается в использовании некоторой части производительности компьютера для контроля за исполнением программ и восстановления (рестарта) вычислительного процесса (запас времени для повторного выполнения операции (например, двойного или тройного просчёта на вычислительной машине).

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

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

Уязвимость утечки личной информации - это уязвимость, при которой информация предоставляет конкретные сведения о конкретных лицах, которые, в свою очередь, помогают отличить этих конкретных лиц от остальных других лиц. Кроме того, эта уязвимость становится критической, когда информация используется для отслеживания, идентификации или установления контакта с конкретным человеком. Например, информация, используемая для точного определения личности, – это адрес, имя, номер телефона, идентификационный номер, такой как номер aadhaar или данные карты pan, пол, дата рождения, адрес электронной почты или комбинация этих данных. Конфиденциальная информация о человеке, такая как имя, пол и т. Д., Может быть передана в небезопасной форме, не причиняя никакого вреда человеку, Но конфиденциальная информация, такая как данные карты aadhaar, номер карты pan и т. Д., Должна передаваться безопасным способом, таким как шифрование данных, Чтобы предотвратить любое нежелательное раскрытиеданные или причинить вред личности. Организации используют PIIL (утечку личной информации), чтобы понять, какую информацию необходимо сохранить в безопасности, а какая информация не нуждается в дополнительной защите.

Ошибки при проектировании или постановки задачи:

  • Ошибка №1: отсутствие фиксации договорённостей со стейкхолдерами

  • Ошибка №2: бездумное формулирование целей и задач в команде

  • Ошибка №3: перекладывание ответственности

  • Ошибка №4: отсутствие инструментов для командной работы

  • Ошибка №5: отсутствие чётких приоритетов

  • Ошибка №6: отсутствие контрольных точек и оценки результата

  • Ошибка №7: неинформирование команды

  • Ошибка №8: отсутствие реакции на изменения или критичные ситуации

  • Ошибки №9 и №10: отсутствие рефлексии и подведения итогов