40 Годы функциональных точек: прошлое, настоящее время, Будущее

Луи Бульон

Просто 40 лет назад в октябре 1979, доктор. Аллана Альбрехт предложил впервые методику для определения размера функциональности системы программного обеспечения. была принята Его техника, стал международным стандартом, и вдохновенные несколько других методов и многое другое. Эта статья показывает прошлое, настоящего и (возможный) будущие взносы функции точечного анализа.

Прошлое: происхождения, Мотивация и обоснование

В 1970-е годы, Линии Кодекса (LOCs) были неправильно использованы для калибровки систем программного обеспечения (и до сих пор находятся сегодня в некоторых функциональных областях, таких как военные и в режиме реального времени и автомобильных систем, Просто назвать несколько) и это привело к тому, что Каперсы Джонс назвал «парадокс производительности» [1]: писать больше Locs не значит обязательно быть более продуктивными ... стиль программирования, Выразительность определенного языка программирования, правило для подсчета LOCS (физический или логический, с / без комментировал линий ...) создали огромную вариабельность в проекте (да, проект!) предварительный расчет. Потому что в то время, у нас было только мэйнфреймы, не ПК или мини-компьютеры. таким образом, в (программного обеспечения) усилие продукта для развертывания было наиболее общими усилия проекта и программного обеспечение функциональных возможностей были предназначены в качестве основных поставочных проекта программного обеспечения. Как следствие, уже много лет (и до сих пор во многих контрактах), Функциональные очки (Рамочные) мы (и) ошибочно задумана как «размер проекта», а они только выразить функциональный размер продукта. Тем не мение, Цель Альбрехта была преодолеть «парадокс производительности» и найти способ нормализации расчетов производительности с точки зрения бизнеса [2]. Великая идея состояла в том, чтобы основать свою технику на что-то технологии-независимый: процессы и данные. таким образом, расчет FP (и связанный с продуктом функционального размера) полученный из анализа набора функциональных требований пользователей (Меха) то же самое, несмотря на технологию и организационный стиль, принятую, в то время как усилия, продолжительность и стоимость / цена являются, конечно, переменная в соответствии с такими элементами. Типичный пример предложил на протяжении многих лет был смотреть на ПСЕ, как квадратные метр для измерения «размера» плоского: количество квадратных метров может быть одинаковым для двух квартир в двух разных местах, но время для строительства, может отличаться (например. квартира может быть построена из кирпича или быть полуфабрикат), а также их себестоимость и коммерческая ценность (квартира в Манхэттене, Нью-Йорк, будет стоить дороже за квадратный метр, чем другой в другом месте); Стоимость не стоимость.

Первый документ, датированный 1979, поставленные основы для такой цели, как указано в его названии («Производительность разработки приложений измерения»). Она представляла большие взрывы для оценки, пытаясь выдержками входов / выходов / запросов и данных из функционального анализа, в частности, потому, что такой новый номер мог быть получен перед программированием и не позднее, как и с отсчетом LOC. Поскольку вы не можете предвидеть с определенной степенью точности числа оргкомитетов вашей команда будет производить завтра ... слишком много изменчивости!

Есть много преимуществ, но и некоторые открытые вопросы: корреляция между усилиями проекта (человеко-дней) и функциональный размер продукта (в FP) не был настолько высок,, и фактор регулировки Значение (VAF) была введена для того, чтобы улучшить такие отношения и значение R2 в линейной регрессии. VAF первоначально был рассчитан на 10 Общие характеристики системы (GSCs) с изменчивостью ± 25% в первом 1979 бумага, увеличена до 14 GSCs во втором и последнем документе, датированный 1983 [3], с изменчивостью на начальное «нескорректированное» значение FP на ± 35%. VAF был, следовательно, первый способ косвенно «размер» вклад нефункциональных требований (НСФО), как на продукт, а также на уровне проекта. Это вторая и последняя из бумаги Allan Albrecht указана окончательная структура FPA, разделив начальный MASTER тип функции данных в ILF и EIF, и указана окончательная система взвешивания (поскольку до сих пор действует в текущем IFPUG CPM v4.3.1 версии, датированный 2010 [4]) с того времени. таким образом, это можно сравнить -из функциональных проклеек точки зрения- программный продукт реализуется сегодня еще один выпущенные года назад для целей тестирования.

В 1987, IFPUG родился и провел в своих руках управление и развитие техники Альбрехта. В последующие годы, несколько методов, отошли от идей Альбрехта, и лишь немногие стали стандартами ISO, как показано на фиг. 1:

инжир. 1: Стандарты ISO FSM (с пунктирными синими линиями)

инжир. 1: Стандарты ISO FSM (с пунктирными синими линиями)

Они есть (в порядке появления): Mark-II (1988), Nesma FPA (1990), FISMA (199Икс) и КОСМИЧЕСКИЙ (1998), с большим количеством мелких вариантов (Вот [5] список некоторых из них).

Первые Обычаи FPA были определить функциональный размер программных продуктов для оценки и сравнительного анализа целей и -в упростить- как договорное блок для оплаты в договоре ИКТ.

В 1998, ISO начал создание семейства стандартов под маркой «14143» с общими принципами так называемого функционального измерения проклейки (FSM) методы, с указанием в ясной форме, что такие методы размера продукта (не проект) и только при переходе от Меха продукта, которые исключены связанные версии ISO, которые изначально включены корректирующие факторы, такие как VAF [6]. Обоснование? Такие «настройка / калибровки» факторы пришли из НСФА, таким образом, выходят за рамки для метода FSM. В качестве доказательств: ISO 20926:2003 был стандарт ИСО для IFPUG CPM v4.1 «нескорректированные.» Версии 4.x -из 1999 на- уточненные определения версии и основные понятия, в частности, «пользователь» и «граница». Версия v4.3 (2010) окончательно упал VAF от нормативного текста (Кроме того, в стандарте ISO / IEC 20926:2009) и сохранить его для исторических целей в Приложении C.

В это время, так как меха и НСФО должны быть обработаны параллельно, Процесс Программное обеспечение нефункциональные оценка (ЩЕЛЧОК) Проект был начат в 2007, выпустив в версии 1.0 2011 [7], для нового, первые нефункциональные измерения размеров (NFSM) метод, который переехал из стандарта ISO по качеству программного продукта (9126 до [8], и превратилась в ток 25010:2011 стандарт [9]) пытаясь дополнить функциональные проклейки, насколько это возможно. инжир. 2 помогает определить правильный масштаб проекта, с тремя видами требований:

инжир. 2: Три вида требований (из схемы «ABC»)

инжир. 2: Три вида требований (из схемы «ABC»)

Информация была написана на иначе, чем CPM v4.1. Я четко указано в 2012 бумаги я написал для MetricViews [10], Схему «ABC»; такая систематика была также использована в 2015 бумага написано в соавторстве IFPUG / КОСМИЧЕСКИМ для лучшего выражения таксономии НСФО [11]. Эта классификация имеет решающее значение с самого начала любого проекта для правильного анализа и сравнения их с хорошим анализом бенчмаркинг. инжир. 3 показано, как требование пользователя может быть развернуты и раскол, в более широком случае, в трех кусках: Меха продукта (A), НСФО продукта (В) и ограничения проекта / требования (С).

инжир. 3: ABC Schema [10]

инжир. 3: ABC Schema [10]

От требований пользователей к итоговым общим усилиям проекта и затратам – Схема «ABC» [10] в 1997 ISBSG (isbsg.org) родился и все наиболее активных программных ассоциаций измерения (СМА) присоединились к этой инициативе бенчмаркинга. The 2019 релиз [12] включает в себя более 9,000 проектов, в основном, размером с использованием методов IFPUG и КОСМИК FPA. Еще одна комплементарной норма ИСО / МЭК 14143-5:2004 [13], которые предлагаются критерии для определения «функциональные домены» и позволяет разумное сравнение между системами программного обеспечения с аналогичными характеристиками и распределением усилий по видам требований (азбука). Это не имеет смысла сравнивать яблоки с апельсинами ...

 

Настоящее: В чем дело?

Методы FSM диффузно используются в информации & Коммуникационные технологии (ИКТ) контракты, с более высокой концентрацией в некоторых странах (например. Италия, Бразилия, Польша, Индия), и представляют собой количественную основу для определения размера функционального размера продукта и может помочь в анализе сравнительного анализа, чтобы определить, какой может быть (примерно) нефункциональные усилия в проекте, как показано на фиг.4:

инжир. 4: Распределение усилий по типу требования (азбука) в функциональной области: пример

инжир. 4: Распределение усилий по типу требования (азбука) в функциональной области: пример

Пример распределения усилий по типу требования (азбука) в функциональной области раскалывается, что нефункциональные по схеме ABC. Требование В-типа может быть реализовано и развернуто специалистом ИТ (например. администратор базы данных, юзабилити эксперт ...) что обычно стоит меньше, чем другого профессионала (например. а / менеджер по обслуживанию проектов, специалист измерения, гарантия качества люди ...) работает требование к C-типа, но больше, чем профессионал (например. аналитик / программист) работает под требования А-типа. инжир. 5 показывает две противоположные пирамиды для типичного распределения усилий проекта по типу требований и стоимости на человека / день для каждого вида профессиональной [14].

инжир. 5: Распределение усилий по типу требований и стоимость / человеко-день (в соответствии со схемой ABC)

Распределение усилий по типу требований и стоимость / человеко-день (в соответствии со схемой ABC). Снова, Уроки, извлеченные из 40 летний опыт помог лучше определить (результаты) принципы и правила, касающиеся сферы FPA о применении. «123» схема еще одна классификация [15] для постановки какого рода требования может присутствовать в определенной фазе проекта (1: Dev, 2: Ops, 3: Svc, техническое обслуживание).

инжир. 6: «123» схемы совместно со схемой в «ABC»

таким образом, в фазе OPS используется программное обеспечение, не производится / изменено, и генерирует «ноль», FP подсчет, а также при получении запроса на изменение будет включать в себя только требования B-типа (например. для корректирующего / обслуживания совершенного, как указано в стандарте ISO / IEC 14764:2006 стандарт [16], также цитируется в CPM v4.3.1 – часть 3, глава 4, страницы 20-21). Даже если определения и критерии о том, что было создано FUR или NFR, разъяснены и диффундирует в течение долгого времени, есть еще культурный долг в договорной практике и бизнеса, чтобы использовать, по меньшей мере одной единицы измерения (UoM) для определения размера требования А-типа (Рамочные, независимо от вида) совместно с UoM для калибровки требования В-типа (например. с точками IFPUG SNAP или мер со стандартом ISO / IEC 25023 [17], а также деятельности C-типа, которые завершают объем для оценки всего усилий, необходимых для определения объема проекта. Только при калибровке всех требований, предъявляемых к трем (азбука) типы, это возможно, чтобы уменьшить «Сфера ползучести,»Пока есть историческое заблуждение о том, что такие размерах FP и что он не. Но было бы достаточно, чтобы знать, в методе FSM, которые являются его базовые функциональные компоненты (BFCs) для включения (или нет) такая деятельность или деятельность.

Последний, но тем не менее важный, FP и автоматизация. доктор. Альбрехт создал «дизайн меру» для обеспечения возможности оценки на ранних этапах жизненного цикла. Некоторые инструменты сегодня, после 40 лет, бы получить FPs (независимо от вида) синтаксический анализ программного кода или работать на некоторых формах FUR нотация. Немного (здравый смысл) Наблюдения и мысли: автоматизация полезна, если это уважительное из четырех критериев: Быстрее, более точным, более своевременной и ниже себестоимости. Если нам нужно размер новый FUR, код инструмента синтаксического анализа (как указано в новом ISO 19515 стандарт на Automated FP [18]) было бы бесполезно и дорого. Или же, с помощью инструмента, предполагая некоторые UML нотации в качестве входных данных будет означать больше человеко-часов (и связанные с ними расходы) преобразующей письменное требование человека на основе в формате мета-язык. Также, организация должна тщательно проанализировать отдачу от инвестиций такого выбора(s) в соответствии с четырьмя упомянутыми выше критериями. Быстрое создание проекта базового уровня, в котором время и усилия являются критически важные активы могут быть в порядке в соответствии с предпосылками, что подтверждается человеческим СЛТА и что UoM под сферой одинакова. Иначе, автоматизация может стать рискованным или трудно управлять.

 

Будущее: Что мы можем ожидать?

Как и многие люди говорят,, будущее теперь ... но то, что мы можем ожидать от ФПА в ближайшем будущем? FPA имеет прочные основы и технология независимой; то, что мы узнали из прошлого, что следующие шаги должны быть:

  • А лучше и более доступные требования пользователей (UR) управление, обзорный и измерение на ранних этапах проекта: это главная и основная задача, которая должна быть достигнута.
  • Принятие FPA новых технологий, путем надлежащего толкования FPA основных правил из 1979/84. Мы пока не можем измерить и размер с помощью FPA новых технологий, таких как облачные вычисления [19], Интернет вещей (IoT) [20], Искусственный интеллект и любой новые технологии в ближайшие годы приведет нас.

Наша лучшая ставка не придумать что-то новое, но глубоко проанализировать наши текущие процессы и данные, чтобы определить новые и различные способы инженера программного обеспечения системы и до сих пор размер фур с FPA!

Мы намерены продолжать использовать и улучшение функции значение измерение.” (Allan Albrecht, октября 1979)

 

Рекомендации

  1. Джонс, C., Какие функции Очки? сайт SPR, URL: http://tiny.cc/tgur7y
  2. Albrecht. J., “Измерение производительности разработки приложений” в Proc. Совместная ДОЛЯ, РУКОВОДСТВО, и разработки IBM Application , 1979, стр. 83-92. http://tiny.cc/2ywacz
  3. Albrecht. J. & Gaffney J. E., “функция программного обеспечения, Источник строк кода, и прогнозирование усилий в области развития: Валидация программного обеспечения науки,” IEEE Trans. Программное обеспечение Eng., об. 9, нет. 6, ноябрь 1983, стр. 639-647. http://tiny.cc/1zwacz
  4. IFPUG, Функция Точка Руководство Counting Practice (CPM), релиз 4.3.1, январь 2010, URL: ifpug.org
  5. Lother М., Думка Р., Точки Метрика: Сравнения и анализ», в: Современные тенденции программного обеспечения измерения, шейкер Publishing, 2001, pp.228-267
  6. ISO / IEC, Международный стандарт 14143-1 – Информационные технологии – Программное обеспечение для измерения – Функциональное Измерение размера – Часть 1: определение понятий, февраль 2007
  7. IFPUG, Программное обеспечение Нефункциональный Процесс оценки (ЩЕЛЧОК) Руководство по оценке практики (APM), версия 1.0, сентябрь 2011, URL: ifpug.org
  8. ISO / IEC, ЯВЛЯЕТСЯ 9126-1:2001 – Программная инженерия – Качество продукта – Часть 1: Качество модели, Международная Организация Стандартизации, 2001
  9. ISO / IEC, ЯВЛЯЕТСЯ 25010:2011 -Системы и разработки программного обеспечения-системы и программное обеспечение Требование к качеству и оценка (Площадь)-Модели качества системы и программного обеспечения, Международная Организация Стандартизации, марш 2011
  10. Бульон L., Следующий рубеж: Измерение и оценка производительности нефункциональных, MetricViews, августейший 2012, URL:https://www.ifpug.org/Metric%20Views/MVBuglione.pdf
  11. КОСМИЧЕСКИЙ / IFPUG, Глоссарий терминов для нефункциональных требований и требований проекта используется в программном обеспечении оценки эффективности проекта, бенчмаркинга и оценки, v1.0, сентябрь 2015
  12. ISBSG, D&Е (развитие & усиление) хранилище, R2019, URL:isbsg.org
  13. ISO / IEC, Технический отчет 14143-5 – Информационные технологии – Программное обеспечение для измерения – Функциональное Измерение размера – Часть 5: Определение функциональных доменов для использования с измерением функционального размера, 2004 (R2019)
  14. Бульон L., Как справиться с равномерными и измеримыми проектами: сосредоточить внимание на типы и требования, ZeroUnoWeb, май 3 2019, URL: http://tiny.cc/y1tr7y
  15. Бульон L., Интерпретировать DevOps хорошо измерить (и лучше) проектов, PMExpo2017, презентация, октября 2017, URL:https://www.pmexpo.it/2017/programma/009tk
  16. ISO / IEC, Международный стандарт 14764:2006 - Разработка программного обеспечения - Программное обеспечение жизненного цикла процессов – техническое обслуживание, 2006
  17. ISO / IEC, Международный стандарт 25023:2016 – Системы и разработка программного обеспечения – Системы и требования программного обеспечения и оценки качества (Площадь) – Измерение системы и качества продукции программного обеспечения, июнь 2016
  18. ISO / IEC, Международный стандарт 19515:2019 – Информационные технологии – Object Management Group Автоматизированные функции Очки (AFP), 1.0, май 2019
  19. Woodward С., Функция точка анализ прояснит в пасмурном мире, Metricas 2012, Сан-Паулу (Бразилия), ноябрь 28-29 2012, URL:http://www.bfpug.com.br/metricas2012/woodward.pdf
  20. Cagley Т., Функциональные очки и ВГД, или как Моя кухня шпионит мне!, IFPUG ISMA17, Бангалор (Индия), марш 8, 2019

об авторе

Луиджи Buglione является директором IFPUG для Конференции / Образование и президент функции Gruppo UTENTI точки Italia – Итальянская ассоциация Software Метрики (GUFPI-ISMA) (www.gufpi-isma.org). Он работает в качестве измерения и процесса специалиста по улучшению на инженерно-Ing. Inf. SpA в Риме, Италия и адъюнкт-профессор в Эколь де Technologie Supérieure (ETS) - Университет Квебека, Канада. Он достиг несколько сертификатов, в том числе IFPUG CFPS, СНТ, CSMS, и КОСМИЧЕСКИЙ CCFL о программном измерении. Он регулярно выступает на международных конференциях по Sw измерения / обслуживания, Совершенствование процессов и качества и активно часть международных и национальных технических ассоциаций по таким вопросам,. Он получил степень доктора философии. в MIS и степень с отличием в области экономики. Луиджи может быть достигнуто на luigi.buglione@eng.it.

Вам также может понравиться...