Методы оценки программной надежности
Ошибки, которые воздействуют на программное обеспечение и методы прогнозирования программных отказов. Анализ моделей надежности программного обеспечения и методика оценки ее надежности. Экспоненциальное распределение. Методика оценки безотказности.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 15.12.2013 |
Размер файла | 71,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1. Анализ особенностей программной надежности АСОИУ и методов прогнозирования программных отказов
1.1 Основные понятия надежности программного обеспечения
Автоматизация процессов управления является главным направлением развитие систем управления войсками, в ходе которого осуществляется разработка, создание и использование в процессах управления войсками электронно-вычислительной техники, сопряженных с ней технических средств, информационного и математического обеспечения, что позволяет значительно повысить оперативность управления, улучшить качество обработки информации и производительность систем управления. Для этих целей создаются автоматизированные системы управления войсками.
Основным элементом автоматизированной системы управления войсками является комплекс средств автоматизации КП различных уровней, которые представляют собой совокупность технических средств (передачи, обработки, отображения информации) и программного обеспечения.
Одними из самых серьезных недостатков программного обеспечения АСОИУ является дороговизна и низкая надежность. Многие специалисты считают первый из этих недостатков продолжением второго. Поскольку программное обеспечение по самой своей природе ненадежно, его тестирование и сопровождение требует постоянных существенных расходов.
Перед тем как анализировать надежность программного обеспечения уточним фундаментальные основные понятия теории надежности.
Надежность программного обеспечения - это свойство обеспечивать получение в соответствии с заданным алгоритмом правильных результатов в течении определенного интервала времени.
Отказ программного обеспечения - состояние комплекса программ связанное с нарушением работоспособности комплекса программ и прекращением дальнейшего функционирования из-за ошибок.
Под ошибкой в программном обеспечении будем понимать такое сочетание команд в программе, при исполнении которых при правильных исходных данных получают результат, не соответствующий эталонным значениям, заданные в технической документации.
Надежность программного обеспечения АСОИУ определяется его безотказностью, восстанавлиемостью и устойчивостью.
Безотказность программного обеспечения есть его свойство сохранять способность правильно выполнять задание функции и решать задачи, возложенные на вычислительные средства АСУ в процессе обработки информации на ЭВМ в течение заданного времени. При этом состояние программного обеспечения, при котором задачи по обработке информации на ЭВМ решаются правильно (корректно), называется работоспособным состоянием. В противном случае состояние носит название неработоспособным.
Переход из работоспособного состояния в неработоспособное происходит под воздействием программных отказов. Особенностью программного отказа является то, что его устранение осуществляется путем исправления программы или входных данных.
Важным свойством программного обеспечения является его восстанавлиемость, под ним понимается свойство, заключающее в приспособленности программного обеспечения к обнаружению причин возникновения программных отказов и устранению их. Восстановление после отказа в программе может заключатся в корректировке и восстановлении текста программы, исправления данных, внесении изменений в организацию вычислительного процесса (что часто оказывается необходимым при работе вычислительных средств в реальном масштабе времени).
Известно, что сбой в теории надежности определяется как самоустраняющийся отказ, не требующий вмешательства из вне для его устранения. Другим словом - сбой есть автоматически устраняющийся отказ, имеющий достаточно малое время восстановления. Поэтому применительно к надежности программного обеспечения АСУ следует конкретно указывать критерий, позволяющий отнести потерю работоспособности комплекса программ к отказу или сбою. В качестве такого критерия возьмем некоторое пороговое значение времени восстановления (?в пор).
Таким образом на устранение сбоя затрачивается меньше времени и ресурсов чем на устранение отказа. В формализованном виде определение сбоя и отказа программного обеспечения могут быть представлены как:
?в с < ?в пор <?в о (1.1)
?в с - время восстановления после сбоя.
?в о - время восстановления после отказа.
Устойчивость функционирования программного обеспечения - это способность ограничивать последствия внутренних ошибок в программах и неблагоприятных воздействий внешней среды (к которым относится неисправности аппаратуры, некорректность входных данных, ошибки оператора и другие) и противостояние им.
В проведенном анализе основных понятий надежности программного обеспечения даны определения, отказа, ошибки и надежности программного обеспечения. Выяснилось, что переход из работоспособного состояния в неработоспособное происходит под воздействием программных отказов. Из временных показателей видно, что на устранение сбоя затрачивается меньше времени и ресурсов чем на устранение отказа.
1.2 Основные причины и признаки выявления ошибок программного обеспечения
Основными причинами ошибок программного обеспечения являются:
Большая сложность программного обеспечения, например, по сравнению с аппаратурой ЭВМ.
Неправильный перевод информации из одного представления в другое на макро и микро уровнях. На макро уровне, уровне проекта, осуществляется передача и преобразование различных видов информации между организациями, подразделениями и конкретными исполнителями на всех этапах жизненного цикла ПО. На микро уровне, уровне исполнителя, производится преобразование информации по схеме: получить информацию, запомнить, выбрать из памяти, воспроизвести информацию.
Источниками ошибок программного обеспечения являются:
Внутренние: ошибки проектирования, ошибки алгоритмизации, ошибки программирования, недостаточное качество средств защиты, ошибки в документации.
Внешние: ошибки пользователей, сбои и отказы аппаратуры ЭВМ, искажение информации в каналах связи, изменения конфигурации системы.
Признаками выявления ошибок являются:
1. Преждевременное окончание программы.
2. Увеличение времени выполнения программы.
3. Нарушение последовательности вызова отдельных подпрограмм.
4. Ошибки выхода информации, поступающей от внешних источников, между входной информацией возникает не соответствие из-за: искажение данных на первичных носителях, сбои и отказы в аппаратуре, шумы и сбои в каналах связи, ошибки в документации.
Ошибки скрытые в самой программе: ошибка вычислений, ошибка ввода-вывода, логические ошибки, ошибка манипулирования данными, ошибка совместимости, ошибка сопряжения.
Искажения входной информации подлежащей обработке: искажения данных на первичных носителях информации; сбои и отказы в аппаратуре ввода данных с первичных носителей информации; шумы и сбои в каналах связи при передачи сообщений по линиям связи; сбои и отказы в аппаратуре передачи или приема информации; потери или искажения сообщений в буферных накопителях вычислительных систем; ошибки в документировании; используемой для подготовки ввода данных; ошибки пользователей при подготовки исходной информации.
Неверные действия пользователя:
1. Неправильная интерпретация сообщений.
2. Неправильные действия пользователя в процессе диалога с программным обеспечением.
3. Неверные действия пользователя или по-другому, их можно назвать ошибками пользователя, которые возникают вследствие некачественной программной документации: неверные описания возможности программ; неверные описания режимов работы; неверные описания форматов входной и выходной информации; неверные описания диагностических сообщений.
Неисправности аппаратуры установки: приводят к нарушениям нормального хода вычислительного процесса; приводят к искажениям данных и текстов программ в основной и внешней памяти.
Итак, при рассмотрение основных причин возникновения отказа и сбоев программного обеспечения можно сказать, что эти знания позволяют своевременно принимать необходимые меры по недопущению отказов и сбоев программного обеспечения.
1.3 Основные параметры и показатели надежности программ АСОИУ
Термин модели надежности программного обеспечения, как правило относится к математической модели, построенной для оценки зависимости программного обеспечения от некоторых определенных параметров.
Параметр - количественные величины, в функции или математической модели выбираемая или оцениваемая в конкретных условиях.
Значение таких параметров либо предлагаются известными, либо могут быть измерены в ходе наблюдений или экспериментального исследования процесса функционирования программного обеспечения.
Усложнение алгоритмов функционирования автоматизированных систем приводит к значительному объему и сложности программного обеспечения. Увеличение же объема (до 105 и более машинных команд) и сложности программного обеспечения делает невозможной разработку полностью бездефектных составляющих программного обеспечения программ. В результате программное обеспечение сдается в эксплуатацию с ошибками, являющимися причинами отказа программного обеспечения. Процесс отладки программного обеспечения по выявлению и устранению ошибок в программах можно представить графиком изменения интенсивности отказов программного обеспечения о.
Рис. 1.3.1. - время жизни программы.
Участок 1 соответствует этапам отладки, испытания и опытной эксплуатации программного обеспечения. На участке 2 остаточные после проектирования ошибки программного обеспечения, соответствующие достаточно редкому сочетанию входных данных, и отладка ошибок. На участке 3 появляются новые ошибки и после нескольких доработок комплекса программ наступает моральное устаревание программного обеспечения. После этого программное обеспечение подлежит полной замене как отработавший свой срок и не соответствующий новым условиям.
1.4 Методы прогнозирования программных отказов и тестирование программ
Предупреждение ошибок - лучший путь повышения надёжности программного обеспечения. Для его реализации была разработана методика проектирования систем управления, соответствующая спиральной модели жизненного цикла программного обеспечения. Методика предусматривает последовательное понижение сложности на всех этапах анализа объекта. При декомпозиции АСОИУ были выделены уровни управления системы, затем подсистемы, комплексы задач и так далее, вплоть до отдельных автоматизируемых функций и процедур.
Методы прогнозирования и тестирования программного обеспечения позволяют предупредить, минимизировать или исключить появление ошибок.
Методы прогнозирования и тестирования программного обеспечения включают в себя:
1. Методы, позволяющие справиться со сложностью системы.
Сложность системы является одной из главных причин низкой надежности программного обеспечения. В общем случае, сложность объекта является функцией взаимодействия между его компонентами. В борьбе со сложностью программного обеспечения используются две концепции: [Л.1]
Иерархическая структура. Иерархия позволяет разбить систему по уровням понимания. Концепция уровней позволяет анализировать систему, скрывая несущественные для данного уровня детали реализации других уровней. Иерархия позволяет понимать, проектировать и описывать сложные системы.
Независимость. В соответствии с этой концепцией, для минимизации сложности, необходимо максимально усилить независимость элементов системы.
2. Методы достижения большей точности при переводе информации.
Методы улучшения обмена информацией базируются на введении в программное обеспечение системы различных видов избыточности:
Временная избыточность. Использование части производительности ЭВМ для контроля исполнения и восстановления работоспособности программного обеспечения после сбоя.
Информационная избыточность. Дублирование части данных информационной системы для обеспечения надёжности и контроля достоверности данных.
Программная избыточность включает в себя:
взаимное недоверие - компоненты системы проектируются, исходя из предположения, что другие компоненты и исходные данные содержат ошибки, и должны пытаться их обнаружить;
немедленное обнаружение и регистрацию ошибок;
выполнение одинаковых функций разными модулями системы и сопоставление результатов обработки;
контроль и восстановление данных с использованием других видов избыточности.
Каждый из методов позволяет повысить надежность программного обеспечения и устойчивость к ошибкам. Какой из данных методов лучше определить нельзя, так как каждый метод основан на своих принципах и концепциях. Поэтому можно использовать оба метода.
Важным этапом жизненного цикла программного обеспечения, определяющим качество и надёжность системы, является тестирование. Тестирование - процесс выполнения программ с намерением найти ошибки. Этапы тестирования: контроль отдельного программного модуля отдельно от других модулей системы; контроль сопряжений (связей) между частями системы (модулями, компонентами, подсистемами); контроль выполнения системой автоматизируемых функций; проверка соответствия системы требованиям пользователей, и корректности документации, выполнение программы в строгом соответствии с инструкциями.
Существуют две стратегии при проектировании тестов: тестирование по отношению к спецификациям (документации), не заботясь о тексте программы, и тестирование по отношению к тексту программы, не заботясь о спецификациях. Разумный компромисс лежит где-то посередине, смещаясь в ту или иную сторону в зависимости от функций, выполняемых конкретным модулем, комплексом или подсистемой.
Качество подготовки исходных данных для проведения тестирования серьёзно влияет на эффективность процесса в целом и включает в себя:
1. Техническое задание.
2. Описание системы.
3. Руководство пользователя.
4. Исходный текст.
5. Правила построения (стандарты) программ и интерфейсов.
6. Критерии качества тестирования.
7. Эталонные значения исходных и результирующих данных.
8. Выделенные ресурсы, определяемые доступными финансовыми средствами.
Однако, исчерпывающее тестирование всех веток алгоритма любой программы для всех вариантов входных данных практически неосуществимо. Следовательно, продолжительность этапа тестирования является вопросом чисто временным. Учитывая, что реальные ресурсы любого проекта ограничены бюджетом и временным показателем, можно утверждать, что искусство тестирования заключается в отборе тестов с максимальной отдачей.
Ошибки в программах и данных могут проявиться на любой стадии тестирования, а также в период эксплуатации системы. Зарегистрированные и обработанные сведения должны использоваться для выявления отклонений от требований заказчика или технического задания. Для решения этой задачи используется система конфигурационного управления версиями программных компонент, база документирования тестов, результатов тестирования и выполненных корректировок программ. Средства накопления сообщений об отказах, ошибках, предложениях на изменения, выполненных корректировках и характеристиках версий являются основной для управления развитием и сопровождением комплекса программного обеспечения и состоят из журналов:
Предлагаемых изменений.
Найденных дефектов.
Утвержденных корректировок.
Реализованных изменений.
Пользовательских версий.
В данной главе анализируются основные причины и признаки ошибок, вводятся основные параметры и показатели надежности программного обеспечения. Также рассмотрены методы прогнозирования программных отказов и тестирование программ с целью повышения надежности. Для оценки надежности программного обеспечения используются специальные модели на основание параметров и показателей приведенных выше.
2. Анализ моделей оценки программной надежности
Существующие математические модели должны оценивать характеристики ошибок в программах и прогнозировать их надежность при эксплуатации. Модели имеют вероятностный характер, и достоверность прогнозов зависит от точности исходных данных и глубины прогнозирования по времени.
Эти математические модели предназначены для оценки:
1. Показателей надежности комплекса программ в процессе отладки;
2. Количества ошибок оставшиеся не выявленными;
3. Времени, необходимого для обнаружения следующей ошибки в функционирующей программе;
4. Времени, необходимого для выявления всех ошибок с заданной вероятностью.
Существуют ряд математических моделей:
Экспоненциальная модель изменения ошибок в зависимости от времени отладки.
Дискретно-меняющаяся модель, учитывающая дискретно-повышающую времени наработки на отказ, как линейную функцию времени тестирования и испытания.
Модель Шумана. Исходные данные для модели Шумана собираются в процессе тестирования программного обеспечения в течение фиксированных или случайных временных интервалов.
Модель La Padula. По этой модели выполнение последовательности тестов в m этапов. Каждый этап заканчивается внесением исправлений в программное обеспечение.
Модель Джелинского - Моранды. Исходные данные собираются в процессе тестирования программного обеспечения. При этом фиксируется время до очередного отказа.
Модель Шика - Волвертона. Модификация модели Джелинского - Моранды для случая возникновения на рассматриваемом интервале более одной ошибки.
Модель Муса. В процессе тестирования фиксируется время выполнения программы (тестового прогона) до очередного отказа.
Модель переходных вероятностей. Эта модель основана на марковском процессе, протекающем в дискретной системе с непрерывным временем.
Модель Миллса. Использование этой модели предполагает необходимость перед началом тестирования искусственно вносить в программу некоторое количество известных ошибок.
Модель Липова. Модификация модели Миллса, рассматривающая вероятность обнаружения ошибки при использовании различного числа тестов.
Простая интуитивная модель. Использование этой модели предполагает проведения тестирования двумя группами программистов независимо друг от друга, использующими независимые тестовые наборы.
Модель Коркорэна. Модель использует изменяющиеся вероятности отказов для различных типов ошибок.
Модель Нельсона. Данная модель при расчете надежности программного обеспечения учитывает вероятность выбора определенного тестового набора для очередного выполнения программы.
При таком большом количестве моделей все-таки основными из них являются экспоненциальная и дискретно-меняющаяся модели.
2.1 Дискретно-меняющая модель
В данной работе под дискретно-меняющей моделью подразумевается модель, которая основывается на дискретном увеличении времени наработки на отказ. Такая модель базируется на следующих предположениях:
1. Устранение ошибок в программе приводит к увеличению времени наработки на отказ T на одну и ту же величину, равную:
T(1) =T(2) =…=T(i) = const (2.1.1)
T(i) = T(i) - T(i-1) (2.2.2)
2. Время между двумя последовательными отказами:
i = ti - ti-1 (2.1.3)
является случайной величиной, которую можно представить в виде суммы двух случайных величин:
i=i-1 + I (2.1.4)
где i - независимые случайные величины, которые имеют одинаковые математические ожидания M{} и среднеквадратические отклонения .
3. Начальный интервал времени 0 сравним со случайной величиной 0, т.е. 0 0, поскольку в начальный период эксплуатации программ отказы в них возникают весьма часто.
На основании второго предположения величину интервала между i-м (i-1) - м отказами можно определить соотношением:
i=i-1 + i = 0 + j (2.1.5)
из которого можно получить соотношение для определения времени наступления m-го отказа в программе:
tm= i = (0 + j) (2.1.6)
исходя из третьего предположения полученные соотношения примут вид:
i = 0 + j = j (2.1.7)
tm= (0 + j) = ij (2.1.8)
При этих предположениях средняя наработка между (m-1) - м и m-м отказами программы равна:
T0(m) = M{m-1} = M{j} = ij = m M{}. (2.1.9)
Средняя наработка до возникновения m-го отказа может быть определена по соотношению:
Tm = M{tm} = ijk) = M{}. (2.1.10)
2.2 Экспоненциальное распределение
Теперь непосредственно перейдем к анализу собственно экспоненциального распределения.
Рассматриваемое распределение характеризуется рядом свойств, такими как:
1. Ошибки в комплексе программ являются независимыми и проявляются в случайные моменты времени. Данное свойство характеризует неизменность во времени интенсивности проявления и обнаружения ошибок (т.е. ош=const) в течение всего времени выполнения программы (=tн-t0).
2. Интенсивность проявления и обнаружения ошибок ош (интенсивность отказов) пропорционально числу оставшихся в ней ошибок:
()= Kn0() (2.2.1)
где K - коэффициент пропорциональности, учитывающий реальное быстродействию ЭВМ и число команд в программе.
3. В процессе исправления ошибок программы новые ошибки не порождаются. Это означает, что интенсивность исправления ошибок dn/dt будет равна интенсивности их обнаружения:
(2.2.2)
Пусть N0 - число ошибок, имеющихся в программе перед началом испытаний.
n() - количество ошибок, устраненных в ходе испытаний (тестирования) программы;
n0() - число оставшихся в программе ошибок на момент окончания испытаний.
Тогда n0()= N0 - n(). (2.2.3)
Основываясь на предположениях, введенных выше, получим:
(2.2.4)
Решением этого дифференциального уравнения при начальных условиях t=0 и =0 является:
n()=N0(1-e-K); (2.5)
Надежность программы по результатам испытаний в течении времени можно охарактеризовать средним временим наработки на отказ, равным:
. (2.2.6)
Если ввести исходное значение среднего времени наработки на отказ перед испытанием, равного , то получим:
, (2.2.7)
откуда видно, что среднее время наработки на отказ увеличивается по мере выявления и исправления ошибок.
На практике в процессе корректировки программы все же могут появляться новые ошибки. Пусть В-коэффициент уменьшения ошибок, определяемый как отношение интенсивности уменьшения ошибок к интенсивности их проявления, или к интенсивности отказов, то есть:
. (2.2.8)
Если обозначить за m - число обнаруженных отказов, а M0 - число отказов, которое должно произойти, чтобы можно было выявить и устранить n соответствующих ошибок, то есть:
, , (2.2.9)
то среднее время наработки на отказ и число обнаруженных отказов определяется следующими соотношениями:
, (2.2.10)
, (2.2.11)
Если принять, что , получим:
, (2.2.12)
. (2.2.13)
Для практического использования представляет интерес число ошибок m, которое должно быть обнаружено и исправлено для того, чтобы добиться увеличения среднего времени наработки на отказ от T01 до T02. Этот показатель может быть получен из следующих соотношений:
,
. (2.2.14)
Дополнительное время испытаний, необходимое для обеспечения увеличения среднего времени наработки на отказ с T01 до T02 определяется из соотношений:
, (2.2.15)
Оценка надежности программ по времени испытаний определяется согласно формуле:
. (2.2.16)
2.3 Методика оценки надежности программ по числу исправленных ошибок
Пусть N0 - число ошибок, имеющихся в программе перед началом испытаний.
n() - количество ошибок, устраненных в ходе испытаний (тестирования) программы;
n0() - число оставшихся в программе ошибок на момент окончания испытаний.
Тогда n0()= N0 - n().
Основываясь на предположениях введенных в пункте 2.2.1, а именно: и ()= Kn0() то получим:
(2.3.1)
K - коэффициент, учитывающий быстродействие компьютера.
Решением этого дифференциального уравнения при начальных условиях t=0 и =0 является:
n()=N0(1-e-K); (2.3.2)
n0()=N0 - n()=N0e-K. (2.3.3)
Надежность программы по результатам испытаний в течении времени можно охарактеризовать средним временим наработки на отказ, равным:
.
Если ввести исходное значение среднего времени наработки на отказ перед испытанием, равного , то получим:
, (2.3.4)
откуда видно, что среднее время наработки на отказ увеличивается по мере выявления и исправления ошибок.
На практике в процессе корректировки программы все же могут появляться новые ошибки. Пусть В-коэффициент уменьшения ошибок, определяемый как отношение интенсивности уменьшения ошибок к интенсивности их проявления, или к интенсивности отказов, то есть:
. (2.3.5)
Если обозначить за m - число обнаруженных отказов, а M0 - число отказов, которое должно произойти, чтобы можно было выявить и устранить n соответствующих ошибок, то есть:
, , (2.3.6)
то среднее время наработки на отказ и число обнаруженных отказов определяется следующими соотношениями:
, (2.3.7)
, (2.3.8)
Если принять, что , получим:
, (2.3.9)
. (2.3.10)
Для практического использования представляет интерес число ошибок m, которое должно быть обнаружено и исправлено для того, чтобы добиться увеличения среднего времени наработки на отказ от T01 до T02. Этот показатель может быть получен из следующих соотношений:
,
,
Итак, оценка надежности программ по числу исправленных ошибок определяется по формуле:
. (2.3.11)
2.4 Методика оценки надежности программ по времени испытания
Дополнительное время испытаний, необходимое для обеспечения увеличения среднего времени наработки на отказ с T01 до T02 определяется из соотношений:
, (2.4.1)
где T01 и T02 определяются согласно формуле (2.3.9):
,
Оценка надежности программ по времени испытаний определяется согласно формуле:
. (2.4.2)
2.5 Методика оценки безотказности программ по наработке
Наработку между очередными отказами - случайную величину T(i) можно представить в виде суммы двух случайных величин:
T(i) = T(i-1) + T(i) (2.5.1)
Последовательно применяя (3.3.1) ко всем периодам наработки между отказами, получаем:
T(i) = T(0) + T(?) (2.5.2)
Случайная величина Тn - наработка до возникновения n-го отказа программы - равна:
Tn= T(i) = [T(0) +T(?)] (2.5.3)
Введем следующие допущения:
1) все случайные величины T() независимы и имеют одинаковые математические ожидания m?t и среднеквадратические отклонения ??t;
2) случайная величина T(0) пренебрежимо мала по сравнению с суммой T(?)
Основанием для второго допущения могут служить следующие соображения: в самый начальный период эксплуатации программы ошибки возникают очень часто, то есть время T(0) мало. Сумма (2.5.3) быстро растет с увеличением n, и доля T(0) быстро падает. Будем считать что T(0) ? T(0). В соответствии со вторым допущением имеем:
T(n) =T(?). (2.5.4)
Tn= (2.5.5)
При одинаковых T(?) наработка между (n-1) и n отказами - случайная величина T(n) - имеет математическое ожидание:
mt(n)=M[T(n)]=nm?t (2.5.6)
и среднеквадратическое отклонение:
?t(n) = ?? t; (2.5.7)
Для случайной величины Tn математическое ожидание равно:
=m?t; (2.5.8)
и среднеквадратическое отклонение:
= ?? t; (2.5.9)
Чтобы вычислить значения , и , необходимо по данным об отказах программы в течение периода наблюдения tн найти статистические оценки числовых характеристик случайной разности T(i):
(2.5.10)
(2.5.11)
nн - число отказов программы за наработку (0, tн).
Учитывая, что при t >tн число отказов nн >> 1, из (2.5.8) и (2.5.9) имеем:
mt(n) ? m?t , (2.5.12)
?t(n)= ?? tn; (2.5.13)
Поскольку случайные величины T(n) и Tn согласно (2.5.4) и (2.5.5) равны суммам многих случайных величин, T(n) и Tn можно считать распределенными нормально с математическими ожиданиями и дисперсиями, определенными по (2.5.6) - (2.5.9), (2.5.12) и (2.5.13). Так как наработка положительна, на практике используется усеченное на интервале (0, ?) нормальное распределение. Обычно нормирующий множитель с?1.
При n>nн плотность распределения наработки между очередными (n-1) и n отказами:
f(n)(?) = , (2.5.14)
где ? отсчитывается с момента последнего, (n-1) отказа.
Заключение
В работе было показано, что надежность программного обеспечения, в десятки раз ниже чем аппаратурная надежность. Требования к программной надежности это определение необходимого выполнения боевых задач в течении не менее чем 1872 часов.
Из анализа видно, что наибольшее влияние на надежность программного обеспечения оказывают внутренние ошибки и ошибки которые находятся при начале эксплуатации программ. Исходя из этого был проведен анализ моделей надежности, методов расчета и оценки программной надежности. С помощью этого анализа, на основе дискретного и экспоненциального метода рассчитали время необходимое на тестирование программного обеспечения, для повышения времени жизни программы.
Список литературы
программный безотказность надежность прогнозирование
1. В.В. Липаев Проектирование математического обеспечения АСУ. (системотехника, архитектура, технология). М., «Сов. радио», 1977.
2. Р.С. Захарова Основные вопросы теории и практики надежности.
3. В.А. Благодатских, В.А. Волнин, К.Ф. Поскакалов Стандартизация разработки программных средств.
4. А.А. Воронов Теоретические основы построения автоматизированных систем управления. Разработка технического задания.-М.: Наука, 1997.
5. Основы прикладной теории надежности АСУ. Учебное пособие, Тверь, ВА ПВО, 1995, н/с 32. 965,0-75. В.М. Ионов и др., инв. №8856.
6. Б.Н. Горевич. Расчет показателей надежности систем вооружения и резервированных элементов. Конспект лекций, ВА ПВО, 1998, н/с 68.501.4, Г68, инв. №9100
Размещено на Allbest.ru
Подобные документы
Анализ методов оценки надежности программных средств на всех этапах жизненного цикла, их классификация и типы, предъявляемые требования. Мультиверсионное программное обеспечение. Современные модели и алгоритмы анализа надежности программных средств.
дипломная работа [280,5 K], добавлен 03.11.2013Действия, которые выполняются при проектировании АИС. Кластерные технологии, их виды. Методы расчета надежности на разных этапах проектирования информационных систем. Расчет надежности с резервированием. Испытания программного обеспечения на надежность.
курсовая работа [913,7 K], добавлен 02.07.2013Программное обеспечение как продукт. Основные характеристик качества программного средства. Основные понятия и показатели надежности программных средств. Дестабилизирующие факторы и методы обеспечения надежности функционирования программных средств.
лекция [370,1 K], добавлен 22.03.2014Модель надежности программного средства как математическая модель для оценки зависимости надежности программного обеспечения от некоторых определенных параметров, анализ видов. Общая характеристика простой интуитивной модели, анализ сфер использования.
презентация [151,1 K], добавлен 22.03.2014Запросы клиента по области возможных запросов к серверу. Программа для прогнозирования поведения надежности программного обеспечения на основе метода Монте-Карло. Влияние количества программ-клиентов на поведение программной системы клиент-сервера.
контрольная работа [705,3 K], добавлен 03.12.2010Особенности аналитической и эмпирической моделей надежности программных средств. Проектирование алгоритма тестирования и разработка программы для определения надежности ПО моделями Шумана, Миллса, Липова, с использованием языка C# и VisualStudio 2013.
курсовая работа [811,5 K], добавлен 29.06.2014Надежность системы управления как совокупность надежности технических средств, вычислительной машины, программного обеспечения и персонала. Расчет надежности технических систем, виды отказов САУ и ТСА, повышение надежности и причины отказов САУ.
курс лекций [228,2 K], добавлен 27.05.2008Точные и приближенные методы анализа структурной надежности. Критерии оценки структурной надежности методом статистического моделирования. Разработка алгоритма и программы расчета структурной надежности. Методические указания по работе с программой.
дипломная работа [857,8 K], добавлен 17.11.2010Постановка проблемы надежности программного обеспечения и причины ее возникновения. Характеристики надежности аппаратуры. Компьютерная программа как объект исследования, ее надежность и правильность. Модель последовательности испытаний Бернулли.
реферат [24,8 K], добавлен 21.12.2010Надежность как характеристика качества программного обеспечения (ПО). Методика расчета характеристик надежности ПО (таких как, время наработки до отказа, коэффициент готовности, вероятность отказа), особенности прогнозирования их изменений во времени.
дипломная работа [1,2 M], добавлен 01.06.2010