ОСОБЕННОСТИ ПРИМЕНЕНИЯ МЕТОДИКИ EARLY FUNCTION POINTS ДЛЯ ОПРЕДЕЛЕНИЯ ТРУДОЁМКОСТИ РАЗРАБОТКИ МОБИЛЬНОГО
ПРИЛОЖЕНИЯ
К.А. Петросян, студент А.Д. Зобнина, студент Я.Г. Сафронова, студент Сибирский федеральный университет (Россия, г. Красноярск)
Аннотация. В данной статье рассмотрены вопросы практического применения метода Early Function Points на примере IT-проекта по созданию мобильного приложения. Приведено краткое описание рассматриваемого метода. Определены расчетные сроки выполнения данного проекта, количество участников для его разработки и объем необходимого кода.
Ключевые слова: экономика программной инженерии, метод Early Function Points, трудозатраты, функциональные примитивы.
Введение
Метод Early Function Points (метод раннего прогнозирования размера будущей программы) был предложен Роберто Мели в 1997 году (Италия) как показано в работах [1-4].
Данный метод примечателен тем, что оценить трудоемкость разработки проекта является возможным на разных уровнях знаний: от поверхностного представления работы программы до глубоко детализируемой работы системы. От уровня знаний зависит точность рассчитанных значений. При подходе с детализируемой информацией о системе расчет будет являться более точным и менее изменяемым на дальнейших этапах работы над проектом [5]. В данном примере расчета трудозатрат IT-проекта используются функции, представляемые на уровне восприятия будущего проекта, поэтому приведенные расчеты являются ориентировочными, и по ходу разработки проекта будут периодически изменяться.
Метод Early Function Points предполагает оценивание таких объектов, как логические элементы данных, макрофункции, функции, микрофункции и функциональные примитивы [6-7].
Функциональные примитивы - элементарные процессы, не поддающиеся дальнейшей детализации (процессы ввода, вывода и запроса) [8-9].
Микрофункции - функциональные примитивы (создание, удаление, обновление и выборка), функции управления данных.
Функции - функциональные примитивы, связанные с операционными потребностями пользователей.
Макрофункции - функции, связанные с системой потребителя, с целым приложением или его частью.
Логические элементы данных - группа связных элементов данных, классифицируемых по пяти уровням сложности: «низкий», «средний», «высокий», «сложный», «сверхсложный» [10-12].
На высоком уровне владения знанием о будущем приложении используются все перечисленные объекты. Но на примере мобильного приложения для кофеен будем использовать ГЬР, ЕШ, Е1, ЕО, EQ. Мы будем придерживаться данного алгоритма работы:
- как можно подробней изучим предметную область, выделим нужные функции и задачи, детализируем их;
- определим каждую функцию к соответствующему ее типу (ГЬР, ЕШ, Е1, ЕО,
ЕО);
- оценим сложность каждой функции (низкая, средняя, высокая);
- вычислим общее количество нескорректированных точек функций;
- проведем расчет трудозатрат для данного проекта.
Исходные данные
Определим, какими функциями будет обладать наше мобильное приложение для кофейни для автоматизации заказов:
- авторизация в системе пользователей и персонала;
- добавление/удаление/изменение пользователей (клиентов, персонала);
- добавление/удаление/изменение блюд и напитков в меню;
Таблица 1. Структура и состав баз данных
Расчет трудозатрат на разработку программного продукта для кофейни
Приложение будет состоять из следующих окон:
- вход в приложение;
- регистрация в приложении;
- личный кабинет;
- главное окно программы;
- история покупок и оплаты;
- просмотр информации о тех или иных блюдах или напитках.
В задачи проекта будут входить:
- хранение меню и взаимодействие с его составляющими;
- хранение информации о клиентах и персонале.
Все необходимые для работы приложения данные хранятся в базе данных. База данных программы включает в себя следующие таблицы (табл. 1).
- меню;
- информация о том или ином блюде или напитке.
Следуя используемой методике Early Function Points и базовым таблицам ранга и оценки сложности методики Function Points, составим таблицу информационных характеристик для дальнейшего расчета (табл. 2).
Таблица 2. Исходные данные для расчета
Наименование Число элементов данных Ранг
Внешние вводы
Экран с формой авторизации 2 З
Экран с вводом информации для регистрации б З
Экран с вводом информации о блюде или напитке 4 З
Экран с вводом информации о персонале 4 З
Главный экран l З
Внешние выводы
Профиль пользователя 5 4
Запрос блюда или напитка i З
Запрос корректности авторизации 2 З
Запрос меню 2 З
Запрос состава персонала 4 З
Запрос заказа З З
Внутренние логические файлы
Данные о пользователе 5 l
Данные о персонале 4 l
База данных меню 4 5
Итого 5З
Название БД Количество полей
Клиент 5
Персонал 4
Элемент меню 4
Используя данные из таблиц 2 и 3, вычислим количество функциональных указателей по формуле (1):
РР = Общее количество рангов х ( 0, 6 5 + 0, 0 IX £ И^¿) , (1)
Таблица 3. Значение системных параметров
Суммарное значение коэффициентов регулировки сложности (Е Р^ оказалось равным 44.
По формуле (1) рассчитаем количество функциональных указателей:
БР = 53 х (0,65 + 0,01 х 44) = 57,77.
Полученная БР-оценка пересчитывается в ЬОС-оценки V по следующей формуле (2):
V = Кяз х БР, (2)
где Кяз - зависит от языка программирования, используемого для реализации ПО.
Таблица 4. Коэффициенты N1, N2, N3
Номинальную трудоемкость (без учета коэффициентов затрат труда, стоимостных факторов и сложности) вычислим по формуле (3):
Т = N1 х KSLOCN2, (3)
где Б1 - коэффициенты регулировки сложности, принимающие целые значения от 0 до 5 в зависимости от сложности реализации соответствующей характеристики проекта (табл. 3).
В разработке данного программного проекта будет использоваться язык программирования С# с коэффициентом языка программирования (Кяз) равным 53, поэтому расчет будет следующим: V = 53 х 57,77 = 3061,81 ЬОС. По рассчитанному количеству строк кода (V) отнесем данную программу к типу распространенного программного обеспечения. Следуя из этого, возьмем коэффициенты N1 = 3,2; N2 = 1,05 и N3 = 0,38 по таблице 4.
где KSLOC (тыс. строк) = V / 1000, а значения N1 и N2 определяются по таблице 4.
Согласно полученным данным трудоемкость создания мобильного приложения составляет:
Т = 3,2 х 3,061811,05 = 10,36 чел. х мес.
№ Системный параметр Значение (Fi)
1 Передача данных 3
2 Распределенная обработка данных 5
3 Производительность обработки 3
4 Эксплуатационные ограничения 3
5 Частота транзакций 4
б Оперативный ввод данных 3
7 Эффективность работы 4
S Оперативное обновление 3
9 Сложность обработки 2
10 Повторная используемость 4
11 Простота установки 2
12 Простота эксплуатации 2
13 Разнообразные условия 3
14 Простота изменений 3
Тип ПО N1 N2 N3
Распространенное 3,2 1,05 0,38
Полунезависимое 3,0 1,12 0,35
Встроенное 2,8 1,20 0,32
Время разработки вычисляется по формуле (4):
1разр = 2,5 х тш. (4)
Используя формулу (4), получим срок создания мобильного приложения:
1разр. = 2,5 х т№ = 2,5 х 10,3 60,38 = 6,08 мес.
Следуя рекомендуемому правилу распределения затрат проекта - 40-20-40:
- на анализ и проектирование приходится 40% затрат (из них на планирование и системный анализ - 5%);
- на кодирование - 20%;
- на тестирование и отладку - 40%;
получим время в месяцах для разработки проекта (табл. 5).
Таблица 5. Распределение временных затрат
Этап Доля затрат, мес.
Анализ и проектирование 2,432
Кодирование
Тестирование и отладка 2,432
Общие временные затраты б,08
Исходя из полученных данных, мы мо- Таким образом, мы провели расчет по
жем утверждать, что для разработки мо- методу Early Function Points, в результате бильного приложения для кофейни нам которого определили длительность разра-потребуется около 11 человек разработчи- ботки приложения, необходимое количе-ков, 3062 строк кода и 6,08 месяца на соз- ство строк кода и требуемое количество дание данного программного проекта при разработчиков для данного проекта [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.