SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Solr Application Development Tutorial
Solr Application Development TutorialSolr Application Development Tutorial
Solr Application Development TutorialErik Hatcher
 
BDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIOBDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIOM Rizwanur Rashid
 
Apache NiFi Record Processing
Apache NiFi Record ProcessingApache NiFi Record Processing
Apache NiFi Record ProcessingBryan Bende
 
Airflow presentation
Airflow presentationAirflow presentation
Airflow presentationIlias Okacha
 
RootedCON 2015 - Deep inside the Java framework Apache Struts
RootedCON 2015 - Deep inside the Java framework Apache StrutsRootedCON 2015 - Deep inside the Java framework Apache Struts
RootedCON 2015 - Deep inside the Java framework Apache Strutstestpurposes
 
Api fundamentals
Api fundamentalsApi fundamentals
Api fundamentalsAgileDenver
 
Elastic search Walkthrough
Elastic search WalkthroughElastic search Walkthrough
Elastic search WalkthroughSuhel Meman
 
Airflow - a data flow engine
Airflow - a data flow engineAirflow - a data flow engine
Airflow - a data flow engineWalter Liu
 
Json in Postgres - the Roadmap
 Json in Postgres - the Roadmap Json in Postgres - the Roadmap
Json in Postgres - the RoadmapEDB
 
Stream processing at Hotstar
Stream processing at HotstarStream processing at Hotstar
Stream processing at HotstarKafkaZone
 
Test Automation - Principles and Practices
Test Automation - Principles and PracticesTest Automation - Principles and Practices
Test Automation - Principles and PracticesAnand Bagmar
 
JUnit5 and TestContainers
JUnit5 and TestContainersJUnit5 and TestContainers
JUnit5 and TestContainersSunghyouk Bae
 
Design Patterns in Modern C++
Design Patterns in Modern C++Design Patterns in Modern C++
Design Patterns in Modern C++Dmitri Nesteruk
 
Rest API Testing
Rest API TestingRest API Testing
Rest API Testingupadhyay_25
 
Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...
Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...
Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...Lucidworks
 
Lambda and Stream Master class - part 1
Lambda and Stream Master class - part 1Lambda and Stream Master class - part 1
Lambda and Stream Master class - part 1José Paumard
 
Datascience and python
Datascience and pythonDatascience and python
Datascience and pythonUmmeSalmaM1
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQLMuhilvarnan V
 

Mais procurados (20)

Solr Application Development Tutorial
Solr Application Development TutorialSolr Application Development Tutorial
Solr Application Development Tutorial
 
BDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIOBDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIO
 
Apache NiFi Record Processing
Apache NiFi Record ProcessingApache NiFi Record Processing
Apache NiFi Record Processing
 
Airflow presentation
Airflow presentationAirflow presentation
Airflow presentation
 
RootedCON 2015 - Deep inside the Java framework Apache Struts
RootedCON 2015 - Deep inside the Java framework Apache StrutsRootedCON 2015 - Deep inside the Java framework Apache Struts
RootedCON 2015 - Deep inside the Java framework Apache Struts
 
Api fundamentals
Api fundamentalsApi fundamentals
Api fundamentals
 
Elastic search Walkthrough
Elastic search WalkthroughElastic search Walkthrough
Elastic search Walkthrough
 
Airflow - a data flow engine
Airflow - a data flow engineAirflow - a data flow engine
Airflow - a data flow engine
 
Json in Postgres - the Roadmap
 Json in Postgres - the Roadmap Json in Postgres - the Roadmap
Json in Postgres - the Roadmap
 
Stream processing at Hotstar
Stream processing at HotstarStream processing at Hotstar
Stream processing at Hotstar
 
Test Automation - Principles and Practices
Test Automation - Principles and PracticesTest Automation - Principles and Practices
Test Automation - Principles and Practices
 
JUnit5 and TestContainers
JUnit5 and TestContainersJUnit5 and TestContainers
JUnit5 and TestContainers
 
Design Patterns in Modern C++
Design Patterns in Modern C++Design Patterns in Modern C++
Design Patterns in Modern C++
 
Rest API Testing
Rest API TestingRest API Testing
Rest API Testing
 
Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...
Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...
Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...
 
Lambda and Stream Master class - part 1
Lambda and Stream Master class - part 1Lambda and Stream Master class - part 1
Lambda and Stream Master class - part 1
 
Datascience and python
Datascience and pythonDatascience and python
Datascience and python
 
Apache Airflow
Apache AirflowApache Airflow
Apache Airflow
 
Building Netty Servers
Building Netty ServersBuilding Netty Servers
Building Netty Servers
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQL
 

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

Практические особенности внедрения систем класса 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
 

Semelhante a Основы оценки размера проекта методом функциональных точек (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
 

Mais de LuxoftAgilePractice

Канбан Пицца - принципы бережливого производства на практике
Канбан Пицца - принципы бережливого производства на практикеКанбан Пицца - принципы бережливого производства на практике
Канбан Пицца - принципы бережливого производства на практикеLuxoftAgilePractice
 
AgileDays 2017: Особенности фасилитации больших команд
AgileDays 2017: Особенности фасилитации больших командAgileDays 2017: Особенности фасилитации больших команд
AgileDays 2017: Особенности фасилитации больших командLuxoftAgilePractice
 
Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017
Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017
Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017LuxoftAgilePractice
 
Agile Talks: Scrum Cookbook - Внедрение Скрам: ошибки и решения
Agile Talks: Scrum Cookbook - Внедрение Скрам: ошибки и решенияAgile Talks: Scrum Cookbook - Внедрение Скрам: ошибки и решения
Agile Talks: Scrum Cookbook - Внедрение Скрам: ошибки и решенияLuxoftAgilePractice
 
Вебинар: Как научить команду работать по Скраму?
Вебинар: Как научить команду работать по Скраму?Вебинар: Как научить команду работать по Скраму?
Вебинар: Как научить команду работать по Скраму?LuxoftAgilePractice
 
Что такое групповая динамика и зачем про нее знать фасилитатору?
Что такое групповая динамика и зачем про нее знать фасилитатору?Что такое групповая динамика и зачем про нее знать фасилитатору?
Что такое групповая динамика и зачем про нее знать фасилитатору?LuxoftAgilePractice
 
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферыAgile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферыLuxoftAgilePractice
 
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферыAgile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферыLuxoftAgilePractice
 
Фасилитируем командное обсуждение и принятие решений
Фасилитируем командное обсуждение и принятие решенийФасилитируем командное обсуждение и принятие решений
Фасилитируем командное обсуждение и принятие решенийLuxoftAgilePractice
 
Индивидуальное и командное сопротивление изменениям.
Индивидуальное и командное сопротивление изменениям.Индивидуальное и командное сопротивление изменениям.
Индивидуальное и командное сопротивление изменениям.LuxoftAgilePractice
 
Фасилитируем встречи, повышающие уровень сотрудничества в команде
Фасилитируем встречи, повышающие уровень сотрудничества в командеФасилитируем встречи, повышающие уровень сотрудничества в команде
Фасилитируем встречи, повышающие уровень сотрудничества в командеLuxoftAgilePractice
 
Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.
Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.
Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.LuxoftAgilePractice
 
Презентация к вебинару От Agile фасилитатора до Agile коуча
Презентация к вебинару От Agile фасилитатора до Agile коучаПрезентация к вебинару От Agile фасилитатора до Agile коуча
Презентация к вебинару От Agile фасилитатора до Agile коучаLuxoftAgilePractice
 
Майндсет и поведение Agile фасилитатора
Майндсет и поведение Agile фасилитатораМайндсет и поведение Agile фасилитатора
Майндсет и поведение Agile фасилитатораLuxoftAgilePractice
 
What is coaching, what is not coaching and what is Agile coaching
What is coaching, what is not coaching and what is Agile coachingWhat is coaching, what is not coaching and what is Agile coaching
What is coaching, what is not coaching and what is Agile coachingLuxoftAgilePractice
 
Что такое коучинг, чем коучинг не является и что такое Agile коучинг
Что такое коучинг, чем коучинг не является и что такое Agile коучинг Что такое коучинг, чем коучинг не является и что такое Agile коучинг
Что такое коучинг, чем коучинг не является и что такое Agile коучинг LuxoftAgilePractice
 
Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitat...
 Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitat... Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitat...
Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitat...LuxoftAgilePractice
 
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 ?LuxoftAgilePractice
 

Mais de LuxoftAgilePractice (20)

Канбан Пицца - принципы бережливого производства на практике
Канбан Пицца - принципы бережливого производства на практикеКанбан Пицца - принципы бережливого производства на практике
Канбан Пицца - принципы бережливого производства на практике
 
AgileDays 2017: Особенности фасилитации больших команд
AgileDays 2017: Особенности фасилитации больших командAgileDays 2017: Особенности фасилитации больших команд
AgileDays 2017: Особенности фасилитации больших команд
 
Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017
Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017
Михаил Подурец. Почему Agile не работает (на самом деле нет). Agiledays2017
 
Agile Talks: Scrum Cookbook - Внедрение Скрам: ошибки и решения
Agile Talks: Scrum Cookbook - Внедрение Скрам: ошибки и решенияAgile Talks: Scrum Cookbook - Внедрение Скрам: ошибки и решения
Agile Talks: Scrum Cookbook - Внедрение Скрам: ошибки и решения
 
Вебинар: Как научить команду работать по Скраму?
Вебинар: Как научить команду работать по Скраму?Вебинар: Как научить команду работать по Скраму?
Вебинар: Как научить команду работать по Скраму?
 
Что такое групповая динамика и зачем про нее знать фасилитатору?
Что такое групповая динамика и зачем про нее знать фасилитатору?Что такое групповая динамика и зачем про нее знать фасилитатору?
Что такое групповая динамика и зачем про нее знать фасилитатору?
 
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферыAgile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферы
 
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферыAgile Talks: Scrum Cookbook. Применение вне ИТ-сферы
Agile Talks: Scrum Cookbook. Применение вне ИТ-сферы
 
Фасилитируем командное обсуждение и принятие решений
Фасилитируем командное обсуждение и принятие решенийФасилитируем командное обсуждение и принятие решений
Фасилитируем командное обсуждение и принятие решений
 
Индивидуальное и командное сопротивление изменениям.
Индивидуальное и командное сопротивление изменениям.Индивидуальное и командное сопротивление изменениям.
Индивидуальное и командное сопротивление изменениям.
 
Фасилитируем встречи, повышающие уровень сотрудничества в команде
Фасилитируем встречи, повышающие уровень сотрудничества в командеФасилитируем встречи, повышающие уровень сотрудничества в команде
Фасилитируем встречи, повышающие уровень сотрудничества в команде
 
Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.
Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.
Сопротивление изменениям. Как помочь команде пережить процессную трансформацию.
 
Презентация к вебинару От Agile фасилитатора до Agile коуча
Презентация к вебинару От Agile фасилитатора до Agile коучаПрезентация к вебинару От Agile фасилитатора до Agile коуча
Презентация к вебинару От Agile фасилитатора до Agile коуча
 
Майндсет и поведение 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 coachingWhat 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 коучинг
 
Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitat...
 Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitat... Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitat...
Обзор сертификационного тренинга по фасилитации ICAgile Agile Team Facilitat...
 
Function Points
Function PointsFunction Points
Function Points
 
Team Coaching. Part 2
Team Coaching. Part 2Team Coaching. Part 2
Team Coaching. Part 2
 
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 ?
 

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

  • 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

Notas do Editor

  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)