Разработка программнотАУалгоритмических средств для определения надёжности программного обеспечения на основании моделирования работы системы типа "клиенттАУсервер"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
можность передачи системы в промышленную эксплуатацию [25]. Известно, что ее обслуживает 3 программиста. Количество программклиентов 10. Интенсивность отказов в начале опытной эксплуатации была 1 отказ в сутки. Через пол года работы получили интенсивность отказов 1 отказ в месяц или 0,033 отказа в сутки. При этом объем одного запроса вычислим как отношение объема одного запроса к размеру всей базы данных. Он равен: = 0,01Кб/10000Кб = 0,000001. Попробуем методом подбора найти первоначальное количество ошибок такое, чтобы оно удовлетворяло начальным и конечным условиям задачи. С учетом того, что каждую минуту одна из программклиентов получает данные, получаем интенсивность обращения к серверу 1500 обращений в сутки.
Розыгрыш показывает, что таким начальным и конечным условиям соответствует ПО с 2025 ошибками в начале работы и 1014 ошибок на 180 сутки и коэффициент готовности 0,9. Для розыгрыша:
Начальные условия розыгрыша:
K (кол-во программ-клиентов) = 10;
P (кол-во программистов) = 3;
(ширина запроса клиента) = 0,000001;
N0 (начальное количество ошибок) = 25;
s (сложность сервера) = 2;
t (шаг итерации) = 0,0005 (сутки);
обр (интенсивность потока обращений клиента к серверу) = 1500/сутки;
испр (интенсивность потока исправления ошибки) = 2/сутки;
pвнес (вероятность внесения ошибки при исправлении) = 0,1/сутки
M (количество итераций) = 360000;
Общее время розыгрыша: 180 (сутки);
К (число розыгрышей) =5
Был получен результат (рис.25).
Рисунок 25 Поиск начального количества ошибок
Из полученных данных видно, что после 180 дней опытной эксплуатации в системе останется примерно 5 ошибок и коэффициент готовности будет более 0.95, а среднее время наработки на отказ будет более 20 суток. Это приемлемые значения для надежности такой системы и следовательно ее можно передавать в промышленную эксплуатацию.
Моделирование следующих 180 дней промышленной эксплуатации показывают, что за это время будет обнаружено и исправлено всего 3, 4 ошибки, а коэффициент готовности достигнет 0.99 и среднее время наработки до отказа будет около 60 дней (рис.26).
Рисунок 26 Поиск начального количества ошибок
Для сравнения проведем розыгрыш для количества ошибок, равном 100 и неизменных остальных начальных условиях (рис.27).
Рисунок 27 Поиск начального количества ошибок
Из полученных результатов видно, что к концу опытной эксплуатации программы с таким начальным количеством ошибок через 180 дней еще останется около 25 ошибок, коэффициент готовности 0.9, а среднее время наработки до отказа около 6 суток, что говорит о низкой надежности ПО, вследствие чего программа не готова к передаче в промышленную эксплуатацию и необходимо продлить ее опытную эксплуатацию еще на полгода.
Выводы
В ходе выполнения дипломной работы были изучены существующие модели надежности ПО и методы разработки качественного (прежде всего надежного, Кг > 0,999) ПО в условиях ограниченных ресурсов. На основе проведенного аналитического обзора современного состояния дел было выяснено, что на данный момент отсутствует общее решение проблемы надежности ПО, а есть множество частных решений, которые не учитывают такие существенные факторы, как интенсивность внесения и устранения ошибок в программе, время разработки ПО. Кроме того, влияние объема и сложности текста программ на надежность ПО в настоящее время непрерывно уменьшается. Таким образом, ни одну из существующих моделей нельзя считать достаточной для оценки надежности ПО малого и среднего объема (до 100 тысяч строк) изза неопределенности их входных параметров, таких как начальное количество ошибок в ПО, количество ветвлений, циклов и т.п.
В ходе выполнения работы была создана новая математическая модель надежности ПО на основе марковских систем массового обслуживания, позволяющая проводить расчет характеристик надежности ПО.
Предлагаемая модель является более простой по отношению к рассмотренным. Основным ее преимуществом является отсутствие в ней начального количества ошибок в ПО.
Основным практическим результатом работы является программа для прогнозирования поведения надежности ПО со временем, основанная на методе МонтеКарло и предложенной модели надежности ПО. Сочетание двух подходов марковской модели надежности ПО и прогнозирования при помощи метода МонтеКарло позволяет более точно и более всесторонне оценить характеристики надежности ПО. Работа модели показана на конкретных примерах. Полученные результаты хорошо согласуются с результатами, полученными на практике.
Таким образом, созданная программа моделирования позволяет, задавая различные начальные условия, наблюдать поведение надежности ПО во времени. Это позволяет использовать ее для решения оптимизационных задач (например, поиска оптимальных ресурсов для достижения заданного уровня надежности, оптимальной интенсивности тестирования при заданных характеристиках клиентсервера и количестве программистов). В частности, это позволяет найти начальное количество ошибок в ПО.
Таким образом, модель и программу моделирования можно рекомендовать использовать при разработке и сопровождении ПО, когда уровень надежности должен быть высоким, а достигнуть и подтвердить его не просто.
Список использованных источников