Методика 2 – оценка технико-экономических показателей проектов программных продуктов с учетом совокупности факторов предварительной модели СОСОМО II
В СОСОМО II для оценки ТЭП представлены две модели – для этапов предварительного и детального проектирования (см. Boehm B.W. et al. Software cost estimation with COCOMO II. Prentice Hall PTR. New Jersey. 2000). Предварительная модель предназначена для анализа общих, архитектурных решений и выработки стратегий последующей разработки при начальных сведениях о содержании предварительного проекта. Детальная модель рекомендуется для применения при разработке наиболее сложных и дорогих систем, когда требуется тщательный учет ряда факторов, влияющих на оценку стоимости на уровне технического проекта ПС. В обеих моделях исходным и, определяющим достоверность прогнозов, является размер комплекса программ (с учетом повторно используемых компонентов) и совокупность набора влияющих факторов.
На этапе предварительного проектирования комплекса программ, после утверждения требований и концепции проекта, повышается достоверность данных о функциях, спецификациях, компонентах и структуре разрабатываемого ПС. Это позволяет, прежде всего, более точно оценить размер – масштаб ПС и возможность использования готовых программных компонентов из других аналогичных проектов. Если достоверность оценки размера ПС достигает 15 – 20%, то при определении ТЭП, целесообразно сбалансировано выделять и учитывать факторы, влияние которых на трудоемкость и стоимость достаточно велико, и составляет также около 20%. Таких факторов может быть около 5 – 10, и их число зависит от конкретных характеристик объекта и среды разработки ПС. При технико-экономическом обосновании проекта ПС на этом этапе, состав и номенклатура учитываемых факторов должны выбираться путем включения в анализ, тех факторов, которые достаточно влияют на ТЭП конкретного проекта.
Так как величина и достоверность определения размера проекта ПСключевой фактор последующего технико-экономического анализа, то целесообразно применять несколько доступных методов для его оценивания. Конкретизация функций, структуры ПС и состава компонентов проекта позволяет более достоверно определить размеры групп программ и, суммируя их, рассчитать размер всего комплекса программ. Кроме того, на этом этапе повышается возможность выбора и использования аналогов данного проекта, так как становятся более определенными задачи, функции и компоненты разрабатываемого ПС, для, которого желательно найти аналоги с известными апробированными характеристиками. Особенно сильно на ТЭП влияет использование готовых компонентов из предшествующих разработок. При анализе аналогов могут быть выделены компоненты, пригодные для повторного применения в новом проекте. Это позволяет оценить возможную долю использования готовых компонентов и тем самым определить эквивалентный размер комплекса программ, подлежащий непосредственной разработке.
Для трех классов комплексов программ в предварительной модели СОСОМО II), представлены
коэффициенты для расчета зависимости трудоемкости разработки про-
грамм С (человеко-месяцы) от их объемов – П (тысячи строк текста) (таблица 5.4). Для аппроксимации зависимости
трудоемкости от размера ПС, рекомендуется использовать степенную функциювида:
С = А × ПЕ
. (5.1)
При разработке ПС большого размера-
, должна возрастать сложность разработки по сравнению с ПС
малого объема, так как в больших программах существенно усложняются взаимосвязи компонентов по информации и управлению, а также становятся более трудоемкими процессы планирова-
ния и управления проектом в ходе разработки. Выдвинутая гипо-
теза, о возрастании трудоемкости разработки с ростом размера ПС
быстрее, чем по линейному закону, справедлива, если показатель
степени в уравнении регрессии Е > 1. -
В ряде работ определены коэффициенты А и Е в урав-
нениях степенной регрессии, показывающие характер зависимости
трудоемкости от размера ПС. В таблице 5.4. представлены значения коэффициентов регрессии для моделей СОСОМО для трех основных классов проектов программных средств. Выражение (5.1) с использованием этих коэффициентов и значений размера ПС – П в тысячах строк ассемблера рекомендуется для прогнозирования трудо-емкости полной разработки в человеко-месяцах.
Длительность разработки программных средств-
является важнейшим ТЭП-
, поскольку часто она определяет общие
сроки разработки систем, а значит, быстроту
реализации идей в различных областях автомати-
зации. При определении коэффициентов в таблице 5.5
за начало разработки ПС принят момент начала создания
технического задания, а за окончание – завершение -
испытаний программного продукта в целом
. Диапазону размеров современных ПС в три-четыре порядка
(до 10 млн. строк) соответствуют приблизительно такие же диа-
пазоны изменения трудоемкости и стоимости их разработок. Од-
нако, очевидна принципиальная нерентабельность разработки да-
же очень сложных ПС более 5 лет. С другой стороны, программы даже в несколько тысяч строк по полному технологическому
циклу с испытаниями как продукции - редко создаются за время, меньшее, чем полгода--
год. Таким образом, вариация длительностей разработок ПС -
меньше, чем вариация их трудоемкости, и не превышает деся-
тикратный диапазон. Длительности разработок – Т ограничены
сверху и снизу, и одним из основных факторов, определяющих эти
границы, является масштаб комплекса программ - П.
Чтобы сократить ошибки, связанные с неопределенностью из-
мерения размера программ, исследована зависимость длительно-
сти разработки от ее трудоемкости. Учитывалась толь-
ко трудоемкость непосред-ственной разработки программ С без
затрат на средства автоматизации разработки-
. Обработка тех же, что выше, наборов данных позволила полу-
чить коэффициенты уравнения регрессии представленные в таблице 5.5. Обобщенные данные длительности разработки– Т по классам комплексов программ аппроксимиро-
ваны уравнениями регрессии по методу наименьших
квадратов в зависимости от размера ПС и от трудоемкости их раз-
работки:
Т = G × С H . (5.2)
Установлено
, что длительность разработки ПС меньше подвергается
изменениям при автоматизации разработки или другими метода-
ми, чем трудоемкость или производительность труда. Необходи-
мость выполнения при разработке ПС определенной совокупности
этапов и операций в заданной технологической последовательнос-
ти остается более или менее постоянной при различных воздейст-
виях на процесс разработки. Исключением является применение повторно используемых компонентов (
ПИК), при котором значительно сокращаются этапы программи-
рования и автономной отладки модулей и групп программ, а так-
же в той или иной степени длительность других этапов..
Поэтому зависимость T , от доли ПИК оказывается нелинейной,
и заметное сокращение длительности разработки проявляется
только при создании базовой версии ПС практически полностью
из готовых компонентов.
Оценка требуемого среднего числа специалистов для конкретного проекта ПС предварительно может быть рассчитана путем деления оценки величины трудоемкости разработки (5.1) на длительность разработки (5.2). Однако рациональное число специалистов, участвующих в проекте ПС распределяется не равномерно по этапам работ (см. таблицу 5.1). Поэтому целесообразно определять число и квалификацию необходимых специалистов с учетом этапов разработки комплексов программ. Обобщенные значения предварительного расчета ТЭП целесообразно оформлять в виде таблицы 5.3, где оценки представляются также с учетом пессимистических и оптимистических результатов определения масштаба проекта комплекса программ.
Для учета влияния на трудоемкость различных факторов удобно пользоваться коэффициентами (рейтингами) изменения трудоемкости (КИТ) – М (i), учитывающими зависимость от i-го фактора на совокупные затрат труда. В них входят факторы процесса непосредственной разработки, факторы программной и аппаратурной оснащенности, а также квалификация специалистов (таблица 5.6). Затраты на разработку С и объем программ П могут быть связаны через показатель интегральной средней производительности труда разработчиков Р. Непосредственно затраты на разработку можно представить как частное от размера ПС и производительности труда Р = 1 /А, корректируемой произведением коэффициентов изменения трудоемкости (КИТ – М (i) ) :
ПЕ
C = ---× P М (i) = А × ПЕ × P М(i) . (5.3)