Кіріспе

Өлшем бірлігі. Функционалдық нүкте – ақпараттық жүйе (өнім ретінде) пайдаланушыға ұсынатын бизнес-функционалдықтың көлемін көрсететін "өлшем бірлігі". Функционалдық нүктелер бағдарламалық құралдың функционалдық өлшемін (ФӨ) есептеу үшін пайдаланылады. Бір бірліктің бағасы (доллармен немесе сағатпен) бұрынғы жобалардың нәтижелері бойынша анықталады.

Кіріспе

Функционалдық нүктелер 1979 жылы IBM-де Аллан Дж. Альбрехттің «Application Development Productivity Measuring» еңбегінде анықталды. Бағдарламалық құралдың функционалдық пайдаланушы талаптары анықталады және олардың әрқайсысы бес түрдің біріне жіктеледі: нәтижелер, сұраулар, кірістер, ішкі файлдар және сыртқы интерфейстер. Функция анықталып, түріне жіктелгеннен кейін, оның күрделілігі бағаланып, функционалдық нүктелер саны беріледі. Осы функционалдық пайдаланушы талаптарының әрқайсысы соңғы пайдаланушының бизнес-функциясына сәйкес келеді, мысалы, кіріс үшін деректерді енгізу немесе сұрау үшін пайдаланушы сұранысы. Бұл ерекшелік маңызды, себебі ол функционалдық нүктелерде өлшенетін функцияларды пайдаланушыға бағытталған талаптармен оңай сәйкестендіреді, бірақ сонымен қатар ішкі функцияларды (мысалы, алгоритмдерді) жасыруға бейім, олардың іске асырылуына да ресурстар қажет. Қазіргі уақытта өлшем нәтижелерінде алгоритмдік күрделілікті қамтитын ISO-мен мойындалған FSM әдісі жоқ. Жақында осы кемшілікпен күресу үшін бірнеше коммерциялық бағдарламалық өнімдерде жүзеге асырылған әртүрлі тәсілдер ұсынылды. Альбрехтке негізделген IFPUG әдісінің осыны (және басқа да кемшіліктерді) толықтыруға арналған нұсқалары:

Ерте және оңай функционалдық нүктелер – мәселе мен деректердің күрделілігін екі сұрақ арқылы реттейді, бұл күрделілікті өлшеуді біршама субъективті етеді; дерек элементтерін санау қажеттілігін жою арқылы өлшеуді жеңілдетеді. Инженерлік функционалдық нүктелер – элементтер (айнымалы атаулар) және операторлар (мысалы, арифметика, теңдік/теңсіздік, логикалық) есептеледі. Бұл нұсқа есептеу функциясын көрсетеді. Бұл мақсат оператор/операнд негізіндегі Халстед күрделілік өлшемдерімен ұқсас. Банг өлшемі – Бангке әсер ететін немесе көрсететін он екі қарапайым (негізгі) санаққа негізделген функция метрикасын анықтайды, ол «пайдаланушы қабылдағандай берілуі тиіс нағыз функцияның өлшемі» деп анықталады. Банг өлшемі бағдарламалық құралдың құндылығын қаншалықты пайдалы функция беретінін бағалауда көмектесе алады, бірақ мұндай қолданысқа қатысты әдебиетте аз дәлелдер бар. Банг өлшемін қайта инжиниринг (толық немесе бөліктеп) қарастырылатын кезде қолдануға болады, бұл туралы «Операциялық жүйелерді күтіп ұстау» бөлімінде айтылған. Ерекшелік нүктелері – маңызды ішкі өңдеуге арналған жүйелерге (мысалы, операциялық жүйелер, байланыс жүйелері) қолдануды жақсарту үшін өзгерістер қосады. Бұл пайдаланушымен оңай байқалмайтын, бірақ дұрыс жұмыс істеу үшін маңызды функцияларды есепке алуға мүмкіндік береді. Салмақты микрофункционалдық нүктелер – жаңа модельдердің бірі (2009), ол бағдарлама ағынының күрделілігінен, операндар мен операторлар сөздігінен, объектіні пайдаланудан және алгоритмнен алынған салмақтарды пайдалана отырып, функционалдық нүктелерді реттейді. Fuzzy Function Points – төмен x орташа және орташа x жоғары күрделілік арасындағы бұрыштап және сатылы ауысуды ұсынады.

Сын

Альбрехт зерттеуінде функциялық нүктелердің кодтың жолдарымен тығыз байланысты екенін байқады, соның салдарынан, егер кодтың жолдарын санау сияқты объективті өлшем қолжетімді болса, мұндай өлшемнің құндылығына күмән туды. Бұған қоса, өлшемнің кемшіліктері деп саналатын мәселелерді шешу үшін санау әдістемесін толықтыруға бірнеше әрекеттер жасалды. Тағы басқалар, жеткізілген функционалдық мүмкіндіктер мөлшеріне жақындық құратын балама әдістерді жасау арқылы туындаған қиындықтарды айналып өтуге бағытталған шешімдер ұсынды.