- •Перелік термінів та позначень
- •Передмова
- •Частина 1. Початок програмування в срср. Витоки розвитку
- •1.1. Поява і розвиток технології програмування (1952–2012)
- •1.2. Формування технологічних напрямів (1965–1975)
- •1.3. Становленья технології програмування (1975–1982)
- •1.4. Розвиток інтерфейсу в технології програмування (1976–1992)
- •1.5. Розвиток об’єктної технології програмування (1992–2002)
- •1.6. Індустріальні основи технології програмування (2002–2012)
- •1.7. Навчання тп у кну Тараса Шевченко (1965–2012) та філії мфті (2000–2012)
- •Контрольні питання і завдання до частини 1
- •Список літератури до частини 1
- •Частина 2. Парадигми технології програмування
- •2.1. Модульне програмування та збиральний підхід
- •2.1.1. Інтерфейс в програмуванні
- •2.1.2. Зборка модулів по а.П.Єршову
- •2.1.3. Метод зборки готових програмних елементів
- •2.1.4. Формальне подання методу збирання різномовних модулів
- •2.2. Парадигма об’єктно-орієнтованого програмування
- •2.2.1. Базові концепції ооп
- •2.2.2. Чотирьох рівневе проектування ом
- •2.2.3. Концепції об’єктного аналізу
- •2.2.4. Функції, алгебра та операції об’єктного аналізу
- •2.2.5. Моделювання моделі ПрО
- •2.2.6. Опис параметрів інтерфейсу ом
- •2.3. Парадигма uml-метода моделювання
- •2.3.1 Основні діаграми методу
- •2.3.2. Моделювання поведінки системи
- •2.3.3. Побудова пс засобами uml
- •2.4. Парадигма компонентного програмування
- •2.4.1. Теоретичні аспекти компонентного програмування
- •2.4.2. Моделі компонентного програмування
- •2.4.3. Графове подання компонентної моделі ПрО
- •2.4.4. Об’єднання компонентів. Модель середовища
- •2.4.5. Компонентна алгебра
- •2.4.6. Іінструментальні засоби кп
- •2.4.7. Технологія компонентної розробки пс
- •2.4.8. Типізація і класифікація програмних компонентів
- •2.4.9. Жц проектування пс із типових компонентів та кпв
- •Розробка вимог до пс – це формування та опис функціональних, технологічних, організаційних та ін. Властивостей програмної системи, які необхідні чи бажані з точки зору кінцевого користувача.
- •Розгортання рпс. У випадку, коли рпс створюється для конкретного замовника, який є і користувачем, то деякі завдання розгортання виконуються на попередніх етапах. До них, зокрема, відносяться:
- •Супровід рпс компонентній пс характеризується наступними особливостями.
- •2.5. Парадигма аспектно-орієнтованого програмування
- •2.5.1.Основні елементи парадигми аоп
- •2.5.2. Засоби аоп
- •2.5.3. Підтримка аоп впродовж життєвого циклу пс
- •2.5.5. Методичні аспекти аоп
- •2.6. Парадигма генерувального програмування
- •2.6.1 Предметно-орієнтована мова – dsl
- •2.6.2. Простір проблем і рішень ПрО
- •2.6.3. Інженерія ПрО і кпв
- •2.7. Сервісно-орієнтоване програмування
- •2.7.1 Базові понятті сервісу Інтернет
- •2.7.2. Сервіси wcf мs.Net з контрактами
- •2.8. Парадигми теоретичного програмування
- •2.8.1 Алгебраїчне та інсерційне програмування
- •2.8.2. Реалізація агентних програм
- •2.8.3. Експлікативне, номінативне програмування
- •2.8.4. Алгоритмічні алгебри
- •Контрольні питання і завдання до частини 2
- •Список літератури до частини 2
- •Частина 3. Моделі і засоби проектування предметних областей
- •3.1. Моделі проектування ПрО предметних областей
- •3.1.1. Концептуальні моделі пс, спс за компонентами
- •3.1.2. Моделі взаємозв’язку об’єктів
- •3.1.3. Модель інтеграції (зборка) компонентів
- •3.1.4. Тестування прикладних і інтерфейсних об'єктів
- •3.1.5. Моделі взаємодії і варіабельності пс для організації обчислень
- •3.1.6. Підхід до виконання пс в сучасних розподілених середовищах
- •3.2. Онтологічний підхід до подання знань про проблемні області
- •3.2.1. Онтологічне моделювання проблемної області
- •3.2.2. Мовний опис онтології домену чи спс
- •3.2.3. Підхід до реалізація онтології ПрО
- •3.3. Типи даних та засоби їх генерації для використання в збиральному прогрмуванні
- •3.3.1. Проблема забезпечення сумісності типів даних при зборки кпв
- •3.3.2. Аксіоматика простих типів даних
- •3.3.3. Аксіоматика структурних і складних типів даних. Структурні типи даних.
- •3.3.4. Семантичні аспекти взаємодії різнорідних програм
- •3.3.5. Характеристика типів даних для зборки програм
- •3.3.6. Фундаментальні і загальні типи даних
- •3.3.6. Баові поняття стандарту з типів даних
- •3.3.7. Перебудова загальних типів даних до фундаментальних для мп
- •3.4. Підходи і методи доказу програм
- •3.4.1. Мови специфікації програм –vdm, raise, Concept
- •3.4.2. Концепторна мова специфікації
- •3.4.3. Методи доведення правильності програм
- •3.4.4. Модель доказу програми за твердженнями
- •З.5. Проектування пс засобами жц з реалізації доменів
- •3.4.1. За загальна характеристика стандарту жц iso/iec 12207:2002
- •3.4.2. Формування конкретних моделей життєвого циклу
- •3.4.3. Підходи до моделювання ПрО мовними засобами dsl
- •3.6. Модель якості пс
- •3.6.1. Структура моделі якості
- •3.6.2. Модель витрат сосомо Боєма
- •3.6.3. Інтегрована модель витрат на спс
- •Контрольні питання і завдання до частини 3
- •Список літератури до частини 3
- •4.1.1. Моделі взаємодії компонентів у пс
- •Частина 4. Методи індустрії виробицтва програм і систем
- •4.1. Загальні основи методології виробництва пс і спс
- •4.1.2 Методологічні аспекти виробництва спс з готових ресурсів
- •4.2. Мова опису моделей взаємодії на основі xml
- •4.2.1 Подання та обмін даними в компонентних моделях
- •4.2.3 Модель конфігурації компонентів на основі xml
- •4.3. Графове подання пс і спс
- •4.3.1 Графове визначення моделі взаємодії об'єктів
- •4.3.2 Типи зв’язків об’єктів у графової моделі ПрО
- •4.4. Розробка методів побудови проблемно-орієнтованих технологій
- •4.4.1. Аналіз динаміки розвитку фабрик програм
- •4.3.2. Базисні ресурси фабрики програм
- •4.5. Загальні лінії виробництва програм з кпв
- •4.4.1. М етодологія побудови тл
- •4.4.2. Нові дисципліни індустрії наукового совтвера
- •4.4.3. Новітні засоби Grid і Cloud для обчислення задач e–sciences
- •4.4.4. Сучасні системи побудови рпс з сервісних ресурсів
- •4.4.5. Методологія розроблення тл
- •4.4.6. Принципи проектування іс
- •4.5. Методи при оцінюванні економічних характеристик проектів
- •4.5.2. Формальний апарат експертно-аналітичного оцінювання об’єктів і процесів у спс
- •4.5.3. Методи оцінки розміру
- •4.6. Створення Windows застосувань
- •4.6.1. Створення нової програми.
- •4.6.2. Властивості і дизайн програм
- •4.6.3. Компіляція програм
- •2.5. Запуск застосунка
- •4.6.4. Розширення функціональності програм
- •4.7. Інженерії тестування програмних систем
- •4.7.1. Основні поняття інженерії тестування
- •4.7.2 Становлення інженерії тестування
- •4.7.3. Методи тестування. Метрики і критерії
- •4.7.4. Інструменти тестування та оцінювання
- •4.7.5. Тестування веб-застосувань
- •Контрольні питання і завдання до частини 4
- •Список літератури до частини 4
- •5.2. Фабрика програм в кну
- •5.2.3. Створення фабрики студентів
- •5.2.4. Лінії продуктів фабрики на головної сторінки
- •5.2.5. Принципи роботи з репозиторієм програм і артефактів
- •5.2.6. Навчання дисципліні “Програмна інженерія” на фабрики
- •5.3. Репозиторій кпв
- •5.3.1. Загальний опис репозиторію
- •5.3.2. Технологія обслуговування репозиторію кпв
- •5.4. Розробка кпв
- •5.4.1. Опис моделей кпв, інтерфейсу і операцій розробки кпв
- •5.4.2. Реалізація побудови компонентної системи
- •5.4.3. Процеси технології оброблення кпв
- •5.4.4. Зборка різномовних програм у середовищі Visual Studio
- •5.5. Конфігурація кпв
- •5.5.1. Конфігурування кпв з урахуванням варіабельності
- •5.5.2. Опис прикладу використання конфігуратору програм
- •5.6. Генерація систем мовою dsl
- •5.6.1. Лінія опису та генерації доменів dsl
- •5.6.2. Опис життєвого циклу пз та його реалізації на мові dsl
- •2.7. Онтологія – обчислювальна геометрія
- •5.7.1. Онтологія домену – Обчислювальна геометрія
- •5.7.3. Опис моделі онтології ПрО «Обчислювальна геометрія»
- •5.7.4. Опис програми домену «Обчислювальна геометрія» мовою owl
- •5.8. Оцінка якості пс
- •5.8.2. Оцінка витрат на продукт
- •5.8.3. Опис модуля прогнозування трудовитрат на розробку пс
- •5.8.4. Приклад оцінювання затрат на розробку пс ас
- •5.9.1. Опис веб-технології Java ee
- •5.9.3. Приклад взаємодії Java і ms.Net через веб-сервіси
- •5.9.4. Інструкція по використанню графічного інтерфейсу прикладу
- •5.10. Генерація тд
- •5.10.1. Відображення типів даних у середовищі ітк
- •5.10.2. Система генерації загальних типів даних до фундаментальних
- •5.11. Інструментальні засоби сайта ітк
- •5. 12. Розділ сайта «Технологія навчання»
- •Контрольні питання і завдання до частини 5
- •Список літератури до частини 5
- •Післямова
- •Додаток 1. Парадигма структурного програмування
- •Додаток 2. Приклад створення служб wcf у ms Visual Studio 2010
- •Додаток 3. Онтологічний підхід з подання тестування кпв та пс
- •Додаток 4. Оцінка застосування метода сосомо на конкретних даних
- •Додаток 5. Програма курсу «Технологія програмування іс»
4.5.3. Методи оцінки розміру
SLOC. Цей метод базується на вимірюванні найбільш очевидної характеристики програмного забезпечення – кількості рядків коду у вихідних текстах.
Недоліками методу є різне тлумачення поняття “рядок коду” для різних мов програмування, різний розмір однієї і тієї ж системи в залежності від технологій, використаних для її створення, залежність кількості рядків коду від стилю його написання.
Позитивними рисами цього методу є його наочність, легкість автоматизації, відсутність необхідності у навчанні спеціалістів, які будуть використовувати цей метод, легкість перевірки результатів [14].
Завдяки цим якостям метод SLOC набув широкого застосування, оскільки, головні його недоліки можна компенсувати введенням стандартів на стиль написання коду та чітким визначенням поняття рядка коду.
FPA. Головною метою розробників методу FPA є встановлення загальної одиниці виміру функціонального розміру програмного забезпечення (ПЗ), шкали виміру та методу вимірювання функціонального розміру. На відміну від методу SLOC, функціональний розмір не залежить від технологій, використаних для створення системи, стилю написання коду, або мови програмування. За стандартом ISO/IEC, функціональний розмір (ФР) програмного забезпечення є кількісною мірою його функціональності та визначається, як кількісна оцінка функціональних вимог користувача до ПЗ. Функціональні вимоги визначають процеси та процедури, які будуть виконуватись ПЗ, або, іншими словами, що буде програма робити. ФР не залежить від того, як буде ПЗ працювати (наприклад, від вимог до якості або продуктивності), або від особливостей реалізації ПЗ. Метод FPA придатний до вимірювання ПЗ у всіх сферах застосувань і був успішно застосований у широкому колі проектів, від систем керування ракетною зброєю до систем фінансової звітності.
FPA базується на таких визначеннях:
1) Користувач – у контексті вимірювання функціонального розміру позначає будь-який об'єкт, який знаходиться за межами ПЗ, що вимірюється, та має потребу у взаємодії з цим ПЗ.
2) Межа ПЗ – межа відокремлює ПЗ, яке вимірюється, від користувачів. При цьому ПЗ має повністю знаходитись всередині межі. Наприклад, не можна провести межу між графічним інтерфейсом та обчислювальним ядром ПЗ, між клієнтською та серверною частинами ПЗ, оскільки ці частини, взяті окремо, не задовольняють усім функціональним вимогам до ПЗ. Взагалі, сума ФР підсистем не дорівнює ФР всієї системи, тому правильне визначення межі є однією з найважливіших умов коректного застосування FPA.
3) Елементарний процес – будь-який обмін інформацією між ПЗ та користувачем, в ході якого інформація перетинає межу ПЗ.
Підрахунок розміру системи. Після ідентифікації елементів, визначається їх рівень складності, та відповідна кількісна оцінка у одиницях функціональності. Функціональний розмір всього ПЗ є сумою оцінок його елементів.
Для оцінки складності елементів, розглядаються такі їх характеристики, як кількість задіяних елементарних даних, типів записів та типів файлів.
Тип запису (ТЗ, Record Element Type, RET). ТЗ – підгрупа даних у файлі (ВЛФ або ЗІФ), яка розглядається користувачем як одне ціле. На відміну від файлів, в яких можуть бути виділені підгрупи даних, у ТЗ зазвичай дані тісно пов’язані та окремі елементи даних не несуть корисної інформації.
Тип файлу (ТФ, File Type Referenced, FTR). ТФ – файл (ВЛФ або ЗІФ), задіяний у транзакції.
Елементарний тип даних (ЕТД, Data Element Type, DET). ЕТД – значення у складі ТЗ, ВЛФ або ЗІФ, які розпізнаються користувачем як окремі, та не повторюються в межах однієї транзакції, запису або файлу. Повторювані поля враховуються як одне елементарне дане.
Функціональний розмір елементів системи залежності від кількості задіяних ТФ, ТЗ та ЕТД визначається таблицями 4.1-4.5:
Таблиця 4.1 - Складність та функціональний розмір внутрішнього логічного файлу
Кількість ТЗ |
Кількість ЕТД |
||
|
1-19 |
20-50 |
> 50 |
1 |
Низька (7) |
Низька (7) |
Середня (10) |
2-5 |
Низька (7) |
Середня (10) |
Висока (15) |
> 5 |
Середня (10) |
Висока (15) |
Висока (15) |
Таблиця 4.2 - Складність та функціональний розмір зовнішнього інтерфейсу
Кількість ТЗ |
Кількість ЕТД |
||
|
1-19 |
20-50 |
> 50 |
1 |
Низька (5) |
Низька (5) |
Середня (7) |
2-5 |
Низька (5) |
Середня (7) |
Висока (10) |
> 5 |
Середня (7) |
Висока (10) |
Висока (10) |
Таблиця 4.3 – Складність та функціональний розмір зовнішнього вводу
Кількість ТФ |
Кількість ЕТД |
||
|
1-4 |
5-15 |
> 15 |
< 2 |
Низька (3) |
Низька (3) |
Середня (4) |
2 |
Низька (3) |
Середня (4) |
Висока (6) |
> 2 |
Середня (4) |
Висока (6) |
Висока (6) |
Таблиця 4.4 - Складність та функціональний розмір зовнішнього виводу
Кількість ТФ |
Кількість ЕТД |
||
|
1-5 |
6-19 |
> 19 |
< 2 |
Низька (4) |
Низька (4) |
Середня (5) |
2 або 3 |
Низька (4) |
Середня (5) |
Висока (7) |
> 3 |
Середня (5) |
Висока (7) |
Висока (7) |
Таблиця 4.5 - Складність та функціональний розмір зовнішнього запиту
Кількість ТФ |
Кількість ЕТД |
||
|
1-5 |
6-19 |
> 19 |
< 2 |
Низька (3) |
Низька (3) |
Середня (4) |
2 або 3 |
Низька (3) |
Середня (4) |
Висока (6) |
> 3 |
Середня (4) |
Висока (6) |
Висока (6) |
Нарешті, розмір всієї системи в умовних одиницях функціональності визначається як
|
|
MkII FPA. Метод MkII є клоном оригінального методу FPA, орієнтованим на оцінювання систем, які працюють з базами даних. Відповідно, з точки зору MkII, система складається з трьох типів елементів: Вхідні дані (Це дані, які надходять у систему, перетинаючи її межу), Результуючі дані (Це дані, які виходять із системи, перетинаючи її межу), Обробка даних (Це процес, який використовує вхідні дані та породжує результуючі дані) [14].
Також, на відміну від FPA, метод MkII включає всі випадки повторного використання одних і тих же типів даних у загальну оцінку.
Показник функціонального розміру системи розраховується за формулою:
|
|
де N – відповідно, кількість вхідних або результуючих даних, або процесів обробки даних, а константи W мають значення Wвх=0.58, Wрез=0.26, Wобр=1.66 [15].
COSMIC FFP. COSMIC FFP базується на тих самих визначеннях межі ПЗ та елементарного процесу, що і FPA. Але, на відміну від FPA, відповідно до [16], система складається з процесів переміщення даних та процесів обробки даних, як показано на рис. 4.3.
Для оцінювання розміру у системі виділяються 4 типи базових процесів: Зовнішній ввід, Зовнішній вивід, Внутрішнє зчитування, Внутрішній запис.
Зовнішні операції відбуваються між виділеним шаром системи та користувачем, при цьому перетинаючи межу системи, в той час як внутрішні відбуваються між шарами системи всередині межі. Розмір i-го шару системи у одиницях Cfsu визначається як
,
де Card(множина) – це потужність множини підпроцесів певного типу.
Рис. 4.3 – Модель ПС з точки зору методу COSMIC FFP
Оцінювання процесів маніпулювання даними у версії методу, яка аналізувалася (v.2.2), не було визначене.
4.5.3 Методи оцінювання трудомісткості, тривалості та вартості проектів
COCOMO. У основі моделі COCOMO лежить припущення, що розмір системи, Size, виражений у одиницях KSLOC, та величина зусиль, необхідних для розробки проекту, виражена у людино-місяцях, PM, пов’язані таким співвідношенням:
|
Це припущення було перевірено на базі, яка включала 161 проект з розробки ПЗ [17].
Розрахунок зусиль на
розробку. Оцінка зусиль
на виконання проекту (у людино-місяцях)
за COCOMO проводиться відповідно до
наведених формул. Індекс NS у значень
PM та TDEV позначає те, що ці оцінки зусиль
та тривалості відносяться до номінального
розкладу, тобто такого, який не враховує
фактор стиснення/розтягування розкладу,
SCED (Required Development Schedule – необхідний розклад
розробки). Бюджет, виражений у людино-місяцях
(person-month, PM),
,
оцінюється за формулою:
|
де
|
Константи A та B дорівнюють, відповідно, 2.94 та 0.91 [18].
Розрахунок тривалості та ціни.
Тривалість розробки (time to develop, TDEV),
,
оцінюється за формулою:
|
де
|
Значення n, кількості мультиплікативних факторів, EMi, дорівнює 16. Символом SFj позначено експоненційні фактори. Розмір має бути вираженим у одиницях KSLOC. Константи C та D дорівнюють, відповідно, 3.67 та 0.28 [18].
Вартість проекту визначається множенням кількісної величини зусиль, виражених у людино-місяцях, на вартість людино-місяця.
4.5.4. Побудова методики оцінювання проектів
Аналіз можливості застосування досліджених методів. Як вже згадувалось у розділі , найбільш важливими параметрами проекту для управління є розмір проекту, трудомісткість, час, необхідний для виконання та вартість. Корисно відмітити, що серед цих параметрів три останніх залежать від першого параметра – розміру. Тому оцінювання цих параметрів можна розбити на два етапи: оцінювання розміру та оцінювання трудомісткості, вартості та тривалості з використанням вже отриманого значення розміру.
Для розрахунку цих трьох параметрів добре підходить модель COCOMO, оскільки вона розроблялась саме з метою оцінки бюджету, вартості та тривалості проектів та є зараз найбільш широко застосовуваною моделлю. Модель COCOMO використовує як вхідний параметр розмір програмної системи у рядках вихідного коду (KSLOC). Отримати точний розмір у таких одиницях можна лише після завершення проекту. На будь-якому попередньому етапі розмір має визначатись за допомогою експертних оцінок або за допомогою деякої методики оцінювання розміру проекту, яка може дати оцінку в одиницях KSLOC. В той же час найкращим вибором для оцінювання розміру проекту є метод FPA: він має об’єктивний характер, простий у застосуванні, є найбільш широко застосованим у індустрії розробки ПЗ, має статус міжнародного стандарту та є загально доступним. Проте цей метод дає розмір системи у одиницях UFP, в той час як для подальший розрахунків необхідні одиниці KSLOC. Враховуючи наявність внутрішніх стандартів на стиль коду та використовувані засоби розробки у організації, можна зробити припущення про існування відповідності між розмірами системи у UFP та KSLOC. Тоді можна буде поєднати ці методи у єдину схему, яка приведена на рис. 4.4. Існуючі методи експертних оцінок також включені в схему, оскільки застосування більш формалізованих методів у певних випадках може бути неможливим або невигідним.
Організаційна побудова підходу до оцінювання проектів. Схема запропонованої організаційної побудови процесу оцінювання представлена на рис. 4.5. За цією схемою, процес оцінювання ділиться на чотири етапи:
Підготовка. Вибір методу оцінювання (Визначення методів, які буде використано для отримання оцінок), Планування процесу оцінювання (Визначення цілей, критеріїв завершення процесу оцінювання, обмежень та ключових припущень щодо проекту).
Виконання. Підготовка вхідних даних (Збір інформації та документів, необхідних для проведення оцінювання. При необхідності проводиться розбиття проекту на підзадачі), Оцінювання розміру (За допомогою обраного методу оцінюється розмір проекту).
Рис. 4.4 – Покриття цілей оцінювання за допомогою методів FPA та COCOMO.
Оцінювання зусиль та вартості (За допомогою обраного методу оцінюються необхідні зусилля та вартість виконання проекту) Оцінювання термінів виконання проекту (За допомогою обраного методу оцінюються терміни виконання проекту), Підготовка звіту про оцінювання (Готується документ, який містить результати, отримані на попередніх етапах).
Оцінка ефективності застосування метода FPA. Для успішного впровадження методу FPA необхідно оцінити такі його характеристики:
1) стабільність оцінок, які дає цей метод, тобто чи можна перевірити та повторити оцінку, отриману за цим методом?
2) узгодженість із статистикою по індустрії. Необхідно, щоб оцінки, отримані за цим методом, можна було використовувати за межами організації.
3) узгодженість оцінок між проектами. Відповідно до припущення про існування співвідношення розмірів проектів у одиницях SLOC та UFP, величина цього співвідношення для різних проектів має бути однаковою.
Рис. 4.5 – Повна схема процесу оцінювання проекту
Для цього було проведено оцінювання декількох проектів кількома різними експертами.
Підбір проектів та експертів проводився за такими критеріями:
1) проект було реалізовано на мові C++ або Java. Ці дві мови є найпоширенішими у організації та в індустрії в цілому, що дає можливість зіставити результати оцінювання;
2) експерт мав досвід у відповідній прикладній області або мав змогу звернутись до розробника проекту за поясненнями;
3) процес оцінювання має покрити весь діапазон розмірів проектів, наявний у організації.
4) сумарні зусилля на проведення оцінок не мали перевищувати 80 людино-годин
Результаті отриманих даних і приклади наведені у Додатку 5.
Методика калібрування моделі COCOMO. Модель COCOMO дає змогу отримати більш точні результати, якщо відкалібрувати її за даними по історичних проектах. COCOMO використовує таке рівняння для оцінки бюджету проекту:
|
|
У цьому рівнянні присутні дві калібровочні константи, A та B0. Маючи достатню кількість даних про вже виконані проекти, можна визначити значення цих констант для умов у даній організації.
Нехай
у наявності є дані по n
проектах. Нехай
– порядковий номер проекту. Після
логарифмування та очевидних перетворень
рівняння (1) матиме такий вигляд:
|
Позначимо
|
Тоді
|
або у векторному вигляді
|
Якщо ввести позначення
|
|
то матимемо
|
звідки можна отримати K як
|
або
|
Таким чином, можна отримати значення калібровочних констант для певних умов виконання проектів.
Калібрування моделі COCOMO. Розрахунки проводилися за вище наведеними формулами. Було отримано такі результати (табл. 1.9, стовпчик “Локальна калібровка”):
Таблиця 1.6 – Результати калібрування моделі COCOMO
Константа |
Стандартна калібровка |
Локальна калібровка |
A |
2.54 |
2.23 |
B0 |
0.91 |
0.49 |
Для порівняння у стовпчику “Стандартна калібровка” наведені значення констант для стандартної калібровки COCOMO.
Аналіз результатів калібрування. За результатами калібрування було розраховано зусилля на розробку проектів та порівняно з фактичними даними та результатами обчислень за стандартною калібровкою. Отримані значення та відхилення у відсотках від фактичного значення приведені у таблиці 1.10.
Таблиця 1.7 – Результати обчислень за каліброваною моделлю
№ |
PM фактичне |
PM, стандартна калібровка |
Відхилення, %, стандартна калібровка |
PM, локальна калібровка |
Відхилення, %, локальна калібровка |
1 |
3.38 |
1.96 |
42% |
1.37 |
60% |
2 |
11.30 |
18.83 |
67% |
6.40 |
43% |
3 |
13.00 |
16.09 |
24% |
5.75 |
56% |
4 |
24.72 |
43.03 |
74% |
10.84 |
56% |
5 |
5.58 |
33.11 |
493% |
10.66 |
91% |
6 |
34.64 |
144.57 |
317% |
29.14 |
16% |
7 |
37.07 |
56.75 |
53% |
15.40 |
58% |
8 |
2.88 |
25.73 |
793% |
8.97 |
211% |
9 |
3.19 |
25.03 |
685% |
8.81 |
176% |
10 |
3.37 |
28.38 |
742% |
9.60 |
185% |
11 |
3.43 |
10.72 |
213% |
4.94 |
44% |
12 |
25.28 |
109.66 |
334% |
24.13 |
5% |
Ці ж результати у графічному вигляді подані на рис 1.6. Можна бачити, що калібрування моделі за базою історичних проектів дозволяє отримати оцінки, у більшості випадків більш близькі до фактичних, ніж з використанням стандартної калібровки. Але навіть для моделі з локальною калібровкою величини та розкид відхилень оцінок від фактичних значень (стовпчик “Відхилення, %, локальна калібровка”) роблять надто ризикованим використання таких оцінок.
Є наступні можливі причини таких відхилень:
1) вибірка проектів надто мала для калібрування моделі;
2) вихідні дані містять шуми або «викиди»;
3) у вибірці проектів присутні проекти, розроблені із використанням різних мов програмування. На процес розробки могли вплинути фактори, пов’язані із мовою програмування та супутніми технологіями, які не враховуються моделлю COCOMO.
Збільшення обсягу вибірки призвело б до включення проектів, які не відповідають моделі COCOMO, та, відповідно, до збільшення зашумленості вихідних даних.
Збільшення точності вихідних даних є неможливим, оскільки значення параметрів KSLOC, EAF, SF вимірюються точно, а уточнення значень PM пов’язане з великими часовими та фінансовими витратами. Результати співставлення цих моделей у Додатку 5.

,
де