Главная страница
Навигация по странице:

  • Фактор масштаба SFj Оценка уровня фактора

  • Множители трудоемкости

  • Оценка многокомпонентного продукта

  • Тема 2.5 Модель оценки стоимости разработки ПО COCOMO II. Тема 5 Модель оценки стоимости разработки по cocomo II


    Скачать 82.89 Kb.
    НазваниеТема 5 Модель оценки стоимости разработки по cocomo II
    Дата25.06.2019
    Размер82.89 Kb.
    Формат файлаdocx
    Имя файлаТема 2.5 Модель оценки стоимости разработки ПО COCOMO II.docx
    ТипДокументы
    #83006

    Тема 2.5 Модель оценки стоимости разработки ПО COCOMO II

    Методика COCOMO позволяет оценить трудоемкость и время разработки программного продукта. Впервые была опубликована Бари Боэмом в 1981 году в виде результат анализа 63 проектов компании «TRW Aerospace». В 1997 методика была усовершенствована и получила название COCOMO II. Калибровка параметров производилась по 161 проекту разработки. В модели используется формула регрессии с параметрами, определяемыми на основе отраслевых данных и характеристик конкретного проекта.

    Различаются две стадии оценки проекта: предварительная оценка на начальной фазе и детальная оценка после проработки архитектуры.

    Формула оценки трудоемкости проекта в чел.*мес. имеет вид:



    где:

    SIZE - размер продукта в KSLOC(объем программного продукта в тысячах строк исходного текста)

    EMi - множители трудоемкости

    SFj - факторы масштаба

    n=7 - для предварительной оценки для

    n=17 детальной оценки

    Главной особенностью методики является то, что для того, чтобы оценить трудоемкость, необходимо знать размер программного продукта в тысячах строках исходного кода (KSLOC, Kilo Source Lines Of Code). (Для подсчета строк используется Noteрad++ -устанавливается из дистрибутива).

    В методике используются пять факторов масштаба SFj, которые определяются следующими характеристиками проекта:

    PREC – прецедентность, наличие опыт аналогичных разработок (Очень низкий – опыт в продукте и платформе отсутствует; Критический – продукт и платформа полностью знакомы)

    FLEX – гибкость процесса разработки (Очень низкий – процесс строго детерминирован; Критический – определены только общие цели).

    RESL – архитектура и разрешение рисков (Очень низкий – риски неизвестны/не проанализированы; Критический – риски разрешены на 100%)

    TEAM – сработанность команды (Очень низкий – формальные взаимодействия; Критический – полное доверие, взаимозаменяемость и взаимопомощь).

    PMAT – зрелость процессов, пятиуровневая модель зрелости возможностей компании-разработчика ПО (Очень низкий – CMM Level 1; Критический – CMM Level 5)

    Значение фактора масштаба, в зависимости от оценки его уровня, приведены в таблице

    Таблица - Значение фактора масштаба, в зависимости от оценки его уровня


    Фактор масштаба

    SFj

    Оценка уровня фактора

    Очень низкий

    Низкий

    Средний

    Высокий

    Очень высокий

    Критический

    PREC

    6.20

    4.96

    3.72

    2.48

    1.24

    0.00

    FLEX

    5.07

    4.05

    3.04

    2.03

    1.01

    0.00

    RESL

    7.07

    5.65

    4.24

    2.83

    1.41

    0.00

    TEAM

    5.48

    4.38

    3.29

    2.19

    1.10

    0.00

    PMAT

    7.80

    6.24

    4.68

    3.12

    1.56

    0.00

    Множители трудоемкости

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

    PERS – квалификация персонала (Супернизкий – аналитики и программисты имеют низшую квалификацию, текучесть больше 45%; Супер высокий - аналитики и программисты имеют высшую квалификацию, текучесть меньше 4%)

    RCPX – сложность и надежность продукта (Супернизкий – продукт простой, специальных требований по надежности нет, БД маленькая, документация не требуется; Супернизкий - продукт очень сложный, требования по надежности жесткие, БД сверхбольшая, документация требуется в полном объеме)

    RUSE – разработка для повторного использования (Низкий – не требуется; Супер высокий – требуется переиспользование в других продуктах)

    PDIF – сложность платформы разработки (Супернизкий – специальные ограничения по памяти и быстродействию отсутствуют, платформа стабильна; Супер высокий – жесткие ограничения по памяти и быстродействию, платформа нестабильна)

    PREX – опыт персонала (Супернизкий – новое приложение, инструменты и платформа; Супервысокий - приложение, инструменты и платформа хорошо известны)

    FCIL – оборудование (Супернизкий – инструменты простейшие, коммуникации затруднены; Extra High – интегрированные средства поддержки жизненного цикла, интерактивные мультимедиа коммуникации)

    SCED – сжатие расписания (требуемое выполнение графика работ)(Очень низкий – 75% от номинальной длительности; Очень высокий – 160% от номинальной длительности)

    Влияние множителей трудоемкости в зависимости от их уровня определяется их числовыми значениями, которые представлены в матрице, приведенной ниже,

    Таблица - Значения множителей трудоемкости, в зависимости от оценки их уровня

    Множитель трудоемкости,http://economyandbusiness.ru/wp-content/uploads/2016/12/58628d810e8ab_img.png

    Оценка уровня множителя трудоемкости

    Супернизкий

    Очень низкий

    Низкий

    Нормальный

    Высокий

    Оченьвысокий

    Супервысокий

    PERS

    2.12

    1.62

    1.26

    1.00

    0.83

    0.63

    0.5

    RCPX

    0.49

    0.60

    0.83

    1.00

    1.33

    1.91

    2.72

    RUSE

    n/a

    n/a

    0.95

    1.00

    1.07

    1.15

    1.24

    PDIF

    n/a

    n/a

    0.87

    1.00

    1.29

    1.81

    2.61

    PREX

    1.59

    1.33

    1.22

    1.00

    0.87

    0.74

    0.62

    FCIL

    1.43

    1.30

    1.10

    1.0

    0.87

    0.73

    0.62

    SCED

    n/a

    1.43

    1.14

    1.00

    1.00

    1.00

    n/a

    Примечание: n/a – соответствующий уровень не оценивается

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

    Оценка многокомпонентного продукта

    Для того чтобы адекватно спланировать проект и оценить его трудоемкость, необходимо выполнить предварительное проектирование программного продукта. В результате декомпозиции мы получаем некоторое количество компонентов (N), которые составляют программный продукт.

    Следует понимать, что суммарная трудоемкость проекта не равна простой сумме


    трудоемкостей разработки каждого из компонентов:

    Простая сумма не учитывает взаимосвязи компонентов и трудозатраты на их интеграцию.

    Методика COCOMO II определяет следующую последовательность вычисления трудоемкости проекта при многокомпонентной разработке.

    1. Суммарный размер продукта рассчитывается, как сумма размеров его компонентов




    1. Базовая трудоемкость проекта рассчитывается по формуле:




    1. Затем рассчитывается базовая трудоемкость каждого компонента:





    1. На следующем шаге рассчитывается оценка трудоемкости компонентов с учетом всех множителей трудоемкости, кроме множителя SCED.




    1. И, наконец, итоговая трудоемкость проекта определятся по формуле:



    Длительность проекта в методике COCOMO II рассчитывается по формуле:




    где

    C = 3,67; D = 0,28;

    PM NS- трудоемкость проекта без учета множителя SCED, определяющего сжатие расписания.

    Оценка трудоемкости должна быть вероятностным утверждением. Это означает, что для нее существует некоторое распределение вероятности, которое может быть очень широким, если неопределенность высокая, или достаточно узким, если неопределенность низкая.

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

    Если собственный опыт аналогичных проектов отсутствует, а коллеги-эксперты недоступны, то необходимо использовать формальные методики, основанные на обобщенном отраслевом опыте. Среди них наибольшее распространение получил метод COCOMO II, Constructive Cost Model.

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

    Итак, программа «Стимул», с помощью метода функциональных точек была оценена в 10 KSLOC. По формулам (1) и (2) имеем:
    B SFj

    E=0.91+0.01*(3.72+2.03+2.83+2.19+4.68)=1.0644
    PERS PREX RCPX RUSE PDIF FCIL CSED

    П EMi= 1.26*1.33*1.00*n/a*n/a*1.1*1=1.84338
    A SIZE^E П EMi

    PM=2.94**1.84338 = 62.85чел*мес
    Число 62.85 челhttp://economyandbusiness.ru/wp-content/uploads/2016/12/58628d810eb3f_img.pngмес говорит о том, что данный проект может быть выполнен за 62.85 месяце – одним человеком или, например, чуть больше чем за годгруппой из 5 человек (62.85/5 = 12.57).



    написать администратору сайта