Метод функциональной точки Альбрехта
Метрики функциональных точек предоставляют стандартизированный метод измерения различных функций программного приложения. Он измеряет функциональность с точки зрения пользователя, то есть на основе того, что пользователь запрашивает и получает взамен. Анализ функциональных точек - это стандартный метод измерения разработки программного обеспечения с точки зрения пользователя.
Измерение функциональных точек, первоначально задуманное Альбрехтом, приобрело все большую популярность с созданием Международной группы пользователей функциональных точек (IFPUG) в 1986 году. В 2002 году функциональные точки IFPUG стали международным стандартом ISO - ISO / IEC 20926.
Что такое функциональная точка?
FP (Function Point)- это наиболее распространенные метрики функционального типа, подходящие для количественной оценки программного приложения. Он основан на пяти идентифицируемых пользователем логических «функциях», которые разделены на два типа функций данных и три типа функций транзакций. Для данного программного приложения каждый из этих элементов количественно оценивается и взвешивается с учетом его характерных элементов, таких как ссылки на файлы или логические поля.
Результирующие числа (нескорректированные FP) группируются в наборы добавленных, измененных или удаленных функций и объединяются с коэффициентом корректировки значения (VAF) для получения окончательного числа FP. Для каждого типа подсчета используется отдельная окончательная формула: приложение, проект разработки или проект улучшения.
Применение метода функциональных точек Альбрехта
Давайте теперь поймем, как применять метод точки функции Альбрехта. Его процедура следующая -
Определите количество компонентов (EI, EO, EQ, ILF и ELF)
EI- Количество внешних входов. Это элементарные процессы, в которых производные данные проходят через границу извне внутрь. В примере системы библиотечной базы данных введите номер существующего читательского билета.
EO- Количество внешних выходов. Это элементарные процессы, в которых производные данные проходят через границу изнутри наружу. В примере системы базы данных библиотеки отобразите список книг, выданных клиенту.
EQ- Количество внешних запросов. Это элементарные процессы с компонентами ввода и вывода, которые приводят к извлечению данных из одного или нескольких внутренних логических файлов и файлов внешнего интерфейса. В примере системы библиотечной базы данных определите, какие книги в настоящее время выдаются посетителю.
ILF- Количество внутренних файлов журнала. Это идентифицируемые пользователем группы логически связанных данных, которые полностью находятся в границах приложений, которые поддерживаются посредством внешних входов. В примере системы базы данных библиотеки - файл книг в библиотеке.
ELF- Количество внешних файлов журналов. Это идентифицируемые пользователем группы логически связанных данных, которые используются только для справочных целей и находятся полностью вне системы. В примере системы библиотечной базы данных - файл, содержащий транзакции в биллинговой системе библиотеки.
Вычислить нескорректированное количество функциональных точек (UFC)
Оцените каждый компонент как low, average, или же high.
Для транзакций (EI, EO, and EQ), рейтинг основан на FTR и DET.
FTR - Количество обновленных файлов или файлов, на которые есть ссылки.
DET - Количество узнаваемых пользователем полей.
На основании следующей таблицы EI который ссылается на 2 файла и 10 элементов данных, будет оценен как average.
FTRs | DETs | |||
---|---|---|---|---|
1-5 | 6-15 | >15 | ||
0-1 | Низкий | Низкий | В среднем | |
2-3 | Низкий | В среднем | Высоко | |
>3 | В среднем | Высоко | Высоко |
Для файлов (ILF and ELF), рейтинг основан на RET и DET.
RET - Количество распознаваемых пользователем элементов данных в ILF или же ELF.
DET - Количество узнаваемых пользователем полей.
На основании следующей таблицы ILF который содержит 10 элементов данных и 5 полей, будет ранжироваться как high.
RET | DETs | |||
---|---|---|---|---|
1-5 | 6-15 | >15 | ||
1 | Низкий | Низкий | В среднем | |
2-5 | Низкий | В среднем | Высоко | |
>5 | В среднем | Высоко | Высоко |
Преобразовать рейтинги в UFCs.
Рейтинг | Значения | ||||
---|---|---|---|---|---|
EO | EQ | EI | ILF | ELF | |
Low | 4 | 3 | 3 | 7 | 5 |
Average | 5 | 4 | 4 | 10 | 7 |
High | 6 | 5 | 6 | 15 | 10 |
Вычислить окончательное количество функциональных точек (FPC)
Вычислить поправочный коэффициент значения (VAF) на основе 14 общих характеристик системы (GSC).
Общая характеристика системы | Краткое описание | |
---|---|---|
GSC 1 | Передача данных | Сколько существует средств связи для передачи или обмена информацией с приложением или системой? |
GSC 2 | Распределенная обработка данных | Как обрабатываются распределенные данные и функции обработки? |
GSC 3 | Спектакль | Требовалось ли время отклика или пропускная способность для пользователя? |
GSC 4 | Широко используемая конфигурация | Насколько активно используется текущая аппаратная платформа, на которой будет выполняться приложение? |
GSC 5 | Скорость транзакции | Как часто транзакции выполняются ежедневно, еженедельно, ежемесячно и т. Д.? |
GSC 6 | Ввод данных онлайн | Какой процент информации вводится онлайн? |
GSC 7 | Эффективность конечного пользователя | Было ли приложение разработано для повышения эффективности конечного пользователя? |
GSC 8 | Он-лайн обновление | Сколько ILF обновляется с помощью онлайн-транзакции? |
GSC 9 | Комплексная обработка | Есть ли в приложении обширная логическая или математическая обработка? |
GSC 10 | Возможность повторного использования | Было ли приложение разработано для удовлетворения потребностей одного или нескольких пользователей? |
GSC 11 | Легкость установки | Насколько сложна переоборудование и установка? |
GSC 12 | Простота эксплуатации | Насколько эффективны и / или автоматизированы процедуры запуска, резервного копирования и восстановления? |
GSC 13 | Несколько сайтов | Было ли приложение специально разработано, разработано и поддержано для установки на нескольких сайтах для нескольких организаций? |
GSC 14 | Содействовать изменениям | Было ли приложение специально разработано, разработано и поддержано для облегчения изменений? |
Взвесьте каждый GSC по шкале от 0 до 5 в зависимости от того, имеет ли он влияние или нет.
Вычислить FPC следующим образом -
FPC = UFC * (0,65+ (сумма (GSC) * .01))
Сложность
Сложность - это отдельная составляющая размера. Он бывает двух типов -
Complexity of a problem - Это количество ресурсов, необходимых для оптимального решения проблемы.
Complexity of a solution- Это ресурсы, необходимые для реализации конкретного решения. Он имеет два аспекта. Они следующие -
Time complexity - Ресурс - компьютерное время.
Space complexity - Ресурс - память компьютера.
Сложность измерения
Один из аспектов сложности - эффективность. Он измеряет любой программный продукт, который можно смоделировать в виде алгоритма.
Например: если алгоритм для решения всех случаев конкретной проблемы требует f(n) вычисления, то f(n) является асимптотически оптимальным, если для любого другого алгоритма со сложностью g, решающего задачу f является O(g). Тогда сложность данной проблемы велика -O асимптотически оптимального алгоритма решения задачи.