Файл: Контрольная работа по дисциплине Методы диагностики и расчеты надежности технических систем на тему Повышение надежности сертифицированного по..pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.05.2024

Просмотров: 11

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

К Г Э У
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ЭНЕРГЕТИЧЕСКИЙ УНИВЕРСИТЕТ»
(ФГБОУ ВО «КГЭУ»)
Контрольная работа по дисциплине «Методы диагностики и расчеты надежности технических систем» на тему «Повышение надежности сертифицированного ПО.»
Выполнил: Даминов А.С.
Группа: ЗАТ-1-19
Номер зачетной книжки:
11804210
Преподаватель: Борисова О.В.
Казань, 2023 г.

2
Содержание
Введение
3 1. Обоснование проблемы
5 2. Вероятностный подход к проблеме надежности
6 3. Компьютерная программа как объект исследования
7 4. Надежность и правильность программы
8 5. Методы повышения надёжности программного обеспечения
10
Заключение
13
Список использованных источников
14

3
Введение
Программное обеспечение - согласно ГОСТ 19781-90 - совокупность программ системы обработки информации и программных документов, необходимых для их эксплуатации.
Существует и другое, более простое определение, согласно которому программное обеспечение представляет собой совокупность компьютерных инструкций. Оно охватывает программы, подпрограммы
(разделы программы) и данные. Таким образом, программное обеспечение указывает компьютеру, что делать, как, когда, в какой последовательности и как часто. Нередко программное обеспечение называют просто программой.
Компьютерные программы состоят из перечней команд, которые заставляют компьютер выполнять нужную работу. Компьютер должен получать исчерпывающие конкретные команды. Часто компьютерные программы имеют вид стенограммы.
Надежность программного обеспечения
- способность программного продукта безотказно выполнять определенные функции при заданных условиях в течение заданного периода времени с достаточно большой вероятностью. Степень надежности характеризуется вероятностью работы программного продукта без отказа в течение определенного периода времени.
Так как со стороны клиента наблюдается устойчивый рост требований к таким характеристикам программных систем, как надежность и производительность, роль фазы системного тестирования приобретает критически важную роль для успеха проекта в целом. Хотя перед поставкой разработанной системы клиенту, она и проходит через несколько этапов тестирования согласно требованиям международной системы управления качеством всё равно недочёты в надёжности программного обеспечения возможны. Надежность программного


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

5
Обоснование проблемы
Проблема надежности программного обеспечения относится, похоже, к категории "вечных". В посвященной ей монографии Г.Майерса, выпущенной в 1980 году (американское издание - в 1976), отмечается, что, хотя этот вопрос рассматривался еще на заре применения вычислительных машин, в 1952 году, он не потерял актуальности до настоящего времени. Отношение к проблеме довольно выразительно сформулировано в книге Р.Гласса: "Надежность программного обеспечения - беспризорное дитя вычислительной техники". Следует далее отметить, что сама проблема надежности программного обеспечения имеет, по крайней мере, два аспекта: обеспечение и оценка
(измерение) надежности. Практически вся имеющаяся литература на эту тему, включая упомянутые выше монографии, посвящена первому аспекту, а вопрос оценки надежности компьютерных программ оказывается еще более "беспризорным". Вместе с тем очевидно, что надежность программы гораздо важнее таких традиционных ее характеристик, как время исполнения или требуемый объем оперативной памяти, однако никакой общепринятой количественной меры надежности программ до сих пор не существует.
Для обеспечения надежности программ предложено множество подходов, включая организационные методы разработки, различные технологии и технологические программные средства, что требует, очевидно, привлечения значительных ресурсов. Однако отсутствие общепризнанных критериев надежности не позволяет ответить на вопрос, насколько надежнее становится программное обеспечение при соблюдении предлагаемых процедур и технологий и в какой степени оправданы затраты. Таким образом, приоритет задачи оценки надежности должен быть выше приоритета задачи ее обеспечения, чего на самом деле не наблюдается.

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


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

8
Надежность и правильность программы
Программа считается правильной, если она не содержит ошибок.
Такая программа не дает неверных результатов, т.е. она абсолютно надежна. Этот факт породил ложное представление о том, что число ошибок в программе можно считать наиболее естественной мерой надежности. Было выполнено довольно много работ, в которых предлагались различные методы оценки числа оставшихся в программе ошибок по результатам ее тестирования, в том числе метод "засорения" известными ошибками, однако, как показывают приводимые ниже соображения, количество ошибок в программе не имеет никакого отношения к ее надежности:
1. Число ошибок в программе - величина "ненаблюдаемая", наблюдаются не сами ошибки, а результат их проявления.
2. Неверное срабатывание программы может быть следствием не одной, а сразу нескольких ошибок.
3. Ошибки могут компенсировать друг друга, так что после исправления какой-то одной ошибки программа может начать "работать хуже".
4. Надежность характеризует частоту проявления ошибок, но не их количество; в то же время хорошо известно, что ошибки проявляются с разной частотой: некоторые ошибки остаются невыявленными после многих месяцев и даже лет эксплуатации, но, с другой стороны, нетрудно привести примеры, когда одна единственная ошибка приводит к неверному срабатыванию программы при любых исходных данных, т.е. к нулевой надежности.
Следует также отметить, что если число ошибок рассматривать как меру надежности, то в терминологии теории вероятностей это число есть случайная величина, однако самый главный вопрос - на каком пространстве элементарных событий она задана - нигде не затрагивался.


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

10
Методы повышения надёжности программного обеспечения
Лучшим и самым оптимальным способом (если не брать во внимание научно-технический прогресс и постоянное развитие IT- технологий, которые способствуют повышению качества характеристик программ) повышения надёжности программного обеспечения является строжайший контроль продукции на выходе с предприятия.
В последние годы сформировалась комплексная система управления качеством продукции TQM (Totaly Quality Management), которая концептуально близка к предшествующей более общей системе на основе стандартов ИСО серии 9000. Система ориентирована на удовлетворение требований потребителя, на постоянное улучшение процессов производства или проектирования, на управление процессами со стороны руководства предприятия на основе фактического состояния проекта. Основные достижения TQM состоят в углублении и дифференциации требований потребителей по реализации процессов, их взаимодействию и обеспечению качества продукции. Системный подход поддержан рядом специализированных инструментальных средств, ориентированных на управление производством продукции. Поэтому эта система пока не находит применения в области обеспечения качества жизненного цикла программных средств.
Применение этого комплекса может служить основой для систем обеспечения качества программных средств, однако требуется корректировка, адаптация или исключение некоторых положений стандартов применительно к принципиальным особенностям технологий и характеристик этого вида продукции. Кроме того, при реализации систем качества необходимо привлечение ряда стандартов, формально не относящихся к этой серии и регламентирующих показатели качества, жизненный цикл, верификацию и тестирование, испытания, документирование и другие особенности комплексов программ.

11
Активные методы повышения надежности ПС совершенствуются за счет развития средств автоматизации тестирования программ. Сложность
ПС и высокие требования по их надежности требуют выработки принципов структурного построения сложных программных средств, обеспечивающих гибкость модификации ПС и эффективность их отладки. К таким принципам в работе относят:
-модульность и строгую иерархию в структурном построении программ;
-унификацию правил проектирования, структурного построения и взаимодействия компонент ПС;
-унификацию правил организации межмодульного интерфейса;
-поэтапный контроль полноты и качества решения функциональных задач.
Так как в программах нет необходимости “ремонта” компонент с участием человека то можно добиваться высокой автоматизации программного восстановления
Главной задачей становится восстановление за время не превышающее порогового значения между сбоем и отказом Автоматизируя процесс и сокращая время восстановления можно преобразовать отказы в сбои и тем самым улучшить показатели надежности функционирования системы
Для повышения надежности функционирования программ и защиту вычислительного процесса и информации используются программная информационная и временная избыточность Основная задача ввода избыточности состоит в исключении возможности аварийных последствий от возмущений соответствующих отказу системы Любые аномалии при исполнении программ необходимо сводить до уровня сбоя путем быстрого восстановления
Временная избыточность состоит в использовании некоторой части производительности ЭВМ для контроля исполнения программ и восстановления вычислительного процесса Величина временной


12 избыточности зависит от требований к надежности функционирования системы и находится в пределах от 5-10% производительности однопроцессорной ЭВМ до трех-четырех кратного дублирования производительности машины Временная избыточность используется на обнаружение искажений их диагностику и на реализацию операций восстановления На это требуется в общем случае небольшой интервал времени который выделяется либо за счет резерва либо за счет сокращения времени решения функциональных задач
Информационная избыточность состоит в дублировании накопленных исходных и промежуточных данных обрабатываемых комплексом программ Избыточность используется для сохранения достоверности данных которые в наибольшей степени влияют на нормальное функционирование программ или требуют значительного времени восстановления Для менее важных данных информационная избыточность используется в виде помехозащитных кодов позволяющих только обнаружить искажение
Программная избыточность используется для контроля и обеспечения достоверности наиболее важных решений по управлению и обработке информации Она заключается в применении нескольких вариантов программ различающихся методами решения задачи или программной реализацией одного и того же метода Программная избыточность необходима также для реализации программ контроля и восстановления данных с использованием информационной избыточности и для функционирования всех средств защит использующих временную избыточность

13
Заключение
Несмотря на очевидную актуальность, вопрос надежности программного обеспечения не привлекает должного внимания. Вместе с тем, даже поверхностный анализ проблемы с теоретико-вероятностной точки зрения позволяет выявить некоторые закономерности.
В заключение можно подвести итог:
· Надежность программного обеспечения - есть вероятность его работы без отказов в течении определенного периода времени, рассчитанного с учетом стоимости для пользователя каждого отказа.
· Надежность программного обеспечения является не только внутренним свойством программы;
· Надежность программного обеспечения - это функция как самого
ПО, так и ожиданий (действий) его пользователей.
Основными причинами ошибок программного обеспечения являются:
· Большая сложность ПО, например, по сравнению с аппаратурой
ЭВМ;
· Неправильный перевод информации из одного представления в другое.

14
Список использованных источников
[1] Г. Майерс. Надежность программного обеспечения. Москва,
Мир, 1980 год.
[2] Р. Гласс. Руководоство по надежному программированию.
Москва, «Финансы и статистика», 1982 год.
[3] В. Турский. Методология программирования. Москва, Мир,
1981 год.
[4] В. Феллер. Введение в теорию вероятностей и ее приложения.
Т.1. Москва; изд.: «Мир». 1967 год.