Сетевое издание
Международный студенческий научный вестник
ISSN 2409-529X

BORDERS OF APPLICABILITY OF ECONOMIC-PARAMETRIC MODELING OF DE-MARKO FOR DETERMINING THE WORKING POTENTIAL OF THE PROGRAM PROJECT

Ivanov A.D. 1 Schepin E.G. 1
1 Institute of Space and Information Technologies - Siberian Federal University
This study is devoted to such an urgent issue as finding the complexity of the project. The complexity of a software project is one of the most important estimates in the implementation of the final product. In this article, we examined the complexity of the software and the methods for solving them. There are several main factors,affecting the complexity of the software project (duration or size of the project, technological maturity, risks and team coherence). All these factors were analyzed. Also in this article, we examined classical methods for solving problems associated with calculating the laboriousness of software products.The minuses of classical approaches were analyzed, and in this connection a particular method of finding the labor intensity of the project was considered. In this study, the method of functional points (FT) was considered in more detail. Function points is a method that allows you to calculate the size of a project from the point of view of the user of the system. In the course of the study,A thorough analysis of the DeMarco method, which is a private FT method, was conducted to determine the complexity of the project. With the help of it, the applicability limits were found and DeMarco's economic-parametric modeling was analyzed to determine the complexity of the software project,in which cases this method should be used.
labor intensity
applicability boundary
it problems
functional points
complexity estimation
labor cost estimation
demarco method
demarco
bang-metric
explosion mark

1 Трудоемкость программных продуктов

С ростом проблем в IT сфере увеличивается и требования к ним. Управление программными проектами продолжает развиваться для удовлетворения потребностей 21-го века [1]. В этой динамично-развивающейся среде сложные характеристики программ и проектов можно рассматривать как трудоемкость.

Трудоемкость – это показатель индивидуальной производительности труда, характеризующий затраты рабочего времени на производство единицы продукции [2].

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

T = В/П,

где T - трудоемкость проекта, В - время, затраченное на производство некоторого количества продукции, П - количество выпущенной продукции. Это формула в первую очередь используется для анализа использования рабочей силы и для составление бизнес-плана в последующий отчетный период.

Исследование различных методов оценки программного продукта представляет большое научное и практическое значение для решения проблем связанных с нахождением трудоемкости программных проектов. Данное исследование необходимо при решении таких задач как:

  • Размер и продолжительность проекта.
  • Технологическая зрелость.
  • Риски.
  • Слаженность команды.

Поэтому необходимость в изучении таких методов является актуальной проблемой.

2 Метод функциональных точек

Первостепенное значение для решения поставленных задач, имеют исследования, непосредственно направленные на оценку и расчет сложности проекта[3]. Существует множество, различных методов и подходов в расчете трудоемкости проекта. По классическому методу трудозатраты на разработку программного проекта рассчитывались по формуле:

C = S * T ,

где S - объем программы, исчисляемый в не пустых строках, T - время, потраченное на разработку самого проекта[4]. Минусы такого метода, заключаются в отсутствии мотивации у программистов писать более компактный и эффективный код, а также, с точки зрения заказчика, переплата за строки кода является непродуктивным занятием.

Метод функциональных точек - это метод, позволяющий рассчитать размер проекта с точки зрения пользователя системы[5]. В отличие от устаревшего линейного подхода, где размер программного проекта измерялся количеством непустых строк кода, метод функциональных точек (function points) позволяет оценить проект на основе логической модели объема программного продукта количеством функционала. Реализация этого метода состоит из следующих пунктов:

1) формируется типа оценки,

2) выявляется область оценки,

3) вычисление количества функциональных точек, связанных с данными,

4) вычисление количества функциональных точек, связанных с транзакциями,

5) подсчет количества не выровненных функциональных точек,

6) нахождение фактора выравнивания,

7) вычисления объема выровненных функциональных точек.

Рисунок 1 - Алгоритм применение метода функциональных точек

3 Метод ДеМарко и границы применимости

В настоящее время существует множество видоизмененных методов функциональных точек[6]. Далее будет рассмотрен только метод ДеМарко и будут найдены границы его применимости для определения трудоемкости программного проекта. Метод Демарко схож с методом функциональных точек, но его главное отличие в том, что полученные оценки регулируются с учетом сведений по реализованным ранее проектам[7]. Такой способ позволяет нам получить не только проецированные значения, но и абсолютно точные показатели, действительных затрат ресурсов и времени. Данный метод основан на использовании, так называемой, “bang-метрики”. Разработанная ДеМарком, “метка взрыва” - это «независимая от реализации индикация размера системы»[8]. Чтобы вычислить метку взрыва, инженеру-программисту необходимо для начала оценить набор примитивов-элементов модели анализа, которые далее не подразделяются на уровень анализа. “Bang-метрика” может использоваться для разработки указателя размера программного обеспечения, которое должно быть реализовано в результате модели анализа[9].

Результаты проведенного нами анализа позволяют сделать некоторые выводы, представляющие интерес для нашего исследования. Были найдены границы применимости метода ДеМарко для определения трудоемкости программного проекта проявляются в следующем. Если у команды разработчиков есть много реализованных проектов и команда знает способности друг друга, т.е. они работали вместе на достаточно продолжительном отрезке времени, тогда метод оценки программного проекта , как никак кстати. Метод ДеМарко особенно хорошо показывает свою функциональность в достаточно крупных компаниях, где “текучка” кадров практически не наблюдается. К примеру, как показывает практика, 80% проектов завершают не в срок. На рисунке 2 представлен график зависимости фактического срока выполнения проекта и целевого. Диагональная линия демонстрирует стандартное определение “оценки” по ДеМарко - самая ранняя дата, к которой проект может быть завершен.

Рисунок 2 - Результаты оценок для одной организации

Таким образом был проведен анализ трудоемкости программных проектов в 21 веке, а также были найдены и описаны важнейшие факторы, влияющие на сложность программного проекта. Было принято решение рассмотреть такой метод оценки проектов, как функциональные точки(ФТ). Существует множество различных методов оценки трудозатрат на создание проекта основанных на методе функциональных точках. В данной статье был рассмотрен частный метод ФТ ДеМарко. В результате изучения данного метода были найдены границы применимости метода для определения трудоемкости программного продукта. Анализ полученных границ позволил заключить, что метод ДеМарко является хорошим решением в крупных IT-компаниях, которые имеют свой давно сформированный коллектив.