Функціональні точки (Function Points - FP)

Функціональна точка (Function Point - FP) - це одиниця виміру, що виражає кількість бізнес-функцій, які інформаційна система (як продукт) надає користувачеві. FP вимірюють розмір програмного забезпечення. Вони широко прийняті як галузевий стандарт для визначення функціональних розмірів.

Функціональні точки (Function Points - FP) є одним з інструментів в розділі "Візуальні дані та інформація (4.6.6 Visual Data And Information)" в PMBOK 7, та визначається там як:"Функціональна точка - це оцінка кількості бізнес-функцій в інформаційній системі. Функціональні точки використовуються для розрахунку вимірювання функціонального розміру (FSM) програмної системи."

Для визначення розміру програмного забезпечення на основі FP існує декілька визнаних стандартів та/або публічних специфікацій. Станом на 2013 рік це

ISO Standards для Функціональних точок (Function Points - FP)

  • COSMIC - ISO/IEC 19761:2011 Інженерія програмного забезпечення. Метод вимірювання функціонального розміру.
  • FiSMA - ISO/IEC 29881:2008 Інформаційні технології - Програмне забезпечення та системна інженерія - Метод вимірювання функціональних розмірів FiSMA 1.1.
  • IFPUG - ISO/IEC 20926:2009 Програмне забезпечення та системна інженерія - Вимірювання програмного забезпечення - Метод вимірювання функціонального розміру IFPUG.
  • Mark-II - ISO/IEC 20968:2002 Інженерія програмного забезпечення - Аналіз функціональних точок Ml II - Посібник з практики підрахунку.
  • NESMA - ISO/IEC 24570:2005 Інженерія програмного забезпечення - Метод вимірювання розмірів функцій NESMA, версія 2.1 - Визначення та настанови щодо підрахунку для застосування аналізу функціональних точок.

Специфікація Object Management Group (OMG) для автоматизованої функціональної точки

Object Management Group (OMG), неприбутковий консорціум зі стандартизації комп'ютерної індустрії з відкритим членством, прийняв специфікацію Automated Function Point (AFP) під керівництвом Консорціуму з якості ІТ-програмного забезпечення (Consortium for IT Software Quality). Вона забезпечує стандарт для автоматизації підрахунку функціональних точок відповідно до рекомендацій Міжнародної групи користувачів функціональних точок (IFPUG).

Function Point Analysis (FPA) technique

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

Function Points (FP) Counting

Підрахунок функціональних точок (FP) регулюється стандартним набором правил, процесів і рекомендацій, визначених Міжнародною групою користувачів функціональних точок (IFPUG). Вони опубліковані в Посібнику з практики підрахунку (Counting Practices Manual, CPM).

Історія аналізу функціональних точок

Концепція функціональних точок була введена Аланом Альбрехтом з IBM у 1979 році. У 1984 році Альбрехт удосконалив метод. Перше Керівництво з функціональних точок було опубліковано в 1984 році. Міжнародна група користувачів функціональних точок (IFPUG) - це всесвітня організація користувачів метричного програмного забезпечення для аналізу функціональних точок, що базується в США. Міжнародна група користувачів Function Point (IFPUG) - це некомерційна організація, що керується своїми членами, заснована в 1986 році. IFPUG є власником функціонально-точкового аналізу (Function Point Analysis - FPA) відповідно до стандарту ISO 20296:2009, який визначає визначення, правила та кроки для застосування методу вимірювання функціональних розмірів IFPUG (functional size measurement - FSM). IFPUG підтримує Посібник з практики підрахунку функціональних точок (Counting Practices Manual - CPM). CPM 2.0 був випущений в 1987 році, і з тих пір було кілька ітерацій. CPM 4.3 вийшов у 2010 році.

CPM Release 4.3.1 з включеними редакційними змінами ISO вийшов у 2010 році. Стандарт ISO (IFPUG FSM) - Вимірювання функціонального розміру, який є частиною CPM 4.3.1, - це методика вимірювання програмного забезпечення з точки зору функціональності, яку воно забезпечує. CPM є міжнародно затвердженим стандартом ISO/IEC 14143-1 "Інформаційні технології - Вимірювання програмного забезпечення".

Елементарний процес (Elementary Process - EP)

Елементарний процес - це найменша одиниця функціональної вимоги користувача, яка

  • Є значущою для користувача.
  • Являє собою повну транзакцію.
  • Є самодостатньою і залишає бізнес додатку, який підраховується, в послідовному стані.

Функції (Functions)

Існує два типи функцій -

  • Функції даних (Data Functions)
  • Функції транзакцій

Функції даних (Data Functions)

Існує два типи функцій даних -

  • Внутрішні логічні файли (Internal Logical Files)
  • Зовнішні інтерфейсні файли

Функції даних складаються з внутрішніх і зовнішніх ресурсів, які впливають на систему.

Внутрішні логічні файли (Internal Logical Files)

Внутрішній логічний файл (Internal Logical File - ILF) - це ідентифікована користувачем група логічно пов'язаних даних або керуючої інформації, яка знаходиться повністю в межах програми.

Основним призначенням ILF є зберігання даних, що підтримуються за допомогою одного або декількох елементарних процесів програми, що підраховується. ILF має внутрішнє значення, тобто він підтримується зсередини, має певну логічну структуру і зберігається у файлі. (Див. Рисунок 1)

Файл зовнішнього інтерфейсу (External Interface File - EIF)

Файл зовнішнього інтерфейсу (EIF) - це ідентифікована користувачем група логічно пов'язаних даних або керуючої інформації, яка використовується програмою лише для довідкових цілей. Дані знаходяться повністю за межами програми і підтримуються в ILF іншим додатком. EIF має невід'ємне значення, що він підтримується ззовні, для отримання даних з файлу необхідно розробити інтерфейс. (Див. Рисунок 1)

Функції транзакцій (Transaction Functions)

Існує три типи транзакційних функцій.

  • Зовнішні входи (External Inputs)
  • Зовнішні виходи (External Outputs)
  • Зовнішні запити (External Inquiries)

Функції транзакцій складаються з процесів, якими обмінюються користувач, зовнішні додатки та вимірюваний додаток.

Зовнішні входи (External Inputs)

Зовнішній вхід (External Input - EI) - це функція транзакції, в якій дані надходять "всередину" програми ззовні. Ці дані надходять ззовні програми.

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

Зовнішні виходи (External Outputs)

Зовнішній вивід (External Output - EO) - це функція транзакції, за допомогою якої дані виводяться з системи. Крім того, EO може оновлювати ILF. Дані створюють звіти або вихідні файли, які надсилаються до інших програм. (Див. Рисунок 1)

Зовнішній запит (External Inquiry - EI)

Зовнішній запит (External Inquiry - EI) - це транзакційна функція з вхідними та вихідними компонентами, які призводять до пошуку даних. (Див. Рисунок 1)

Визначення RETs, DETs, FTRs

Тип елемента запису (Record Element Type - RET)

Тип елемента запису (ТЕЗ) - це найбільша підгрупа елементів, яку може ідентифікувати користувач у межах ILF або EIF. Найкраще дивитися на логічні групи даних, щоб допомогти їх ідентифікувати.

Елемент даних (Тип елемента даних - DET)

Тип елемента даних (ТЕД) - це підгрупа даних у межах ТРД. Вони є унікальними та ідентифікуються користувачем.

Тип файлу з посиланням (File Type Referenced - FTR)

Тип файлу, на який є посилання (FTR), є найбільшою підгрупою даних, що ідентифікується користувачем в межах EI, EO або EQ, на який є посилання.

Функції транзакцій EI, EO, EQ вимірюються шляхом підрахунку FTR і DET, які вони містять, відповідно до правил підрахунку. Аналогічно, функції даних ILF та EIF вимірюються шляхом підрахунку DET та RET, які вони містять, відповідно до правил підрахунку. Вимірювання функцій транзакцій і функцій даних використовуються при підрахунку FP, що призводить до функціонального розміру або функціональних точок.


Якщо стаття була для вас корисна підпишіться на розсилку або на мій телеграм канал.