Рубрики

Разработка программного обеспечения | Модель КОКОМО

Cocomo (Constructive Cost Model) — это регрессионная модель, основанная на LOC, т.е. количестве строк кода . Это процедурная модель оценки затрат для программных проектов, которая часто используется как процесс надежного прогнозирования различных параметров, связанных с выполнением проекта, таких как размер, трудозатраты, стоимость, время и качество. Он был предложен Барри Бемом в 1970 году и основан на изучении 63 проектов, что делает его одной из наиболее документированных моделей.

Ключевыми параметрами, которые определяют качество любых программных продуктов, которые также являются результатом Cocomo, являются прежде всего Effort & Schedule:

  • Усилие: количество труда, которое потребуется для выполнения задачи. Измеряется в единицах человеко-месяцев.
  • График: просто означает количество времени, необходимое для завершения работы, которое, конечно, пропорционально приложенным усилиям. Он измеряется в единицах времени, таких как недели, месяцы.

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

Определение Бёма органических, полуразделенных и встроенных систем:

  1. Органический — Программный проект считается органическим, если требуемый размер команды достаточно мал, проблема хорошо понята и была решена в прошлом, а также у членов команды есть номинальный опыт решения проблемы.
  2. Полуотдельный — программный проект считается полуотдельным, если такие жизненно важные характеристики, как размер команды, опыт, знание различных сред программирования находятся между органическими и встроенными. Проекты, классифицированные как полуотдельные, сравнительно менее знакомы и сложны в разработке по сравнению с органическими и требуют большего опыта, лучшего руководства и творческого подхода. Например: компиляторы или разные встроенные системы могут рассматриваться как полуотдельные.
  3. Внедренный — Программный проект, требующий высочайшего уровня сложности, креативности и опыта, подпадает под эту категорию. Такое программное обеспечение требует большего размера команды, чем две другие модели, а также разработчики должны быть достаточно опытными и креативными для разработки таких сложных моделей.
  4. Все вышеперечисленные типы систем используют разные значения констант, используемых в расчетах усилий.

    Типы моделей: COCOMO состоит из иерархии трех все более подробных и точных форм. Любая из трех форм может быть принята в соответствии с нашими требованиями. Это типы модели COCOMO:

    1. Базовая модель COCOMO
    2. Промежуточная модель COCOMO
    3. Подробная модель COCOMO

    Первый уровень, Basic COCOMO, может использоваться для быстрых и немного грубых расчетов стоимости программного обеспечения. Его точность несколько ограничена из-за отсутствия достаточных факторов.

    Промежуточный COCOMO учитывает эти факторы затрат, и Подробный COCOMO дополнительно учитывает влияние отдельных этапов проекта, т.е. в случае Подробного он учитывает оба этих фактора затрат, а также вычисления выполняются поэтапно, что дает более точный результат. Эти две модели более подробно обсуждаются ниже.

    Оценка усилий: расчеты —

    1. Базовая модель —

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

      Software Projectsab
      Organic2.41.05
      Semi Detached3.01.12
      Embedded3.61.20

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

    2. Промежуточная модель —

      Базовая модель Cocomo предполагает, что усилие зависит только от количества строк кода, а некоторые константы оцениваются в соответствии с другой системой программного обеспечения. Однако в действительности никакие усилия и график работы системы не могут быть рассчитаны исключительно на основе строк кода. Для этого, различные другие факторы, такие как надежность, опыт, возможности. Эти факторы известны как факторы, влияющие на стоимость, а промежуточная модель использует 15 таких факторов для оценки стоимости.

      Классификация драйверов затрат и их атрибутов:

      (i) Атрибуты продукта —

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

      (ii) Аппаратные атрибуты —

      • Ограничения производительности во время выполнения
      • Ограничения памяти
      • Волатильность среды виртуальной машины
      • Требуемое время разворота

      (iii) Кадровые атрибуты —

      • Возможность аналитика
      • Возможность разработки программного обеспечения
      • Опыт применения
      • Опыт виртуальной машины
      • Языковой опыт программирования

      (iv) Атрибуты проекта —

      • Использование программных средств
      • Применение методов программной инженерии
      • Требуемый график разработки

      ;

      Cost DriversVery LowLowNominalHighVery High
      Product Attributes
      Required Software Reliability0.750.881.001.151.40
      Size of Application Database0.941.001.081.16
      Complexity of The Product0.700.851.001.151.30
      Hardware Attributes
      Runtime Performance Constraints1.001.111.30
      Memory Constraints1.001.061.21
      Volatility of the virtual machine environment0.871.001.151.30
      Required turnabout time0.941.001.071.15
      Personnel attributes
      Analyst capability1.461.191.000.860.71
      Applications experience1.291.131.000.910.82
      Software engineer capability1.421.171.000.860.70
      Virtual machine experience1.211.101.000.90
      Programming language experience1.141.071.000.95
      Project Attributes
      Application of software engineering methods1.241.101.000.910.82
      Use of software tools1.241.101.000.910.83
      Required development schedule1.231.081.001.041.10

      Руководитель проекта должен оценить эти 15 различных параметров для конкретного проекта по шкале от одного до трех. Затем, в зависимости от этих рейтингов, из приведенной выше таблицы берутся соответствующие значения драйвера стоимости. Эти 15 значений затем умножаются для расчета EAF (Коэффициент регулировки усилия). Промежуточная формула COCOMO теперь принимает вид:

      Значения a и b в случае промежуточной модели следующие:

      Software Projectsab
      Organic3.21.05
      Semi Detached3.01.12
      Embeddedc2.81.20

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

      Шесть этапов подробного COCOMO:

      1. Планирование и требования
      2. Системный дизайн
      3. Детальный дизайн
      4. Код модуля и тест
      5. Интеграция и тестирование
      6. Стоимость Конструктивная модель

      Усилие рассчитывается в зависимости от размера программы, и набор драйверов затрат дается в соответствии с каждой фазой жизненного цикла программного обеспечения.

    Также читайте: Классическая модель водопада, Модель итеративного водопада, Модель прототипирования , Спиральная модель

    Рекомендуемые посты:

    Разработка программного обеспечения | Модель КОКОМО

    0.00 (0%) 0 votes