М. Сидоров - ВСТУП ДО ІНЖЕНЕРІЇ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
де a і b- точки в просторі; a1... an і b1... bn - координати точок у відповідних площинах.
Проекти, що мають найбільшу схожість, будуть розташовані щонайближче, тобто евклідова відстань у них буде найменшою. Останнім станом с експерт на оцінка проекту, що розробляється, в якій значення, взяті а аналогічного проекту, використовуються як база оцінки.
Моделі оцінювання вартості 173. Модель оцінювання вартості програмного забезпечення - цс одна або декілька функцій, які описують залежність між характеристиками проекту і витратами на його реалізацію. Моделі поділяють за типом використовуваних функцій на лінійні, мультиплікативні, статичні; за використанням історичних даних на емпіричні та аналітичні. Моделями, що часто реалізуються і є добре документованими, є моделі Путнема (статична, аналітична) і COCOMO (статична, емпірична).
Модель Путнема (SLIM). Найбільш поширена модель аналітичної групи. Створена для проектів обсягом понад 70 000 рядків коду, модель ґрунтується на твердженні, що витрати на розробку ПО розподіляються згідно з кривими Нордена-Рейлі, які є графіками функцій, що розподіляє робочу силу за часом. Загальний вигляд подібної функції: де v - набуте значення; t- час, a v0 і tp - параметри, що визначають функцію. Для великого значення t крива прагне до параметра v0 , який називається cost scale factor parameter, функція зростає найшвидше при t = tp Основною причиною такої поведінки моделі було те, що спочатку дослідження Нордена ґрунтувалися не на теоретичній основі, а на спостереженнях за проектами, не пов'язаними з ПО (машинобудування, будівництво). Тому немає наукового підтвердження, що програмні проекти потребують такого ж розподілу робочої сили. Навпаки, часто кількість людино-годин, потрібних проекту, може різко змінитися, зробивши оцінку непридатною до використання. Після ряду емпіричних спостережень Путнем виразив робоче рівняння моделі у формі:
де Size - розмір коду в LOC; С - технологічний фактор; Е- загальна вартість проекту в людино-годинах; t - очікуваний час реалізації проекту.
Технологічний фактор включає в себе характеристику проекту в таких аспектах: методи управління розуміння процесу, якість використаних методів інженерії ПО, рівень використаних мов програмування, рівень розвитку середовища, навички та досвід команди розробників, складність додатків.
Рівняння для загальної вартості Е мас вигляд:
де D0 - коефіцієнт, що виражає кількість необхідної робота (значення від 8 до 12 означає, що ПО повністю нове, з великою кількістю зв'язків; значення до 27 - потрібне перероблення наявного коду)- Зв'язуючи два рівняння, отримаємо таке
і
які показують, що витрати пропорційні розміру коду в степені 9/7 ≈ 1/286. Це досить близько до моделі Б. Боема, де даний чинник знаходиться у межах від 1,05 до 1,20 [10].
У 1991 році Путнемом була представлена альтернативна реалізація моделі, виконана за замовленням Quantitative Software Management (QSM) Inc. і застосована в комплексі SLIM Estimate для оцінювання вартості ПЗ [14]. Повне рівняння в цій реалізації виглядає як: Е = 125 ∙ B(SLOC/P)3 ∙ (1/Schedule4).
Якщо на загальний час реалізації проекту обмеження не накладаються, то можливе використання спрощеного рівняння
тут В - чинник спеціальних навичок; Р - чинник продуктивності; Schedule - час розробки ПЗ графіку (у місяцях), Рівняння може бути використане, якщо передбачувані витрата понад 20 люднно-місяцїв.
Використання наведених рівнянь потребує знання параметра Р. Для його визначення використовується спеціальна таблиця, що містить значення параметра Р, залежні від середовища застосування, що розробляється.
Модель COCOMO. Сім'ю моделей COCOMO було створено в 1981 році на основі бази даних про проекти консалтингової фірми TRW.
COCOMO є третьою моделлю, орієнтованою на використання в трьох фазах життєвого циклу ПО: базова (Basic) - застосовується на етапі вироблення специфікацій, вимог, розширена (Intermediate) - після визначення вимог до ПО; поглиблена (Advanced) - використовується після закінчення проектування ПЗ. У загальному вигляді рівняння моделей має вигляд:
де Е - витрати праці на проект (у людино-місяцях); S - розмір коду (у KLOC); EAF - чинник уточнення витрат (effort adjustment factor). Параметри a і b залежать від виду застосування, що розробляється, який може бути таким:
- відносно простий проект, робота над яким ведеться однорідною командою розробників, вимоги носять рекомендаційний характер, відсутня заздалегідь вироблена вичерпна специфікація (наприклад, нескладне прикладне програмне забезпечення);
- проект середньої складності, робота над яким ведеться змішаною командою розробників, Вимоги до проекту визначаються специфікацією, проте можуть змінюватися в процесі його розробки (наприклад, програмне забезпечення системи управління банківським терміналом);
- проект, який повинен бути реалізованій! у жорстких рамках заданих вимог (наприклад, програмне забезпечення системи управління польотами),
У базовій моделі чинник EAF береться рівним одиниці. Для визначення значення цього чинника в розширеній моделі використовується таблиця, що містить ряд параметрів, які визначають вартість проекту. Використовуючи поглиблену модель, спочатку виконують оцінювання з використанням розширеної моделі на рівні компонента, після чого кожен параметр вартості оцінюється для всіх фаз життєвого циклу ПЗ.
COCOMO II також є сімейством моделей і є розвитком базової (Basic) моделі COCOMO. COCOMO ІІ включає три моделі - створення додатків (Application Composition Model, ACM), ранній етап розробки (Early Design Model, EDM) і пост-архитектурна (Post Architecture Model, PAM).
ACM використовується на ранньому етапі реалізації проекту, для того, щоб оцінити таке: інтерфейс користувача, взаємодія з системою, продуктивність. За початковий розмір береться кількість екранів, звітів і 3GL-компонентів. Якщо припустити, що в проекті буде використано r % об'єктів з раніше створених проектів, кількість нових об'єктних точок у проекті (Object Points, OP) можна розрахувати як:
OP=(object роіnts)*(100-r)/100.
Тоді витрати можна розрахувати за формулою:
E=OP/PROD,
де PROD - табличне значення.
EDM - це високорівнева модель, якій потрібна порівняно неве-лика кількість початкових параметрів. Вона призначена для оцінювання доцільності використання тих або інших апаратних і програмних засобів у процесі розробки проекту. Для визначення розміру використовується функціональна точка (Unadjusted Function Point). Для її перетворення в LOC використовуються таблиці перетворень, Рівняння моделі раннього етапу розробки мас вигляд:
E=a∙LOC∙EAF,
де а - константа 2,45; EAF визначається так само, як і в оригінальній моделі COCOMO.
Параметри для EDM отримують комбінуванням параметрі» для постархітектурної моделі.
РАМ є найбільш деталізованою моделлю, яка використовується, коли проект повністю готовий до розробки, Для оцінювання вартості ПЗ за допомогою РАМ необхідний пакет опису життєвого циклу проекту, який містить докладну інформацію про чинники вартості і дозволяє провести точніше оцінювання. РАМ використовується на етапі фактичної розробки і підтримки проекту. Для оцінювання розмірів можуть використовуватися як рядки коду, так і функціональні точки з модифікаторами, що враховують повторне використання коду. Модель використовує 17 чинників вартості і 5 чинників, що визначають масштаб проекту (у моделі COCOMO масштаб визначався параметрами виду додатка). Рівняння РАМ має вигляд
а взято за 2,55, а, де Wi - параметри, що відображають властивості проекту, наприклад, схожість з раніше виконаними проектами, ризик вибору архітектури для реалізації, розуміння процесу розробки, спрацьованості команди розробників. Значення параметрів є табличними.
7.3. Засоби оцінювання вартості програмного забезпечення
Широко відомі засоби оцінювання ПЗ, засновані на моделях SLIM і СОСОМО.
SLIM Estimate компанії QSM є найбільш часто використовуваним програмним засобом для оцінювання вартості програмного забезпечення, у якому реалізована модель Путнема. Засіб входить до складу пакету прикладного програмного забезпечення і призначений для роботи над проектом ПЗ на початкових стадіях життєвого циклу. У пакет, окрім засобу оцінки, також входять засоби збирання і зберігання даних про реалізовані проекти (SUM DataManager), аналізу цих даних (SLIM Metrics), загального контролю над процесом розробки (SLIM Control). Цей пакет використовується для оцінювання вартості, що розробляється програмним забезпеченням у таких організаціях: Alcatel Telecom, AT&T, Athens Group, Australian Department of Defence, BАЕ, Bell South Communications, Hewlett-Packard. IBM Rational Software, Lockheed Martin, Motorola Communications, Nokia, US Air Force Cost Analysis Agency. SLIM Estimate дає змогу виконувати оцінювання вартості розробки програмного забезпечення різними способами: майстер швидкого оцінювання, оцінювання розміру, оцінювання РІ, оцінювання непередбачених обставин, оцінювання, засноване на історичних чинниках. Першим і найчастіше використовуваним є майстер швидкої оцінки (Quick Estimate Wizard). Для цього використовуються такі параметри: тип застосування, що розробляється; максимально можливий час роботи над проектом; бюджет проекту; орієнтовна загальна кількість рядків; індекс продуктивності команди розробників; відсоток повторно використовуваного коду. Формуються таблиці і будуються діаграми, що відображають загальну кількість задіяної робочої сили і її розподіл програмного забезпечення за графіком робіт.