vchilka.in.ua |
|
1
Методи та засоби програмної інженерії
УДК 681.3
Г.І. Коваль
підхід до керування надійністю та якістю програмних систем
У роботі розглянуто головні задачі інженерії надійності та якості програмних систем (ПС) та визначено місце і роль прогнозування та оцінювання надійності та якості у циклі керування проектом. Встановлено взаємозв’язок елементів сучасної парадигми якості. Особлива увага приділена причинно-наслідковим зв’язкам і керуванню надійністю та якістю за кількісними показниками. Запропоновано підхід до керування якістю, що ґрунтується на розробленій моделі прийняття рішень з керування.
Вступ
Ключовим чинником забезпечення конкурентоспроможності програмних систем (ПС) є підвищення їх надійності та якості. Це багатогранна проблема, пов’язана з пошуком ефективних рішень як у сфері фундаментальних досліджень програмування, так і за напрямками прикладних наукових розробок, зокрема в області програмної інженерії [1, 2].
До початку 90-років минулого сторіччя більшість досліджень у проблематиці надійності та якості присвячувалась оцінюванню та підвищенню їх рівня під час тестування [3 – 7]. У ході досліджень, виконуваних у ІПС НАН України у 1992 – 2006 роках за темами [8 – 11], проблема підвищення надійності та якості ПС була представлена множиною самостійних теоретичних та практичних задач програмної інженерії, безпосередньо щодо прогнозування, вимірювання, керування досягненням надійності та якості ПС на всіх етапах їх виконання за програмними проектами. Вирішення поставлених задач базувалося на створюваному єдиному понятійному, термінологічному, нормативному та методичному апараті, що склав підґрунтя для нових розділів програмної інженерії – інженерії надійності [12] та інженерії якості [13]. На теперішній час цей апарат продовжує розвиватися з урахуванням нових парадигм програмування [14] та підходів до керування надійністю та якістю ПС, зокрема, процесного підходу [15]. Далі розглядаються узагальнені задачі цього підходу та шляхи їх вирішення при виконанні програмних проектів.
1. Склад задач інженерії надійності та якості ПС
Проблема забезпечення надійності та якості програм повстала одразу з їх розробленням та впровадженням у практичну життєдіяльність суспільства. З того часу дослідниками багатьох країн були розроблені моделі надійності та якості, які мали велике теоретичне значення, оскільки стимулювали пошук нових методів і підходів до створення програмних засобів (ПЗ) та розвиток технології програмування, але практично застосовувались здебільшого лише при виготовленні штучних зразків ПЗ для критичних систем (у космічній, медичній, військовій галузях, ядерній енергетиці тощо).
Широке поширення ЕОМ у всі сфери життєдіяльності і поступове перетворення програмування з «мистецтва одинаків» у програмну індустрію стало поштовхом для визнання та розвитку програмної інженерії – області комп'ютерних наук, що вивчає питання побудови крупно-масштабних програмних систем1 як інженерної регламентованої діяльності колективів розробників. Колективне розроблення ПС у рамках програмних проектів, виконуваних в умовах обмежених технічних, фінансових, часових ресурсів та конкуренції організацій-розробників, обумовило застосування інженерного підходу до всіх видів діяльності у проекті, насамперед щодо керування проектом, ризиками, ресурсами.
Інженерний підхід (на відміну від адміністративного) ґрунтується на систематичному плануванні, вимірюванні та оцінюванні напрацювань (активів) проекту та коригуванні стану його виконання. Множина моделей та методів забезпечення надійності та якості ПС, розроблених у наукових і освітніх осередках і представлених у літературних джерелах, не мали підґрунтя для широкого використання, оскільки, з одного боку, не враховували багатьох чинників середовища розроблення та експлуатації ПС, а з іншого, – не були методично (процедурно) оформлені для практичного застосування виконавцями проектів, що не мали відповідної фахової підготовки.
Це спричинило здійснення аналізу стану справ у проблематиці надійності та якості ПС, а також програмної інженерії, формулювання специфічних задач керування надійністю та якістю саме з позицій інженерного підходу. Актуальність цього напрямку досліджень підтверджена розвитком стандартизації у галузі якості, який заохочує організації-розробники ПС до створення систем менеджменту якості на основі інженерного підходу та сертифікації виконуваних процесів.
Інженерія надійності програмних систем включає вирішення наступних задач [12]:
розроблення теоретичних основ забезпечення і оцінки надійності ПC на різних стадіях їх розроблення (моделей, методів, методик);
формування критеріїв (зокрема, оптимального моменту часу) випуску ПС, а також оптимальних періодів модифікації ПС з урахуванням вимог до її надійності;
вимірювання досягнутої надійності ПС під час її експлуатації та оцінювання ефективності застосовуваної методології її розроблення;
прогнозування надійності за характеристиками як продукту, так і процесу розроблення ПС, а також з урахуванням очікуваних сценаріїв використовування ПС;
встановлення чинників впливу на надійність та метрик надійності, а також порядку їх використання при визначенні важелів керування надійністю та вдосконалення процесу розроблення;
формування вимог і керування вибором архітектури ПС і методів її проектування з урахуванням цілей надійності;
розроблення інструментів для збору метричних даних, прогнозування та оцінювання надійності;
формування інструментально-методичного підґрунтя для здійснення атестації і сертифікації ПС.
Склад цих задач доповнюється специфічними задачами інженерії якості:
-
вибір оптимального складу основних характеристик та кількісних показників якості ПС, що забезпечує досягнення максимального рівня задоволення потреб замовника ПС відповідного класу (наприклад, з урахуванням потреб захисту інформації, зручності використання, надійності тощо);
визначення підходів до моделювання якості ПС з урахуванням множини характеристик якості, вибір (розроблення) відповідного інструментарію (аналітичні моделі, ієрархічні та мережні графічні моделі);
керування досягненням заданих показників якості в ході виконання проекту з дотриманням балансу у трикутнику «якість – тривалість – вартість» проекту;
вдосконалення видів діяльності, безпосередньо спрямованих на підвищення якості ПС (верифікація, тестування тощо).
Серед множини визначених задач безпосередньо керування надійністю стосуються задачі прогнозування досяжності встановленого цільового значення цієї характеристики для проекту ПС, її оцінювання та використання отриманого результату для вдосконалення процесів життєвого циклу (ЖЦ) ПС, задіяних на певному етапі проекту.
2. Підхід до вирішення задач керування надійністю у циклі виконання проекту
2.1. Оцінювання надійності ПС за моделями зростання надійності. Хоча з позицій керування надійністю, її оцінювання наприкінці проекту не є першочерговою задачею, саме вона була історично «першою» поставленою і вирішуваною задачею.
Оцінювання надійності виконується під час випробовувань ПС на надійність після накопичення великої кількості даних про відмови. Дані збираються протягом всього періоду тестування, що дозволяє оцінити зростання надійності статистично з обґрунтованим рівнем довіри.
Існує чимало моделей зростання надійності, огляди та класифікація яких подані, наприклад, у [16 – 18]. У ході досліджень у даній проблематиці вироблено рекомендації щодо застосування множини моделей, а також процедури збирання даних, калібрування моделей, демонстраційного тестування на надійність, які згодом були покладені в основу методики ІПС НАН України «Проведення випробувань та оцінка надійності програмного забезпечення комп’ютерних систем», розробленої в рамках теми [10]. Кілька моделей (зокрема, Желінськи–Моранди, Шика–Волвертона, Гоела–Окумото, Муси) були реалізовані програмно у технологічних модулях оцінки надійності.
Нажаль, міжнародна та вітчизняна практика інженерії надійності засвідчила, що моделі зростання надійності, розроблені за останні 40 років, у більшості випадків не знаходять широкого застосування з ряду причин:
встановлюються не обґрунтовані кількісні вимоги до надійності ПС;
припущення у моделях не відповідають реальному процесу відмови ПС;
погано організовано збір і оброблення даних для застосування у моделях, що призводить до неадекватної оцінки їх параметрів.
Фахівці в області надійності ПС прийшли до висновку про необхідність формування систематизованих підходів до прогнозування надійності розроблюваних ПС на всіх стадіях їхнього ЖЦ.
2.2. Прогнозування надійності ПС на ранніх стадіях ЖЦ. У літературі термін прогнозування надійності (reliability prediction) все ще часто пов’язують з її оцінюванням за аналітичними моделями зростання надійності. У роботі [19] запропоновано вирізняти дві фази прогнозування: «раннє» прогнозування (до початку тестування) і традиційне «пізнє» прогнозування.
Раннє прогнозування надійності ПС полягає у побудові проекції значень вимірів надійності, отриманих за внутрішніми метриками на певній стадії ЖЦ, на значення вимірів надійності, обчислюваних за зовнішніми метриками на будь-якій наступній стадії та в кінці розроблення ПС. Результатом раннього прогнозування надійності є значення інтенсивності відмов ПС на початку (або в будь-який момент) тестування системи. Це мінімальна надійність, яка згодом може тільки підвищуватися завдяки усуненню дефектів у ПС. Мета раннього прогнозування – визначити, які вдосконалення можуть бути зроблені в застосовних методах і процесах розроблення ПС, щоб забезпечити мінімальну щільність дефектів у ПС до моменту початку системного тестування.
Пізнє прогнозування надійності фактично охоплює період після раннього прогнозування, коли надійність підвищується внаслідок тестування і виправлення дефектів. Таке «відкладене» прогнозування надійності звичайно може зменшити ризик відмови ПС у експлуатації, але не зменшить ризику виконуваного проекту.
Загалом, прогнозування надійності має бути ітеративним процесом застосування комбінації моделей «раннього» та «пізнього» прогнозування надійності ПС з послідовним уточненням параметрів цих моделей за ходом розроблення програмного продукту. Такий підхід до прогнозування надійності схематично подано на рис. 1 [19] та описано у методиці ІПС НАН України «Прогнозування надійності програмного забезпечення комп’ютерних систем» , розробленої у рамках теми [10].
Під час виконання проекту значення вимірюваних величин оновлюються (уточнюються) і перед початком системного тестування прогнозні значення замінюються фактичними та використовуються для статистичного оцінювання параметрів застосовної аналітичної моделі зростання надійності.
Кінцева мета створення і застосування прогнозних моделей – організація керування проектом на кількісній основі. У сукупності з іншими прогнозними моделями, наприклад моделями прогнозу об'єму і складності ПС [20], а також вартості її розроблення на всіх стадіях ЖЦ, ці моделі дають керівництву проекту реальні важелі керування ризиком проекту, що свідчить про зростання рівня зрілості організації-розробника ПС.
2.3. Встановлення причинно-наслідкових зв’язків чинників надійності ПС. Ранні прогнози надійності ґрунтуються на вимірних характеристиках (метриках) процесу розроблення ПС і робочих продуктів (РП), вироблених цим процесом, що мають вплив на надійність кінцевого програмного продукту. Причинно-наслідкові зв'язки між відмовами ПС у експлуатації, дефектами у коді, помилками розробників і вадами у процесах створення ПС простежено у [21] та показано на рис. 2.
Відмови ПС можуть бути обумовлені як зовнішніми причинами (помилками елементів середовища функціонування, в тому числі людини–оператора), так і внутрішніми причинами – дефектами у ПС.
Дефекти завжди є наслідком помилки виконавця і властиві специфікації вимог, проектним документам, текстам коду, експлуатаційній документації тощо. Вихідні робочі продукти одних процесів, які містять не усунені при перевірці дефекти, служать вхідними РП для інших процесів, а дефекти в них – джерелом помилок виконавців цих процесів.
Крім того, помилки виконавців можуть бути спричинені вадами у визначенні процесів (неправильна послідовність дій, неправильно вибраний інструмент тощо), які сприяють неправильній інтерпретації початкової інформації людиною і прийняттю невірних рішень, або просто недостатньою професійною зрілістю виконавців процесів.
Помилки виконавців, у свою чергу, призводять до дефекту в робочому продукті, і цикл «помилка – дефект – помилка» повторюється. Дефекти в коді, не виявлені під час перевірок тексту коду, є джерелом потенційних помилок і відмов ПС. «Спрацює» дефект чи ні, залежить від того, за яким сценарієм працюватиме з програмою користувач, і чи «зіткнеться» оброблювач коду з неправильним елементом. Якщо дефект «спрацьовує» – виникає ланцюг помилок, що передаються від модуля до модуля. Якщо помилка не компенсується в програмі (завдяки вбудованим у неї засобам відмовостійкості або внаслідок випадкового «спрацювання» іншого дефекту), вона може призвести до відмови ПС.
Дослідження процесів внесення помилок, усунення дефектів та запобігання відмов і вироблення взаємно пов’язаних зовнішніх та внутрішніх метрик надійності та моделей прогнозування на їх основі – одна з найважливіших задач інженерії надійності ПС, спрямована на прийняття ефективних рішень з керування проектами за критерієм надійності.
2.4. Керування надійністю. Множина задач з керування надійністю включає [22]:
визначення цільових кількісних значень показників надійності ПС, які слугуватимуть критерієм відповідності ПС потребам користувачів;
-
прогнозування досяжності встановлених цілей з урахуванням поточного стану виконуваних процесів та розроблених продуктів у програмному проекті. Пошук та аналіз можливих альтернативних рішень для досягнення цілей за умови усунення «слабких місць» у процесах ЖЦ. Якщо цілі недосяжні – їх перегляд та узгодження з замовником ПС (п. 1);
вибір найкращого рішення для досягнення надійності та оцінювання можливості його реалізації з урахуванням обмежених ресурсів проекту (або перегляд цілей);
визначення стратегії, методів та засобів забезпечення надійності та їх «вбудування» в компоненти ПС. Перевірка правильності вироблених робочих продуктів ПС (документів проекту, коду тощо). Збір даних про хід виконання проекту, стан процесів, ресурсів та розроблюваних робочих продуктів ПС для накопичення досвіду;
аналіз досвіду, перегляд (уточнення) суджень щодо важливості тих чи інших чинників успішного досягнення встановлених цілей та коригування стану виконання проекту. В разі потреби - повторне виконання задач (п. 1 або 2).
Слід зазначити, що визначена множина задач є типовою для керування проектом за будь-яким показником якості ПС (не лише за надійністю) і є задачею інженерії якості ПС.
Задачі інженерії надійності в програмному проекті вирішуються групою якості проекту за відповідними планами. Обсяг вирішуваних задач може визначатися вимогами договорів на розроблення ПС або встановлюватися у Програмі забезпечення надійності, основні положення якої сформульовано у [23]. В ній визначається перелік заходів з інженерії надійності, які треба здійснювати для досягнення цілей надійності.
Огляд та аналіз існуючих моделей і методів інженерії надійності здійснено у [19, 24, 25]. Там, зокрема, визначено такі переваги мультиплікативних моделей над регресійними:
отримані значення прогнозованої надійності не можуть бути нульовими або від’ємними (що можливо для адитивних моделей);
моделі дозволяють врахувати одночасно значну кількість чинників надійності;
-
моделі можуть застосовуватися в разі, коли є лише неповна інформація. За умовчанням прогнозоване значення для невідомого параметра (чинника) приймається рівним одиниці, що відповідає усередненій оцінці впливу чинника;
кількісні характеристики артефактів проекту для цих моделей отримані шляхом аналізу великої кількості експериментальних даних (за більш ніж 100 проектами).
Визначено також загальні недоліки регресійних та мультиплікативних моделей прогнозування надійності, а саме:
кількісні дані у моделях придатні для застосування лише у такому проекті, характеристики і умови виконання якого подібні до тих, що їх мали досліджені проекти;
моделі потребують перекалібрування з урахуванням попереднього власного (історичного) досвіду організації-розробника, яка їх застосовує;
моделі орієнтовані на каскадний ЖЦ розроблення ПС та застосовуються на відповідних стадіях ЖЦ. Вони не розраховані на сучасні адаптивні методології розроблення;
застосування моделей потребує попереднього впровадження у проекти процесу вимірювання, отже, можливе лише на четвертому рівні зрілості організації-розробника ПС (за моделлю СММ [26]).
Аналіз переваг та недоліків існуючих моделей та методів показав необхідність залучення сучасних методів та засобів інтелектуального аналізу даних (як, наприклад, байєсівські мережі) і розроблення на їх основі нових моделей і методів інженерії надійності.
Побудовано модель раннього прогнозування дефектів у ПС, яка дозволяє виконувати прогнозування за умов невизначеності щодо кількісних оцінок впливу чинників на надійність, а також ураховує потреби динамічного ЖЦ, тобто не «прив’язана» до конкретних стадій у каскадній моделі [25].
Оскільки дослідження в проблематиці інженерії надійності ПС були розпочаті ще у 80-х роках минулого сторіччя, а надійність є що не найбільш критичним показником якості ПС, - вони природним чином отримали розвиток і узагальнення у проблематиці інженерії якості ПС, досліджуваній у рамках тем [10, 11].
3. Парадигма якості у програмній
інженерії
3.1. Вплив процесного підходу до розроблення ПС на визначення парадигми якості. Проблема моделювання та оцінювання якості ПС та її компонентів є наріжним каменем програмної інженерії, про що свідчать численні публікації, зокрема, [4, 6, 27].
Перенесення наголосу у програмній інженерії з власне кінцевого програмного продукту у площину процесів життєвого циклу його розроблення, як засіб створення високоякісних програмних продуктів на постійній основі, спричинило формулювання нової парадигми якості [28] і формування основ інженерії якості ПС, які викладені у [13], а потім уточнені та розвинені у [29].
Особливостями визначеної нової парадигми якості є процесна програмна інженерія, інтеграція процесів ЖЦ, а також ціле-орієнтована програма вимірювання та оцінювання артефактів проекту як ключова ланка циклу керування проектом і вдосконалення процесів ЖЦ [13]. Схематично взаємозв’язок елементів нової парадигми якості показана на рис. 3.
Центральне місце серед процесів ЖЦ відведено процесу вимірювання, оскільки сучасна концепція керування проектами заснована на принципі вимірювання характеристик процесів ЖЦ проекту, його ресурсів і створюваних робочих продуктів.
У дослідженнях за темами [10, 11] цілеспрямованість вимірювання відповідала потребам керування якістю на ранніх стадіях ЖЦ, що передують системному тестуванню.
Власне керування якістю визначено як новий процес ЖЦ ПС у поточній версії базового міжнародного стандарту програмної інженерії ISO/IEC 12207 (який неодноразово переглядався) [30]. Відмінності цього процесу від процесу гарантування якості, представленого у національному стандарті ДСТУ 3918-99 [31] стисло окреслені на рис. 4.
Іншими процесами ЖЦ, які безпосередньо стосуються забезпечення якості, є група процесів підтримки, а саме, процеси верифікації, валідації, сумісного перегляду, аудиту, вирішення проблем та група організаційних процесів, зокрема, процеси керування ризиком та проектом, а також група процесів тестування, традиційно віднесена до основних процесів.
Оскільки, на відміну від нормативного апарату інженерії якості, її методичний апарат, призначений спростити практичне застосування стандартів, був відсутній, зусилля у ході досліджень у даній проблематиці спрямовувалися переважно на пошук і вдосконалення існуючих методів виконання процесів та розроблення множини відповідних методик [23].
3.2. Підхід до керування якістю у новій парадигмі якості. У ході досліджень за темами [10, 11] запропоновано підхід до керування, що забезпечує підтримку ухвалення обґрунтованих рішень з керування якістю на всіх етапах ЖЦ ПС. У цьому підході цільовою характеристикою якості, на базі значень якої виробляються керівні рішення, є завершеність (зрілість) ПС (підхарактеристика надійності) – визначальна характеристика якості для забезпечення безвідмовної роботи всіх програмних компонентів системи [15].
Основна відмінність нового підходу від існуючих полягає в орієнтації на сформульовану нову парадигму якості та трактуванні множини процесів як таких, що обумовлюють внесення дефектів у ПС (що спричинює зниження якості), виявлення і усунення дефектів у ПС (що сприяє підвищенню якості) [32]. Особливістю цього підходу є також використання елементів теорії прогнозування в інженерії якості, причому не тільки для визначення можливості досягти заданого рівня завершеності ПС за допомогою наявних процесів ЖЦ, але і для виявлення процесів ЖЦ, які мають вади та потребують удосконалення (тобто з метою діагностики).
У рамках запропонованого підходу теоретичний апарат інженерії якості ПС було доповнено розробленими моделями та методами моніторингу та керування якістю ПС за кількісними показниками у продовж всього періоду виконання проектів. Насамперед, на базі характеристики завершеність було визначено модель якості, яка встановлює взаємозв'язок вимірів і відповідних метрик внутрішньої, зовнішньої і експлуатаційної якості ПС і об'єднує погляди на якість як розробників системи, так і її безпосередніх користувачів.
Підхід до керування якістю схематично показано на рис. 5 у вигляді концептуальної моделі прийняття рішень з керування якістю за характеристикою завершеність ПС.
Ця концептуальна модель включає множину моделей та методів, розроблених в рамках підходу до керування якістю, а саме:
модель вимог до завершеності компонентів ПС;
метод раннього прогнозування якості;
графічну модель прогнозування щільності дефектів у ПС із застосуванням байєсівської мережі;
метод аналізу альтернатив досягнення цільового значення показника якості.
Поряд з характеристикою завершеність (“maturity”) доцільно було б розглядати у моделі якості й інші важливі характеристики, як, наприклад, безпека інформації ПС (“security”) або зручність використання (“usability”). Проте, проблема полягає у визначенні внутрішніх і зовнішніх метрик для цих (і більшості інших) характеристик якості і встановленні формалізованого взаємозв'язку між ними.
Великі перспективи у моделюванні якості має метод аналізу ієрархій (МАІ), ураховуючи можливості його застосування для побудови складніших моделей якості з поєднанням в одній моделі різних характеристик, впорядкуванням їх за пріоритетами і визначенням інтегрального показника якості ПС.
Ще однією проблемою керування якістю є оцінювання вдосконалень процесів ЖЦ, які виконуються у кожному циклі керування проектом перед початком нового етапу розроблення ПС і прогнозування цільової характеристики якості. Ця проблема вирішується через розроблення адекватного теоретичного апарату оцінювання процесів та інших об’єктів програмної інженерії із застосуванням методів групового експертного оцінювання, які враховують специфіку предметної області і орієнтовані на узагальнення суджень експертів, що репрезентують різні точки зору на оцінюваний об’єкт [33].
4. Висновки та напрямки подальших досліджень
Результати досліджень у проблематиці інженерії надійності та якості знайшли практичне застосування при створенні ПС у класі систем організаційного керування, розроблених на замовлення МО України. Їх впровадження у конкретні програмні проекти сприяло встановленню вимог до надійності ПС у відповідності до реальних потреб користувачів та можливостей колективу розробників ПС; контролюванню адекватність процесів розроблення та верифікації ПС цілям надійності та своєчасному їх коригуванню і, загалом, покращенню процесу керування якістю, починаючи з самих ранніх стадій ЖЦ ПС.
Поява нових парадигм програмування та технологій розроблення ПС служить поштовхом до створення нових підходів у програмній інженерії у цілому, і в інженерії надійності та якості, зокрема, оскільки визначає вибір методів верифікації коду, об'єктів і методів тестування, а також атрибутів програм, що виміряються, та відповідних метрик та моделей.
За сучасних темпів розвитку індустрії програмного забезпечення квінтесенцією здешевлення та підвищення якості ПС у різних проблемних областях (доменах) є їх побудова у новій парадигмі генеруючого програмування з множини різнотипних програмних компонентів, а також постійне накопичення, узагальнення та використання знань про домен та перспективи його еволюції. Подальші дослідження у проблематиці надійності та якості спрямовуватимуться на розроблення теоретичного та методологічного підґрунтя керування якістю саме таких ПС у відповідності до концепцій, створюваних у рамках проекту «Розробка теоретичного фундаменту генеруючого програмування та інструментальних засобів його підтримки», виконуваному в ІПС НАН України.
Лаврищева Е.М. Программная инженерия. Основные понятия и определения // «Методы и средства программной инженерии». Сб. науч. трудов АН УССР. Ин-т им. В.М. Глушкова. – Киев. – 1989. – С. 4 – 10.
-
Бабенко Л.П., Лаврищева К.М. Основи програмної інженерії. – К.: Знання, 2001. – 269 с.
Липаев В.В. Надежность программного обеспечения АСУ. – М.: Энергоиздат, 1981. – 239 с.
Липаев В.В. Качество программного обеспечения. – М.: Финансы и статистика, 1983. – 264 с.
Липаев В.В. Тестирование программ. – М.: Радио и связь, 1986. – 296 с.
Кулаков А.Ф. Оценка качества программ ЭВМ. – К.: Технiка, 1984. – 167 с.
Бурбан С.И. Оценка надежности программного обеспечения на этапе тестирования // «Методы и средства программной инженерии». Сб. науч. трудов АН УССР. Ин-т им. В.М.Глушкова. – Киев. – 1989. – С. 10 – 15.
Розробка методик, програмних засобів тестування та оцінки надійності програмного забезпечення (НДР 6.1.3./1702-92, N UA0I009618P, 1992 – 1994).
Дослідження та розробка моделей, методів та засобів оцінки та забезпечення підвищених характеристик надійності розробки прикладних програм у системах обробки даних військового призначення” (НДР N 0-92-66, шифр “Вілена-УА”, 1992 – 1994).
Розробка концепції, методів та нормативно-методичного забезпечення інженерії якості прикладних програмних систем” (НДР шифр “Ф1/02К-1998”, ДР 0100U006530, 1998 – 2001).
Розробка концепції, методів та методичного апарату вдосконалення та стандартизації процесів життєвого циклу систем програмного забезпечення” (НДР шифр “1/02-2002”, ДР 0102U005991, 2002 – 2006).
Мороз Г.Б., Коваль Г.И., Коротун Т.М. Определение целей и задач инженерии надежности программного обеспечения // Проблемы программирования. – 1997. – № 1. – С. 98 – 106.
Основы инженерии качества программных систем // Ф.И. Андон, Г.И. Коваль, Т.М. Коротун, В.Ю. Суслов / Под ред. И.В. Сергиенко. – Київ: Академпериодика, 2002. – 504 с.
-
Лаврищева Е.М. Современные методы программирования. Возможности и инструменты // Проблеми програмування. – 2006. – № 2 – 3 (Спецвипуск за матеріалами конференції УкрПРОГ-2006). – С. 60 – 74.
Лаврищева Е.М., Коваль Г.И., Коротун Т.М. Подход к управлению качеством программных систем обработки данных // Кибернетика и системный анализ. – 2006. – № 5. – С. 174 – 185.
Мороз Г.Б., Лаврищева Е.М. Модели роста надежности ПО (Препр. АН УССР, Ин-т кибернетики им. В.М. Глушкова; 92 – 38). – Киев. – 1992. – 25 с.
Харченко В.С., Скляр В.В., Вилкомир С.А. Выбор моделей надежности программных средств для систем критического применения // УСиМ. – 2000. – № 3. – С. 59 – 69.
Мороз Г.Б. Пуассоновские модели роста надежности программного обеспечения: Аналитический обзор // УСиМ. – 1996. – № 1-2. – С. 69 – 84.
Коваль Г.И. Подход к прогнозированию надежности ПО при управлении проектом // Проблемы программирования. – 2002. – № 1-2. – С. 282 – 290.
Коваль Г.И. Методы определения размера ПО // Проблемы программирования. – 1999. – №1. – С. 63 – 71.
Kоваль Г.И., Коротун Т.М. Проблемы анализа причинно-следственных связей отказов и ошибок в ПО. // Сб. «Программная инженерия». – Киев: Ин-т кибернетики им. В.М. Глушкова НАН Украины, 1994. – С. 83 – 93.
Коваль Г.І. Основні задачі підтримки прийняття рішень в інженерії надійності програмних систем // Проблеми програмування. – 2005. – № 3. – С. 35 – 41.
Планирование обеспечения надежности информационных систем. – Коваль Г.И., Коротун Т.М., Яблокова Т.Л. и др. // Проблемы программирования. – 2001. – № 3-4. – С. 40 – 47.
Коваль Г.І. Моделі і методи інженерії якості програмних систем на ранніх стадіях ЖЦ. Дис. канд. фіз.-мат. наук. Інститут кібернетики ім. В.М. Глушкова НАН України, Київ, 2005. – Держ. обл. № 0405U005045.
-
Коваль Г.І., Мороз Г.Б. Моделювання вимог до якості програмних систем оброблення даних // Проблеми програмування (Спецвипуск конференції УкрПРОГ-2006). – 2006. – № 2-3. – С. 237 – 244.
Модель оценки технологической зрелости организаций-разработчиков программного обеспечения / Ф.И. Андон, В.Ю. Суслов, Т.М. Коротун, Г.И. Коваль, О.А. Слабоспицкая // Проблемы программирования. – 1998. – № 4. – С. 46 – 57.
Лаврищева Е.М., Рожнов А.М. Концепция аналитической оценки характеристик качества программных компонентов // Проблеми програмування (Спецвипуск конференції УкрПРОГ-2004). – 2004. – № 2 – 3. – С. 180 – 187.
Парадигма качества программного обеспечения / Ф.И. Андон, В.Ю. Суслов, Т.М. Коротун, Г.И. Коваль // Проблемы программирования. – 1999. – № 2. – С. 51 – 62.
Основы инженерии качества программных систем / Ф.И. Андон, Г.И. Коваль, Т.М. Коротун, Е.М. Лаврищева, В.Ю. Суслов // Изд. перераб. и дополн., под ред. И.В. Сергиенко. – Киев: Академпериодика, 2007. – 672 с.
ISO/IEC 12207:1995 (Amd 1:2002, Amd 2:2004). Information Technology – Software life cycle processes. – ISO. – 106 p.
ДСТУ 3918-99 Інформаційні технології. Процеси життєвого циклу програмного забезпечення. – К.: Держстандарт України. – 2000. – 49 с.
Коваль Г.І. Байєсівські мережі як засіб оцінювання та прогнозування якості програмного забезпечення // Проблеми програмування. – 2005. – № 2. – С. 15 – 23.
Слабоспицкая О.А. Экспертиза процессов жизненного цикла программных систем: особенности организации и проведения // Проблеми програмування. – 2006. – № 2-3 (Спецвипуск по матеріалах конференції УкрПРОГ-2006). – С. 341 – 348.
Отримано 19.04.2007
Про автора:
Коваль Галина Іванівна,
кандидат фізико-матемтичних наук,
старший науковий співробітник.
Місце роботи автора:
Інститут програмних систем НАН України,
тел.:(044) 526 4579
mail: g.koval@ekotex.kiev.ua
© Г.І. Коваль, 2007
ISSN 1727-4907. Проблеми програмування. 2007. № 2
|
|