Разработка программнотАУалгоритмических средств для определения надёжности программного обеспечения на основании моделирования работы системы типа "клиенттАУсервер"

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

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



ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение высшего профессионального образования

Нижегородский государственный университет им. Н.И. Лобачевского

Физический факультет

Кафедра физики полупроводников и оптоэлектроники

Дипломная работа

Разработка программноалгоритмических средствдля определения надёжности программного обеспечения на основании моделирования работы системы типа "клиентсервер"

студента 5го курса

Допустить к защите

зав. каф. ФПО,

д.ф.м.н., проф.

ПАВЛОВ Д.А.

Научный руководитель,

доцент каф. ФПО, к.ф.м.н.

Рецензент:

доцент каф. ЭТТ, к.ф.м.н.

Москва 2008 г.

Оглавление

Сокращения4

Введение5

1. Аналитический обзор литературы7

1.1 Надежность как характеристика качества ПО7

1.2 Текущее состояние вопроса9

1.3 Выводы19

2. Теоретическая часть21

2.1 Существующие модели надежности ПО21

2.2 Содержательная постановка задачи24

2.3 Разработка модели надежности ПО типа клиентсервер29

2.3.1 Модель надежности клиентских программ29

2.3.2 Модель с заменой вероятностей состояний на средние численности состояний34

2.3.3 Модель для случая N модулейклиентов37

2.3.4 Модель для случая const42

2.4 Разработка обобщенной модели надежности ПО типа клиентсервер46

3. Экспериментальная часть52

3.1 Обоснование выбранного метода реализации52

3.2 Алгоритм функционирования программы52

3.3 Практические результаты моделирования55

3.3.1 Оценка времени, необходимого для уменьшения количества ошибок до расчетного уровня55

3.3.2 "ияние количества клиентов на надежность ПО57

3.3.3 "ияние количества программистов на надежность ПО59

3.3.4 "ияние интенсивности обращений клиентов к серверу61

3.3.5 Определение начального количества ошибок в ПО62

3.3.6 Поиск начального количества ошибок в программе по начальной и конечной интенсивностям отказов65

Выводы68

Список использованных источников70

Приложение А. Примеры моделей надежности ПО73

Сокращения

ВС вычислительное средство

ВТ вычислительная техника

ЖЦ жизненный цикл

КИС корпоративная информационная система

ММП метод максимального правдоподобия

МНК метод наименьших квадратов

ООД область определения данных

ОС операционная система

ПИ программное изделие

ПК программный комплекс

ПО программное обеспечение

ПТС программнотехническое средство

СВМО среднее время между отказами

СМО система массового обслуживания

СПО системное программное обеспечение

ТЗ техническое задание

ТУ технические условия

ЭП экстремальное программирование

Введение

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

Многочисленные научные публикации [1-4] и накопленный опыт разработки программных систем в России и за рубежом свидетельствуют о том, что достаточно уверенно прогнозировать уровень надежности функционирования ПО весьма трудно. Проблема заключается в том, что существующие методы и модели прогнозирования надежности ПО не в полной мере пригодны для практического применения.

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

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

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

В качестве те