Моделирование надежности программного обеспечения

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

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

Пример расчета. Пусть в ходе отладки зафиксированы интервалы времени t1=10, t2=20, t3=25 часов между отказами программы. Необходимо определить вероятность отсутствия следующего (четвертого) отказа.

Первоначальное количество ошибок N находим методом подбора. Если N=3, то есть, обнаружены все ошибки, то в левой части (1.8) имеем:

;

а в правой части:

.

Если N=4, левая и правая части соответственно равны 152 и 150. Если N=5, соответственно 210 и 205.

Следовательно, наименьшую ошибку при решении (1.8) обеспечит N=4, откуда по формуле (1.7):

.

Из (1.2) получаем

.

Следовательно, среднее время до следующего отказа составляет:

часов.

Тогда, подставляя найденные значения l4 и t4 в (1.1), получим вероятность отсутствия четвертого отказа:

.

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

Рисунок 1 - График вероятностей отказа версий ПО

 

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

 

Диаграмма вариантов использования

 

Визуальное моделирование в UML можно представить, как некоторый процесс поуровневого спуска от наиболее обшей и абстрактной концептуальной модели исходной системы к логической, а затем и к физической модели соответствующей программной системы. Для достижения этих целей вначале строится модель в форме так называемой диаграммы вариантов использования (use case diagram), которая описывает функциональное назначение системы или, другими словами, то, что система будет делать в процессе своего функционирования. Диаграмма вариантов использования является исходным концептуальным представлением или концептуальной моделью системы в процессе ее проектирования и разработки.

Разработка диаграммы вариантов использования преследует цели:

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

сформулировать общие требования к функциональному поведению проектируемой системы;

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

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

Суть данной диаграммы состоит в следующем: проектируемая система представляется в виде множества сущностей или актеров, взаимодействующих с системой с помощью так называемых вариантов использования. При этом актером (actor) или действующим лицом называется любая сущность, взаимодействующая с системой извне. Это может быть человек, техническое устройство, программа или любая другая система, которая может служить источником воздействия на моделируемую систему так, как определит сам разработчик. В свою очередь, вариант использования (use case) служит для описания сервисов, которые система предоставляет актеру. Изобразим диаграмму вариантов использования (Рисунок 2).

Рисунок 2 - Диаграмма вариантов использования

Диаграмма классов

 

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

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

Изобразим диаграмму классов (Рисунок 3).

моделирование автосоединение microsoft visio

Рисунок 3 - Диаграмма классов

Диаграмма состояний

 

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

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

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

Рисунок 4 - Диаграмма состояний

 

Диаграмма деятельности

 

При моделировании поведения проектируемо