WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

Моделирование оценки характеристик надежности банковских тиражных программных систем на основе нейросетевых технологий

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

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

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

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

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

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

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

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

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

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

,

где:

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

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

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

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

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

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

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

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

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

Структурные или функциональные блоки системы, находящиеся на нижнем уровне иерархии, связаны (рис. 1) с функциями исходного кода.

Рис. 1. Структурно-функциональная схема исследуемой программной системы

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

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

Каждое элементарное изменение оценивается по параметрам:

  • - сложность функции до изменения – положительное число. Сложность функции в модели оценивается по метрике МакКейба.
  • - сложность изменения – неотрицательное число, подсчитываемое как абсолютная величина разности сложности функции до изменения и сложности функции после изменения. Чем больше сложность изменения, тем больше вероятность допущения ошибки.
  • - квалификация программиста, выполнившего изменение – число в пределах [0; 1], выражающее общий уровень знаний программиста (определяется путем экспертной оценки).
  • - опыт работы программиста с изменяемой функцией – число, обозначающее знание программистом данной изменяемой функции и функций, ее окружающих. Можно предложить следующий метод для определения :, где - мера связи функции с функциональным блоком, - квалификация программиста в функциональном блоке. Суммирование идет по всем функциональным блокам. Значение ограничено лишь неравенством и не ограничено каким-либо значением сверху.
  • - произвольное число дополнительных параметров изменения. Свободное добавление и удаление этих параметров в модель, обеспечивает свойство адаптивности.

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

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

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

,

где, E – функция ошибки, - вес связи между нейронами i и j, t – итерация обучения. Фактически, в RPROP происходит следующее: каждый раз, как только частная производная изменения соответствующего веса меняет свой знак (что означает, что последнее изменение веса было слишком большим и алгоритм «перепрыгнул» через локальный минимум), значение изменения веса уменьшается или увеличивается путем умножения на соответственно. В случае если производная положительна, значение веса уменьшается на, а если производная отрицательна – увеличивается на :

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

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

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

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

Отличительными чертами разработанной математической модели являются:

  1. В отличие от других моделей, разработанная математической модель определяет связи между характеристиками надежности программы и параметрами изменений, вносимых в данную программу.
  2. Количество параметров математической модели теоретически неограниченно, а добавление новых и удаление старых параметров приводит исключительно к необходимости переобучения нейросети, но не изменения всей модели в целом.
  3. Математическая модель позволяет получить характеристики надежности не только всей исследуемой программы в целом, но и отдельных ее частей.
  4. Математическая модель является адаптируемой, в том смысле что она может применяться для моделирования оценки характеристик надежности широкого класса банковских тиражных программных продуктов.
  5. Выходные данные математической модели являются числовыми и не столь строго регламентированы, как в других моделях – пользователь может получать различные данные, используя одну и ту же модель и подменяя лишь ядро модели – нейросеть.

Третья глава посвящена описанию разработанного программного комплекса «Reliability Calculator» (далее ПК «RelCalc»). Перед разработкой ПО были выделены все этапы его применения для моделирования надежностных характеристик исследуемой системы (рис. 3).

Как видно из рисунка, основными этапами применения ПК «RelCalc» являются:

  • инструментирование исходного кода исследуемой системы – необходимый этап формирования функционального графа и иерархии исследуемой системы. На этом этапе, в начало каждой функции исходного кода на C++ вставляется код, который при входе и выходе из функций записывает сведения об этом в текстовый файл специального формата (трассировочный файл);

Рис. 2. Этапы применения программного комплекса "Reliability Calculator"

  • обработка трассировочного файла – на этом этапе данные трассировочного файла разбираются и загружаются в базу данных. Таким образом, после этого этапа в базе данных содержатся сведения обо всех использованных функциях исходного кода, об их связях между собой, обо всех функциональностях и их связях с функциями;
  • оценка сложности исследуемых функций – на этом этапе определяется сложность каждой из использованных функций исходного кода;
  • обучение нейросети изменений – комплексный этап, включающий в себя загрузку сведений о запросах и цепочках запросов (выполненных в более ранние сборки системы), выбор пользователем дополнительных параметров модели, автоматическую подготовку обучающего набора и, собственно, обучение нейросети;
  • прогнозирование числа отказов в функциональном графе – еще один комплексный этап, в ходе которого в БД «RelCalc» загружаются сведения обо всех выполненных в исследуемую сборку запросах, автоматически подготавливаются наборы данных для нейросети изменений, эти наборы подаются на вход нейросети, полученное число отказов распространяется по функциональному графу;
  • прогнозирование числа отказов в иерархии систем3ы – на этом этапе полученное число отказов распространяется вверх по иерархии системы, и в итоге получаются искомые данные – число отказов во всех функциональностях системы и во всей системе в целом.

Разработанный программный комплекс состоит из нескольких модулей, отношения между которыми показаны на рис. 4.

Рис. 3. Архитектура программного комплекса "Reliability Calculator"

Здесь, в виде прямоугольников, нарисованных сплошными линиями, изображены модули разработанного ПК «RelCalc», в виде пунктирных прямоугольников – используемые сторонние библиотеки. Соединительные линии представляют свое отношение «предоставляет функции». Так, модуль instrumCmn.dll предоставляет функции модулю relMark.dll.

Конструктивно, программный комплекс состоит из 3-х исполняемых файлов:

  • relCalc.exe – основной исполняемый файл, предоставляющий доступ ко всем функциям системы. Только используя этот модуль можно получить доступ к справочникам системы, вручную отредактировать загруженные данные, получить итоговые результаты.
  • relMark.exe – утилита командной строки, позволяющая инструментировать исходные файлы на языке C/C++.
  • relMcCabe.exe – альтернатива использованию relCalc.exe для определения сложности функций.

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

Модуль, занимающийся обучением нейросети – relLearn.dll – использует функции модуля низкого уровня relFann.dll, который, по сути, является прослойкой между библиотекой Fast Artificial Network Library и прикладным кодом. Тестированием нейросети занимается непосредственно исполняемый модуль relCalc.exe.

Функцию распространения отказов по функциональному графу реализует модуль relErrorConductor.dll, использующий для доступа к БД, как и все остальные модули, модуль relDS.dll.

Загрузкой данных из текстовых файлов занимаются модули loadSCR.dll (данные о запросах на доработку), loadRS.dll (загрузка трассировочных файлов), loadMcCabe.dll (загрузка сведений о сложности функций).

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

Сама исследуемая система написана на языке программирования C/C++ и является тиражной в том смысле, что имеются несколько одновременно поддерживаемых сборок и к ним регулярно выходят патчи. В разработке системы одновременно принимают участие несколько программистов. Основные характеристики системы, приведены в табл. 1:

Таблица 1

Основные характеристики тестируемой системы

Характеристика Значение
Язык C/C++
Количество программистов 3-7 в каждый момент времени
Число исходных файлов ~3000.c,.cpp,.h-файлов
Число функций в исходных файлах ~19000 C/C++ функций и методов
Число тиражных сборок 2-3 в каждый момент времени
Число патчей/месяц 1-2 патча к каждой тиражной сборке

При тестировании модели был допущен ряд упрощений:

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

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

Таблица 2

Характеристики обучающей выборки

Характеристика Значение
Число рассматриваемых патчей 7 патчей к тиражным сборкам
Число реализованных запросов 154 запроса
Число отвергнутых запросов 29 запросов
Число элементарных изменений 595 измененных функций
Число обучающих примеров 512 обучающих примеров

Всего, по запросам, в исходном коде были изменены 595 функций. Вследствие объединения изменений (в случае, если два изменения функции совпадают по всем выбранным параметрам, такое изменение объединяется в одно – при этом число отказов, которое получается вследствие «сводного изменения» равно среднему арифметическому отказов объединенных изменений), число обучающих примеров для нейросети изменения составило в итоге 512.

Всего было обучено 15 нейросетей изменений, разделенных на три класса:

  1. Трехслойная нейросеть со стандартными входами. Первый слой – 4 нейрона, второй – 4 нейрона, 3 – 1 нейрон.
  2. Двухслойная нейросеть со стандартными входами. Первый слой – 4 нейрона, второй – 1 нейрон.
  3. Двухслойная нейросеть со стандартными и одним дополнительным входом. Первый слой – 5 нейронов, второй – 1 нейрон.

Для тестирования модели был выбран патч другой сборки, выпускавшийся практически одновременно с 3 и 4 патчами обучающей выборки. Таким образом, квалификация программистов была оставлена той же, что и для обучающей выборки. Характеристики тестирующей выборки приведены в табл. 3.

Таблица 3

Характеристики тестирующей выборки

Характеристика Значение
Число рассматриваемых патчей 1 патч к тиражной сборке
Число реализованных запросов 75 запросов
Число отвергнутых запросов 11 запросов

Тестирование моделей с первым классом нейросетей – трехслойных, со стандартными входами, показало результаты, приведенные на рис. 5.

Здесь налицо два серьезных недостатка:

  • большой разброс в результатах прогнозирования – одна нейросеть спрогнозировала 17 отказов в системе, другая – 2. Ориентироваться в такой ситуации практически невозможно – модель не поможет, а только запутает человека;
  • отсутствие более-менее правильных оценок во всех нейросетях – ни одна из них не спрогнозировала правильное число отказов – 11. Ближе всего к этой оценке число в 8 отказов, однако, такое качество прогнозирования, естественно, неудовлетворительно.

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

Нейросети второго класса – двухслойные, со стандартными входами – показали наилучший результат. Именно на основании данных, полученных с их помощью, можно сделать вывод о верной работе модели и идеи, которая в нее заложена. Результаты применения моделей этого класса показаны на рис. 6.

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

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

Были случайным образом выбраны 500 запросов, из которых по 34 произошло изменение статуса с «Исправлен» на «Исправлен с ошибкой». На базе этих выбранных запросов, было проведено исследование влияния двух дополнительных полей запроса на возможность повторного появления отказа – важности запроса (очень высокая, высокая, средняя, низкая) и вида подразделения, которое обнаружило отказ (отдел тестирования, отдел внедрения, отдел поддержки и т.п.). Наибольшую поддержку получило правило, в котором говорится, что большая часть повторных отказов обнаруживается по запросам, имеющим значение поля «важность» = «высокая».

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

После подсчета прогнозируемого числа отказов в системе в целом, было проведено распространение отказов вверх по иерархии системы. Результаты этого процесса показаны на рис. 8.

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

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

Рис. 4. Распределение отказов по функциональным блокам

Применения ПК «RelCalc» в процессе разработки тиражных банковских программных систем приведет к следующим положительным эффектам:

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

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

ОСНОВНЫЕ ВЫВОДЫ И РЕЗУЛЬТАТЫ

  1. На основании проведенного анализа существующих моделей надежности ПО и исследований в области банковского ПО сделаны выводы о необходимости разработки новых подходов к моделированию оценки надежности банковского тиражного ПО.
  2. Предложена методика прогнозирования характеристик надежности банковского тиражного программного обеспечения, позволяющая развивать и совершенствовать теорию надежности программного обеспечения.
  3. Разработана модель прогнозирования характеристик надежности банковских тиражных программных систем на основе нейросетевых технологий, обладающая свойствами адаптивности, детализации, конкретизации. Благодаря этим качествам, модель не только позволяет оценить число отказов в очередной сборке тиражной программной системы еще до ее сборки, но и правильно распределить усилия тестировщиков, направив их на тестирование тех функциональных блоков, в которых ожидается наибольшее число отказов.
  4. Применение в качестве ядра модели нейросети, позволило существенно повысить степень автоматизации оценки показателей надежности банковского тиражного программного обеспечения, за счет, в основном, отсутствия необходимости вычислять взаимные зависимости параметров модели.
  5. Разработан программный комплекс «Reliability Calculator», позволяющий автоматизировать все этапы применения модели для прогнозирования числа отказов в очередной сборке тиражной программной системы.
  6. Исследованы возможности применения нейросетей различной мощности для решения поставленной задачи. Проведены исследования быстродействия различных алгоритмов обучения нейросети, в результате которых выбран наиболее подходящий.
  7. На основании результатов практического применения программного комплекса и модели, сделаны выводы о корректности модели и разработанного программного комплекса.

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

  1. Никольский С.О. Анализ применимости моделей надежности к тиражному программному обеспечению / С.О. Никольский, В.К. Гулаков // Проблемы информатики в образовании, управлении, экономике и технике: сборник статей IV всероссийской научно-технической конференции / Под редакцией д.т.н., проф. В.М. Линькова. – Пенза, 2004.
  2. Никольский С.О. Модель надежности тиражного программного обеспечения / С.О. Никольский, В.К. Гулаков // Вестник Брянского Государственного Технического Университета. – № 4 (4), 2004. – Брянск. с. 90-94.
  3. Никольский С.О. Проблемы организации трассировки в сложных программных системах / С.О. Никольский, В.К. Гулаков // Качество инженерного образования: материалы 2-й международной научно-методической конференции. – Брянск, 2005.
  4. Никольский С.О. Модель надежности программного обеспечения на основе интеллектуальных технологий / С.О. Никольский, В.К. Гулаков // Вестник компьютерных и информационных технологий. – № 7 (13), 2005 –М: Машиностроение. с. 43-48.
  5. Никольский С.О. Программный комплекс для моделирования надежности тиражного программного обеспечения с использованием нейросетей / С.О. Никольский // Информационные технологии, энергетика и экономика: сб. трудов III межрег. науч.-техн. конф. студентов и аспирантов. – Смоленск, 2006.
  6. Никольский С.О. Моделирование надежности тиражного программного обеспечения (reliability modeling for circulation software) / С.О. Никольский // Вестник Белгородского университета потребительской кооперации. – №2 (17), 2006. – Белгород. с. 203-207

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

Моделирование оценки характеристик надежности банковских тиражных программных систем на основе нейросетевых технологий

Автореферат

Лицензия №020381 от 24.04.97. Подписано в печать 22.11.06. Формат 60х84 1/16. Бумага офсетная. Офсетная печать. Печ.л. ___. Уч.-изд. л.1. Т.100 экз. Заказ 607. Бесплатно

Брянский государственный технический университет,

241035, г. Брянск, бульвар 50-летия Октября, 7.

Лаборатория оперативной полиграфии БГТУ, ул. Институтская, 16.



 
Похожие работы:

«Шевчик Евгений Валерьевич Информационные стратегии реализации управленческих решений в инфраструктурной среде: алгоритмы и технологии Специальность: 05.13.10 Управление в социальных и экономических системах (экономические науки) Автореферат диссертации на соискание ученой степени кандидата экономических наук Ростов-на-Дону – 2009 Диссертация выполнена на кафедре Экономика и финансы Ростовского государственного университета путей сообщения (РГУПС) Научный...»

«Иванов Артур Александрович совершенствование процесса управления развитием малого бизнеса на основе инструментарных средств теории полезности: методы и модели 05.13.10 – Управление в социальных и экономических системах (экономические науки). АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата экономических наук Ростов-на-Дону – 2009 Диссертация выполнена на кафедре менеджмента и государственного и муниципального управления Таганрогского института управления и...»

«Гладышев Константин Константинович ИНФОРМАТИВНЫЕ ПРИЗНАКИ НА ОСНОВЕ ЛИНЕЙНЫХ СПЕКТРАЛЬНЫХ КОРНЕЙ В СИСТЕМАХ РАСПОЗНАВАНИЯ РЕЧЕВЫХ КОМАНД Специальность 05.13.01 – Системный анализ, управление и обработка информации Автореферат диссертации на соискание ученой степени кандидата технических наук Санкт-Петербург 2010 Работа выполнена на кафедре цифровой вычислительной техники и информатики в Санкт-Петербургском государственном университете телекоммуникаций им. проф. М.А....»

«МЕРКУЛОВА НИНА НИКОЛАЕВНА Сравнительный системный анализ параметров аллоиммунизации коренного и пришлого населения Югры 05.13.01 – системный анализ, управление и обработка информации (биологические науки) АВТОРЕФЕРАТ диссертации на соискание ученой степени доктора биологических наук Сургут, 2009 Работа выполнена в НИИ Биофизики и медицинской кибернетики при ГОУ ВПО Сургутский государственный университет Ханты-Мансийского автономного округа-Югры и БУ ВПО ХМАО-Югры...»

«Бурдо Георгий Борисович ОСНОВЫ ПОСТРОЕНИЯ автоматизированнЫХ СИСТЕМ проектирования технОЛОГИЧЕСКИХ ПРОЦЕССОВ И СОПРОВОЖДЕНИЯ ПРОИЗВОДСТВА ИЗДЕЛИЙ В ГЕОФИЗИЧЕСКОМ ПР И БОРОСТРОЕНИИ Специальность 05.13.12 – Системы автоматизации проектирования (в промышленности) АВТОРЕФЕРАТ диссертации на соискание ученой степени доктора технических наук Тверь-2011 Работа выполнена в Тверском государственном техническом университете Научный консультант - доктор технических наук, профессор ПАЛЮХ...»

«Гречухина Оксана Николаевна Моделирование молекулярной динамики в димерах карбоновых кислот 05.13.18 - Математическое мо­делирование, численные методы и комплексы программ АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата физико-математических наук Астрахань - 2009 Работа выполнена на кафедре общей физики Астраханского государственного университета Научный руководитель: доктор технических наук, доцент Лихтер Анатолий Михайл о вич ( Астраханский государственный...»

«Кружилов Иван Сергеевич МЕТОДЫ И ПРОГРАММНЫЕ СРЕДСТВА ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ РАСПОЗНАВАНИЯ ГРУПП ЗВЕЗД В АВТОНОМНОЙ АСТРОНАВИГАЦИИ Специальность 05.13.11 – Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук Москва – 2010 Работа выполнена в ГОУ ВПО Московском энергетическом институте...»

«Алексеенко Елена Викторовна Математические модели турбулентного обмена для гидродинамических процессов в мелководных водоемах Специальность: 05.13.18 – Математическое моделирование, численные методы и комплексы программ Автореферат диссертации на соискание ученой степени кандидата физико-математических наук Таганрог 2010 Работа выполнена в Таганрогском технологическом институте Южного федерального университета на кафедре высшей математики. Научный руководитель: доктор...»

«_ НОВИКОВ СЕРГЕЙ ЮРЬЕВИЧ РАЗРАБОТКА И ИССЛЕДОВАНИЕ НЕЧЕТКИХ МОДЕЛЕЙ СЕРВИСОВ И НЕЧЕТКИХ АЛГОРИТМОВ ИНТЕЛЛЕКТУАЛЬНОГО УПРАВЛЕНИЯ УСЛУГАМИ В ИНФОРМАЦИОННЫХ СИСТЕМАХ ПРЕДПРИЯТИЙ Специальность: 05.13.17 — Теоретические основы информатики. АВТОРЕФЕРАТ диссертации на соискание учёной степени кандидата технических наук Таганрог – 2007 Работа выполнена в Технологическом институте Южного федерального университета в г.Таганроге. НАУЧНЫЙ РУКОВОДИТЕЛЬ: доктор технических наук, профессор...»

«АФАНАСЬЕВ Александр Николаевич ГРАФО-АНАЛИТИЧЕСКИЙ ПОДХОД К АНАЛИЗУ И КОНТРОЛЮ ПОТОКОВ РАБОТ В АВТОМАТИЗИРОВАННОМ ПРОЕКТИРОВАНИИ СЛОЖНЫХ КОМПЬЮТЕРИЗОВАННЫХ СИСТЕМ Специальность: 05.13.12 – Системы автоматизации проектирования (промышленность) АВТОРЕФЕРАТ диссертации на соискание ученой степени доктора технических наук Ульяновск – 2011 Работа выполнена на кафедре Вычислительной техники Ульяновского государственного технического университета Научный консультант: доктор...»

«ФЁДОРОВА ЕЛИЗАВЕТА АЛЕКСАНДРОВНА МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ, ЧИСЛЕННЫЕ МЕТОДЫ И КОМПЛЕКС ПРОГРАММ ДЛЯ ЗАДАЧИ ВЗАИМОДЕЙСТВИЯ ДВУХ ЭКОНОМИЧЕСКИХ АГЕНТОВ Специальность 05.13.18 – Математическое моделирование, численные методы и комплексы программ АВТОРЕФЕРАТ диссертации на соискание учёной степени кандидата физико-математических наук Тверь 2012 Работа выполнена в Тверском государственном университете Научный руководитель: кандидат физико-математических наук,...»

«Бояркин Михаил Игоревич СИнтез информационной системы группировки многомерных данных с использованием кластерного анализа Специальность 05.13.01 – Системный анализ, управление и обработка информации (промышленность) АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук Самара – 2008 Работа выполнена на кафедре Автоматика и управление в технических системах ГОУ ВПО Самарский государственный технический университет. Научный руководитель: – доктор...»

«АТРОЩЕНКО Полина Валерьевна ИНФОРМАЦИОННАЯ ПОДДЕРЖКА ПРИНЯТИЯ РЕШЕНИЙ В ПРОЦЕССЕ УПРАВЛЕНИЯ ЛИЗИНГОВОЙ ДЕЯТЕЛЬНОСТЬЮ 05.13.10 – Управление в социальных и экономических системах Автореферат диссертации на соискание ученой степени кандидата технических наук Уфа 2008 Работа выполнена на кафедре вычислительной математики и кибернетики Уфимского государственного авиационного технического университета Научный руководитель д-р техн. наук, профессор Юсупова Нафиса Исламовна...»

«Старинец Дмитрий Владимирович Задача оптимального управления ресурсами промышленного предприятия с учетом взаимодействия со смежными предприятиями. Специальность 05.13.01. – Системный анализ, управление и обработка информации (промышленность). АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата физико-математических наук Москва - 2009 Работа выполнена в Московском физико-техническом институте (Государственный университет) Научный руководитель: доктор...»

«Халафян Алексан Альбертович АНАЛИЗ И СИНТЕЗ МЕДИЦИНСКИХ СИСТЕМ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ НА ОСНОВЕ ТЕХНОЛОГИЙ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ Специальность 05.13.01 – Системный анализ, управление и обработка информации (информационные и технические системы) АВТОРЕФЕРАТ диссертации на соискание ученой степени доктора технических наук Краснодар - 2010 Работа выполнена в Кубанском государственном технологическом университете Научный консультант: Официальные оппоненты: Ведущая...»

«И сламов Ринат Робертович МОДЕЛИРОВАНИЕ ДИНАМИЧЕСКИХ СИСТЕМ С ГИРОСКОПИЧЕСКОЙ СТРУКТУРОЙ ПРИ ПАРАМЕТРИЧЕСКИХ ВОЗМУЩЕНИЯХ Специальность 05.13.18 - Математическое моделирование, численные методы и комплексы программ АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата физико-математических наук Уфа 2007 Работа выполнена на кафедре вычислительной техники и защиты информации в ГОУ ВПО Уфимский государственный авиационный технический университет Научный руководитель...»

«Мишенькина Юлия Станиславовна МЕТОД КОМПЛЕКСНОЙ ВОЗМОЖНОСТНОЙ ОЦЕНКИ СВОЙСТВ СЛОЖНЫХ СИСТЕМ НА ПРИМЕРЕ БЕЗОПАСНОСТИ ГАЗОВЫХ КОММУНИКАЦИЙ Специальность 05.13.17 – Теоретические основы информатики АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук Ростов-на-Дону 2008 Работа выполнена в Ростовской академии сервиса Южно-Российского государственного университета экономики и сервиса. Научный руководитель: доктор технических наук, доцент Есипов Юрий...»

«ГАЛКИН Сергей Аркадьевич распределенная система оптимального управления процессом выщелачивания в производстве глинозема (на примере Бокситогорского глиноземного завода ) Специальность 05.13.06 – Автоматизация и управление технологическими процессами и производствами (металлургия) Автореферат диссертации на соискание ученой степени кандидата технических наук САНКТ-ПЕТЕРБУРГ 2010 Работа выполнена в Государственном образовательном учреждении высшего...»

«Чистякова Татьяна Алексеевна ПОСТРОЕНИЕ И ИССЛЕДОВАНИЕ ДИСКРЕТНОЙ МАТЕМАТИЧЕСКОЙ МОДЕЛИ БЕЗЫНЕРЦИОННЫХ ПРОСТРАНСТВЕННЫХ ЭФФЕКТОВ В ВОЛНОВЫХ ПОЛЯХ КОНЕЧНОЙ АМПЛИТУДЫ Специальность: 05.13.18 – Математическое моделирование, численные методы и комплексы программ АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата физико-математических наук Таганрог – 2010 Работа выполнена в Технологическом институте Южного федерального университета в г. Таганроге (ТТИ ЮФУ). Научный...»

«ЧЕФРАНОВ СЕРГЕЙ ГЕОРГИЕВИЧ Теория, методология, инструментарий управления региональными экономическими системами: проектно-эволюционный подход Специальность: 05.13.10 - управление в социальных и экономических системах (экономические науки) АВТОРЕФЕРАТ диссертации на соискание ученой степени доктора экономических наук Ростов-на-Дону – 2008 Диссертационная работа выполнена в Майкопском государственном технологическом университете Научный консультант: доктор экономических наук,...»








 
2014 www.avtoreferat.seluk.ru - «Бесплатная электронная библиотека - Авторефераты диссертаций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.