Петросян, К. А. Особенности применения методики Early Function Points для определения трудоёмкости разработки мобильного приложения / К. А. Петросян, А. Д. Зобнина, Я. Г. Сафронова. // Экономика и бизнес: теория и практика. – 2017. – 12. – С. 140-144.

ОСОБЕННОСТИ ПРИМЕНЕНИЯ МЕТОДИКИ EARLY FUNCTION POINTS ДЛЯ ОПРЕДЕЛЕНИЯ ТРУДОЁМКОСТИ РАЗРАБОТКИ МОБИЛЬНОГО

ПРИЛОЖЕНИЯ

 

К.А. Петросян, студент

А.Д. Зобнина, студент

Я.Г. Сафронова, студент

Сибирский федеральный университет

(Россия, г. Красноярск)

 

Аннотация. В данной статье рассмотрены вопросы практического применения метода Early Function Points на примере IT-проекта по созданию мобильного приложения. Приведено краткое описание рассматриваемого метода. Определены расчетные сроки выполнения данного проекта, количество участников для его разработки и объем необходимого кода.

Ключевые слова: экономика программной инженерии, метод Early Function Points,  трудозатраты, функциональные примитивы.

 

 

Введение

Метод Early Function Points (метод раннего прогнозирования размера будущей программы) был предложен Роберто Мели в 1997 году (Италия) как показано в работах [1-4].

Данный метод примечателен тем, что оценить трудоемкость разработки проекта является возможным на разных уровнях знаний: от поверхностного представления работы программы до глубоко детализируемой работы системы. От уровня знаний зависит точность рассчитанных значений. При подходе с детализируемой информацией о системе расчет будет являться более точным и менее изменяемым на дальнейших этапах работы над проектом [5]. В данном примере расчета трудозатрат IT-проекта используются функции, представляемые на уровне восприятия будущего проекта, поэтому приведенные расчеты являются ориентировочными, и по ходу разработки проекта будут периодически изменяться.

Метод Early Function Points предполагает оценивание таких объектов, как логические элементы данных, макрофункции, функции, микрофункции и функциональные примитивы [67].

Функциональные примитивы – элементарные процессы, не поддающиеся дальнейшей детализации (процессы ввода, вывода и запроса) [8-9].

Микрофункции – функциональные примитивы (создание, удаление, обновление и выборка), функции управления данных.

Функции – функциональные примитивы, связанные с операционными потребностями пользователей.

Макрофункции – функции, связанные с системой потребителя, с целым приложением или его частью.

Логические элементы данных – группа связных элементов данных, классифицируемых по пяти уровням сложности: «низкий», «средний», «высокий», «сложный», «сверхсложный» [10-12].

На высоком уровне владения знанием о будущем приложении используются все перечисленные объекты. Но на примере мобильного приложения для кофеен будем использовать ILF, EIF, EI, EO, EQ. Мы будем придерживаться данного алгоритма работы:

  как можно подробней изучим предметную область, выделим нужные функции и задачи, детализируем их;

 определим каждую функцию к соответствующему ее типу (ILF, EIF, EI, EO, EQ);

 оценим сложность каждой функции (низкая, средняя, высокая);

 вычислим общее количество нескорректированных точек функций;

 проведем расчет трудозатрат для данного проекта.

Исходные данные

Определим, какими функциями будет обладать наше мобильное приложение для кофейни для автоматизации заказов:

 авторизация в системе пользователей и персонала;

 добавление/удаление/изменение пользователей (клиентов, персонала);

 добавление/удаление/изменение блюд и напитков в меню;

 просмотр информации о тех или иных блюдах или напитках.

В задачи проекта будут входить:

 хранение меню и взаимодействие с его составляющими;

 хранение информации о клиентах и персонале.

Все необходимые для работы приложения данные хранятся в базе данных. База данных программы включает в себя следующие таблицы (табл. 1).

 

 

Таблица 1. Структура и состав баз данных

Название БД

Количество полей

Клиент

5

Персонал

4

Элемент меню

4

 

 

Расчет трудозатрат на разработку программного продукта для кофейни

Приложение будет состоять из следующих окон:

 вход в приложение;

 регистрация в приложении;

 личный кабинет;

 главное окно программы;

 история покупок и оплаты;

 меню;

 информация о том или ином блюде или напитке.

Следуя используемой методике Early Function Points и базовым таблицам ранга и оценки сложности методики Function Points, составим таблицу информационных характеристик для дальнейшего расчета (табл. 2).

 

 

Таблица 2. Исходные данные для расчета

Наименование

Число элементов данных

Ранг

Внешние вводы

Экран с формой авторизации

2

3

Экран с вводом информации для регистрации

6

3

Экран с вводом информации о блюде или напитке

4

3

Наименование

Число элементов данных

Ранг

Экран с вводом информации о персонале

4

3

Главный экран

7

3

Внешние выводы

Профиль пользователя

5

4

Внешние запросы

Запрос блюда или напитка

1

3

Запрос корректности авторизации

2

3

Запрос меню

2

3

Запрос состава персонала

4

3

Запрос заказа

3

3

Внутренние логические файлы

Данные о пользователе

5

7

Данные о персонале

4

7

Внешние интерфейсные файлы

База данных меню

4

5

Итого

53

 

 

Используя данные из таблиц 2 и 3, вычислим количество функциональных указателей по формуле (1):

 

,       (1)

 

где Fiкоэффициенты регулировки сложности, принимающие целые значения от 0 до 5 в зависимости от сложности реализации соответствующей характеристики проекта (табл. 3).

 

 

Таблица 3. Значение системных параметров

Системный параметр

Значение (Fi)

1

Передача данных

3

2

Распределенная обработка данных

5

3

Производительность обработки

3

4

Эксплуатационные ограничения

3

5

Частота транзакций

4

6

Оперативный ввод данных

3

7

Эффективность работы

4

8

Оперативное обновление

3

9

Сложность обработки

2

10

Повторная используемость

4

Системный параметр

Значение (Fi)

11

Простота установки

2

12

Простота эксплуатации

2

13

Разнообразные условия

3

14

Простота изменений

3

 

 

Суммарное значение коэффициентов регулировки сложности Fi)  оказалось равным  44.

По формуле (1) рассчитаем количество функциональных указателей:

FP = 53 × (0,65 + 0,01 × 44) = 57,77.

Полученная FP-оценка пересчитывается в LOC-оценки V  по следующей формуле (2):

 

V = Kяз × FP,                               (2)

 

где Kяз  – зависит от языка программирования, используемого для реализации ПО.

В разработке данного программного проекта будет использоваться язык программирования C# с коэффициентом языка программирования (Kяз) равным 53, поэтому расчет будет следующим:

V = 53 × 57,77 = 3061,81 LOC.

По рассчитанному количеству строк кода (V) отнесем данную программу к типу распространенного программного обеспечения. Следуя из этого, возьмем коэффициенты N1 = 3,2; N2 = 1,05 и N3 = 0,38 по таблице 4.

 

 

Таблица 4. Коэффициенты N1, N2, N3

Тип ПО

N1

N2

N3

Распространенное

3,2

1,05

0,38

Полунезависимое

3,0

1,12

0,35

Встроенное

2,8

1,20

0,32

 

 

Номинальную трудоемкость (без учета коэффициентов затрат труда, стоимостных факторов и сложности) вычислим по формуле (3):

 

Т = N1 × KSLOCN2,                        (3)

 

где KSLOC (тыс. строк) = V / 1000, а значения N1 и N2 определяются по таблице 4.

Согласно полученным данным трудоемкость создания мобильного приложения составляет:

T = 3,2 × 3,061811,05­ = 10,36 чел. × мес.

Время разработки вычисляется по формуле (4):

 

tразр = 2,5 × ТN3.                            (4)

 

Используя формулу (4), получим срок создания мобильного приложения:

tразр. = 2,5 × TN3­ = 2,5 × 10,360,38­­ = 6,08 мес.

Следуя рекомендуемому правилу распределения затрат проекта – 40−20−40:

 на анализ и проектирование приходится 40% затрат (из них на планирование и системный анализ – 5%);

 на кодирование – 20%;

 на тестирование и отладку – 40%;

получим время в месяцах для разработки проекта (табл. 5).

 

 

Таблица 5. Распределение временных затрат

Этап

Доля затрат, мес.

Анализ и проектирование

2,432

Кодирование

1,216

Тестирование и отладка

2,432

Общие временные затраты

6,08

 

 

Исходя из полученных данных, мы можем утверждать, что для разработки мобильного приложения для кофейни нам потребуется около 11 человек разработчиков, 3062 строк кода и 6,08 месяца на создание данного программного проекта при перечисленных условиях. В процессе разработки полученные данные будут изменяться, но на начальном этапе проектирования мы, таким образом, уже можем оценить трудозатраты на данное программное обеспечение.

Таким образом, мы провели расчет по методу Early Function Points, в результате которого определили длительность разработки приложения, необходимое количество строк кода и требуемое количество разработчиков для данного проекта [13-14], несмотря на то, что в настоящих расчетах и выкладках по методу Early Function Points использовалась информация о функциях, не детализированная с той точностью, с которой это можно сделать на более поздних стадиях жизненного цикла программного проекта.

 

Библиографический список

1. Евдокимов И.В. Кадровое обеспечение внедрения SCADA-систем на предприятиях // Труды Братского государственного университета. Серия: Экономика и управление. 2005. Т. 1. С. 116-119.

2. Евдокимов И.В. Аспекты внедрения информационных технологий на предприятиях г. Братска // Труды Братского государственного университета, Серия: Экономика и управление. – 2006. Т. 1. – С. 144-148.

3. Евдокимов И.В., Коваленко М.А., Мелех Д.А. Управление разработкой и внедрением учётной информационной системы // Научное обозрение. Экономические науки. 2017.  4. С. 34-39.

4. Евдокимов И.В. Адаптация стандартов программных средств к проектам в области информационных технологий // Труды Братского государственного университета. Серия: Экономика и управление. – 2010. – Т. 2. – С. 97-101.

5. Евдокимов И.В., Байкалов И.С., Зуденков А.И., Радионов Т.В., Цирюльникова А.М. К вопросу о метриках трудоёмкости разработки мобильных приложений // Фундаментальные исследования. 2017. №9-1. С. 54-58.

6. Evdokimov I.V., Domantsevich V.S., Konyhov V.A. The use of online applications for project management for planning in IT-management // Современные информационные технологии. – 2017. – №25 (25). С. 44-47.

7. Вахрушева М.Ю., Евдокимов И.В. Разработка программного обеспечения аналитических информационных систем // Труды Братского государственного университета. Серия: Экономика и управление. – 2014. – Т. 1. №1. – С. 196-199.

8. Евдокимов И.В. Менеджмент качества и управление развитием системы обработки экспертной аналитики // Труды Братского государственного университета. Серия: Экономика и управление. – 2015. – Т. 1. №1. – С. 212-219.

9. Евдокимов И.В. Информационные технологии учета методического обеспечения образовательного процесса // Проблемы социально-экономического развития Сибири. – 2012. – №4 (10). С. 9-14.

10. Евдокимов И.В., Михалев А.С., Новиков О.С., Суханова А.В. Применение свободных лицензий для разработки программного обеспечения в России // Международный журнал прикладных и фундаментальных исследований. 2017. – №6-1. – С. 33-36.

11. Евдокимов И.В. Проблема и показатели качества программного обеспечения // Труды Братского государственного университета. Серия: Экономика и управление. – 2009. – Т. 1. – С. 121-124.

12. Евдокимов И.В., Баранов В.А., Колбина А.О., Данилова Г.В. Информационные технологии контроля качества образовательного процесса // Качество. Инновации. Образование. 2017. – №5 (144). – С. 31-39.

13. Пересунько П.В., Должанская С.А. Реализация и исследование результатов взвешенного прогноза // Современные информационные технологии. 2016. – №23 (23). – С. 52-55.

14. Вахрушева М.Ю. Сплайн-технологии в экономическом прогнозировании // Труды Братского государственного университета. Серия: Экономика и управление. 2016. №1. С. 130-134.

 

 

FEATURES OF APPLICATION OF A TECHNIQUE OF EARLY FUNCTION POINTS FOR DETERMINATION OF LABOR INPUT OF DEVELOPMENT OF A MOBILE APPLICATION

 

K.A. Petrosyan, student

A.D. Zobnina, student

Y.G. Safronova, student

Siberian federal university

(Russia, Krasnoyarsk)

 

Abstract. In this article questions of practical application of the Early Function Points method on the example of the IT project on creation of a mobile application are considered. The short description of the considered method is provided. Settlement terms of implementation of this project, the number of participants for his development and the volume of a necessary code are determined.

Keywords: economy of program engineering, Early Function Points method, labor cost, functional primitives.