Методы оценки трудоемкости: Метод Function Points.
Определение числа функциональных точек является методом количественной оценки ПО, применяемым для измерения функциональных характеристик процессов его разработки и сопровождения независимо от технологии, использованной для его реализации.
Подсчет функциональных точек, помимо средства для объективной оценки ресурсов, необходимых для разработки и сопровождения ПО, применяется также в качестве средства для определения сложности приобретаемого продукта с целью принятия решения о покупке или собственной разработке.
Метод разработан на основе опыта реализации множества проектов создания ПО и поддерживается международной организацией IFPUG (International Function Point User Group). Рассматриваемый в данном разделе сокращенный вариант методики оценки трудоемкости разработки ПО основан на материалах IFPUG и компании SPR (Software Productivity Research), которая является одним из лидеров в области методов и средств оценки характеристик ПО.
Согласно данной методике трудоемкость вычисляется на основе функциональности разрабатываемой системы, которая, в свою очередь, определяется на основе выявления функциональных типов — логических групп взаимосвязанных данных, используемых и поддерживаемых приложением, а также элементарных процессов, связанных с вводом и выводом информации (рис. 6.2).
Рис. 6.2. Выявление функциональных типов
Порядок расчета трудоемкости разработки ПО:
· определение количества и сложности функциональных типов приложения;
· определение количества связанных с каждым функциональным типом элементарных данных (DET), элементарных записей (RET) и файлов типа ссылок (FTR);
· определение сложности (в зависимости от количества DET, RET и FTR);
· подсчет количества функциональных точек приложения;
· подсчет количества функциональных точек с учетом общих характеристик системы (рис.6.3);
· оценка трудоемкости разработки (с использованием различных статистических данных).
Рис. 6.3. Определение количества функциональных точек
В состав функциональных типов (function type) включаются следующие элементы приложений разрабатываемой системы.
1. Внутренний логический файл (internal logical file, ILF) — идентифицируемая совокупность логически взаимосвязанных записей данных, поддерживаемая внутри приложения посредством элементарного процесса (рис. 6.4).
Рис. 6.4. Внутренний логический файл
2. Внешний интерфейсный файл (external interface file, EIF) — идентифицируемая совокупность логически взаимосвязанных записей данных, передаваемых другому приложению или получаемых от него и поддерживаемых вне данного приложения (рис. 6.5).
Рис. 6.5. Внешний интерфейсный файл
3. Входной элемент приложения (external input, EI) — элементарный процесс, связанный с обработкой входной информации приложения - входного документа или экранной формы. Обрабатываемые данные могут соответствовать одному или более ILF (рис. 6.6).
Рис. 6.6. Входной элемент приложения
4. Выходной элемент приложения (external output, EO) — элементарный процесс, связанный с обработкой выходной информации приложения — выходного отчета, документа, экранной формы (рис. 6.7).
Рис. 6.7. Выходной элемент приложения
5. Внешний запрос (external query, EQ) — элементарный процесс, состоящий из комбинации «запрос/ответ», не связанный с вычислением производных данных или обновлением ILF (базы данных) (рис. 6.8).
Рис. 6.8. Внешний запрос