ЭПИ Lektsia_3_-_SOSOMO.pptx
- Количество слайдов: 17
Тема 2. Методы оценки Лекция 2. Конструктивная модель стоимости
Статистическая модель оценки трудоемкости Модель COCOMO (COnstructive COst MOdel) – конструктивная модель стоимости (1985, Барри Боэм (Barry Boehm), данные о 63 проектах аэрокосмической компании TRW, в которой Барри Боэм был директором отдела исследований программного обеспечения и технологий) Модель COCOMO II (1997, Центр по разработке ПО Южно -Калифорнийского университета, данные о 161 проекте) В модели используется формула регрессии с параметрами, определяемыми на основе отраслевых данных и характеристик конкретного проекта 2
Иерархия модели COCOMO состоит из иерархии трех последовательно детализируемых и уточняемых форм Первый уровень, Базовый, подходит для быстрых ранних оценок стоимости разработки ПО (стадия ТТ или ТЗ) и обладает неточностью вследствие некоторых факторов, которые невозможно учесть на ранних стадиях разработки Средний (промежуточный) уровень COCOMO учитывает эти факторы Детальный уровень дополнительно учитывает влияние отдельных фаз проекта на его общую стоимость Базовый уровень рассчитывает трудоемкость и стоимость разработки как функцию от размера программы Размер выражается в оценочных тысячах строк кода (KLOC - kilo lines of code) 3
Допущения модели COCOMO Размер программной системы определяется в виде количества строк исходного кода в терминах "Lines of code-LOC" При оценке количества строк исходного кода следует учитывать следующие положения: строка исходного кода содержит только один оператор определение (описание) исходных данных учитывается один раз не учитываются строки, содержащие комментарии и отладочные операторы учитывается каждая инициализация, вызов, либо включение макроса в качестве исходного кода Начало цикла разработки совпадает с началом стадии реализации продукта Окончание цикла разработки совпадает с окончанием приемочного тестирования Виды деятельности включают в себя только работы, непосредственно направленные на выполнение проекта Человеко-месяц состоит из 152 часов Проект управляется надлежащим образом Требования стабильны 4
Показатель LOC для языков и систем программирования В качестве базового показателя количества строк исходного кода следует использовать число операторов языка ассемблер Преобразование размеров программы по этому измерителю в размеры программы кода, написанного на других языках программирования и наоборот, представлены ниже № Язык программирования Ассемблер LOC Показатель LOC на Функциональную точку 1 Basic Assembler 1 320 2 Macro Assembler 1, 5 213 3 C++ 6 53 4 Java 6 53 5 Oracle, Sybase 8 40 6 Oracle Developer/2000 14 23 7 Cobra 16 20 8 HTML 3, 0 22 15 9 SQL (ANSI) 25 13 5
Классы проектов разработки ПО COCOMO применим к трем классам проектов разработки ПО: Органический (Organic mode) – маленькие команды с хорошим опытом работы и не жесткими требованиями к разработке Полуразделенный вид (Intermediate/Semi-detached mode) – средние по размеру команды со смешанным опытом разработки и со смешанными требованиями (как жесткими, так и нет) Встроенный вид (Intered/Embedded mode) – разрабатываются с учетом множества жестких ограничений (по аппаратному, программному, операционному обеспечению и т. д. ) распространенный тип — небольшие программные проекты, над которыми работает небольшая группа разработчиков с хорошим стажем работы, устанавливаются мягкие требования к проекту; q полунезависимый тип — средний по размеру проект, выполняется группой разработчиков с разным опытом, устанавливаются как мягкие, так и жесткие требования к проекту; q встроенный тип — программный проект разрабатывается в условиях жестких аппаратных, программных и вычислительных ограничений. 6
Базовые уравнения COCOMO Трудоемкость (Т) в человеко-месяцах: где R – размер ПП в KLOC Срок разработки или длительность (D) в месяцах: Число разработчиков K (человек): K= Т/ D Коэффициенты ab, bb, cb и db приведены в следующей таблице Тип проекта bb cb db Органический 2, 4 1, 05 2, 5 0, 38 Полуразделенный 3, 0 1, 12 2, 5 0, 35 Встроенный 7 ab 3, 6 1, 2 2, 5 0, 32
Выводы по базовому уровню COCOMO По применимости Базовый уровень COCOMO хорош для быстрой оценки стоимости разработки Недостатки: не принимает во внимание различия в не учитывает использование 8 аппаратных ограничениях качестве и опыте персонала современных техник и средств разработки и других факторов
Средний уровень (COCOMO Model 2: Intermediate) Средний уровень рассчитывает трудоемкость разработки как функцию от размера программы и множества "факторов стоимости", включающих субъективные оценки характеристик продукта, проекта, персонала и аппаратного обеспечения Это расширение включает в себя множество из четырёх факторов, каждый из которых имеет несколько дочерних характеристик 9
Факторы стоимости (1) Характеристики продукта Характеристики аппаратного обеспечения Требуемая надежность ПО Размер БД приложения Сложность продукта Ограничения быстродействия при выполнении программы Ограничения памяти Неустойчивость окружения виртуальной машины Требуемое время восстановления Характеристики персонала 10 Аналитические способности Способности к разработке ПО Опыт разработки Опыт использования виртуальных машин Опыт разработки на языках программирования
Факторы стоимости (2) Характеристики проекта Использование инструментария разработки ПО Применение методов разработки ПО Требования соблюдения графика разработки Каждому из этих 15 факторов ставится в соответствие рейтинг по шести бальной шкале, начиная от "очень низкий" и до "экстра высокого" (по значению или важности фактора) Далее значения рейтинга заменяются множителями трудоемкости из нижеприведенной таблицы Произведение всех множителей трудоемкости составляет Регулирующий фактор трудоемкости (РФТ) Обычно РФТ принимает значения в диапазоне от 0. 9 до 1. 4 11
Коэффициенты рейтинга Рейтинг N Факторы стоимости Очень низкий Низкий Средний Высокий Очень высокий Критический Характеристики продукта 1 Требуемая надежность ПО 2 Размер БД приложения 3 Сложность продукта 0, 75 1, 00 1, 15 1, 40 0, 94 0, 7 0, 88 1, 00 1, 08 1, 16 0, 85 1, 00 1, 15 1, 30 1, 65 Характеристики аппаратного обеспечения 4 Ограничения быстродействия при выполнении программы 1, 00 1, 11 1, 30 1, 66 5 Ограничения памяти 1, 00 1, 06 1, 21 1, 56 6 Неустойчивость окружения виртуальной машины 0, 87 1, 00 1, 15 1, 30 7 Требуемое время восстановления 0, 87 1, 00 1, 07 1, 15 Характеристики персонала 8 Аналитические способности 1, 46 1, 19 1, 00 0, 86 0, 71 9 Опыт разработки 1, 29 1, 13 1, 00 0, 91 0, 82 10 Способности к разработке ПО 1, 42 1, 17 1, 00 0, 86 0, 70 11 Опыт использования виртуальных машин 1, 21 1, 10 1, 00 0, 90 12 Опыт разработки на языках программирования 1, 14 1, 07 1, 00 0, 95 Характеристики проекта 13 Применение методов разработки ПО 1, 24 1, 10 1, 00 0, 91 0, 82 14 Использование инструментария разработки ПО 1, 24 1, 10 1, 00 0, 91 0, 83 Требования соблюдения графика разработки 1, 23 1, 10 1, 04 1, 10 15 12
Формула модели СОСОМО для среднего уровня Формула имеет вид: где E – трудоемкость разработки ПО в человеко-месяцах R – оценочный размер программы в тысячах строках исходного кода, KLo. C F или РФТ – регулирующий фактор, рассчитанный ранее Коэффициенты ai и показатель степени bi представлены в таблице Расчет времени разработки для среднего уровня COCOMO совпадает с расчетом для Базового уровня Тип проекта bi Органический 3. 2 1, 05 Полуразделенный 3, 0 1, 12 Встроенный 13 ai 2. 8 1, 20
Критерии для применения метода COCOMO Рекомендуется применение для средних и крупных проектов Для небольших проектов, затраты на проведение оценки в соответствии со средним и детальным уровнями метода COCOMO слишком высоки. Однако результаты оценки, полученные от применения одного лишь базового уровня метода COCOMO, недостаточно точны. Рекомендуется применение для разработки технического ПО Для программных проектов, занятых разработкой коммерческих приложений, метод COCOMO обычно приводит к завышенным значениям оценки затрат. Поэтому метод COCOMO применяется только к разработке технического программного обеспечения Это обстоятельство связано с тем, что 14 отношение DSI к человеко-месяцам, реализованное в оценочном уравнении метода COCOMO, соответствует производительности при разработке технического программного обеспечения В отношении коммерческой разработки программного обеспечения полагаются более высокие значения показателя DSI/человеко-месяц
Сильные и слабые стороны метода и возможные меры ликвидации (1) Макро-и микро оценка Сильные стороны Наличие уровней модели COCOMO позволяет реализовать как макро оценку с помощью базового уровня COCOMO и микро оценку с помощью промежуточного и/или детального уровней COCOMO Микро оценка позволяет эффективно распределить между функциональными подразделениями виды работ, а внутри подразделения между участниками проекта Слабые стороны 15 метод COCOMO отличен от V-модели, поэтому, для контроля индивидуальных усилий участников проекта в рамках работ по подмодели, (суб-) работы, и т. п. , необходимо, чтобы настроить эти элементы метода COCOMO к концепции Vмодель
Сильные и слабые стороны метода и возможные меры ликвидации (2) Влияние факторов / Объективность Сильные стороны В оценке усилий, COCOMO учитывает характеристики проекта, продукта, и персонала, а также технологии В целях обеспечения объективной оценки этих факторов влияния, COCOMO предлагает точные определения Слабые стороны Количественная оценка влияния факторов представляет определенную проблему, которая имеет сильное влияние на качество метода оценки и необходимой информации Область применения Сильные стороны Дифференцируя уравнения оценки в соответствии с проектом размеров и типов систем, область применения метода для COCOMO является достаточно широкой Слабые стороны COCOMO не поддерживает проекты развития Инструмент поддержки Слабые стороны 16 Необходима компьютерная поддержка для промежуточного и детального уровней модели COCOMO, основанная на дифференциации влияния факторов на этапы и субпродукты
Источники http: //2 programmer. ru/tehnolog 1? start=15 17


