К. М. Лавріщева програмна інженерія підручник Київ, 2008
Скачать 5.23 Mb.
|
Метрики використання призначено для вимірювання ступеня задоволення потреб користувача для розв’язання задач. Вони допомагають оцінити не властивості самої програми, а результати її експлуатації – експлуатаційну якість. Як приклад – точність і повнота реалізації завдань користувача, а також витрачені ресурси (трудовитрати, продуктивність та ін.) на ефективне розв’язання задач користувача. Оцінка вимог користувача виконується за допомогою зовнішніх метрик. 9.1.3. Стандартна оцінка показників якості Оцінка якості ПС згідно з чотирирівневою моделлю якості починається з нижнього рівня ієрархії, тобто з найелементарнішої властивості оцінюваного атрибута показника якості згідно з встановленими мірами. При проектуванні системи визначають значення оцінних елементів з кожного атрибута показника аналізованого ПС, що відображений у вимогах. За визначенням стандарту ISO/IES 9126-2 метрика якості ПС являє собою «модель вимірювання атрибута, що зв'язує його з показником якості». При вимірюванні показників якості даний стандарт дає змогу визначати такі типи мір: міри розміру в різних одиницях вимірювання (кількість функцій, розмір програми, обсяг ресурсів й ін.); міри часу – періоди реального, процесорного або календарного часу (час функціонування системи, час виконання компонента, час використання й ін.); міри зусиль – продуктивний час, витрачений на реалізацію проекту (продуктивність праці окремих учасників проекту, колективна трудомісткість та ін.); міри інтервалів між подіями, наприклад, час між послідовними відмовами; Розділ 9 261 міри лічби – лічильники для визначення кількості виявлених помилок, структурної складності програми, числа несумісних елементів, числа змін (наприклад, число виявлених відмов та ін.). Метрики якості, що використовують для оцінки ступеня простоти тестування за допомогою даних (безвідмовна робота, виконуваність функцій, зручність застосування інтерфейсів користувачів, БД і т.п.) після проведення випробувань ПС на множині тестів. Напрацювання на відмову як атрибут надійності – це середній час між появою загроз, що порушують безпеку, складова вимірюваної оцінки збитку, завданого відповідними загрозами. Дуже часто оцінка програми здійснюється за кількістю рядків. При зіставленні двох програм, що реалізують одне застосування, перевага надається короткій програмі, оскільки її створює більш кваліфікований персонал, в ній менше прихованих помилок, її легше модифікувати. За вартістю вона дорожче, хоча часу на налагодження й модифікацію витрачають більше. Отже, довжину програми можна використати як допоміжну властивість для порівняння програм з урахуванням однакової кваліфікації розробників, єдиного стилю розробки й спільного середовища. Якщо у вимогах до ПС було зазначено отримання кількох показників, то обчислений після збирання даних показник множиться на відповідний ваговий коефіцієнт, а потім підсумовуються всі показники для отримання комплексної оцінки рівня якості ПС. На основі вимірювання кількісних характеристик і проведення експертизи якісних показників із застосуванням вагових коефіцієнтів, що нівелюють різні показники, визначається підсумкова оцінка якості продукту шляхом підсумовування результатів за окремими показниками й порівняння їх з еталонними показниками ПС (вартість, час, ресурси й ін.). Іншими словами, при проведенні оцінки окремого показника за допомогою оцінних елементів визначають ваговий коефіцієнт k-метрики, j-показника, i- атрибута. Наприклад, як j-показник візьмемо переносність. Цей показник буде обчислюватися за п'ятьма атрибутами (i = 1, ..., 5), причому кожний з них буде множитися на відповідний коефіцієнт k i Всі метрики j-атрибута підсумовують й утворюють i-показник якості. Коли всі атрибути оцінено за кожним з показників якості, виробляється сумарна оцінка окремого показника, а потім й інтегральна оцінка якості з урахуванням вагових коефіцієнтів всіх показників ПС. В остаточному підсумку результат оцінки якості є критерієм ефективності й доцільності застосування методів проектування, інструментальних засобів і методик оцінювання результатів створення програмного продукту на процесах ЖЦ. Для викладу оцінки значень показників якості використовують стандарт [4], у якому представлено такі методи: вимірювальний, реєстраційний, обчислювальний та експертний (а також комбінації цих методів). Вимірювальний метод базується на використанні вимірювальних і спеціальних програмних засобів для отримання інформації про характеристики ПС, наприклад, визначення обсягу, числа рядків коду, операторів, кількості гілок у програмі, число точок входу (виходу), реактивність та ін. 262 Розділ 9 Реєстраційний метод використовують для підрахунку часу, числа збоїв або відмов, початку й кінця роботи системи у процесі його виконання. Розрахунковий метод базується на статистичних даних, зібраних при проведенні випробувань, експлуатації й супроводі ПС. Розрахунковими методами оцінюються показники надійності, точності, стійкості, реактивності й ін. Експертний метод здійснюється групою експертів – фахівців, компетентних у розв’язку певної задачі або типу ПС. Їхня оцінка базується на досвіді й інтуїції, а не на безпосередніх результатах розрахунків або експериментів. Цей метод здійснюється шляхом перегляду програм, кодів, супровідних документів і сприяє якісному оцінюванню створеного продукту. Для цього встановлюють контрольовані ознаки, які корелюють з одним або декількома показниками якості й вміщені в карти попиту експертів. Метод використовується для оцінювання таких показників, як простота аналізу, документованість, структурованість ПС та ін. Для оцінювання значень показників якості залежно від особливостей використаних ними властивостей, призначення, способів їхнього визначення застосовуються: шкала метрична (1.1 – абсолютна, 1.2 – відносна, 1.3 – інтегральна); шкала порядкова (рангова), що дозволяє визначати ранг характеристики шляхом порівняння з опорними; класифікаційна шкала, що характеризує наявність або відсутність розглянутої властивості в оцінюваному програмному забезпеченні. Показники, які обчислюються за допомогою метричних шкал, називають кількісними, а визначені за допомогою порядкових і класифікаційних шкал – якісними. Атрибути програмної системи, що характеризують її якість, вимірюють з використанням метрик якості. Метрика визначає міру атрибута, тобто змінну, якій привласнюється значення, отримане внаслідок вимірювання. Для правильного використання результатів вимірювань кожна міра ідентифікується відповідною шкалою. Стандарт ISO/IES 9126–2 рекомендує застосовувати п’ять видів шкал вимірювання значень, які впорядковано від менш строгої до більш строгої: номінальна шкала відображає категорії властивостей оцінюваного об'єкта без їхнього впорядкування; порядкова шкала впорядковує характеристики за зростанням або спадання шляхом порівняння їх з базовими значеннями; інтервальна шкала задає істотні властивості об'єкта (наприклад, календарна дата); відносна шкала задає певне значення за вибраною одиницею; абсолютна шкала вказує на фактичне значення величини (наприклад, число помилок у програмі дорівнює 10). 9.1.4. Керування якістю програмних систем Під керуванням якості розуміють сукупність організаційної структури й відповідальних осіб, а також процедур, процесів і ресурсів для планування й керування досягненням якості ПС. Керування якістю – SQM (Software Quality Management) базується на застосуванні стандартних положень щодо гарантії якості – SQA (Software Quality Assurance) [4, 14]. Розділ 9 263 Мета процесу SQA полягає в гарантуванні того, що продукти й процеси узгоджуються з вимогами, відповідають планам і складаються з таких видів діяльності: впровадження стандартів і відповідних процедур розроблення ПС на процесах ЖЦ; оцінка дотримання положень цих стандартів і процедур. Гарантія якості полягає в наступному: перевірка несуперечності й виконуваності планів; узгодження проміжних робочих продуктів із плановими показниками; перевірка виготовлених продуктів певним вимогам; аналіз застосовуваних процесів на відповідність договору й планам; узгодження із замовником середовища й методів розробки продукту; перевірка вибраних метрик продуктів, процесів і засобів їхнього вимірювання відповідно до затвердженого стандарту й процедур вимірювання. Мета процесу керування SQM – моніторинг (систематичний контроль) якості для гарантії того, що продукт буде задовольняти споживача, і передбачує: визначення кількісних властивостей якості, ґрунтованих на виявлених і передбачених потребах користувачів; керування реалізацією поставлених цілей для досягнення якості. Процес SQM ґрунтується на гарантії того, що: – цілі досягнення необхідної якості встановлено для всіх робочих продуктів у контрольних точках продукту; – визначено стратегію досягнення якості, метрики, критерії, засоби, вимоги до процесу вимірювання та ін.; – визначено й виконано дії, пов'язані з наданням продуктам властивостей якості; – проведено контроль якості (SQA, верифікація й валідація) і цілей; – виконані процеси вимірювання й оцінювання кінцевого продукту на досягнення необхідної якості. Основні стандартні положення [1–4, 14] щодо створення якісного продукту й оцінки досягнутого ним рівня дозволяють виділяти два процеси забезпечення якості на процесах ЖЦ: – гарантія (підтвердження) якості ПС як результат певної діяльності на кожному процесі ЖЦ із перевіркою відповідності системи стандартам і процедурам, орієнтованим на досягненні якості; – інженерія якості як процес надання продуктам ПС властивостей функціональності, надійності, супроводу й інших характеристик якості. Процеси досягнення якості призначено для: – керування, розробки й забезпечення гарантій відповідно до зазначених стандартів і процедур; – керування конфігурацією (ідентифікація, урахування стану й дій з аутентифікації), ризиком і проектом відповідно з стандартів й процедур; – контроль базової версії ПС і реалізованих у ній характеристик якості. Виконання зазначених процесів складається з таких дій: – оцінка стандартів і процедур, які виконуються при розробленні програм; – ревізія керування, розроблення й забезпечення гарантії якості ПС, а також проектної документації (звіти, графіки розроблення, повідомлення й ін.); 264 Розділ 9 – контроль проведення формальних інспекцій і переглядів; – аналіз і контроль проведення приймального тестування (випробування) ПС. Для організації, що займається розробленням ПС, у тому числі з компонентів, інженерія якості ПС повинна підтримуватися системою керування якістю (планування, облік і контроль). Інженерія якостіскладається з набору методів і заходів, за допомогою яких програмні продукти перевіряють на виконання вимог до якості й забезпечуються характеристиками, передбаченими у вимогах на ПС. Система якості (Quality systems – QS) [14] – це набір організаційних структур, методик, заходів, процесів і ресурсів для здійснення керування якістю. Для забезпечення необхідного рівня якості ПС застосовуються два підходи. Один з них орієнтується на кінцевий програмний продукт, а другий – на процес створення продукту. При підході, орієнтованому на продукт, оцінка якості проводиться після випробування ПС. Цей підхід базується на припущенні, що чим більше виявлено й усунуто помилок у продукті під час проведення випробувань, тим вищою є його якість. При другому підході передбачають й приймають заходи щодо запобігання, оперативного виявлення й усунення помилок, починаючи з початкових процесів ЖЦ відповідно до плану й процедур забезпечення якості ПС, що розроблюється. Цей підхід представлено у серії стандартів ISO 9000 й 9000-1,2,3, що дає рекомендації організаціям-розробникам створювати систему якості згідно з схемою, наведеною на рис. 9.3. Важливе місце в інженерії якості приділяється процесу вимірювання характеристик процесів ЖЦ, його ресурсів і створюваних на них робочих продуктах. Цей процес реалізується групою якості, верифікації й тестування. У її функції входить планування, оперативне керування й забезпечення якості. Рис. 9.3. Вимоги стандарту до організації системи якості Планування якості являє собою діяльність, спрямовану на визначення цілей і вимог до якості. Воно охоплює ідентифікацію, встановлення цілей, вимог до якості, Розділ 9 265 класифікацію й оцінку якості. Складають календарний план-графік для проведення аналізу стану розробки й послідовного вимірювання спланованих показників і критеріїв на процесах ЖЦ. Оперативне керування складається з методів й видів діяльності оперативного характеру для поточного керування процесом проектування й усунення причин незадовільного функціонування ПС. Забезпечення якості полягає у виконанні й перевірці того, що об'єкт розроблення виконує зазначені вимоги до якості. Цілі забезпечення якості можуть бути внутрішні й зовнішні. Внутрішні цілі – створення впевненості у керівника проекту, що якість забезпечено. Зовнішні цілі – це запевнення користувача, що необхідну якість досягнуто й отримано якісне програмне забезпечення. Як показує досвід, ряд фірм, що випускають програмну продукцію, мають системи якості, що забезпечує ними виробництво конкурентоспроможної продукції. Система якості – це моніторинг попиту на новий вид продукції, що випускається, контроль усіх ланок її виробництва, включаючи підбір і постачання готових компонентів для системи. При відсутності відповідних служб якості розробники ПС повинні використовувати власні нормативні й методичні документи, що регламентують процес керування якістю ПС для всіх категорій розробників і користувачів програмної продукції. 9.2. Моделі оцінки надійності програмних систем З усіх напрямів програмної інженерії надійність ПС є найбільш дослідженим. Їй передувала розробка теорії надійності технічних засобів, що вплинула на розвиток надійності ПС. Питаннями надійності ПС займалися розробники ПС, намагаючись різними системними засобами забезпечити надійність, що задовольняє замовника, а також теоретики, які, вивчаючи природу функціонування ПС, створили математичні моделі надійності, що враховують різні аспекти роботи ПС (виникнення помилок, збоїв, відмов та ін.) і дозволяють оцінити реальну надійність. Отже надійність ПС сформувалася як самостійна теоретична й прикладна наука [5–10, 16–24]. Надійність складних ПС істотно відрізняється від надійності апаратур. Носії даних (файли, сервер і т.п.) мають високу надійність, записи на них можуть зберігатися тривалий час без руйнування, оскільки фізичному руйнуванню вони практично не підлягають. З погляду прикладної науки надійність – це здатність ПС зберігати свої властивості (безвідмовність, стійкість та ін.), перетворювати вихідні дані на результати протягом певного проміжку часу за певних умов експлуатації. Зниження надійності ПС відбувається через помилки у вимогах, проектуванні й виконанні. Відмови й помилки залежать від способу виробництва продукту й з'являються в програмах при їхньому виконанні на деякому проміжку часу. Для багатьох систем (реального часу, радарні системи, системи безпеки, медичне устаткування з вбудованими програмами та ін.) надійність – головна цільова функція їх реалізації. Для таких типів систем висувають високі вимоги до надійності, такі, як відсутність помилок, вірогідність, безпека та ін. Таким чином, оцінка надійності ПС залежить від числа помилок, що залишилися не усунутими у програмах. У процесі експлуатації ПС помилки 266 Розділ 9 виявляють й усувають. Якщо при виправленні помилок не вносяться нові або, принаймні, нових помилок вноситься менше, ніж усувається, то в процесі експлуатації надійність ПС безперервно зростає. Чим інтенсивніше здійснюється експлуатація, тим інтенсивніше виявляються помилки й швидше зростає надійність системи й відповідно її якість. Надійність є функцією помилок, що залишилися в ПС після введення його до експлуатації. ПС без помилок є абсолютно надійним. Але для більшості програм абсолютна надійність практично недосяжна. Помилки, що залишилися незнайденими, виявляють себе час від часу за певних умов (наприклад, при певній сукупності вихідних даних) супроводу й експлуатації системи. Для оцінки надійності ПС використовуються такі статистичні показники, як ймовірність і час безвідмовної роботи, можливість відмови й частота (інтенсивність) відмов. Оскільки як причини відмов розглядаються тільки помилки в програмі, які не можуть самоусуватися, то ПС варто відносити до класу систем, що не оновлюють. При кожному вияві нової помилки, як правило, здійснюється її локалізація й виправлення. При цьому накопичена до цього статистика про відмови втрачає своє значення, оскільки після внесення змін програма, власне кажучи, є новою програмою на відміну від тієї, яка до цього випробовувалася. У зв'язку з виправленням помилок у ПС надійність, тобто її окремі атрибути, будуть увесь час змінюватися, як правило, у бік покращання. Отже, їхня оцінка буде мати тимчасовий і наближений характер. Тому виникає необхідність у використанні нових властивостей, адекватних реальному процесу вимірювання надійності, таких, як залежність інтенсивності виявлених помилок від числа прогонів програми й залежність відмов від часу функціонування ПС тощо. 9.2.1. Ґрунтовні поняття проблематики надійності Формальне визначення моделей надійності ПС. З теоретичної точки зору під надійністю ПС розуміють здатність системи зберігати свої властивості (безвідмовність, відновлюваність) на певному рівні протягом фіксованого проміжку часу за певних умов експлуатації. Інакше кажучи, є імовірність того, що функціонуюча ПС у заданому середовищі не дасть відмов у інтервалі часу (t,. t+k) за умови, що остання відмова ПС й усунення відповідної помилки відбулися до моменту часу t. Чим більше часу працює система без відмов, тим вона надійніше. Дослідження надійності проводиться за допомогою методів теорії ймовірностей, математичної статистики, відновлення систем й ін. Формально надійність можна визначити як таку ймовірність: P (i) = P, якщо немає відмов у i прогонах програми на тестах, P(t) = P, якщо немає відмов у інтервалі часу (0, t ) виконання програми. Якщо при відмові працездатність системи підлягає відновленню в процесі експлуатації, то така система називається відновлюваною. Головними показниками такої системи є час безвідмовної роботи ПС і час її відновлення після відмови. Якщо ці часи розподілені за степеневим законом, то для розрахунку надійності можна використати однорідні марковські процеси, але якщо вони розподілені за довільним законом, то розрахунок надійності ускладнюється й виконується за наближеними формулами. Ймовірність безвідмовної роботи системи визначається Розділ 9 267 приблизно за формулою: P(t) exp ( – t / T) [ 1]. Ймовірність того, що в системі не відбудуться відмови протягом фіксованого часу, означає зростання надійності ПС. Якщо спостерігається потік відмов, то робота системи підпорядковується пуассонівському закону, а ймовірність її безвідмовної роботи визначається за формулою: P(t ) = K r exp (–t /T), де K r = T (T +T n ) –1 і означає, що потік відмов постійний на заданому інтервалі часу роботи системи. Дослідження надійності ПС з різних точок зору її теорій привели до розроблення великої кількості моделей надійності ПС, які орієнтовані на математичну оцінку надійності ПС. Багато моделей надійності дають наближені оцінки й виходять із того, що помилка, яка виникла, або відмова негайно усуваються, і нові помилки при цьому не вносяться. Такі моделі надійності визначаються математичною залежністю між часом виконання програми й загальним числом виявлених помилок. |