Анализ чувствительности программного проекта
СОСОМО II — авторитетная и многоплановая модель, позволяющая решать самые разнообразные задачи управления программным проектом.
Рассмотрим возможности этой модели в задачах анализа чувствительности — чувствительности программного проекта к изменению условий разработки.
Будем считать, что корпорация «СверхМобильныеСвязи» заказала разработку ПО для встроенной космической системы обработки сообщений. Ожидаемый размер ПО — 10 KLOC, используется серийный микропроцессор. Примем, что масштабные факторы имеют номинальные значения (показатель степени В = 1,16) и что автоматическая генерация кода не предусматривается. К проведению разработки привлекаются главный аналитик и главный программист высокой квалификации, поэтому средняя зарплата в команде составит $ 6000 в месяц. Команда имеет годовой опыт работы с этой проблемной областью и полгода работает с нужной аппаратной платформой.
В терминах СОСОМО II проблемную область (область применения продукта) классифицируют как «операции с приборами» со следующим описанием: встроенная система для высокоскоростного мультиприоритетного обслуживания удаленных линий связи, обеспечивающая возможности диагностики.
Оценку пост-архитектурных факторов затрат для проекта сведем в табл. 2.27.
Из таблицы следует, что увеличение затрат в 1,3 раза из-за очень высокой сложности продукта уравновешивается их уменьшением вследствие высокой квалификации аналитика и программиста, а также активного использования программных утилит.
Таблица 2.27. Оценка пост-архитектурных факторов затрат
| Фактор | Описание | Оценка | Множитель | ||||
| RELY | Требуемая надежность ПО | Номинал. | 1 | ||||
| DATA | Размер базы данных — 20 Кбайт | Низкая | 0,93 | ||||
| CPLX | Сложность продукта | Очень высок. | 1,3 | ||||
| RUSE | Требуемая повторная используемость | Номинал. | 1 | ||||
| DOCU | Документирование жизненного цикла | Номинал. | 1 | ||||
| TIME | Ограничения времени выполнения (70%) | Высокая | 1,11 | ||||
| STOR | Ограничения оперативной памяти (45 из 64 Кбайт, 70%) | Высокая | 1,06 | ||||
| PVOL | Изменчивость платформы (каждые 6 месяцев) | Номинал. | 1 | ||||
| ACAP | Возможности аналитика (75%) | Высокая | 0,83 | ||||
| PCAP | Возможности программиста (75%) | Высокая | 0,87 | ||||
| AEXP | Опыт работы с приложением (1 год) | Номинал. | 1 | ||||
| PEXP | Опыт работы с платформой (6 месяцев) | Низкая | 1,12 | ||||
| LTEX | Опыт работы с языком и утилитами (1 год) | Номинал. | 1 | ||||
| PCON | Непрерывность персонала ( 1 2% в год) | Номинал. | 1 | ||||
| TOOL | Активное использование программных утилит | Высокая | 0,86 | ||||
| SITE | Мультисетевая разработка (телефоны) | Низкая | 1,1 | ||||
| SCED | Требуемый график разработки | Номинал. | 1 | ||||
| Множитель поправки Мр | 1,088 |
Рассчитаем затраты и стоимость проекта:
ЗАТРАТЫ = AхРАЗМЕРBхМр=2,5(10)1,16х1,088=36x1,088= 39[чел.-мес],
СТОИМОСТЬ = ЗАТРАТЫ х $6000 = $234 000.
Таковы стартовые условия программного проекта. А теперь обсудим несколько сценариев возможного развития событий.