
376 
 
Глава 8. МЕТОДЫ ОЦЕНКИ РАЗМЕРА ПРОГРАММНОЙ 
СИСТЕМЫ 
8.1. Методология анализа показателей функциональности 
8.1.1. Истоки методологии FPA 
Организации-разработчики программных систем в течение многих лет иска-
ли приемлемые количественные методы для измерения производительности труда, 
оценивания эффективности процессов и управления затратами на разработку ПС. 
Камнем преткновения было отсутствие надежной единицы измерения размера про-
граммного  обеспечения.  Такая,  на  первый  взгляд  очевидная  метрика,  как  число 
строк исходного кода SLOC (Source Lines of Code), не могла давать достоверные 
результаты, поскольку не учитывала следующее: 
•  число строк исходного кода зависит от уровня мастерства программиста. 
Фактически, чем выше мастерство программиста, тем меньшим количеством строк 
кода ему удастся обойтись для реализации определенной функциональной возмож-
ности (или функциональности) ПС; 
•  высокоуровневые языки или языки визуального программирования тре-
буют гораздо меньшего числа строк кода, чем, например, язык Ассемблера или C 
для отражения одной и той же функциональности. Достаточно представить себе два 
приложения, имеющих одни и те же функциональные возможности (те же экраны, 
отчеты, таблицы базы данных), но реализованные на разных языках, например, C и 
Clarion. Очевидно, что существует обратная взаимосвязь между уровнем языка и 
производственной выработкой программиста; 
•  фактическое число SLOC остается неизвестным до тех пор, пока проект 
не будет почти завершен. Поэтому SLOC нельзя использовать для предварительной 
оценки усилий на разработку и построения план-графика проекта;   
•  в программистском сообществе не достигнуто соглашения о методе под-
счета строк кода. Языковые конструкции, используемые, например, в Visual C++, 
Ассемблере, Коболе или SQL, абсолютно различны. Метод же остается общим для 
любых приложений, в том числе использующих комбинацию различных языков; 
•  заказчику  сложно  понять, каково соотношение указанных им функцио-
нальных и технических требований к ПС и объемов программистской работы.  
Нужна была новая мера размера, применяемая унифицировано по всему ЖЦ 
ПС, понятная заказчику и легко интерпретируемая в терминах прикладной области 
его деятельности. И такая мера появилась в конце 70-х годов.  
Однако  нужно  сразу  отметить,  что  несмотря  на  проблемы,  SLOC  по-
прежнему остается той единицей  измерения размера,  к  которой «приводятся» (в 
которую конвертируются) результаты вычисления размера, выполненные другими 
методами,  для  последующего  использования  в  «старых»  моделях  трудоемкости, 
надежности, тестирования, стоимости и др. Ее вполне можно также применять и 
для определения размера ПС на завершающих стадиях разработки и при сопровож-
дении (разумеется, учитывая вышеуказанные замечания) [1].  
Первой и наиболее удачной альтернативой методу подсчета исходных строк 
кода стала разработанная в 1979 году Алланом Альбрехтом из IBM методология, 
названная «Анализ показателей функциональности» (FPA, от Function Points Analy-
sis). В ее основе лежит взгляд на ПС извне, с позиций пользователя системы, а не