Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lecture_Marta.doc
Скачиваний:
53
Добавлен:
12.02.2016
Размер:
2.11 Mб
Скачать

6. Балова функціональна оцінка

Метод під назвою FPA (Балова функціональна оцінка, Function Points Analysis) був розроблений Albrecht'ом в 1979-1983. Метод комбінує аналіз розміру проекту програмного забезпечення з аналізом програмного продукту. Кількість невиправлених функціональних оцінок обчислюється по формулах:

  • Ввід користувача: об'єкти, що вводяться, які впливають на системні дані,

  • Вивід користувача: об'єкти, що виводяться, пов'язані з системними даними,

  • Внутрішні набори даних: число внутрішніх файлів,

  • Зовнішні набори даних: число зовнішніх файлів, написаних процесами,

  • Зовнішні питання: інтерфейс з середовищем.

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

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

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

У FPA є п'ять абстрактних класів функціональності:

  • функціональність введення зовнішніх даних в систему - системний ввід,

  • функціональність отримання внутрішніх даних з системи - системний вивід,

  • функціональність внутрішніх структур даних,

  • функціональність комунікації із зовнішніми програмами і даними,

  • функціональність взаємодій, що не відносяться до потоку даних, - питання до системи.

Мал. 12.7.1. Ваги, привласнені в FPA проектам.

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

Повна складність обчислюється, грунтуючись на вагах в таблиці в кожному невідрегульованому значенні функції (UFP, Unadjusted Function Point). Для цього використовується наступна формула:

UFP - невідрегульоване значення функції, w – значення ваги, n – кількість елементів в проекті, i - порядковий номер оброблюваного елементу, j – рівень складності.

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

  1. Існування комунікаційної апаратури.

  2. Розподіл обробки.

  3. Час очікування відповіді.

  4. Вихід з апаратного робочого навантаження.

  5. Частота виконання великих транзакцій.

  6. Прямий режим вхідних даних.

  7. Продуктивність кінцевого користувача.

  8. Пряме оновлення даних.

  9. Складність обробки даних.

  10. Можливість багатократного використання програми.

  11. Інсталяційний пристрій.

  12. Сервісний пристрій.

  13. Розповсюдження фізичної пам'яті.

  14. Пристрій підтримки.

Мал. 12.7.3. Оцінка коректування чинників FPA.

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

FP = (0,65 + 0,01 * VAF) * UFP FP = (0,65 ...1,35) * UFP

де:

VAF – комбінований настроювальний коефіцієнт,

FP – значення функції, K - К-те значення настроювального коефіцієнта.

Приклад обчислення значень функції

  1. Послідовність підрахунку значень функції

  2. Визначення системи.

  3. Обчислення настроювального коефіцієнта.

  4. Необхідні набори даних і визначення їх складності.

  5. Функціональні елементи і визначення їх складності.

  6. Обчислення.

  7. Перевірка.

  8. Звіти.

Мал. 12.7.5. містить приклад обчислення значення функції.

Мал. 12.7.5. Приклад обчислення значення функції.

Обчислення значення функції

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

Приклади відповідних значень показані в таблиці:

Функція із значенням 1 дорівнює 125 командам на C

Значення функції

Тип проекту

10

типова маленька програма, написана клієнтом (1 місяць)

100

найчастіші програми, що зустрічаються: типове значення для програми написаною клієнтом (6 місяців)

1,000

комерційне застосування в MS Windows, маленький клієнт-сервер програм (10 програмістів, більше 12 місяців)

10,000

системи (100 програмістів, більше 18 місяців) 100,000 - MS Windows’95, MVS, військові системи

Таблиця 12.7.2. Значення функції порівняно з типом проекту.

Також ми можемо використовувати значення функції для оцінки трудового споживчого чинника проекту. Діаграма, показана нижче, ілюструє взаємозв'язок між трудовим споживанням і значенням функції.

Мал. 12.7.6. Функціональна залежність трудового споживання.

Інші застосування функціональних залежностей:

  • Оцінка складності системи

  • Перевірка проекту

  • Вибір інформаційної системи для перепроектування (вартість підтримки/значення функції)

  • Оцінка тестів

  • Оцінка якості командної роботи і продуктивності

  • Вартість підтримки і прогноз системного розвитку

    • Порівняння різних пропозицій провайдерів програмного забезпечення з точки зору вартості і заслуг

Значення функції і мови баз даних:

Тип мови або сама мова

Рівень мови ac.SPR

Ефективність.Loc.7FP

Access

8.5

38

ANS!SQL

25.0

13

CLARION

5.5

58

CA Clipper

17.0

19

dBase III

8.0

40

dBase IV

9. U

36

DELPHI

11.0

29

FOXPRO 2.5

9.5

34

INFORMIX

8.0

40

MAG1C

15.0

21

ORACLE

8.0

40

Oracle Developer 2000

14.0

23

PROGRESS v.4

9.0

36

SYBASE

8.0

40

(з дослідження продуктивності програмного забезпечення)

Таблиця 12.7.7. Значення функції і бази даних.

Рівень мови ac.SPR

Середня продуктивність (значення функції/працівники * місяц)

1 - 3

5 - 10

4 - 8

10 - 20

9 - 15

16 - 23

16 - 23

15 - 30

24 - 55

30 - 50

> 55

40 - 100

(з дослідження продуктивності програмного забезпечення)

Таблиця 12.7.8. Значення функції і продуктивність.

Перевага FPA є мови програмування і його якість. Інші способи вимірювання програм не мають цих переваг. Недолік FPA - суб'єктивність методу в самому заданні значень функції. Ефективність методу може залежати від навиків і "відчуття" аналітика. Автоматичне призначення значень функції неможливе. Іноді суб'єктивність вважається перевагою, подібно до оцінки експертних методів.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]