WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

загрузка...
   Добро пожаловать!

Pages:     || 2 | 3 |

На правах рукописи

Никольский Святослав Олегович

МОДЕЛИРОВАНИЕ ОЦЕНКИ ХАРАКТЕРИСТИК НАДЕЖНОСТИ БАНКОВСКИХ ТИРАЖНЫХ ПРОГРАММНЫХ СИСТЕМ НА ОСНОВЕ НЕЙРОСЕТЕВЫХ ТЕХНОЛОГИЙ

Специальность 05.13.18 – Математическое моделирование, численные методы и комплексы программ

АВТОРЕФЕРАТ

диссертации на соискание ученой степени

кандидата технических наук

Брянск 2006

Работа выполнена в ГОУВПО «Брянский государственный технический университет».

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

Официальные оппоненты

Ведущее предприятие

Защита состоится 27 декабря 2006 года в 14:00 часов на заседании диссертационного совета К212.021.01 при ГОУВПО «Брянский государственный технический университет» по адресу: 241035, г. Брянск, бульвар 50-летия Октября, 7.

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

Автореферат разослан 27 ноября 2006 года.

Ученый секретарь

диссертационного совета

кандидат технических наук, доцент Шкаберин В.А.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

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

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

Для достижения поставленной цели необходимо решить следующие задачи:

  1. Разработать математическую модель оценки характеристик надежности банковских тиражных программных систем.
  2. Разработать методологию применения предлагаемой модели для моделирования оценки характеристик надежности конкретной тиражной банковской системы.
  3. Разработать комплекс программ, позволяющий автоматизировать все этапы применения модели для прогнозирования числа отказов в исследуемой системе.
  4. Апробировать разработанный программный комплекс и модель на практике и сделать выводы о возможности их применения.

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

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

Практическую ценность работы составляют:

  1. Методология моделирования оценки характеристик надежности банковского тиражного программного обеспечения.
  2. Программный комплекс «Reliability Calculator», автоматизирующий все этапы применения модели.
  3. Методика применения данного программного комплекса, полученные в результате практического его применения для моделирования оценки характеристик надежности крупной тиражной автоматизированной банковской системы.

На защиту выносятся следующие положения:

  1. Математическая модель оценки характеристик надежности банковских тиражных программных систем на основе нейросетевых технологий.
  2. Методика прогнозирования характеристик надежности банковского тиражного программного обеспечения, основанная на вычислении числа отказов очередной сборки программы путем анализа внесенных в исходный код изменений.
  3. Алгоритм и структура программного комплекса, автоматизирующего все этапы применения разработанной модели надежности.
  4. Результаты практического применения разработанного программного комплекса и модели для прогнозирования числа отказов в очередной сборке крупной банковской тиражной программной системы.

Апробация работы. Основные научные и практические результаты работы докладывались и обсуждались на IV Всероссийской научно-технической конференции «Проблемы информатики в образовании, управлении, экономике и технике» в 2004 г. в г. Пенза, на 2-ой международной научно-методической конференции «Качество инженерного образования» в 2005 г. в г. Брянск, на III межрегиональной научно-технической конференции студентов и аспирантов «Информационные технологии, энергетика и экономика» в 2006 г. в г. Смоленск и др.

Публикации. По теме диссертации опубликовано 6 печатных работ, из них 3 – в сборниках статей, 2 – в виде статей в журналах научной направленности, 1 – в журнале, рекомендованном ВАК.

Структура и объем работы. Диссертационная работа состоит из введения, четырех глав, заключения, списка литературы из 78 наименований и 3 приложений. Основная часть работы содержит 162 страниц машинописного текста, 37 рисунков и 11 таблиц.

СОДЕРЖАНИЕ РАБОТЫ

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

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

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

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

Большое число моделей надежности программного обеспечения являются разработками ученых США, Японии и Европы, выполненных по заказу военных ведомств или коммерческих организаций этих стран. К числу наиболее известных иностранных специалистов, когда-либо занимавшихся вопросами теории надежности программного обеспечения, можно отнести: профессора, сотрудника исследовательского отдела компании IBM Г. Майерса (Glenford J. Myers), опубликовавшего в 1970-1980-ых годах ряд книг по вопросам, связанным с надежностью программного обеспечения; З. Жилинского (Z. Jelinski) и П. Моранду (P.B. Moranda), создавших самую известную модель надежности программного обеспечения по заказу ВМФ США; профессора университета Лондона Б. Литтлвуда (B. Littlewood), также разработавшего известную модель надежности; сотрудников компании AT&T М. Лю (Michael R. Lyu) и Дж. Мусу (J. Musa), под эгидой которых в конце 1990-ых годов была собрана команда профессионалов в области теории надежности ПО и, в 1996 году выпущена книга, полностью посвященная моделированию надежности ПО, а также многих других.

В первой главе анализируется ряд наиболее известных моделей надежности типа «черный ящик» - модели Жилинского-Моранды, Гоэля-Окумото, Шнейдевинда, Мусы, гиперэкспоненциальная модель, улучшенная модель неоднородного Пуассоновского процесса, модель Вейбулла, модель S-формы и ее модификации, модель Дуэйна, геометрическая модель, логарифмическая модель Мусы-Окумото. Проводится анализ недостатков этих моделей, в числе которых предположения о том, что каждый из заложенных в систему дефектов имеет одинаковую вероятность проявиться в виде отказа; о том, что дефекты исправляются немедленно и безошибочно, и т.п.

Далее приводится анализ моделей типа «белый ящик» на примере моделей Кришнамурти-Матура и Гокейла. В результате анализа делается вывод, что использование моделей этого класса также возможно только после начала тестирования программы, либо после применения достаточно неточных статических моделей надежности.

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

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

Во второй главе, на основании выводов из первой главы, ставится задача разработать новую модель надежности тиражного программного обеспечения на нейросетевой основе. В начале главы подробно рассматриваются основные свойства предлагаемой модели:

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

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

Выход модели – число отказов в очередной сборке тиражной программной системы – определяется на основе анализа изменений, внесенных в нее со времени последней сборки. Таким образом, базой для моделирования, принимаются характеристики вносимых в систему изменений.

Математическая модель в формализованном виде представлена в виде следующей зависимости

,

где:

- число отказов в сборке системы ;

- число неисправленных отказов, оставшихся от предыдущей сборки системы ;

– моделируемая нейросетью изменений функция;

– функциональный граф исследуемой системы ;

– иерархия исследуемой системы ;

– набор изменений, внесенных в очередную сборку со времени сборки.

При этом, каждое из изменений оценивается по набору основных параметров и, опционально, набору дополнительных параметров.

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

Pages:     || 2 | 3 |






© 2011 www.dissers.ru - «Бесплатная электронная библиотека»