Національна академія наук України Інститут кібернетики імені В. М. Глушкова нан україни

Вид материалаАвтореферат

Содержание


Науковий керівник
Офіційні опоненти
Провідна установа
Загальна характеристика роботи
Зміст роботи
Модель розподілу надійності по компонентах ПС
Постановка задачі
G, яка припадає на цей модуль з огляду на його внесок в надійність системи, та з урахуванням частки прибутку 
Контроль досяжності цільового рівня надійності в ході ЖЦ ПС
Графічна модель прогнозування щільності дефектів
Назва вершини
Методи вдосконалення базового процесу розроблення програмних систем
Основні положення дисертації опубліковані в таких працях
Коваль Г. И. Модели и методы инженерии качества программных систем на ранних стадиях жизненного цикла.
Подобный материал:



Національна академія наук України

Інститут кібернетики імені В.М. Глушкова НАН України


КОВАЛЬ Галина Іванівна




УДК 681.3.06




МОДЕЛІ І МЕТОДИ ІНЖЕНЕРІЇ ЯКОСТІ

ПРОГРАМНИХ СИСТЕМ

НА РАННІХ СТАДІЯХ ЖИТТЄВОГО ЦИКЛУ


01.05.03 – математичне та програмне забезпечення обчислювальних машин і систем


Автореферат

дисертації на здобуття наукового ступеня

кандидата фізико-математичних наук


Київ – 2005

Дисертацією є рукопис.

Робота виконана в Інституті програмних систем НАН України


Науковий керівник: доктор фізико-математичних наук, професор

ЛАВРІЩЕВА Катерина Михайлівна,

Інститут програмних систем НАН України,

завідувач відділом.


Офіційні опоненти: член-кореспондент НАН України,

доктор фізико-математичних наук, професор

ПЕРЕВОЗЧИКОВА Ольга Леонідівна

Інститут кібернетики ім. В.М. Глушкова НАН України,

завідувач відділом

кандидат фізико-математичних наук, доцент

ГЛИБОВЕЦЬ Микола Миколайович

Національний університет “Києво-Могилянська Академія”,

завідувач кафедри інформатики, декан факультету інформатики


Провідна установа: Київський національний університет ім. Тараса Шевченка,

факультет кібернетики, кафедра теорії програмування


Захист відбудеться «_23_» _грудня 2005 р. о (об) _12_ годині на засіданні спеціалізованої вченої ради Д 26.194.03 при Інституті кібернетики імені В.М. Глушкова НАН України за адресою:

03680, МСП, Київ-187, проспект Академіка Глушкова, 40.


З дисертацією можна ознайомитися в науково-технічному архіві Інституту кібернетики

ім. В.М. Глушкова.

Автореферат розісланий «___» _________ 2005 р.

Учений секретар

спеціалізованої вченої ради СИНЯВСЬКИЙ В.Ф.


ЗАГАЛЬНА ХАРАКТЕРИСТИКА РОБОТИ

Ключовим аспектом підвищення конкурентоспроможності програмних систем (ПС) є покращення їх якості.

Питанням забезпечення якості ПС приділялась значна увага в теоретичних та методологічних роботах українських вчених, зокрема, Глушкова В.М., Ющенко К.Л., Сергієнко І.В, Андона П.І., Перевозчикової О.Л., Коваленко І.М., Вельбицького І.В., Кулакова А.Ф., Лавріщевої К.М. та інших вчених.

Сучасні темпи розвитку програмної індустрії спричинили зміну парадигми якості і виділення інженерії якості окремим напрямком програмної інженерії. Були розроблені та введені в дію міжнародні та державні стандарти з якості, які склали нормативну базу її забезпечення. Але теоретичний та методичний апарат поетапного створення високоякісних ПС, починаючи з самих ранніх стадій їх життєвого циклу (ЖЦ), потребує подальшого вдосконалення.

Інженерія якості - процес забезпечення властивостей ПС, які характеризують їх якість, а одна з її головних задач – керування якістю за кількісними показниками.

В даній роботі пропонуються математичні моделі та методи інженерії якості, застосовні на ранніх етапах виконання програмних проектів (до початку системного тестування).

Досвід створення програмних систем оброблення даних показує, що визначальною характеристикою якості досліджуваного класу ПС є надійність. Оскільки ці ПС за призначенням та ознаками не є критичними з позицій безпеки функціонування, серед підхарактеристик надійності перевага надається завершеності (безвідмовності) - властивості ПС уникнути відмови через приховані дефекти. Тому в даній роботі саме завершеність визначена ключовою характеристикою якості, на забезпечення якої спрямовані запропоновані в роботі моделі та методи.

Актуальність теми. Відомо, що особливо “дорого коштує” розробникові подолання наслідків помилок, які були припущені на ранніх стадіях ЖЦ і своєчасно не виправлені, оскільки вони призводять до появи і поширення дефектів у робочих продуктах ПС, складність усунення яких з часом лише зростає. Тому запобігання дефектів і їх виявлення безпосередньо на тих стадіях ЖЦ, на яких вони були внесені, є головною задачею інженерії якості. Хоча реєстрація відмов і дефектів у програмних продуктах є обов'язковою вимогою базового стандарту з якості - ISO 9000-3, її реалізація не можлива без вдосконалення процесів ЖЦ, зокрема верифікації та вимірювання, які є базовими процесами в інженерії якості.

З появою нового процесу “керування якістю” в еталонній моделі процесів ЖЦ ПС особливо зросла актуальність розроблення таких моделей та методів інженерії якості, які б забезпечували науково-методичну та програмно-технологічну підтримку прийняття ефективних рішень з керування якістю впродовж виконання проекту.

Величезна швидкість розвитку галузі і висока мінливість потреб замовників та умов виконання проектів спонукають розробників до впровадження в проекти ПС нових адаптивних методологій розроблення ПС та моделей ЖЦ (наприклад, екстремальне програмування), у яких ЖЦ на основі статичної каскадної моделі замінюється динамічним ЖЦ за моделлю “Обдумування - Взаємодія – Навчання”. Це свідчить про актуальність проблеми пристосування методів інженерії якості до сучасних реалій.

В умовах високого рівня невизначеності впливу одних чинників якості на інші та на якість кінцевого програмного продукту для прийняття рішень, адекватних поточному стану забезпечення якості, необхідне залучення сучасних методів та засобів інтелектуального аналізу даних, зокрема метода аналізу ієрархій та апарату байєсівських мереж, і розроблення на їх основі моделей і методів інженерії якості.

У дисертаційній роботі узагальнені результати досліджень автора у 1992-2005 роках з проблем забезпечення якості та надійності ПС оброблення даних, вдосконалення існуючих, а також розроблення нових моделей та методів інженерії якості.

Мета та задачі дослідження. Метою дисертаційної роботи було проведення комплексу досліджень в області інженерії якості ПС оброблення даних, удосконалення теоретичного апарату моделювання та прогнозування якості ПС на ранніх стадіях їх створення для прийняття ефективних рішень з керування якістю.

Для цього в роботі розв’язуються наступні задачі:
  • аналіз підходів до моделювання якості і побудова моделі якості ПС оброблення даних на базі метрик надійності (завершеності) ПС;
  • дослідження методів встановлення кількісних цільових рівнів якості програмного забезпечення систем та розроблення моделі розподілу надійності по ієрархічній структурі ПС, яка базується на оцінках важливості кожного програмного компонента у виконанні функцій системи;
  • аналіз методів прогнозування якості ПС на ранніх стадіях ЖЦ та розроблення методу прогнозування досяжності цільового рівня надійності кожного компонента ПС, заснованого на оцінюванні впливу різних чинників на кількість дефектів;
  • огляд математичних моделей прогнозування дефектів у ПС та побудова нової графічної моделі з використанням апарату байєсівських мереж;
  • розроблення методик вдосконалювання процесів ЖЦ, безпосередньо спрямованих на підвищення якості ПС, та визначення метрик для оцінювання ефективності цих процесів;
  • розроблення та теоретичне обґрунтування нового підходу в інженерії якості ПС, який концептуально об’єднує запропоновані моделі, методи та методики у цілісну систему забезпечення та контролю якості на стадіях ЖЦ;
  • проектування та реалізація програмного комплексу (ПК) Менеджер_Якості, призначеного для підтримки прийняття рішень із забезпечення та оцінки якості ПС;
  • впровадження запропонованих моделей, методик та програмних засобів інженерії якості в конкретні проекти ПС оброблення даних.

Методи дослідження. Розроблення моделі розподілу надійності по структурі ПС виконано з використанням метода аналізу ієрархій (МАІ), моделі та методу прогнозування надійності - з використанням теорії ймовірності, математичної статистики та апарату байєсівських мереж (БМ), а також теорії надійності програмних засобів та теорії прогнозування. Методика дослідження базується на теоретичних і прикладних результатах, досягнутих у програмній інженерії.

Наукова новизна одержаних результатів полягає в удосконаленні теоретичного апарату інженерії якості ПС для підтримки прийняття обґрунтованих рішень з керування якістю в програмному проекті шляхом застосування розроблених автором:
  • математичної моделі оптимального розподілу надійності по модулях ієрархічної структури системи оброблення даних з урахуванням їх незалежності, а також встановлених за допомогою МАІ взаємозв’язків оцінок внеску різних компонентів цієї структури в забезпечення необхідної якості ПС;
  • моделі та методу раннього прогнозування досяжності цільового рівня надійності кожного компонента ПС, які враховують вплив на якість не лише його конструктивних особливостей, але й умов розроблення та функціонування;
  • оригінального програмного комплексу для реалізації розроблених моделей та методів інженерії якості, який функціонально відрізняється від відомих інструментів.

Практичне значення одержаних результатів роботи полягає в тому, що впровадження в програмні проекти запропонованих в дисертації нових математичних моделей, методів, методик та програмних засобів сприяє підвищенню керованості проектами за критерієм якості, обґрунтованості дій із забезпечення якості на ранніх стадіях ЖЦ, а також вдосконаленню виконуваних процесів розроблення ПС.

Отримані результати досліджень та програмні засоби впроваджені у проекти ДКР зі створення ПС, виконуваних на замовлення МО України. Окремі результати досліджень використані та впроваджені в навчальний процес у рамках дисциплін “Забезпечення надійності комп’ютерних систем” та “CASE-технології” (Міжнародний науково-технічний університет, м. Київ), “Автоматизоване проектування інформаційних систем в економіці”, “Управління програмними проектами” та “Системи підтримки прийняття рішень” (Український фінансово-економічний інститут, м. Київ).

Особистий внесок здобувача. Теоретичні результати дисертаційної роботи, а саме – розроблені та обґрунтовані математична модель розподілу надійності ПС, графічна модель та метод прогнозування надійності, алгоритми їх програмної реалізації - автором отримані самостійно. Методичні матеріали, а також ПК Менеджер_Якості, розроблені автором разом з Коротун Т.М. (с.н.с. Інституту програмних систем НАН України).

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

Зв’язок роботи з науковою тематикою. Дисертація виконувалася за планами наукових досліджень Інституту програмних систем НАН України за темами:
    • “Розробка методик, програмних засобів тестування та оцінки надійності програмного забезпечення” (НДР 6.1.3./1702-92, N UA0I009618P);

“Дослідження та розробка моделей, методів та засобів оцінки та забезпечення підвищених характеристик надійності розробки прикладних програм у системах обробки даних військового призначення” (НДР N 0-92-66, шифр “Вілена-УА” 1992-1994);
  • “Розробка концепції, методів та нормативно-методичного забезпечення інженерії якості прикладних програмних систем” (НДР шифр “Ф1/02К-1998-2001”, ДР 0100U006530);
  • “Розробка концепції, методів та методичного апарату вдосконалення та стандартизації процесів життєвого циклу систем програмного забезпечення” (НДР шифр “1/02-2002”, 2002 – 2006, ДР 0102U005991).

Апробація роботи. Результати роботи доповідалися на наукових семінарах Інституту програмних систем НАН України, Інституту кібернетики НАН України, Міжнародних науково-практичних конференціях УкрПрог’1998, 2002 та 2004.

Публікації. Основні результати дослідження опубліковано у дванадцяти наукових роботах у фахових виданнях, затверджених ВАК України.

Структура і обсяг. Дисертаційна робота складається із вступу, чотирьох розділів, висновків, списку використаних джерел та чотирьох додатків. Обсяг роботи складає 138 сторінок, містить 41 рисунок, 32 таблиці, два акти та дві довідки про впровадження результатів дисертаційної роботи.

ЗМІСТ РОБОТИ


У вступі обґрунтовано актуальність теми, сформульовано мету і задачі досліджень, їхню наукову новизну та практичне значення.

У першому розділі проведено всебічний аналіз сучасного стану інженерії якості, сформульовано загальний підхід до забезпечення якості, спрямований на вирішення трьох груп задач інженерії якості ПС на ранніх стадіях ЖЦ:
  • обґрунтування цільових вимог до якості ПС;
  • визначення стратегії досяжності вимог на кожному етапі робіт за проектом;
  • забезпечення вимірності робочих продуктів, процесів та ресурсів проекту з метою оцінювання їх стану та вдосконалення.

Розроблено і обґрунтовано трирівневу модель якості, яка забезпечує взаємозв’язок мір (та відповідних метрик) внутрішньої, зовнішньої та експлуатаційної якості ПС і поєднує погляди користувачів і розробників на завершеність ПС. Визначені міри завершеності на всіх рівнях моделі, а саме щільність дефектів (міра внутрішньої якості), ймовірність безвідмовної роботи (міра зовнішньої якості) та задоволеність надійною роботою ПС (міра експлуатаційної якості) (рис. 1).



Рис. 1. Трирівнева модель якості ПС

Проаналізовано особливості моделювання та прогнозування надійності ПС на ранніх стадіях ЖЦ ПС та виконано вибір метрик якості для застосування у розробленій моделі якості.

Визначено переваги та недоліки існуючих підходів до розподілення надійності по компонентах програмного забезпечення систем та сформульовано нові вимоги з урахуванням особливостей ПС оброблення даних.

Досліджено мультиплікативні моделі раннього прогнозування щільності дефектів у ПС, зокрема модель RLM (Rome Laboratory Model), прогнозну здатність якої перевірено практично. Охарактеризовано їх недоліки та обґрунтовано необхідність побудови нової моделі раннього прогнозування дефектів, застосовної в умовах динамічного ЖЦ ПС.

Зроблено висновок, що умовою ефективного використання запропонованої трирівневої моделі якості в ході створення ПС є впровадження у проекти ПС процесів вимірювання та верифікації, а також методик та програмних засобів збору та накопичення історичних даних про виконувані проекти.

Розділ 2 містить основні теоретичні результати роботи. В ньому визначено концептуальну модель прийняття рішень з керування якістю ПС (рис. 2).



Рис. 2. Концептуальна модель прийняття рішень з керування якістю

Ця модель ґрунтується на розробленій трирівневій моделі якості та об’єднує запропоновані методи, методики та моделі інженерії якості у цілісну систему забезпечення і контролю завершеності ПС в ході розроблення.

Стислий опис сутності нових моделей та методів наведено нижче.

1. Модель розподілу надійності по компонентах ПС

Обґрунтовано декомпозицію проблеми оптимального розподілу надійності по чотирирівневій ієрархії програмної системи (ПС функції ПС програмні застосування програмні модулі). Така ієрархія обумовлена необхідністю враховувати як погляд користувача на експлуатаційну якість системи та її функціональну відповідність (на верхніх рівнях ієрархії), так і погляд розробника на технічні особливості реалізації програмних застосувань (ПрЗ) і модулів (на нижніх рівнях ієрархії), і забезпечує визначення параметрів моделі розподілу надійності з урахуванням важливості кожного компонента ПС в ієрархічній структурі.

Пропонується міру експлуатаційної якості ПС визначати як функцію корисності , де ai – міра важливості функції ПС для ділового процесу користувача, Ri – надійність виконання функції у заданому періоді t експлуатації системи. Надійність виконання функцій ПС оцінюють лише під час системного тестування та експлуатації ПС, що з позицій керування якістю надто пізно. Тому поставлено та вирішено задачу апріорного знаходження оптимального рівня надійності кожного модуля та ПрЗ, який забезпечує максимізацію функції корисності з урахуванням технічних та ресурсних обмежень проекту ПС.

Постановка задачі. Введемо позначення:

ui – коефіцієнт відносної ваги функції Fi у досягненні Qпс, i=1,… ,k;

vij – коефіцієнт відносної ваги j-го ПрЗ у забезпеченні виконання i-ої функції, і = 1,…, k; j=1,…, l;

wjs – коефіцієнт відносної ваги s-го модуля в забезпеченні виконання j-го програмного застосування, s = 1,…, m; j=1,…, l;

rs – надійність модуля Ms у період експлуатації t;

Еj – множина номерів усіх модулів, які необхідні для виконання j-го ПрЗ;

s – нижня межа надійності модуля Ms;

s – верхня межа надійності модуля Ms;

G – загальна ціна ПС;

C – собівартість створення ПС організацією-розробником;

cs – накладні витрати, пов’язані з розробленням модуля Ms ;

ds – витрати, необхідні для досягнення одиничного рівня безвідмовності модуля Ms

 – частка прибутку у ціні ПС.

Необхідно знайти такий розподіл надійності модулів, при якому функція корисності Qпс буде досягати максимуму:

(1)

при обмеженнях

s = 1, …, m (2)

(3)

(4)

Задача (1) – (4) є задачею нелінійної оптимізації. Обґрунтовано твердження: цільова функція (1) при обмеженнях (2) – (4) має глобальний максимум.

Параметри ui, vij, wjs (і = 1,…, k; j=1,…, l; s = 1,…, m) являють собою оцінки внеску кожної функції, програмного застосування та модуля в ієрархічній структурі ПС у забезпечення максимальної корисності системи. Вони знаходяться за методом аналізу ієрархій шляхом парного порівняння та послідовного визначення локальних пріоритетів компонентів ПС в межах кожного рівня ієрархії по відношенню до компонентів попереднього (вищого) рівня.

Обмеження (2) задають допустимі нижні s і верхні s межі надійності модулів, виходячи з міркувань важливості (або ризику відмов) кожного модуля.

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

Обмеження (4) встановлює відповідність сумарних витрат на розроблення всіх модулів і собівартості створення ПС. Витрати на розроблення модуля складаються з накладних (непрямих) та прямих витрат безпосередньо на його розроблення.

2. Контроль досяжності цільового рівня надійності в ході ЖЦ ПС

Контроль досяжності цільового рівня надійності, встановленого для кожного ПрЗ, базується на побудові прогнозів двох видів: пошукового прогнозу, метою якого є визначення можливості досягти поставлених цілей, та нормативного, призначеного для визначення умов, за яких поставлені цілі можуть бути досягнуті.

Для забезпечення виконання прогнозів розроблено методи та моделі 2.1 – 2.3, стисло описані нижче.

2.1. Метод раннього прогнозування надійності

При прогнозуванні надійності програмного застосування процес його відмов доцільно моделювати неоднорідним пуассонівським процесом. Для пуассонівських моделей надійності умовна функція надійності визначається за формулою

,

де - умовна ймовірність того, що протягом заданого часу t експлуатації ПрЗ у визначених умовах середовища його функціонування не виникне послідовність вхідних даних, яка призведе до його відмови, якщо ПрЗ тестувалося протягом часу Т;

m(t)функція зростання надійності, яка являє собою середню кількість дефектів у ПрЗ, виявлених під час його функціонування протягом часу t.

Проведено порівняльний аналіз ряду пуассонівських моделей з позицій їх ефективності для раннього прогнозування надійності ПрЗ та запропоновано метод раннього прогнозування, що базується на модифікації експоненційної моделі Дж. Муси. Ця модель, на відміну від інших моделей зростання надійності, не потребує даних про відмови і, саме тому, придатна для раннього прогнозування експлуатаційної надійності ПрЗ до початку системного тестування.

Функція зростання надійності m(t) для цієї моделі визначається формулою

,

де N0 – кількість прихованих дефектів у ПрЗ на початку системного тестування;

0 - інтенсивність відмов ПрЗ на початку системного тестування, що визначається за формулою , де  – інтенсивність виконання коду (швидкість процесора); коефіцієнт виявлення дефектів; I – кількість інструкцій початкового коду;  – коефіцієнт розширення коду (число інструкцій виконуваного коду, яке припадає на одну інструкцію початкового).

Тоді умовна функція надійності експлуатації ПрЗ має вигляд

. (5)

Зокрема, якщо Т=0, тобто ПрЗ взагалі не перебуватиме на стадії системного тестування,

, (6)

де D0 = N0 /I – щільність прихованих дефектів на початку тестування.

Формули (5) та (6) дозволяють визначити прогнозовану надійність ПрЗ з урахуванням (або без) часу його тестування.

Метод прогнозування надійності включає визначення характеристик ПрЗ, умов його розроблення та експлуатації і розв’язок рівнянь (5) або (6).

Розмір (об’єм) ПрЗ I запропоновано визначати за методологією FPA (Function points analysis) в умовних одиницях функціональності та конвертувати отримане значення в одиниці KSLOC (тисяча рядків некоментованого початкового коду).

Для прогнозування ймовірної щільності дефектів D0 (або кількості дефектів N0), яку матиме ПрЗ на момент початку системного тестування, можуть використовуватися існуючі мультиплікативні моделі, наприклад RLM. Але, оскільки більшість з них орієнтовані на статичний каскадний ЖЦ і враховують невелику кількість чинників дефектів, для побудови прогнозних моделей дефектів з урахуванням сучасних умов розроблення ПС пропонується застосувати новий (для інженерії якості) апарат байєсівських мереж та, відповідно, новий клас моделей дефектів – графічні моделі.

2.2. Графічна модель прогнозування щільності дефектів

Запропонована графічна модель є результатом визначення множини чинників якості, аналізу причинно-наслідкових зв’язків між ними і комбінування якісних (експертних) та кількісних оцінок їх впливу на щільність дефектів. Основні переваги використання такої моделі – підтримка прогнозування дефектів та діагностики найбільш ймовірних причин (джерел) їх виникнення, а також простота модифікації за допомогою діючих ефективних алгоритмів та доступних інструментів.

Визначено метод побудови моделі, який включає наступні кроки:
  1. аналіз обмежень інструментів, які можуть позначитися на її структурі;
  2. аналіз та вибір найбільш вагомих чинників впливу на дефекти;
  3. визначення топології байєсівської мережі (структури ациклічного графу, вершини якого асоційовані з чинниками дефектів);
  4. аналіз залежностей між змінними у вершинах БМ та вибір шкал вимірювання;
  5. побудова таблиць ймовірності вершин (визначення законів розподілу значень змінних), перевірка її правильності та чутливості на сценаріях подій у проекті.

Обґрунтовано вибір інструмента побудови моделі - Hugin Lite 6.5 фірми Hugin Expert A/S (Данія) (з обмеженням - сумарною кількістю значень у вершинах БМ – до 50). Розроблена модель прогнозування щільності дефектів подана на рис. 3.



Рис. 3. Модель прогнозування щільності дефектів у ПрЗ

Модель дозволяє на початку поточного етапу проекту прогнозувати (з певною мірою впевненості), якою буде щільність дефектів у ПрЗ, якщо не зміняться умови його розроблення.

Семантичний опис вершин БМ представлено у наступній таблиці.

Назва вершини

Опис вершин та залежностей

Залишок дефектів

Різниця між щільністю внесених дефектів у поточну версію ПрЗ і щільністю усунутих (відкоригованих) дефектів

Внесені дефекти

Сума щільності нових внесених дефектів та щільності залишку дефектів (з попереднього етапу)

Внесені де-фекти (нові)

Щільність внесених нових дефектів. Залежить від складності вирішуваних задач у предметній області та досконалості (якості) процесу розроблення

Залишок ста- рих дефектів

Щільність дефектів, які, згідно прогнозу, залишилися не виявленими у ПрЗ на минулому етапі розроблення (залишок мінус фактично усунені дефекти)

Усунені дефекти

Щільність усунутих дефектів. Залежить від щільності виявлених дефектів у ПрЗ, а також точності їх усунення (нормованої на [0,1]). Біноміальний закон розподілу значень змінної у вершині

Виявлені дефекти

Щільність виявлених дефектів. Залежить від щільності внесених дефектів та якості перевірки (нормованої на [0,1]). Біноміальний закон розподілу значень

Точність усунення

Здатність розробника точно усунути дефект при коригуванні. Чим вище значення, тим більша здатність

Якість перевірки

Здатність верифікатора знайти дефекти у ПрЗ. Чим вище значення, тим більша здатність

Якість розроблення

Здатність розробників запобігти внесенню дефектів при розробленні. Чим вище значення, тим більша здатність

Складність проблеми

Асоціюється з ризиком проекту за категорією “складність реалізації вимог” до ПрЗ. Чим більша оцінка ризику, тим вища складність проблеми

Чутливість БМ перевірена на оптимістичному та песимістичному сценаріях.

2.3. Метод аналізу альтернатив досягнення цільового значення надійності

Умовою застосування методу є встановлення таких критеріїв для прийняття рішень з керування якістю і-го ПрЗ:
  1. qi – встановлене цільове значення надійності і-го ПрЗ;
  2. Dі* - максимальне значення щільності дефектів у ПрЗ, яке не буде перешкодою для досягнення цільового значення qі, визначається з рівняння

;
  1. L0 - мінімально припустима ймовірність прогнозного значення щільності дефектів (рівень впевненості);
  2. максимально припустимі відхилення:

rпрогнозного значення надійності Rі(t) від цільового значення qі,

d прогнозного значення щільності дефектів D від значення Dі*,

р отриманої найбільшої ймовірності прогнозного значення щільності дефектів L(D) від L0.

У припущенні, що на ранніх стадіях ЖЦ і , визначені такі альтернативи стосовно подальших дій із забезпечення якості ПрЗ:
  1. якщо і (або ), продовжувати розроблення ПрЗ Zi “як є”;
  2. якщо , обчислити Rі(t) у діапазоні близьких значень D і оцінити відносні відхилення Rі(t) від qi для кожного з них;
  3. якщо , або з самого початку проекту порушуються вихідні припущення для ранніх стадій ЖЦ ПрЗ, застосувати іншу модель прогнозування дефектів;
  4. якщо і , приймати рішення з огляду на оцінки ресурсів проекту, зокрема часу до завершення розроблення, часу та трудомісткості системного тестування, а також можливостей вдосконалення процесів ЖЦ ПС.

3. Методи вдосконалення базового процесу розроблення програмних систем

Обґрунтовано необхідність вдосконалення базового процесу розроблення ПС шляхом вбудовування в нього нових моделей та методів інженерії якості і використання сучасних підходів до підвищення якості ПС, а саме:
  1. підходів MSF, СММ, SPICE або Cleanroom для підвищення загального рівня зрілості (досконалості) організації-розробника ПС;
  2. методів PSP (Personal Software Process) або TSP (Team Software Process) для підвищення професійної зрілості кадрів розробників;
  3. наскрізний контроль, колегіальні перевірки або інспекції для вдосконалення процесу верифікації ПС на ранніх стадіях ЖЦ.

Запропоновано метрики для оцінювання процесу верифікації, а саме: кількість запланованих/виконаних перевірок; інтенсивність перевірок; відносна ефективність верифікації (у порівнянні з процесом тестування) тощо.

Розділ 3 присвячено опису розробленого за участю автора ПК Менеджер_Якості, який реалізує запропоновані моделі та методи інженерії якості (рис. 4).



Рис. 4. Архітектурно-функціональна схема ПК Менеджер_Якості

Цей ПК складається з таких базових програмно-технологічних модулів (ТМ): ТМ розподілу надійності по компонентах ПС; ТМ прогнозування надійності ПС на ранніх стадіях ЖЦ ПС та аналізу напрямків її підвищення; ТМ підтримки процесу верифікації.

Програмний комплекс розроблено засобами Visual Basic 6.0 та VBA з використанням бібліотечних функцій таких компонентів загальносистемного середовища:
  • HUGIN Lite 6.5 API для організації інтерфейсу з БМ;
  • МATLAB 6 для вирішення задач матричної алгебри та нелінійної оптимізації;
  • Oracle – ADO та OLE Object для організації обміну даними між таблицями у БД Oracle та формами на листах MS Excel, а також функцій читання даних звітів з репозитарія Oracle Designer’2000.

Охарактеризовано відмінності ПК від відомих інструментів інженерії якості.

ПК Менеджер_Якості разом з розробленим ПК Тест_Інженер забезпечують програмно-технологічну підтримку прийняття обґрунтованих рішень з керування якістю на всіх стадіях розроблення ПС.

У розділі 4 описано результати випробування і впровадження у конкретні проекти ПС запропонованих моделей та методів інженерії якості, сутність яких полягає у наступному.

Випробування розробленої моделі розподілу надійності по компонентах ПС. Виконувалися у середовищі проекту ПС інформаційно-аналітичної підтримки прийняття управлінських рішень для МО України. Поточна версія системи включала реалізацію чотирьох функцій, п’яти ПрЗ та семи модулів. Пріоритети функцій визначали користувачі ПС, а відповідних програмних застосувань та модулів – розробники. Для отримання значень параметрів моделі та вирішення задачі нелінійної оптимізації з вартісними обмеженнями, встановленими менеджером проекту, використовувався пакет математичного моделювання MATLAB 6.5 (MathWorks Inc.). У розділі подано практично отримані результати розподілу надійності для модулів та ПрЗ.

Випробування розробленого методу прогнозування надійності ПС. Виконувалися у середовищі того самого проекту для п’яти ПрЗ. З метою отримання експертних оцінок щільності дефектів використовувалась мультиплікативна модель RLM.

Прогнозна здатність моделі RLM визначалася шляхом порівняння оцінок кількості дефектів, отриманих за моделлю та за методом максимальної правдоподібності (ММП). Прогнозні значення безвідмовності ПрЗ порівнювались із значеннями, розрахованими за моделями зростання надійності під час тестування ПрЗ (за допомогою ПК Тест_Інженер).

Оцінка якості прогнозів виконувалась за метриками: відносна похибка прогнозування розміру ПрЗ; коефіцієнт розбіжності прогнозів; середнє відхилення відносної похибки прогнозів s; показник якості прогнозу , де - похибка прогнозування, n – кількість ПрЗ, к – кількість ПрЗ, для яких .

Результати порівняння прогнозів подано у наступній таблиці.

Код

ПрЗ

Час роботи (t), хв.

Розмір (Ii) уKSLOC

Дефекти

Безвідмовність

Прогноз

Розра-хунок

Прогноз (N0i)

Оцінка (NММП)

Прогноз(RDoi)

Оцінка (RММП)

Ціль (qi)

Z1

900

21.2

17.2

43

26

0.84

0.81

0.87

Z2

800

18.4

14.7

37

43

0.85

0.82

0.86

Z3

300

13.3

10.4

31

36

0.94

0.91

0.98

Z4

800

19.1

15.3

46

54

0.64

0.65

0.67

Z5

900

16.3

12.7

42

40

0.64

0.56

0.67

Аналіз прогнозів показав:
  • прогноз розміру ПрЗ має тенденцію до завищення оцінок;
  • прогнозні оцінки кількості дефектів за точністю наближаються до оцінок, отриманих за ММП. Розкид значень пояснюється складністю оцінювання впливу окремих чинників на кількість дефектів у ПрЗ. Зроблено висновок про необхідність накопичення історичних даних за проектами ПС та перекалібрування моделі RLM;
  • результати раннього прогнозування надійності ПрЗ незначно відрізняються від оцінок надійності, виконаних за даними про відмови, отриманими під час тестування та дослідної експлуатації ПрЗ. Досягнута якість прогнозів задовольняє загально визнаному критерію в інженерії якості PR(0.25) = 0.75.

Випробування графічної моделі прогнозування щільності дефектів. Прогнозна здатність моделі перевірялась на прикладі п’яти ПрЗ системи. Для визначення ймовірності значень змінних у вершинах “Складність проблеми”, “Якість розроблення”, “Якість перевірки” та “Точність корекції”, асоційованих з відповідними характеристиками проектів ПрЗ, як допоміжний засіб використовувалась анкета для виявлення ризиків проекту ПС. Результати прогнозування за даною моделлю порівнювались з результатами, отриманими за RLM та ММП. Перевірка показала, що для ПрЗ об’ємом 10 - 25 KSLOC розбіжності у прогнозуванні щільності дефектів складають приблизно 30-35%, що можна пояснити об’єктивними обмеженнями топології мережі, побудованої за допомогою Hugin Lite 6.5.

Результати випробування моделі свідчать про доцільність її використання за умови придбання програмного засобу Hugin Decision Engine та розширення моделі більшою кількістю чинників дефектів.

Впровадження результатів дослідження. Впровадження нових моделей та методів здійснювалось через використання ПК Менеджер_Якості у середовищі розроблення інформаційно-аналітичної системи. Для забезпечення якості ПС на стадіях ЖЦ була розроблена і прийнята замовником Програма забезпечення надійності ПС. У рамках цієї Програми впроваджені також процеси вимірювання артефактів проекту і верифікації, виконання яких забезпечує формування бази даних про історію проектів ПС, що в перспективі дозволить продовжити уточнення параметрів розроблених моделей.

ВИСНОВКИ

Головним результатом дисертації є розроблення, обґрунтування та впровадження моделей і методів для підтримки прийняття рішень з керування якістю на ранніх стадіях виконання програмних проектів на основі моделі якості, яка забезпечує прогнозування та контроль досяжності одного з найважливіших кількісних показників якості для програмних систем оброблення даних – надійності, а також методик вдосконалення процесів ЖЦ, спрямованих на підвищення якості в ході ЖЦ.

Основні результати дисертаційної роботи:
  1. Проаналізовано сучасні підходи, методи та стандарти розроблення високоякісних програмних систем і сформульовані головні задачі моделювання, прогнозування та оцінювання базового показника якості – надійності.
  2. Розроблено концептуальну модель прийняття рішень з керування якістю ПС вибраного класу, що базується на теоретично обґрунтованих методах встановлення кількісних вимог, прогнозування та систематичної кількісної оцінки надійності в ході проекту, починаючи з ранніх стадій ЖЦ ПС.
  3. Розроблено модель розподілу надійності по компонентах ПС, яка забезпечує комбінування оцінок їх важливості для функціонування ПС, виконаних користувачами та розробниками ПС. Сформульовано постановку і розв’язок задачі знаходження розподілу надійності, який максимізує міру задоволення замовника надійною роботою системи та враховує вартісні обмеження проекту.
  4. Запропоновано метод прогнозування та контролю надійності в ході виконання проекту та графічну модель прогнозування дефектів у ПС із застосуванням байєсівських мереж. Розроблено метод її побудови, який включає аналіз причинно-наслідкових зв’язків чинників дефектів, формування байєсівської мережі та її перевірку на сценаріях подій у проекті, стосовних дефектів.
  5. Розроблено підхід до поступового підвищення рівня якості створюваних ПС шляхом визначення пріоритетних напрямків вдосконалення процесу розроблення, який представлений низкою методик.
  6. Спроектовано та реалізовано оригінальний програмний комплекс, який підтримує вирішення задач інженерії якості ПС впродовж усього періоду виконання проекту, починаючи з ранніх стадій ЖЦ.
  7. Виконано впровадження програмного комплексу та методик на задачах створення систем інформаційно-аналітичної підтримки управлінської діяльності в органах ЗС та МО України. Отримано підвищення якості за рахунок покращення керованості проектом та вдосконалення процесів розроблення.

ОСНОВНІ ПОЛОЖЕННЯ ДИСЕРТАЦІЇ ОПУБЛІКОВАНІ В ТАКИХ ПРАЦЯХ:
  1. Основы инженерии качества программных систем / Ф.И.Андон, Г.И.Коваль, Т.М. Коротун, В.Ю. Суслов / Под ред. И.В. Сергиенко. – К.: Академпериодика. - 2002. - 504 с.

Автором особисто написані розділи 1-5, 7.
  1. Планирование обеспечения надежности информационных систем / Г.И. Коваль, Т.М. Коротун, Т.Л. Яблокова, Л.И. Куцаченко // Проблемы программирования. 2001.- №3-4. - С. 40 – 47

Автором особисто виконане формулювання вимог до структури та змісту задач у програмі забезпечення надійності ПС.
  1. Коваль Г.И., Коротун Т.М. Проблемы анализа причинно-следственных связей отказов и ошибок в ПО // Сб. Программная инженерия Киев: Ин-т кибернетики им. В.М. Глушкова НАНУ, 1994. - С. 83 - 93.

Автором особисто виконаний опис взаємозв’язку понять відмова, дефект, помилка, вада процесу, аналіз проблем встановлення причинно-наслідкових зв’язків цих понять.
  1. Мороз Г.Б., Коваль Г.И., Коротун Т.М. Определение целей и задач инженерии надежности программного обеспечения // Проблемы программирования. Вып. 1.- 1997.- С. 98 – 106.

Автором особисто виконаний аналіз літератури з питань оцінювання надійності та визначення задач інженерії надійності на ранніх стадіях ЖЦ - етапах встановлення вимог та проектування програмних засобів.
  1. Мороз Г.Б., Коваль Г.И., Коротун Т.М. Концепция профилей в инженерии надежности программных систем // Математичні машини і системи. – 2004.- №1. – C. 166 – 184.

Автором особисто виконаний опис особливостей розроблення та використання сучасних ПС з позицій забезпечення надійності, визначення функційного профілю ПС.
  1. Коваль Г.И. Прогнозирование надежности ПО компьютерных систем // Сб. материалов конференции. УкрПРОГ’98, 2-4 сентября 1998 г., Киев.-1998. - С. 358 - 361.
  2. Парадигма качества программного обеспечения / Андон Ф.И, Суслов В.Ю., Коротун Т.М., Коваль Г.И. // Проблемы программирования. –1999. - №2. – С. 51 - 62.

Автором особисто виконане формулювання основних положень сучасної парадигми якості, визначення чинників якості ПС.
  1. Коваль Г.И. Подход к прогнозированию надежности ПО при управлении проектом. // Проблемы программирования. –2002. - № 1 – 2. – С. 282 – 290.
  2. Коваль Г.И. Методы определения размера ПО. // Проблемы программирования. - 1999. - №1.- С. 63 - 71.
  3. Коваль Г. И, Коротун Т. М, Яблокова Т. Л., Куцаченко Л. И. Подход к тестированию и оценке надежности программного обеспечения при управлении проектом // Проблемы программирования. – 2000. - № 3-4. – С. 83-88.

Автором особисто виконаний опис моделі розподілу надійності по компонентах ПС.
  1. Коваль Г.І. Байєсівські мережі як засіб оцінювання та прогнозування якості програмного забезпечення // Проблеми програмування. –2005.-№2. –С.15-23.
  2. Коваль Г.І. Основні задачі підтримки прийняття рішень в інженерії надійності програмних систем // Проблеми програмування. – 2005. -№3. –С. 35-41.

АНОТАЦІЯ

Коваль Г. І. Моделі і методи інженерії якості програмних систем на ранніх стадіях життєвого циклу. – Рукопис.

Дисертація на здобуття наукового ступеня кандидата фізико-математичних наук за спеціальністю 01.05.03 – математичне та програмне забезпечення обчислювальних машин і систем. – Інститут кібернетики ім. В.М. Глушкова НАН України, Київ, 2005.

Дисертація присвячена розробленню, обґрунтуванню та впровадженню інженерного підходу до керування якістю на ранніх стадіях життєвого циклу програмних систем (ПС) оброблення даних на основі моделі якості, побудованої для одного з найважливіших кількісних показників якості – надійності ПС.

Концептуальна модель прийняття рішень з керування якістю ПС вибраного класу ПС базується на розроблених та теоретично обґрунтованих моделях та методах встановлення кількісних вимог до надійності компонентів ПС, прогнозування дефектів та систематичного кількісного контролю надійності в ході проекту, починаючи з ранніх стадій ЖЦ ПС.

Отримані теоретичні результати реалізовані практично в оригінальному програмному комплексі, призначеному для вирішення задач інженерії якості ПС впродовж усього періоду виконання проекту.

Ключові слова: інженерія якості, керування якістю, програмні системи оброблення даних, модель надійності, прогнозування дефектів, процес верифікації, байєсівські мережі.

Коваль Г. И. Модели и методы инженерии качества программных систем на ранних стадиях жизненного цикла. – Рукопись.

Диссертация на соискание ученой степени кандидата физико-математических наук по специальности 01.05.03 – математическое и программное обеспечение вычислительных машин и систем. – Институт кибернетики им. В.М. Глушкова НАН Украины, Киев, 2005.

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

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

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

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

Разработана методология постепенного повышения уровня качества создаваемых ПС путем определения приоритетных направлений совершенствования процесса разработки, которая представлена рядом методик.

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

Результаты работы внедрены в программные проекты по созданию систем информационно-аналитической поддержки управленческой деятельности в военной сфере. Обеспечено повышение качества ПС за счет улучшения управляемости проектов и совершенствования процессов разработки.

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

Koval G. I. Models and methods of software quality engineering in early stages of life cycle. – Manuscript.

Thesis for candidate’s degree of physics and mathematical sciences by specialty 01.05.03– mathematical support and software of computers and systems. – Software systems institute, NAS of Ukraine, Kiev, 2005.

The work is devoted to developing of an engineering approach to software quality management in early stages of dynamic software life cycle, based on quality model, which is built on one of major software quality characteristics – software reliability.

A conceptual model for decision making in software quality management is based on developed and in theory substantiated models and methods for the software components reliability allocation, defects prediction and systematic quantitative control of reliability in project motion, beginning from early software life cycle stages. The results are realized practically in original program complex, assigned to resolve the problems of software quality engineering in all phases of software project.

Key words: software quality engineering, quality management, reliability model, defect prediction, verification process, Bayesian belief network.