ОПРЕДЕЛЕНИЕ НАДЕЖНОСТИ СИСТЕМЫ ЭЛЕКТРОННОГО ДОКУМЕНТООБОРОТА DIRECTUM ПО результатам эксплуатации
- Авторы: Мостовой Я.А.1, Бурзуева Н.Н.1
-
Учреждения:
- Поволжский государственный университет телекоммуникаций и информатики
- Выпуск: Том 14, № 3 (2016)
- Страницы: 279-285
- Раздел: Статьи
- URL: https://journals.eco-vector.com/2073-3909/article/view/56266
- DOI: https://doi.org/10.18469/ikt.2016.14.3.08
- ID: 56266
Цитировать
Полный текст
Аннотация
В статье рассмотрены вопросы расчета показателей надежности программного обеспечения по результатам статистической обработки наблюдений за числом проявившихся ошибок для системы электронного документооборота Directum, дорабатываемой по требованиям заказчика. Предложены и рассмотрены две дополняющие друг друга модели проявления ошибок - дискретная и непрерывная и рассчитаны методом наименьших квадратов параметры Джелинского-Моранды. Достигнутые в результате отладки системы Directum показатели надежности оценены и могут уточняться при эксплуатации. Полученные результаты позволяют прогнозировать изменения надежности системы Directum.
Полный текст
Постановка задачи При разработке сложных технических систем широко используются количественные показатели надёжности. Эти показатели наряду с другими показателей эффективности задаются при проектировании систем, и позволяют выбирать оптимальные или компромиссные проектные решения с учетом их надежности. При разработке программного обеспечения (ПО), определяющего в настоящее время концептуальный уровень систем, широко используются методы его верификации, направленные на повышение его надежности, но расчет достигнутой надежности на практике не проводится. В работах [1-4] рассмотрены различные показатели надежности ПО и подходы к их определению и отмечается, что ни один из подходов не получил широкого распространения. Одна из причин этого связана с неразвитостью методов расчёта, другая с тем, что факты и причины проявления ошибок в ПО часто не указываются разработчиком или маскируются им под проведение улучшений по требованиям заказчика, что затрудняет проведение анализа. В этой ситуации предлагается считать, что любое проведенное разработчиком формально зарегистрированное исправление кода является устранением ошибки своей или заказчика, который может устранять свою ошибку стадии определения требований. В то же самое время анализ достигнутых показателей надежности позволяет оценить правильность технологии разработки ПО, наметить и разработать мероприятия, позволяющие уменьшать количество ошибок, передаваемых на этап эксплуатации ПО. Это делает необходимым создание общей модели проявления ошибок в ПО, модели изменения надежности ПО с течением времени. Эта необходимость очевидна еще и потому, что обеспечить высокую надежность ПО можно только, научившись ее измерять. При создании общей математической модели проявления ошибок в ПО необходимо учесть и придать ей конкретную индивидуальную применимость, чтобы модель содержала согласующие параметры, которые должны определяться для каждого ПО индивидуально по наблюдениям за тем, как часто проявляются ошибки в данном конкретном ПО. Вопросы расчета показателей надежности программного обеспечения рассмотрены применительно к системе электронного документооборота Directum. При этом предложено использовать две модели проявления ошибок непрерывную и дискретную. Обе модели опираются на гипотезу Джелинского-Моранды [1-2]. Непрерывная модель «заточена» на наблюденное на некотором интервале времени количестве ошибок в ПО, то есть непосредственно на результаты наблюдений. По ней удобно определять параметры Джелинского-Моранды. Однако на выходе у непрерывной модели - число оставшихся в ПО ошибок, которое принимает с течением времени все меньшее и меньшее значение, но никогда не достигает нуля. Это затрудняет интерпретацию результатов расчетов. Поэтому рассмотрена также дискретная модель проявления ошибок программного обеспечения, опирающаяся на марковский случайный процесс типа Юла-Фарри с переменной интенсивностью переходов между состояниями процесса с учетом тех же параметров Джелинского- Моранды. Эта дискретная модель позволяет, рассматривая случайный динамический процесс проявления ошибок при отладке или эксплуатации ПО, определить показатели его надежности за требуемое время. При этом обработка статистики по проявившимся с течением времени ошибкам проводится процедурой метода наименьших квадратов [5-6] в рамках непрерывной модели. Directum - это система электронного документооборота и управления взаимодействием производства компании Directum, нацеленная на повышение эффективности работы сотрудников организации в разных областях их совместной деятельности. Система относится к классу ECM-систем (Enterprise Content Management) и поддерживает полный жизненный цикл управления документами, при этом традиционное «бумажное» делопроизводство органично вписывается в электронный документооборот. Directum обеспечивает организацию и контроль деловых процессов на основе технологии Workflow: согласование документов, обработка сложных заказов, подготовка и проведение совещаний, поддержка цикла продаж и других процессов взаимодействия [10]. Ряд организаций в процессе официального сопровождения ПО на основе платформы Directum проводит самостоятельные его доработки под потребности пользователей. Периодически данные доработки приводят к ошибкам. С целью улучшения работы данной системы электронного документооборота была собрана статистика проявления ошибок в ПО за период времени 8 мес., проведены расчеты для определения количества оставшихся ошибок на конечный момент и для определения времени полного устранения ошибок с вероятностью 0,99. Методы исследования Свяжем состояния дискретного марковского случайного процесса проявлений ошибок в ПО с количеством обнаруженных ошибок [5]. Состоянию соответствует ноль обнаруженных ошибок - это начальное состояние нашего дискретного марковского процесса. Состоянию соответствует одна проявившаяся ошибка, - две; - три; - ошибок и состоянию соответствует ошибок, причем всего в ПО ошибок. С течением времени все они проявятся и процесс завершится (см. рис. 1). Рис. 1. Граф состояний процесса «гибели» С каждым состоянием процесса свяжем вероятность пребывания в этом состоянии. . Далее t в обозначениях вероятностей мы будем опускать, подразумевая, что P - это функции времени. Данный случайный процесс с «линейчатым» графом характерного вида носит название процесса «гибели или размножения» и широко применяется в теории надежности, теории массового обслуживания [8]. Имея граф состояний процесса можно расписать систему уравнений Колмогорова для данного случайного процесса, которая имеет вид … (1) … Начальные условия для этой системы: (2) Нормирующее условие имеет вид (3) Однако для случайного процесса проявления ошибок в чистом виде процесс «гибели» или размножения с постоянной интенсивностью проявления ошибок не совсем подходит. Практика использования ПО и физические соображения говорят, что с течением времени по мере обнаружения все большего числа ошибок в ПО и их исправления интенсивность проявления оставшихся ошибок уменьшается, то есть с течением времени уменьшается также. Гипотеза Джелинского - Моранды позволяет учесть этот факт, связывая, однако, переменность интенсивности проявления ошибок не со временем, а с состояниями процесса - числом оставшихся ошибок. Это позволяет нам оставаться в рамках марковских случайных процессов. Согласно указанной гипотезе [1], интенсивность проявления ошибок пропорциональна числу оставшихся ошибок: , (4) где k - коэффициент пропорциональности; n - число проявившихся ошибок; N0 - начальное число ошибок; (N0 - n) - число оставшихся ошибок. Запишем уравнения Колмогорова для процесса проявления ошибок и подставим в них значения интенсивности проявления ошибок: = (5) Процесс с зависящей от состояния процесса интенсивностью перехода , рассмотренный нами, называется случайным процессом типа Юла-Фарри [5]. Применение преобразования Лапласа для данного процесса позволяет получить изображения вероятностей его пребывания в интересующих состояниях (в нашем случае это вероятность состояния, когда все ошибки проявились). Применим последовательно преобразование Лапласа к системе уравнений Колмогорова с учетом начальных условий: (6) … … Последовательно подставляя в изображение для каждого Рn(s) выражение для Рn - 1(s), имеем (7) Разделим и числитель, и знаменатель на . В случае, когда = , то есть когда все ошибки обнаружены, имеем изображение вида: (8) В достаточно полных таблицах преобразования Лапласа есть подобные изображения и оригиналы. Последнее изображение приведено к табличному виду [5]. Применим обратное преобразование Лапласа: (9) Соотношение (9) определяет вероятность обнаружения (проявления) всех N0 ошибок за время t. В данной формуле и k неизвестны и, более того, они индивидуальны для каждого ПО, для каждого программиста и не могут иметь общего значения. Модель изменения надежности программного обеспечения, основанная на гипотезе Джелинского - Моранды позволяет, основываясь на наблюдениях за процессом проявления ошибок в ПО, определить характеристику его надежности - интенсивность проявления ошибок , а точнее начальное число ошибок и параметр k, определяющий скорость проявления ошибок. Решение дифференциального уравнения первого порядка относительно числа проявившихся ошибок n, вытекает из записи (4): (10) Запишем выражение для числа ошибок, проявившихся на интервале , полагая шаг наблюдений за проявлениями ошибок равномерным (11) Здесь - приращение числа обнаруженных ошибок на интервале . Пусть шаг можно выбрать так, чтобы произведение k < 1. Тогда, разлагая экспоненциальную функцию в ряд и пренебрегая членами выше первой степени k , как малыми, имеем (12) Для определения методом наименьших квадратов параметров N0 и k запишем сумму квадратов невязок (13) Найдем значение и k, при которых эта сумма имеет минимум. Для этого приравняем нулю производные суммы по искомым параметрам: (14) Окончательно запишем полученную систему двух уравнений с двумя неизвестными и k. (7) (8) Выразим из первого уравнения , раскрывая скобки и вынося постоянные, независящие от индекса i, за знак суммы: (15) (16) Подставляя это выражение во второе уравнение, после преобразований имеем (17) Мы получили уравнение с одним неизвестным k, которое может быть решено численно. Отладка ПО должна проводиться по плану и завершаться по выполнению намеченного плана. Модель Джелинского - Моранды может независимо и достаточно достоверно оценивать ход процесса отладки, который целесообразно прекращать, когда интенсивность проявления ошибок достигла через определенное времени очень низкого значения. Однако есть два момента, которые надо рассмотреть, чтобы получить ответ на вопрос о том, когда можно прекращать отладку. Во-первых, рассмотренная модель аппроксимации ошибок экспонентой является непрерывной и может показывать дробное число ошибок на заданный момент времени, в том числе и значение числа оставшихся ошибок меньше единицы. Во-вторых, модель никогда не покажет отсутствие оставшихся ошибок - их число будет приближаться к нулю бесконечно долго. Это не соответствует физическому смыслу и может считаться недостатком рассмотренной непрерывной модели надежности ПО. Выше нами рассмотрена дискретная модель с непрерывным временем для определения вероятности проявления n ошибок, построенная на базе случайного процесса «гибели», также с использованием параметров Джелинского-Моранды и была получена формула (9), определяющая вероятность обнаружения всех ошибок из , имеющихся в ПО. Задавшись вероятностью обнаружения всех ошибок в ПО, мы можем определить время, для которого данная вероятность будет достигнута. Это позволяет ответить на вопрос сколько времени надо продолжать отладку - столько, чтобы вероятность отсутствия ошибок была, например, 0,999 или любым другим заданным числом. Результаты исследования Для данной работы была собрана статистика возникновения ошибок для доработок программного обеспечения системы Directum за 8 месяцев. Для нахождения коэффициента пропорциональности была организована итерационная численная процедура вычисления левой и правой части равенства (17) при различных значениях k Процедура прекращается и k считается найденным, как только разница между вычисленной левой и правой частью равенства, которую обозначим ε, станет меньше заданного малого числа, например, ε = 10-6. Рис. 2. График изменения функции На рис. 2 представлен график функции , которая для k = 0,26 практически равна 0. Полученное значение k подставим в (15) олучим результат = 195,994. Проведен расчет сглаженных методом наименьших квадратов значений по определенным и k и формуле (13) и построен совместный график изменений по результатам наблюдений и сглаженных методом наименьших квадратов в функции (см. рис. 3). Рис. 3. Аппроксимация методом наименьших квадратов исходных данных расчетными данными Задавшись вероятностью обнаружения всех ошибок в ПО по формуле (9) определим время, за которое ПО Directum достигнет заданной надежности: это время составляет t = 23,857 месяца. Выводы Рассмотрены две модели для оценки надежности ПО: непрерывная относительно числа проявившихся ошибок за время t и дискретная относительно вероятности проявления n ошибок на момент времени t. Обе модели опираются на одинаковые параметры Джелинского - Моранды, которые определены по непрерывной модели методом наименьших квадратов. Проведены расчеты по собранным статистическим данным и формально зарегистрированным изменениям кода. Изменение по времени количества проявившихся ошибок позволяет сделать вывод, что: все ошибки, внесённые при доработках системы электронного документооборота Directum будут устранены через 23,857 месяца с вероятностью . Необходимы тщательный подход к проведению отладки доработок ПО Directum с использованием моделей операционной среды и более тщательный и формальный подход к регистрации изменений кода ПО Directum.×
Об авторах
Яков Анатольевич Мостовой
Поволжский государственный университет телекоммуникаций и информатики
Email: jakob.mostovoi@yandex.ru
Наталья Новрузовна Бурзуева
Поволжский государственный университет телекоммуникаций и информатики
Email: nburzueva@gmail.com
Список литературы
- Майерс Г. Надежность программного обеспечения. М.: Мир, 1980. - 360с.
- Благодатских В.А., Волнин В.А., Поскакалов К.Ф. Стандартизация разработки программных средств. М.: Финансы и статистика, 2005. - 288 с.
- Романюк С.Г. Оценка надежности ПО // Открытые системы. №4, 1994. - С. 95-104.
- Василенко И.В., Макаров В.А. Модели оценки надежности программного обеспечения // Вестник НовГУ. №28, 2004. - С. 126-132.
- Козлов Д.И., Аншаков Г.П., Мостовой Я.А., Соллогуб А.В. Управление космическими аппаратами зондирования Земли. Компьютерные технологии. М.: Машиностроение, 1998. - 368 с.
- Мостовой Я.А. Лекции по технологии разработки программного обеспечения. Самара: Изд-во ПГУТИ, 2014. - 178 с.
- Вентцель Е.С. Исследование операций. Задачи, принципы, методология. М.: Дрофа, 2004. - 208 с.
- Сандлер Дж. Техника надежности систем. М.: Наука, 1966. - 300 с.
- Дейч Г. Руководство к практическому применению преобразования Лапласа. М.: Наука,1965. - 288 с.
- Directum. Wikipedia.org // URL: https://ru.wikipedia.org/wiki/Directum (д.о. 07.03.2016)
- О системе Directum. Электронный документооборот и управление взаимодействием // URL: http://www.directum.ru/system (д.о.10.05.2016).
- Directum (СЭД/ECM-система). Tadviser. Государство. Бизнес. ИТ // URL:.о.http://www.tadviser.ru/index.php/Продукт: Directum_ (СЭД/ECM-система) (д.о. 10.05.2016).
Дополнительные файлы
![](/img/style/loading.gif)