Д. А. ЕВСТАХОВ

Научный руководитель – С. В. СИНИЦЫН, к. т.н., зав. каф. 22

Московский инженерно-физический институт (государственный университет)

МЕТОДИКИ ТЕХНИКО-ЭКОНОМИЧЕСКОГО

ОБОСНОВАНИЯ ПРОГРАММНЫХ СИСТЕМ

В работе рассматриваются методики и модели оценки стоимости программного обеспечения, целесообразности их применения в процессе разработки.

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

Для оценки стоимости проекта используют какие-либо количественные показатели, отражающие отдельные характеристики ПО, т. е. различные метрики. При оценивании размера разрабатываемой системы используют, как правило, количество строк кода (Source Line of Code (SLOC)) [1] и функциональные точки (Functional Point Analysis) [2].

Количество SLOC определяется по «физическим» показателям (LOC, SLOC, KLOC, KSLOC, DSLOC) – общему количество строк кода, включая пустые строки и комментарии; и по «логическим» (LSI, DSI, KDSI, где SI – Source Instructions) – общему число команд (зависит от языка программирования). SLOC рассчитывается как для кода, вошедшего в поставляемую систему, так и для всего кода, включая вспомогательный и промежуточный, который не вошел в окончательный продукт. К преимуществам данной метрики относят простоту, а к недостаткам – вычисляется только после окончания проекта, не учитывает качество кода, зависит от языка.

НЕ нашли? Не то? Что вы ищете?

Применение функциональных точек (ФТ) основано на анализе требований, поэтому оценка объема проекта может выполняться и на начальных этапах работы и в течение всего жизненно цикла проекта. Метод стал основой для многих подходов, таких как точки свойств, объектные и трехмерные ФТ [3]. Точки свойств предусматривают корректировку получаемой оценки с учетом алгоритмической сложности. Метод объектных точек использует терминологию объектно-ориентированной технологии. В основу метода трехмерных ФТ положена идея о том, что сложность задачи можно представить в трех измерениях – данные, функции и контроль. Также он выходит за рамки исключительно программных проектов, может применяться и в других сферах.

Для ТЭО проекта необходимо оценивать не только размер ПО, но и его стоимость. Методики оценки стоимости можно разделить на алгоритмические и неалгоритмические. К неалгоритмическим методикам относят Price-to-win, оценку по Паркинсону, экспертные оценки, оценки по аналогии и др. [4]. Суть неалгоритмических методов заключается в использовании определенных схем и принципов, а не математических формул.

Наиболее распространенными алгоритмическими методиками являются SLIM (Software Life-cycle Model) [3,4] и COCOMO (Constructive Cost Model) [3-5]. По модели SLIM затраты пропорциональны размеру кода в степени 9/7. Стоит отметить, что данная методика не приобрела широкой популярности, несмотря на возможность калибровки модели на основе хронологической информации.

Пожалуй, самая популярная методика COCOMO создана на основе анализа статистических данных различных типов. Она представляет собой три модели, ориентированные на использование в трех фазах жизненного цикла: Basic применяется на этапе разработки спецификаций требований, Intermediate – после определения требований к ПО, Advanced – после окончания проектирования. Но на сегодня эта модель считается устаревшей, а на смену ей пришла COCOMO II [5], которая также имеет несколько вариантов использования. Помимо этого модель допускает измерять размер кода не только строчками, но и различными ФТ, а также учитывает уровень зрелости процесса разработки в соответствии с CMM/CMMI.

В заключение следует отметить, что методик много, и у каждой есть свои плюсы и недостатки, какую из них использовать – решать нужно в каждом конкретном случае. И не должно быть сомнений, что ТЭО проектных решений – это крайняя необходимость, а не привилегия.

Список литературы

1.  Боэм проектирование программного обеспечения. Пер. с англ. / Под ред. . – М.: Изд-во Радио и связь, 1985. – 512 с.

2.  Garmus D., Herron D. Function Point Analysis: Measurement Practices for Successful Software Projects. – Addison-Wesle. – 2000. – 364 p.

3.  Разработка ПО: оценка результата. Компьютерное обозрение №34 (5

4.  Липаев -экономическое обоснование проектов сложных программных средств. М.: Изд-во СИНТЕГ, 2004 – 284 с.

5.  Boehm B. W. The COCOMO 2.0 Software Cost Estimation Model. – American Programmer. – 2000. – 586 p.