|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2009 г.
Лекции по управлению программными проектамиОбзор метода функциональных точекАнализ функциональных точек — стандартный метод измерения размера программного продукта с точки зрения пользователей системы. Метод разработан Аланом Альбрехтом (Alan Albrecht) в середине 70-х. Метод был впервые опубликован в 1979 году. В 1986 году была сформирована Международная Ассоциация Пользователей Функциональных Точек (International Function Point User Group — IFPUG), которая опубликовала несколько ревизий метода [2]. Метод предназначен для оценки на основе логической модели объема программного продукта количеством функционала, востребованного заказчиком и поставляемого разработчиком. Несомненным достоинством метода является то, что измерения не зависят от технологической платформы, на которой будет разрабатываться продукт, и он обеспечивает единообразный подход к оценке всех проектов в компании. При анализе методом функциональных точек надо выполнить следующую последовательность шагов (Рисунок 37):
Определение типа оценкиПервое, что необходимо сделать, это определить тип выполняемой оценки. Метод предусматривает оценки трех типов:
Определение области оценки и границ продуктаВторой шаг — это определение области оценки и границ продукта. В зависимости от типа область оценки может включать:
Третий шаг. Границы продукта (Рисунок 38) определяют:
К логическим данным системы относятся:
Примером логических данных (информационных объектов) могут служить: клиент, счет, тарифный план, услуга. Подсчет функциональных точек, связанных с даннымиТретий шаг — подсчет функциональных точек, связанных с данными. Сначала определяется сложность данных по следующим показателям:
Оценка количества не выровненных функциональных точек, зависит от сложности данных, которая определяется на основании матрицы сложности (Таблица 7). Таблица 7. Матрица сложности данных
Оценка данных в не выровненных функциональных точках (UFP) подсчитывается по-разному для внутренних логических файлов (ILFs) и для внешних интерфейсных файлов (EIFs) (Таблица 8) в зависимости от их сложности. Таблица 8. Оценка данных в не выровненных функциональных точках (UFP) для внутренних логических файлов (ILFs) и внешних интерфейсных файлов (EIFs)
Для иллюстрации рассмотрим пример оценки в не выровненных функциональных точках объекта данных «Клиент» (Рисунок 39).
Объект «Клиент» содержит четыре логических группы данных, которые в совокупности состоят из 15 неповторяемых уникальное полей данных. Согласно матрице (Таблица 7), нам следует оценить сложность этого объекта данных, как «Low». Теперь, если оцениваемый объект относится к внутренним логическим файлам, то согласно Таблица 8 его сложность будет 7 не выровненных функциональных точек (UPF). Если же объект является внешним интерфейсным файлом, то его сложность составит 5 UPF. Подсчет функциональных точек, связанных с транзакциямиПодсчет функциональных точек, связанных с транзакциями — это четвертый шаг анализа по методу функциональных точек. Транзакция — это элементарный неделимый замкнутый процесс, представляющий значение для пользователя и переводящий продукт из одного консистентного состояния в другое. В методе различаются следующие типы транзакций (Таблица 9):
Таблица 9. Основные отличия между типами транзакций. Легенда: О — основная; Д — дополнительная; NA — не применима.
Оценка сложности транзакции основывается на следующих ее характеристиках:
Для оценки сложности транзакций служат матрицы, которые представлены в Таблица 10 и Таблица 11. Таблица 10. Матрица сложности внешних входных транзакций (EI)
Таблица 11. Матрица сложности внешних выходных транзакций и внешних запросов (EO & EQ)
Оценка транзакций в не выровненных функциональных точках (UFP) может быть получена из матрицы (Таблица 12) Таблица 12. Сложность транзакций в не выровненных функциональных точках (UFP)
В качестве примера, рассмотрим оценку управляющей транзакции (EI) для диалогового окна, задающего параметры проверки орфографии в MS Office Outlook (Рисунок 40).
Каждый "Check box" оценивается, как 1 DET. Выпадающий список — 1 DET. Каждая управляющая кнопка должна рассматриваться как отдельная транзакция. Например, если оценивать управляющую транзакцию по кнопке «OK», то, для данной транзакции мы имеем 1 FTR и 8 DET. Поэтому, согласно матрице (Таблица 10), мы можем оценить сложность транзакции, как Low. И, наконец, в соответствие с матрицей (Таблица 12), данная транзакция должна быть оценена в 3 не выровненных функциональных точек (UFP). Определение суммарного количества не выровненных функциональных точек (UFP)Общий объем продукта в не выровненных функциональных точках (UFP) определяется путем суммирования по всем информационным объектам (ILF, EIF) и элементарным операциям (транзакциям EI, EO, EQ).
Определение значения фактора выравнивания (FAV)Помимо функциональных требований на продукт накладываются общесистемные требования, которые ограничивают разработчиков в выборе решения и увеличивают сложность разработки. Для учета этой сложности применяется фактор выравнивания (VAF). Значение фактора VAF зависит от 14 параметров, которые определяют системные характеристики продукта:
14 системных параметров (degree of influence, DI) оцениваются по шкале от 0 до 5. Расчет суммарного эффекта 14 системных характеристик (total degree of influence, TDI) осуществляется простым суммированием: TDI = ∑ DI Расчет значения фактора выравнивания производится по формуле VAF = (TDI *0.01) + 0.65 Например, если, каждый из 14 системных параметров получил оценку 3, то их суммарный эффект составит TDI = 3 * 14 = 42. В этом случае значение фактора выравнивания будет: VAF = (42 * 0.01) + 0.65 = 1.07 Расчет количества вьровненных функциональных точек (AFP)Дальнейшая оценка в выровненных функциональных точках зависит от типа оценки. Начальное оценка количества выровненных функциональных точек для программного приложения определяется по следующей формуле: AFP = UFP * VAF. Она учитывает только новую функциональностсть, которая реализуется в продукте. Проект разработки продукта оценивается в DFP (development functional point) по формуле: DFP = (UFP + CFP) * VAF, где CFP (conversion functional point) — функциональные точки, подсчитанные для дополнительной функциональности, которая потребуется при установке продукта, например, миграции данных. Проект доработки и совершенствования продукта оценивается в EFP (enhancement functional point) по формуле: EFP = (ADD + CHGA + CFP) * VAFA + (DEL* VAFB), где
Суммарное влияние процедуры выравнивания лежит в пределах ±35% относительно объема рассчитанного в UFP. Метод анализа функциональных точек ничего не говорит о трудоемкости разработки оцененного продукта. Вопрос решается просто, если компания разработчик имеет собственную статистику трудозатрат на реализацию функциональных точек. Если такой статистики нет, то для оценки трудоемкости и сроков проекта можно использовать метод COCOMO II. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
CITForum © 1997–2025