ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
«Нижегородский государственный университет им. Н.И. Лобачевского»
Физический факультет
Кафедра физики полупроводников и оптоэлектроники
Дипломная работа
Разработка программно–алгоритмических средствдля определения надёжности программного обеспечения на основании моделирования работы системы типа "клиент–сервер"
студента 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 Модель для случая l ¹ const............................................................... 42
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].
Необходимость повышения надежности программного обеспечения обусловлена еще и тем, что в настоящее время ПО несет значительно большую функциональную нагрузку в решении задач управления, чем технические средства.
Поэтому целью данной дипломной работы разработка программно–алгоритмических средств для проведения оценки надежности программного обеспечения на основе построения модели надежности ПО, позволяющей проводить расчет характеристик надежности ПО (таких как, время наработки до отказа, коэффициент готовности, вероятность отказа) и на основе этой модели прогнозировать изменение этих характеристик во времени.
В качестве теоретической основы использованы: теория массового обслуживания, теория вероятностей, теория линейного программирования, методы разработки программного обеспечения, международные и отечественные стандарты по программному обеспечению. В качестве метода исследования выбран метод Монте–Карло.
В качестве информационных источников в работе использовались научные данные и сведения из книг, журнальных статей, а также международные и отечественные стандарты по разработке и применению программного обеспечения, результаты собственных расчетов и проведенных экспериментов.
... . Становление рыночной экономики в России породило ряд проблем. Одной из таких проблем является обеспечение безопасности бизнеса. На фоне высокого уровня криминализации общества, проблема безопасности любых видов экономической деятельности становится особенно актуальной. Информационная безопасность среди других составных частей экономической безопасности (финансовой, интеллектуальной, кадровой, ...
... ресурсов компьютера между пользователями и задачами (система разделения времени) будет создана программная разработка планировщика задач, в котором главной целью является успеть среагировать на происходящие события в жестко заданный интервал времени (система реального времени). На основе планировщика будет реализован протокол, требующий поддержки реального времени. Для проектирования его ...
... на лазерные компакт-диски. Система моделирования Орлан ориентирована на достаточно широкий круг пользователей. В первую очередь, естественно, это администраторы вычислительных сетей предприятий, стоящие перед задачей проектирования или исследования сети. Обязательное условие, накладываемое системой – проектируемая сеть должны основываться на стандарте Ethernet. Но, так как абсолютное ...
... без применения компьютерной техники. Непрекращающееся развитие любого предприятия, учреждения или организации, а как следствие объёмов и сложности информации требует расширения компьютерных сетей и автоматизированных информационных систем. Но кроме очевидных выгод компьютерная техника несет в себе опасность здоровью и поэтому актуальной становится проблема охраны труда человека в процессе работы ...
0 комментариев