SlideShare a Scribd company logo
1 of 34
www.luxoft.com
Метод Функциональных Точек
Основы оценки размера проекта методом
функциональных точек
Основано на материалах David Consulting Group
Светлана Мухина
www.luxoft.com
Знакомимся
Светлана Мухина
ICAgile ICP, ICP-ATF, ICP-BVA, ICP- ACC, PSM I, CSPO, Professional Coach, Certified NLP
Practitioner, KMP Foundation I
Agile and Professional Coach at Luxoft Agile Practice
Опыт работы: 14+ лет в IT, Agile коуч, руководитель проектов,
компьютерный лингвист, технический писатель, бизнес-аналитик
Интересы: управление проектами, процессные трансформации,
коучинг, психология
Хобби: верховая езда, музыка, покер, плаванье, путешествия
https://www.linkedin.com/in/svetlanamukhina
https://www.facebook.com/Svetlana.Mukhina8
www.luxoft.com
Теория
www.luxoft.com
Размер
Задачи
Усилия
Человек
о-часы
Длительность
проекта
Время
Изменения
RFC
Люди
Команда
проекта
Дефекты
Качество
Критичные
ресурсы
Ограничения
Оцениваем проект
Основано на материалах David Consulting Group
www.luxoft.com
История
Анализ функциональных точек — стандартный метод измерения размера
программного продукта с точки зрения пользователей системы.
Метод разработан Аланом Альбрехтом (Alan Albrecht) в середине 70-х.
Метод был впервые опубликован в 1979 году.
В 1986 году была сформирована Международная Ассоциация
Пользователей Функциональных Точек (International Function Point User
Group — IFPUG), которая опубликовала несколько ревизий метода.
Основано на материалах David Consulting Group
www.luxoft.com
Основные Термины
• Единица измерения функциональности программного обеспечения
с точки зрения пользовательской системы.Функциональная точка
• Человек или система, которая взаимодействует с программным
обеспечением.Пользователь
• Функциональные пользовательские требования так, как они
воспринимаются пользователем.User View
• Набор функций, который должна выполнять система в терминах
задач и сервисов. Эти требования задают “что” система должна
делать.
Функциональные
пользовательские
требования
• Эти требования задают с соблюдением “каких условий” система
должна что-то делать.
Нефункциональные
пользовательские
требования
Основано на материалах David Consulting Group
www.luxoft.com
• ФТ помогают точно оценивать разменость
приложения;
• ФТ могут быть подсчитаны разными людьми, в
разное время с одним и тем же результатом;
• ФТ могут быть подсчитаны прокси;
• ФТ понятны для не технических пользователей;
• С помощью ФТ можно сравнить эффективность
инструментов, команды, среды и т.д.
• Небольшой риск инфляции по сравнению с
методом подсчета строк кода или стори
поинтами;
• ФТ можно подсчитать используя написанные
требования или готовое приложение;
• ФТ - это не лучший способ оценки дефектов или
задач, связанных с производительностью
приложения;
• ФТ не очень эффективны для оценки в ситуации,
когда оценённая функциональность будет
имплементирована одни или двумя разработчиками;
• Команда разработки не принимает участие в оценке
задач;
• Метод ФТ требует значительных инвестиций в
обучение;
• Для эффективного использования метода ФТ
необходима постоянная практика;
Преимущества и недостатки метода Функциональных Точек
Основано на материалах David Consulting Group
www.luxoft.com
Практика
www.luxoft.com
Собираем
доступную
документацию
Определяем
объем работ,
границы
приложения,
функциональны
е требования
Идентифицируем
основные
функциональные
компоненты
Считаем
размер в ФТ
Документируем
результаты
подсчета
Предоставляем
результаты
заказчику
Процесс оценки в функциональных точках
Основано на материалах David Consulting Group
www.luxoft.com
Устанавливаем Границы Приложения
Границы приложения – это абстрактный интерфейс между
приложением и всеми его пользователями
• Что является «внешним» по отношению к оцениваемому продукту?
• Где располагается «граница системы», через которую проходят транзакции
передаваемые или принимаемые продуктом, с точки зрения пользователя?
• Какие данные поддерживаются приложением, а какие — внешние?
Основано на материалах http://citforum.ru/SE/project/arkhipenkov_lectures/12.shtml
www.luxoft.com
Определяем тип объекта оценки
Мы считаем
• Разработку. Оцениваем
количество функциональности
поставляемой пользователям в
первом релизе продукта.
• Изменения. Оцениваем
необходимые доработки:
добавление, изменение и
удаление функционала.
• Продукт. Оцениваем размер уже
существующего продукта.
Мы не считаем
• Поддержку – действия
необходимые совершить для
устранения дефектов в
программном обеспечение
• Улучшения - действия
необходимые совершить для
улучшения производительности,
надежности, поддерживаемости
или других атрибутов
программного обеспечения
• Нефункциональные требования
Основано на материалах David Consulting Group
www.luxoft.com
Что мы считаем?
www.luxoft.com
Внутренние логические файлы и внешние интерфейсные файлы
Приложение
Внутренний логический файл (ILFs) —
выделяемая пользователем логически
связанная группы данных или блок
управляющей информации, которые
поддерживаются внутри продукта.
Внешний интерфейсный файл (EIFs) —
выделяемый пользователем логически
связанная группы данных или блок
управляющей информации, на который
ссылается продукт, но которые
поддерживаются вне продукта.
Не считайте как ILF и EIF:
• Файлы необходимы для поддержки той или иной технологии
• Файлы индексации и сортировки
• Временные файлы данных
• Другие технические файлы
Основано на материалах David Consulting Group
www.luxoft.com
Элементы ILFs и EIFs
Количество ILFs и EIFs и их функциональная сложность влияет на размер приложения в
функциональных точках. Функциональная сложность файлов определяется количеством связанных с
ними элементов: логических групп данных и неповторяемых уникальных полей.
Приложение
Внешний интерфейсный файл
(EIF)
RETs
DETs
DETs
DETs
Внутренний логический файл (ILF)
RET (record element type) логическая
группа данных, например, адрес,
паспорт, телефонный номер.
DET (data element type)
неповторяемое уникальное поле
данных, например, Имя Клиента
Основано на материалах David Consulting Group
www.luxoft.com
Транзакции
Приложение
External Interface File
(EIF)
RETs
DETs
DETs
DETs
Internal Logical File (ILF)
RET - A record element type (RET) is a
user recognizable subgroup of data
elements within an ILF or EIF
DET is a unique user recognizable,
non-repeated attribute
User
EI = External Input
EO = External Output
EQ = External Inquiry
EI
EO
EQ
Основано на материалах David Consulting Group
www.luxoft.com
Описание Транзакций
Транзакция — это элементарный процесс, представляющий значение для пользователя:
EI (external inputs) — внешние входные транзакции, элементарная операция по обработке данных
или управляющей информации, поступающих в систему из вне.
- Слова, которые идентифицируют EIs: Add, Make Inactive, Allocate, Modify, Assign, Record, Associate,
Remove, Change, Reset, Create, Delete, Import, Reverse, Set, Undo, Update, Upload, Withdraw;
EO (external outputs) — внешние выходные транзакции, элементарная операция по генерации
данных или управляющей информации, которые выходят за пределы системы. Предполагает
определенную логику обработки или вычислений информации из одного или более ILF.
- Слова, которые идентифицируют EOs: Adjust, Export, Generate, Notify, Print, Report, Summary
EQ (external inquiries) — внешние запросы, элементарная операция, которая в ответ на внешний
запрос извлекает данные или управляющую информацию из ILF или EIF.
- Слова, которые идентифицируют EQs: Browse, Display, Enquire, Extract, Inquire, List, Pick List, View
Основано на материалах David Consulting Group
www.luxoft.com
Определяем типы транзакций
Основано на материалах David Consulting Group,
http://citforum.ru/SE/project/arkhipenkov_lectures/12.shtml
Функция Тип транзакции
EI EO EQ
Изменяет поведение системы О Д NA
Поддерживает один или более ILF О Д NA
Представление информации пользователю Д О О
О — основная;
Д — дополнительная;
NA — не применима.
www.luxoft.com
Пример #1 – определяем файлы и транзакции для радиобудильника
Inputs (EIs)
• Set time
• Set alarm
• Set type of alarm (radio, buzz) Set radio station
• Set volume of radio
• Set am/fm
• Set Snooze
• On/Off alarm
Outputs (EOs/EQs)
• Alarm
• Sound(Music/ Radio/Buzzer)
• Display Time
Internal Data Stores (ILFs)
• Time Data (Alarm Data/Time Data)
• Radio Data
External Data Sources (EIFs)
• Radio Frequency
from David Consulting Group
www.luxoft.com
Пример #2 – считаем уникальные поля и группы данных
Основано на материалах David Consulting Group
www.luxoft.com
Пример #2 – Результаты
Основано на материалах David Consulting Group
www.luxoft.com
Как мы считаем?
www.luxoft.com
RETs 1-19
DETs
20-50
DETs
51+
DETs
1 Low Low Avg
2-5 Low Avg High
6+ Avg High High
Матрица сложности данных для ILF и EIF
Оценка сложности файлов ILF и EIF
Оценка сложности файлов зависит от количества неповторяемых
уникальных полей данных (DETs) и количества логических групп данных
www.luxoft.com
Матрица сложности данных EI
FTRs 1-4
DETs
5-15
DETs
16+
DETs
0-1 Low Low Avg
2 Low Avg High
3+ Avg High High
Матрица сложности данных для EO и EQ
FTRs 1-5
DETs
6-19
DETs
20+
DETs
0-1 Low Low Avg
2-3 Low Avg High
4+ Avg High High
Оценка сложности транзакций
Оценка сложности транзакций зависит от количество различных файлов
(информационных объектов (File type referenced FTR типа ILF и/или EIF)
модифицируемых или считываемых в транзакции.
www.luxoft.com
Type Low Avg High Total
EI _ X 3 + _ X 4 + _X6 =
EO _ X 4 + _ X 5 + _X7 =
EQ _ X 3 + _ X 4 + _X6 =
ILF _ X 7 + _ X 10 + _X15 =
EIF _ X 5 + _ X 7 + _X6 =
Вес транзакций в функциональных точках
www.luxoft.com
Пример #3 – Считаем функциональные точки приложения
ОснованонаматериалахDavidConsultingGroup
www.luxoft.com
Пример #3 – Результаты
Description ILF/EIF/EI/EO/EQ FTRs DETs
Add EI 1 6
Change EI 1 6
Delete EI 1 5
Student Data ILF 1 4
16 FPs
Основано на материалах David Consulting Group
(ЗFPs + ЗFPs + ЗFPs + 7FPs)
www.luxoft.com
Выравниваем
функциональные точки
www.luxoft.com
Общесистемные требования
Помимо функциональных требований на продукт накладываются общесистемные требования General
Systems Characteristics (GSCs), которые ограничивают разработчиков в выборе решения и увеличивают
сложность разработки. Для учета этой сложности применяется фактор выравнивания (VAF). Значение
фактора VAF зависит от 14 параметров, которые определяют системные характеристики продукта:
Обмен данными
Распределенная
обработка данных
Производительность
Ограничения по
аппаратным
ресурсам
Транзакционная
нагрузка
Интенсивность
взаимодействия с
пользователем
Эргономика
Интенсивность
изменения данных
Сложность
обработки
Повторное
использование
Удобство
инсталляции
Удобство
администрирования
Портируемость Гибкость
Основано на материалах David Consulting Group
http://citforum.ru/SE/project/arkhipenkov_lectures/12.shtml
www.luxoft.com
Определяем фактор
выравнивания (VAF, value added factor)
Оцениваем каждый
критерий от 1 до 5
Считаем общую степень
влияния (total degree of
influence, TDI)
Используя формулу, считаем
фактор выравнивания
Формула: VAF=(TDI*0.01)+0.65
Основано на материалах David Consulting Group
Общесистемные требования Вес
Обмен данными 5
Распределенная обработка данных 4
Производительность 3
Ограничения по аппаратным ресурсам 2
Транзакционная нагрузка 3
Интенсивность взаимодействия с пользователем 5
Эргономика 4
Интенсивность изменения данных 5
Сложность обработки 2
Повторное использование 3
Удобство инсталляции 1
Удобство администрирования 3
Портируемость 2
Гибкость 5
Общая степень влияния 47
Фактор выравнивания 1.12
Значени
е
Влияние на
систему
0 Не влияет
1 Незначительное
2 Умеренное
3 Среднее
4 Значительное
5 Сильное
www.luxoft.com
Пример #4 – Используем фактор выравнивания
Если количество не выровненных функциональных точек равно 100 (fps) и VAF равен 1.1,тогда
количество выравненных функциональных точек будет 110 fps.
Выровненные функциональные точки = не выровненные функциональные точки x VAF
 Ни одно приложение на получает 0 при оценке General
Systems Characteristics и не одно не набирает 5 по всем
параметрам, но если бы такое было возможно то,
• Для всех 0 VAF = (0*.01) +.65 = .65
• Для всех 5 VAF = (70*.01)+.65 = 1.35
 В среднем использование выравнивания изменяет оценку до
-30% до +35%
Основано на материалах David Consulting Group
www.luxoft.com
Чек-лист для подсчета функциональных точек
 Соберите необходимую документацию;
 Определите функциональные требования и границы приложения;
 Определите и классифицируйте основные функциональные компоненты;
 Посчитайте файлы данных;
 Внутренние логические файлы (ILF);
 Внешние интерфейсные файлы External Groupings of data or External Interface Files (EIF);
 Посчитайте транзакции;
 внешние входные транзакции (EI);
 внешние выходные транзакции (EO);
 внешние запросы (EQ);
 Определите функциональную сложность каждого компонента и его размер (L-A-H) в функциональных точках;
 Посчитайте общий размер приложения в функциональных точках;
 Выровняйте функциональные точки, используя VAF;
ОснованонаматериалахDavidConsultingGroup
www.luxoft.com
Что дальше почитать/посмотреть?
 Producing realistic estimates - http://www.softwarevalue.com/insights/publications/better-estimation-
better-decisions/
 Webinars and publication on Function Points: http://www.softwarevalue.com/insights/
 Trainings: http://www.softwarevalue.com/news/training/
 Статья - Обзор метода функциональных точек
http://citforum.ru/SE/project/arkhipenkov_lectures/12.shtml
 Вебинар - Основы оценки размера проекта методом функциональных
точекhttps://attendee.gotowebinar.com/register/666912455395478273?source=conf
www.luxoft.com
www.luxoft.com
Спасибо
Остаемся на связи:
https://www.facebook.com/LuxoftAgilePractice
http://www.youtube.com/c/LuxoftAgilePractice
https://www.facebook.com/Svetlana.Mukhina8
https://www.linkedin.com/in/svetlanamukhina

More Related Content

What's hot

Светлана Болсуновская; Лиана Мартиросян. Связанные одной целью или как 25 scr...
Светлана Болсуновская; Лиана Мартиросян. Связанные одной целью или как 25 scr...Светлана Болсуновская; Лиана Мартиросян. Связанные одной целью или как 25 scr...
Светлана Болсуновская; Лиана Мартиросян. Связанные одной целью или как 25 scr...ScrumTrek
 
лобасев 3 ключевых навыка успешной agile-команды
лобасев   3 ключевых навыка успешной agile-командылобасев   3 ключевых навыка успешной agile-команды
лобасев 3 ключевых навыка успешной agile-командыMagneta AI
 
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...ScrumTrek
 
Scrum и kanban опыт не-применения
Scrum и kanban  опыт не-примененияScrum и kanban  опыт не-применения
Scrum и kanban опыт не-примененияitconnect2016
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance managementCEE-SEC(R)
 
Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017
Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017
Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017LuxoftAgilePractice
 
Сергей Рогачев; Лилия Алексеева. Дизайн и запуск Agile-команд.
Сергей Рогачев; Лилия Алексеева. Дизайн и запуск Agile-команд.Сергей Рогачев; Лилия Алексеева. Дизайн и запуск Agile-команд.
Сергей Рогачев; Лилия Алексеева. Дизайн и запуск Agile-команд.ScrumTrek
 
Развитие управления проектами и критериев качества в ит
Развитие управления проектами и критериев качества в итРазвитие управления проектами и критериев качества в ит
Развитие управления проектами и критериев качества в итMagneta AI
 
Трудности Фасилитации
Трудности ФасилитацииТрудности Фасилитации
Трудности ФасилитацииLuxoftAgilePractice
 
вольфсон основы Agile
вольфсон   основы Agileвольфсон   основы Agile
вольфсон основы AgileMagneta AI
 
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферыAgile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферыLuxoftAgilePractice
 
Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?
Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?
Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?ScrumTrek
 
Дмитрий Лобасев. Подготовка корпоративной культуры к внедрению Agile.
Дмитрий Лобасев. Подготовка корпоративной культуры к внедрению Agile.Дмитрий Лобасев. Подготовка корпоративной культуры к внедрению Agile.
Дмитрий Лобасев. Подготовка корпоративной культуры к внедрению Agile.ScrumTrek
 
Надежда Авданина, Мифы и голая правда о внедрении Agile-практик в крупных орг...
Надежда Авданина, Мифы и голая правда о внедрении Agile-практик в крупных орг...Надежда Авданина, Мифы и голая правда о внедрении Agile-практик в крупных орг...
Надежда Авданина, Мифы и голая правда о внедрении Agile-практик в крупных орг...ScrumTrek
 
вольфсон построение собственного Agile-фреймворка (шаблон)
вольфсон   построение собственного Agile-фреймворка (шаблон)вольфсон   построение собственного Agile-фреймворка (шаблон)
вольфсон построение собственного Agile-фреймворка (шаблон)Magneta AI
 
Антон Немчинов, Применимость SAFe в крупной финансовой организации
Антон Немчинов, Применимость SAFe в крупной финансовой организацииАнтон Немчинов, Применимость SAFe в крупной финансовой организации
Антон Немчинов, Применимость SAFe в крупной финансовой организацииScrumTrek
 

What's hot (17)

Светлана Болсуновская; Лиана Мартиросян. Связанные одной целью или как 25 scr...
Светлана Болсуновская; Лиана Мартиросян. Связанные одной целью или как 25 scr...Светлана Болсуновская; Лиана Мартиросян. Связанные одной целью или как 25 scr...
Светлана Болсуновская; Лиана Мартиросян. Связанные одной целью или как 25 scr...
 
лобасев 3 ключевых навыка успешной agile-команды
лобасев   3 ключевых навыка успешной agile-командылобасев   3 ключевых навыка успешной agile-команды
лобасев 3 ключевых навыка успешной agile-команды
 
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...
 
Scrum и kanban опыт не-применения
Scrum и kanban  опыт не-примененияScrum и kanban  опыт не-применения
Scrum и kanban опыт не-применения
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance management
 
Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017
Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017
Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017
 
SECR Conference - Team Facilitation talk
SECR Conference - Team Facilitation talkSECR Conference - Team Facilitation talk
SECR Conference - Team Facilitation talk
 
Сергей Рогачев; Лилия Алексеева. Дизайн и запуск Agile-команд.
Сергей Рогачев; Лилия Алексеева. Дизайн и запуск Agile-команд.Сергей Рогачев; Лилия Алексеева. Дизайн и запуск Agile-команд.
Сергей Рогачев; Лилия Алексеева. Дизайн и запуск Agile-команд.
 
Развитие управления проектами и критериев качества в ит
Развитие управления проектами и критериев качества в итРазвитие управления проектами и критериев качества в ит
Развитие управления проектами и критериев качества в ит
 
Трудности Фасилитации
Трудности ФасилитацииТрудности Фасилитации
Трудности Фасилитации
 
вольфсон основы Agile
вольфсон   основы Agileвольфсон   основы Agile
вольфсон основы Agile
 
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферыAgile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферы
 
Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?
Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?
Василий Чепцов, PMBOK для Agile-менеджера. Чем полезен?
 
Дмитрий Лобасев. Подготовка корпоративной культуры к внедрению Agile.
Дмитрий Лобасев. Подготовка корпоративной культуры к внедрению Agile.Дмитрий Лобасев. Подготовка корпоративной культуры к внедрению Agile.
Дмитрий Лобасев. Подготовка корпоративной культуры к внедрению Agile.
 
Надежда Авданина, Мифы и голая правда о внедрении Agile-практик в крупных орг...
Надежда Авданина, Мифы и голая правда о внедрении Agile-практик в крупных орг...Надежда Авданина, Мифы и голая правда о внедрении Agile-практик в крупных орг...
Надежда Авданина, Мифы и голая правда о внедрении Agile-практик в крупных орг...
 
вольфсон построение собственного Agile-фреймворка (шаблон)
вольфсон   построение собственного Agile-фреймворка (шаблон)вольфсон   построение собственного Agile-фреймворка (шаблон)
вольфсон построение собственного Agile-фреймворка (шаблон)
 
Антон Немчинов, Применимость SAFe в крупной финансовой организации
Антон Немчинов, Применимость SAFe в крупной финансовой организацииАнтон Немчинов, Применимость SAFe в крупной финансовой организации
Антон Немчинов, Применимость SAFe в крупной финансовой организации
 

Viewers also liked

Индивидуальное и командное сопротивление изменениям.
Индивидуальное и командное сопротивление изменениям.Индивидуальное и командное сопротивление изменениям.
Индивидуальное и командное сопротивление изменениям.Svetlana Mukhina ICP, -ATF, -BVA, - ACC, PSM I, CSPO
 
Фасилитируем командное обсуждение и принятие решений
Фасилитируем командное обсуждение и принятие решенийФасилитируем командное обсуждение и принятие решений
Фасилитируем командное обсуждение и принятие решенийSvetlana Mukhina ICP, -ATF, -BVA, - ACC, PSM I, CSPO
 
Презентация к вебинару От Agile фасилитатора до Agile коуча
Презентация к вебинару От Agile фасилитатора до Agile коучаПрезентация к вебинару От Agile фасилитатора до Agile коуча
Презентация к вебинару От Agile фасилитатора до Agile коучаSvetlana Mukhina ICP, -ATF, -BVA, - ACC, PSM I, CSPO
 
Что такое групповая динамика и зачем про нее знать фасилитатору?
Что такое групповая динамика и зачем про нее знать фасилитатору?Что такое групповая динамика и зачем про нее знать фасилитатору?
Что такое групповая динамика и зачем про нее знать фасилитатору?Svetlana Mukhina ICP, -ATF, -BVA, - ACC, PSM I, CSPO
 
Канбан Пицца - принципы бережливого производства на практике
Канбан Пицца - принципы бережливого производства на практикеКанбан Пицца - принципы бережливого производства на практике
Канбан Пицца - принципы бережливого производства на практикеSvetlana Mukhina ICP, -ATF, -BVA, - ACC, PSM I, CSPO
 
Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.
Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.
Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.Svetlana Mukhina ICP, -ATF, -BVA, - ACC, PSM I, CSPO
 

Viewers also liked (8)

AgileDays 2017: Особенности фасилитации больших команд
AgileDays 2017: Особенности фасилитации больших командAgileDays 2017: Особенности фасилитации больших команд
AgileDays 2017: Особенности фасилитации больших команд
 
Индивидуальное и командное сопротивление изменениям.
Индивидуальное и командное сопротивление изменениям.Индивидуальное и командное сопротивление изменениям.
Индивидуальное и командное сопротивление изменениям.
 
Фасилитируем командное обсуждение и принятие решений
Фасилитируем командное обсуждение и принятие решенийФасилитируем командное обсуждение и принятие решений
Фасилитируем командное обсуждение и принятие решений
 
Презентация к вебинару От Agile фасилитатора до Agile коуча
Презентация к вебинару От Agile фасилитатора до Agile коучаПрезентация к вебинару От Agile фасилитатора до Agile коуча
Презентация к вебинару От Agile фасилитатора до Agile коуча
 
Вебинар: Как научить команду работать по Скраму?
Вебинар: Как научить команду работать по Скраму?Вебинар: Как научить команду работать по Скраму?
Вебинар: Как научить команду работать по Скраму?
 
Что такое групповая динамика и зачем про нее знать фасилитатору?
Что такое групповая динамика и зачем про нее знать фасилитатору?Что такое групповая динамика и зачем про нее знать фасилитатору?
Что такое групповая динамика и зачем про нее знать фасилитатору?
 
Канбан Пицца - принципы бережливого производства на практике
Канбан Пицца - принципы бережливого производства на практикеКанбан Пицца - принципы бережливого производства на практике
Канбан Пицца - принципы бережливого производства на практике
 
Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.
Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.
Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.
 

Similar to Основы оценки размера проекта методом функциональных точек

Практические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPПрактические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPDialogueScience
 
Внедрение систем мониторинга и защиты информации
Внедрение систем мониторинга и защиты информации Внедрение систем мониторинга и защиты информации
Внедрение систем мониторинга и защиты информации MNUCIB
 
Практические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPПрактические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPDialogueScience
 
Владимир Велич - Критерии выбора DLP-систем
Владимир Велич - Критерии выбора DLP-системВладимир Велич - Критерии выбора DLP-систем
Владимир Велич - Критерии выбора DLP-системExpolink
 
Engineering knowledge base – the heart & circulatory system of cutting edge s...
Engineering knowledge base – the heart & circulatory system of cutting edge s...Engineering knowledge base – the heart & circulatory system of cutting edge s...
Engineering knowledge base – the heart & circulatory system of cutting edge s...Irina Vinogradova
 
Software People 2010
Software People 2010Software People 2010
Software People 2010Sergey Orlik
 
должностные обязанности
должностные обязанностидолжностные обязанности
должностные обязанностиNatalia Zhelnova
 
А. Воробьев (ФИНЭКС) - Управленческий цикл и поддерживающие его технологии
А. Воробьев (ФИНЭКС) - Управленческий цикл и поддерживающие его технологииА. Воробьев (ФИНЭКС) - Управленческий цикл и поддерживающие его технологии
А. Воробьев (ФИНЭКС) - Управленческий цикл и поддерживающие его технологииExpolink
 
IBM ECM & Discovery Strategy
IBM ECM & Discovery StrategyIBM ECM & Discovery Strategy
IBM ECM & Discovery StrategyIBM IBM
 
СибирьСофтПроект
СибирьСофтПроектСибирьСофтПроект
СибирьСофтПроектAlexey Suchkov
 
Alfresco как система для СЭД
Alfresco как система для СЭДAlfresco как система для СЭД
Alfresco как система для СЭДSergey Gorobets
 
Управление &#1087...
Управление &#1087...Управление &#1087...
Управление &#1087...akor
 
Задачи бизнеса и эволюция DLP: какова следующая ступень?
Задачи бизнеса и эволюция DLP: какова следующая ступень?Задачи бизнеса и эволюция DLP: какова следующая ступень?
Задачи бизнеса и эволюция DLP: какова следующая ступень?InfoWatch
 
Никита Ремизов - Введение в разработку ТЗ
Никита Ремизов - Введение в разработку ТЗНикита Ремизов - Введение в разработку ТЗ
Никита Ремизов - Введение в разработку ТЗDrupalSPB
 
Решения HPE для Автоматизации каталога услуг и процессов эксплуатации ИТ
Решения HPE для Автоматизации каталога услуг и процессов эксплуатации ИТРешения HPE для Автоматизации каталога услуг и процессов эксплуатации ИТ
Решения HPE для Автоматизации каталога услуг и процессов эксплуатации ИТYuri Yashkin
 
Мобильная СЭД: решения компании "ИнтерТраст" на iPad, BlackBerry
Мобильная СЭД: решения компании "ИнтерТраст" на iPad, BlackBerryМобильная СЭД: решения компании "ИнтерТраст" на iPad, BlackBerry
Мобильная СЭД: решения компании "ИнтерТраст" на iPad, BlackBerryExpolink
 
Anatol Filin Pragmatic Documentation 0 5
Anatol Filin Pragmatic Documentation 0 5Anatol Filin Pragmatic Documentation 0 5
Anatol Filin Pragmatic Documentation 0 5rit2010
 
(RUS) Social Networking Software Adoption. Lotus Connections.
(RUS) Social Networking Software Adoption. Lotus Connections.(RUS) Social Networking Software Adoption. Lotus Connections.
(RUS) Social Networking Software Adoption. Lotus Connections.Petr Valing
 

Similar to Основы оценки размера проекта методом функциональных точек (20)

Практические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPПрактические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLP
 
Внедрение систем мониторинга и защиты информации
Внедрение систем мониторинга и защиты информации Внедрение систем мониторинга и защиты информации
Внедрение систем мониторинга и защиты информации
 
Практические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPПрактические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLP
 
Владимир Велич - Критерии выбора DLP-систем
Владимир Велич - Критерии выбора DLP-системВладимир Велич - Критерии выбора DLP-систем
Владимир Велич - Критерии выбора DLP-систем
 
Engineering knowledge base – the heart & circulatory system of cutting edge s...
Engineering knowledge base – the heart & circulatory system of cutting edge s...Engineering knowledge base – the heart & circulatory system of cutting edge s...
Engineering knowledge base – the heart & circulatory system of cutting edge s...
 
Software People 2010
Software People 2010Software People 2010
Software People 2010
 
должностные обязанности
должностные обязанностидолжностные обязанности
должностные обязанности
 
А. Воробьев (ФИНЭКС) - Управленческий цикл и поддерживающие его технологии
А. Воробьев (ФИНЭКС) - Управленческий цикл и поддерживающие его технологииА. Воробьев (ФИНЭКС) - Управленческий цикл и поддерживающие его технологии
А. Воробьев (ФИНЭКС) - Управленческий цикл и поддерживающие его технологии
 
IBM ECM & Discovery Strategy
IBM ECM & Discovery StrategyIBM ECM & Discovery Strategy
IBM ECM & Discovery Strategy
 
СибирьСофтПроект
СибирьСофтПроектСибирьСофтПроект
СибирьСофтПроект
 
пр вебинар эволюция Dlp iw 07 2013
пр вебинар эволюция Dlp iw 07 2013пр вебинар эволюция Dlp iw 07 2013
пр вебинар эволюция Dlp iw 07 2013
 
Alfresco как система для СЭД
Alfresco как система для СЭДAlfresco как система для СЭД
Alfresco как система для СЭД
 
Управление &#1087...
Управление &#1087...Управление &#1087...
Управление &#1087...
 
Задачи бизнеса и эволюция DLP: какова следующая ступень?
Задачи бизнеса и эволюция DLP: какова следующая ступень?Задачи бизнеса и эволюция DLP: какова следующая ступень?
Задачи бизнеса и эволюция DLP: какова следующая ступень?
 
Никита Ремизов - Введение в разработку ТЗ
Никита Ремизов - Введение в разработку ТЗНикита Ремизов - Введение в разработку ТЗ
Никита Ремизов - Введение в разработку ТЗ
 
Решения HPE для Автоматизации каталога услуг и процессов эксплуатации ИТ
Решения HPE для Автоматизации каталога услуг и процессов эксплуатации ИТРешения HPE для Автоматизации каталога услуг и процессов эксплуатации ИТ
Решения HPE для Автоматизации каталога услуг и процессов эксплуатации ИТ
 
Мобильная СЭД: решения компании "ИнтерТраст" на iPad, BlackBerry
Мобильная СЭД: решения компании "ИнтерТраст" на iPad, BlackBerryМобильная СЭД: решения компании "ИнтерТраст" на iPad, BlackBerry
Мобильная СЭД: решения компании "ИнтерТраст" на iPad, BlackBerry
 
Anatol Filin Pragmatic Documentation 0 5
Anatol Filin Pragmatic Documentation 0 5Anatol Filin Pragmatic Documentation 0 5
Anatol Filin Pragmatic Documentation 0 5
 
(RUS) Social Networking Software Adoption. Lotus Connections.
(RUS) Social Networking Software Adoption. Lotus Connections.(RUS) Social Networking Software Adoption. Lotus Connections.
(RUS) Social Networking Software Adoption. Lotus Connections.
 
4CIO.ppt
4CIO.ppt4CIO.ppt
4CIO.ppt
 

More from Svetlana Mukhina ICP, -ATF, -BVA, - ACC, PSM I, CSPO

Презентация к вебинару - Как работать с сопротивлением отдельных участников в...
Презентация к вебинару - Как работать с сопротивлением отдельных участников в...Презентация к вебинару - Как работать с сопротивлением отдельных участников в...
Презентация к вебинару - Как работать с сопротивлением отдельных участников в...Svetlana Mukhina ICP, -ATF, -BVA, - ACC, PSM I, CSPO
 
фасилитируем встречи, повышающие уровень сотрудничества в команде
фасилитируем встречи, повышающие уровень сотрудничества в командефасилитируем встречи, повышающие уровень сотрудничества в команде
фасилитируем встречи, повышающие уровень сотрудничества в командеSvetlana Mukhina ICP, -ATF, -BVA, - ACC, PSM I, CSPO
 
Что такое коучинг, чем коучинг не является и что такое Agile коучинг
Что такое коучинг, чем коучинг не является и что такое Agile коучинг Что такое коучинг, чем коучинг не является и что такое Agile коучинг
Что такое коучинг, чем коучинг не является и что такое Agile коучинг Svetlana Mukhina ICP, -ATF, -BVA, - ACC, PSM I, CSPO
 
Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitati...
Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitati...Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitati...
Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitati...Svetlana Mukhina ICP, -ATF, -BVA, - ACC, PSM I, CSPO
 
2016 ITSpring Что такое коучинг, чем коучинг не является и что такое Agile ко...
2016 ITSpring Что такое коучинг, чем коучинг не является и что такое Agile ко...2016 ITSpring Что такое коучинг, чем коучинг не является и что такое Agile ко...
2016 ITSpring Что такое коучинг, чем коучинг не является и что такое Agile ко...Svetlana Mukhina ICP, -ATF, -BVA, - ACC, PSM I, CSPO
 
Agile коучинг: 10 техник для эффективной командной работы
Agile коучинг: 10 техник для эффективной командной работы Agile коучинг: 10 техник для эффективной командной работы
Agile коучинг: 10 техник для эффективной командной работы Svetlana Mukhina ICP, -ATF, -BVA, - ACC, PSM I, CSPO
 

More from Svetlana Mukhina ICP, -ATF, -BVA, - ACC, PSM I, CSPO (20)

Презентация к вебинару - Как работать с сопротивлением отдельных участников в...
Презентация к вебинару - Как работать с сопротивлением отдельных участников в...Презентация к вебинару - Как работать с сопротивлением отдельных участников в...
Презентация к вебинару - Как работать с сопротивлением отдельных участников в...
 
Advantages and disadvantages of Agile approach for products and services deve...
Advantages and disadvantages of Agile approach for products and services deve...Advantages and disadvantages of Agile approach for products and services deve...
Advantages and disadvantages of Agile approach for products and services deve...
 
фасилитируем встречи, повышающие уровень сотрудничества в команде
фасилитируем встречи, повышающие уровень сотрудничества в командефасилитируем встречи, повышающие уровень сотрудничества в команде
фасилитируем встречи, повышающие уровень сотрудничества в команде
 
Scrum Workshop
Scrum WorkshopScrum Workshop
Scrum Workshop
 
Майндсет и поведение Agile фасилитатора
Майндсет и поведение Agile фасилитатораМайндсет и поведение Agile фасилитатора
Майндсет и поведение Agile фасилитатора
 
What is coaching, what is not coaching and what is Agile coaching
What is coaching, what is not coaching and what is Agile coaching What is coaching, what is not coaching and what is Agile coaching
What is coaching, what is not coaching and what is Agile coaching
 
Что такое коучинг, чем коучинг не является и что такое Agile коучинг
Что такое коучинг, чем коучинг не является и что такое Agile коучинг Что такое коучинг, чем коучинг не является и что такое Agile коучинг
Что такое коучинг, чем коучинг не является и что такое Agile коучинг
 
7 Qualities of Agile Team Member
7 Qualities of Agile Team Member7 Qualities of Agile Team Member
7 Qualities of Agile Team Member
 
Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitati...
Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitati...Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitati...
Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitati...
 
Agile коучинг 5 техник для эффективной командной работы
Agile коучинг 5 техник для эффективной командной работыAgile коучинг 5 техник для эффективной командной работы
Agile коучинг 5 техник для эффективной командной работы
 
2016 ITSpring Что такое коучинг, чем коучинг не является и что такое Agile ко...
2016 ITSpring Что такое коучинг, чем коучинг не является и что такое Agile ко...2016 ITSpring Что такое коучинг, чем коучинг не является и что такое Agile ко...
2016 ITSpring Что такое коучинг, чем коучинг не является и что такое Agile ко...
 
Overview of Function Points Analysis
Overview of Function Points Analysis Overview of Function Points Analysis
Overview of Function Points Analysis
 
Agile коучинг: 10 техник для эффективной командной работы
Agile коучинг: 10 техник для эффективной командной работы Agile коучинг: 10 техник для эффективной командной работы
Agile коучинг: 10 техник для эффективной командной работы
 
Team Coaching. Goal setting and motivation
Team Coaching.  Goal setting and motivation Team Coaching.  Goal setting and motivation
Team Coaching. Goal setting and motivation
 
What should Scrum Master do on the project?
What should Scrum Master do on the project?What should Scrum Master do on the project?
What should Scrum Master do on the project?
 
Как мотивировать себя и свою команду? Часть II
Как мотивировать себя и свою команду? Часть IIКак мотивировать себя и свою команду? Часть II
Как мотивировать себя и свою команду? Часть II
 
Role of Quality Assurance specialist on Agile project
Role of Quality Assurance specialist on Agile projectRole of Quality Assurance specialist on Agile project
Role of Quality Assurance specialist on Agile project
 
Team Coaching Part1
Team Coaching Part1Team Coaching Part1
Team Coaching Part1
 
Как мотивировать себя и свою команду? часть 1
Как мотивировать себя и свою команду? часть 1Как мотивировать себя и свою команду? часть 1
Как мотивировать себя и свою команду? часть 1
 
Metrics on Agile Projects
Metrics on Agile ProjectsMetrics on Agile Projects
Metrics on Agile Projects
 

Основы оценки размера проекта методом функциональных точек

  • 1. www.luxoft.com Метод Функциональных Точек Основы оценки размера проекта методом функциональных точек Основано на материалах David Consulting Group Светлана Мухина
  • 2. www.luxoft.com Знакомимся Светлана Мухина ICAgile ICP, ICP-ATF, ICP-BVA, ICP- ACC, PSM I, CSPO, Professional Coach, Certified NLP Practitioner, KMP Foundation I Agile and Professional Coach at Luxoft Agile Practice Опыт работы: 14+ лет в IT, Agile коуч, руководитель проектов, компьютерный лингвист, технический писатель, бизнес-аналитик Интересы: управление проектами, процессные трансформации, коучинг, психология Хобби: верховая езда, музыка, покер, плаванье, путешествия https://www.linkedin.com/in/svetlanamukhina https://www.facebook.com/Svetlana.Mukhina8
  • 5. www.luxoft.com История Анализ функциональных точек — стандартный метод измерения размера программного продукта с точки зрения пользователей системы. Метод разработан Аланом Альбрехтом (Alan Albrecht) в середине 70-х. Метод был впервые опубликован в 1979 году. В 1986 году была сформирована Международная Ассоциация Пользователей Функциональных Точек (International Function Point User Group — IFPUG), которая опубликовала несколько ревизий метода. Основано на материалах David Consulting Group
  • 6. www.luxoft.com Основные Термины • Единица измерения функциональности программного обеспечения с точки зрения пользовательской системы.Функциональная точка • Человек или система, которая взаимодействует с программным обеспечением.Пользователь • Функциональные пользовательские требования так, как они воспринимаются пользователем.User View • Набор функций, который должна выполнять система в терминах задач и сервисов. Эти требования задают “что” система должна делать. Функциональные пользовательские требования • Эти требования задают с соблюдением “каких условий” система должна что-то делать. Нефункциональные пользовательские требования Основано на материалах David Consulting Group
  • 7. www.luxoft.com • ФТ помогают точно оценивать разменость приложения; • ФТ могут быть подсчитаны разными людьми, в разное время с одним и тем же результатом; • ФТ могут быть подсчитаны прокси; • ФТ понятны для не технических пользователей; • С помощью ФТ можно сравнить эффективность инструментов, команды, среды и т.д. • Небольшой риск инфляции по сравнению с методом подсчета строк кода или стори поинтами; • ФТ можно подсчитать используя написанные требования или готовое приложение; • ФТ - это не лучший способ оценки дефектов или задач, связанных с производительностью приложения; • ФТ не очень эффективны для оценки в ситуации, когда оценённая функциональность будет имплементирована одни или двумя разработчиками; • Команда разработки не принимает участие в оценке задач; • Метод ФТ требует значительных инвестиций в обучение; • Для эффективного использования метода ФТ необходима постоянная практика; Преимущества и недостатки метода Функциональных Точек Основано на материалах David Consulting Group
  • 9. www.luxoft.com Собираем доступную документацию Определяем объем работ, границы приложения, функциональны е требования Идентифицируем основные функциональные компоненты Считаем размер в ФТ Документируем результаты подсчета Предоставляем результаты заказчику Процесс оценки в функциональных точках Основано на материалах David Consulting Group
  • 10. www.luxoft.com Устанавливаем Границы Приложения Границы приложения – это абстрактный интерфейс между приложением и всеми его пользователями • Что является «внешним» по отношению к оцениваемому продукту? • Где располагается «граница системы», через которую проходят транзакции передаваемые или принимаемые продуктом, с точки зрения пользователя? • Какие данные поддерживаются приложением, а какие — внешние? Основано на материалах http://citforum.ru/SE/project/arkhipenkov_lectures/12.shtml
  • 11. www.luxoft.com Определяем тип объекта оценки Мы считаем • Разработку. Оцениваем количество функциональности поставляемой пользователям в первом релизе продукта. • Изменения. Оцениваем необходимые доработки: добавление, изменение и удаление функционала. • Продукт. Оцениваем размер уже существующего продукта. Мы не считаем • Поддержку – действия необходимые совершить для устранения дефектов в программном обеспечение • Улучшения - действия необходимые совершить для улучшения производительности, надежности, поддерживаемости или других атрибутов программного обеспечения • Нефункциональные требования Основано на материалах David Consulting Group
  • 13. www.luxoft.com Внутренние логические файлы и внешние интерфейсные файлы Приложение Внутренний логический файл (ILFs) — выделяемая пользователем логически связанная группы данных или блок управляющей информации, которые поддерживаются внутри продукта. Внешний интерфейсный файл (EIFs) — выделяемый пользователем логически связанная группы данных или блок управляющей информации, на который ссылается продукт, но которые поддерживаются вне продукта. Не считайте как ILF и EIF: • Файлы необходимы для поддержки той или иной технологии • Файлы индексации и сортировки • Временные файлы данных • Другие технические файлы Основано на материалах David Consulting Group
  • 14. www.luxoft.com Элементы ILFs и EIFs Количество ILFs и EIFs и их функциональная сложность влияет на размер приложения в функциональных точках. Функциональная сложность файлов определяется количеством связанных с ними элементов: логических групп данных и неповторяемых уникальных полей. Приложение Внешний интерфейсный файл (EIF) RETs DETs DETs DETs Внутренний логический файл (ILF) RET (record element type) логическая группа данных, например, адрес, паспорт, телефонный номер. DET (data element type) неповторяемое уникальное поле данных, например, Имя Клиента Основано на материалах David Consulting Group
  • 15. www.luxoft.com Транзакции Приложение External Interface File (EIF) RETs DETs DETs DETs Internal Logical File (ILF) RET - A record element type (RET) is a user recognizable subgroup of data elements within an ILF or EIF DET is a unique user recognizable, non-repeated attribute User EI = External Input EO = External Output EQ = External Inquiry EI EO EQ Основано на материалах David Consulting Group
  • 16. www.luxoft.com Описание Транзакций Транзакция — это элементарный процесс, представляющий значение для пользователя: EI (external inputs) — внешние входные транзакции, элементарная операция по обработке данных или управляющей информации, поступающих в систему из вне. - Слова, которые идентифицируют EIs: Add, Make Inactive, Allocate, Modify, Assign, Record, Associate, Remove, Change, Reset, Create, Delete, Import, Reverse, Set, Undo, Update, Upload, Withdraw; EO (external outputs) — внешние выходные транзакции, элементарная операция по генерации данных или управляющей информации, которые выходят за пределы системы. Предполагает определенную логику обработки или вычислений информации из одного или более ILF. - Слова, которые идентифицируют EOs: Adjust, Export, Generate, Notify, Print, Report, Summary EQ (external inquiries) — внешние запросы, элементарная операция, которая в ответ на внешний запрос извлекает данные или управляющую информацию из ILF или EIF. - Слова, которые идентифицируют EQs: Browse, Display, Enquire, Extract, Inquire, List, Pick List, View Основано на материалах David Consulting Group
  • 17. www.luxoft.com Определяем типы транзакций Основано на материалах David Consulting Group, http://citforum.ru/SE/project/arkhipenkov_lectures/12.shtml Функция Тип транзакции EI EO EQ Изменяет поведение системы О Д NA Поддерживает один или более ILF О Д NA Представление информации пользователю Д О О О — основная; Д — дополнительная; NA — не применима.
  • 18. www.luxoft.com Пример #1 – определяем файлы и транзакции для радиобудильника Inputs (EIs) • Set time • Set alarm • Set type of alarm (radio, buzz) Set radio station • Set volume of radio • Set am/fm • Set Snooze • On/Off alarm Outputs (EOs/EQs) • Alarm • Sound(Music/ Radio/Buzzer) • Display Time Internal Data Stores (ILFs) • Time Data (Alarm Data/Time Data) • Radio Data External Data Sources (EIFs) • Radio Frequency from David Consulting Group
  • 19. www.luxoft.com Пример #2 – считаем уникальные поля и группы данных Основано на материалах David Consulting Group
  • 20. www.luxoft.com Пример #2 – Результаты Основано на материалах David Consulting Group
  • 22. www.luxoft.com RETs 1-19 DETs 20-50 DETs 51+ DETs 1 Low Low Avg 2-5 Low Avg High 6+ Avg High High Матрица сложности данных для ILF и EIF Оценка сложности файлов ILF и EIF Оценка сложности файлов зависит от количества неповторяемых уникальных полей данных (DETs) и количества логических групп данных
  • 23. www.luxoft.com Матрица сложности данных EI FTRs 1-4 DETs 5-15 DETs 16+ DETs 0-1 Low Low Avg 2 Low Avg High 3+ Avg High High Матрица сложности данных для EO и EQ FTRs 1-5 DETs 6-19 DETs 20+ DETs 0-1 Low Low Avg 2-3 Low Avg High 4+ Avg High High Оценка сложности транзакций Оценка сложности транзакций зависит от количество различных файлов (информационных объектов (File type referenced FTR типа ILF и/или EIF) модифицируемых или считываемых в транзакции.
  • 24. www.luxoft.com Type Low Avg High Total EI _ X 3 + _ X 4 + _X6 = EO _ X 4 + _ X 5 + _X7 = EQ _ X 3 + _ X 4 + _X6 = ILF _ X 7 + _ X 10 + _X15 = EIF _ X 5 + _ X 7 + _X6 = Вес транзакций в функциональных точках
  • 25. www.luxoft.com Пример #3 – Считаем функциональные точки приложения ОснованонаматериалахDavidConsultingGroup
  • 26. www.luxoft.com Пример #3 – Результаты Description ILF/EIF/EI/EO/EQ FTRs DETs Add EI 1 6 Change EI 1 6 Delete EI 1 5 Student Data ILF 1 4 16 FPs Основано на материалах David Consulting Group (ЗFPs + ЗFPs + ЗFPs + 7FPs)
  • 28. www.luxoft.com Общесистемные требования Помимо функциональных требований на продукт накладываются общесистемные требования General Systems Characteristics (GSCs), которые ограничивают разработчиков в выборе решения и увеличивают сложность разработки. Для учета этой сложности применяется фактор выравнивания (VAF). Значение фактора VAF зависит от 14 параметров, которые определяют системные характеристики продукта: Обмен данными Распределенная обработка данных Производительность Ограничения по аппаратным ресурсам Транзакционная нагрузка Интенсивность взаимодействия с пользователем Эргономика Интенсивность изменения данных Сложность обработки Повторное использование Удобство инсталляции Удобство администрирования Портируемость Гибкость Основано на материалах David Consulting Group http://citforum.ru/SE/project/arkhipenkov_lectures/12.shtml
  • 29. www.luxoft.com Определяем фактор выравнивания (VAF, value added factor) Оцениваем каждый критерий от 1 до 5 Считаем общую степень влияния (total degree of influence, TDI) Используя формулу, считаем фактор выравнивания Формула: VAF=(TDI*0.01)+0.65 Основано на материалах David Consulting Group Общесистемные требования Вес Обмен данными 5 Распределенная обработка данных 4 Производительность 3 Ограничения по аппаратным ресурсам 2 Транзакционная нагрузка 3 Интенсивность взаимодействия с пользователем 5 Эргономика 4 Интенсивность изменения данных 5 Сложность обработки 2 Повторное использование 3 Удобство инсталляции 1 Удобство администрирования 3 Портируемость 2 Гибкость 5 Общая степень влияния 47 Фактор выравнивания 1.12 Значени е Влияние на систему 0 Не влияет 1 Незначительное 2 Умеренное 3 Среднее 4 Значительное 5 Сильное
  • 30. www.luxoft.com Пример #4 – Используем фактор выравнивания Если количество не выровненных функциональных точек равно 100 (fps) и VAF равен 1.1,тогда количество выравненных функциональных точек будет 110 fps. Выровненные функциональные точки = не выровненные функциональные точки x VAF  Ни одно приложение на получает 0 при оценке General Systems Characteristics и не одно не набирает 5 по всем параметрам, но если бы такое было возможно то, • Для всех 0 VAF = (0*.01) +.65 = .65 • Для всех 5 VAF = (70*.01)+.65 = 1.35  В среднем использование выравнивания изменяет оценку до -30% до +35% Основано на материалах David Consulting Group
  • 31. www.luxoft.com Чек-лист для подсчета функциональных точек  Соберите необходимую документацию;  Определите функциональные требования и границы приложения;  Определите и классифицируйте основные функциональные компоненты;  Посчитайте файлы данных;  Внутренние логические файлы (ILF);  Внешние интерфейсные файлы External Groupings of data or External Interface Files (EIF);  Посчитайте транзакции;  внешние входные транзакции (EI);  внешние выходные транзакции (EO);  внешние запросы (EQ);  Определите функциональную сложность каждого компонента и его размер (L-A-H) в функциональных точках;  Посчитайте общий размер приложения в функциональных точках;  Выровняйте функциональные точки, используя VAF; ОснованонаматериалахDavidConsultingGroup
  • 32. www.luxoft.com Что дальше почитать/посмотреть?  Producing realistic estimates - http://www.softwarevalue.com/insights/publications/better-estimation- better-decisions/  Webinars and publication on Function Points: http://www.softwarevalue.com/insights/  Trainings: http://www.softwarevalue.com/news/training/  Статья - Обзор метода функциональных точек http://citforum.ru/SE/project/arkhipenkov_lectures/12.shtml  Вебинар - Основы оценки размера проекта методом функциональных точекhttps://attendee.gotowebinar.com/register/666912455395478273?source=conf

Editor's Notes

  1. An application boundary is a conceptual interface between the software under study and its users. Scope of a project could include multiple applications. A functional size would be calculated for each affected application, in perspective to its boundary, thereby producing its own count All affected application counts would be compiled to produce the total project count.
  2. External Interface File (EIF) is a user recognizable group of logically related data or control information which is referenced by the application being measured, but maintained within the boundary of another application. It is identified as an ILF in another application(s)