- •Лекция№11
- •Жизненный цикл программного обеспечения
- •Планирование жизненного цикла программного обеспечения
- •Управление качеством программного обеспечения
- •Модели оценки стоимости программного обеспечения
- •Алгоритмические модели
- •Линейные модели
- •Мультипликативные модели
- •Экспертные оценки
- •Метод Делфи
- •Аналитические модели
- •Конструктивная модель оценки стоимости программного обеспечения
- •Введение в сocomo
- •Промежуточная cocomo81
- •Детальная cocomo81
Конструктивная модель оценки стоимости программного обеспечения
Конструктивная модель оценки стоимости программного обеспечения (Constructive Cost Model, COCOMO) используется многими менеджерами по разработке программного обеспечения. COCOMO основывается на изучении многих программных проектов. COCOMO является открытой моделью, поэтому все ее детали опубликованы, включая:
базовые уравнения оценки стоимости;
допущения, сделанные в модели (например, «проект должен иметь хорошее управление»);
определения (т.е. точное определение фаз проектирования программного обеспечения).
Основное преимущество COCOMO – это возможность настройки деталей разработки программного изделия, что обеспечивает достаточно точные оценки.
Введение в сocomo
Основным уравнением в COCOMO является оценка в человеко-месяцах затрат труда на разработку программного обеспечения. Большинство других результатов вытекает из этого уравнения. Выделяют две класса моделей COCOMO81 и COCOMOII.
COCOMO81
COCOMO81 основывается на оценке размера проекта в числе исходных команд (ЧИК) в оригинале Delivered Source Instructions (DSI). В базовых уравнениях COCOMO используются тысячи исходных команд КЧИК или KDSI.
DSI определяется следующим образом:
оцениваются только строки непосредственно самого проекта, исключая тесты и вспомогательное программное обеспечение;
строки проекта создаются непосредственно штатом разработчиков, т.е. код созданный генератором приложений не рассматривается;
одна строка считается одной командой;
объявление переменных считаются командами;
комментарии командами не считаются.
COCOMO81 включает три модели:
базовая;
промежуточная;
детальная.
Считают, что выполняемые проекты бывают трех типов:
распространенный;
полунезависимый;
встроенный.
1Распространенный тип программного обеспечения.
Проект разрабатывается в сходных, стабильных условиях и подобен ранее разрабатывавшимся проекта. Проект относительно мал и характеризуется высокой производительностью труда. Размер проекта не более 50 KDSI.
Пример. Обработка послеполётных данных в авиации.
2Полунезависимый тип программного обеспечения
Характеристики проекта находится между распространенными и встроенным типами. Размер полунезависимых проектов не превосходит 300 KDSI.
Пример. Тренажер для управления самолетом.
3Встроенный тип программного обеспечения
Характеризуется жесткими ограничениями на характеристики компьютерной системы и требованиями к интерфейсу.
Пример. Бортовая система навигации самолета.
Базовая COCOMO81
4Затраты труда
Затраты труда измеряются в человеко-месяцах (person-month, PM).
PM=152 часа рабочего времени.
Затраты труда основываются на размере программного изделия
Затраты труда зависят от типа проекта.
Тип проекта |
Затраты труда |
Распространенный |
PM=2,4 * KDSI1,05 |
Полунезависимый |
PM=3,0 * KDSI1,12 |
Встроенный |
PM=3,6 * KDSI1,20 |
Второе уравнение оценивает в месяцах сроки разработки (Time Development, TDEV).
Тип проекта |
Сроки разработки |
Распространенный |
TDEV=2,5 * PM0,38 |
Полунезависимый |
TDEV=2,5 * PM0,35 |
Встроенный |
TDEV=2,5 * PM0,32 |
Исходя из полученных значений PM и TDEV можно рассчитать средний штат ST, требуемый для реализации проекта и производительность труда PROD.
ST=PM / TDEV
PROD=DSI / TDEV
Пример. Распространенный проект, включающий 3000 строк исходного кода, оценивается следующим образом:
PM |
= |
2,4 * 31,05 |
= |
7,6 чел/мес |
TDEV |
= |
2,5 * 7,60,38 |
= |
5,4 мeс. |
ST |
= |
7,6/5,4 |
= |
1.4 чел. |
PROD |
= |
3000/5,4 |
= |
555 команд в месяц |
