На этом уровне базовая модель уточнена за счет ввода дополнительных 15 «атрибутов стоимости» (или факторов затрат) Cost Drivers (CDk), которые сгруппированы по четырем категориям:
- Характеристики продукта (Product Аttributes):
· Требуемая надежность ПО (Required Software Reliability); · Размер БД приложения (Size of Application Database);
· Сложность продукта (Complexity of the Product);
- Характеристики аппаратного обеспечения (Hardware Аttributes):
· Ограничения быстродействия при выполнении программы (Run-Time Performance Constraints);
· Ограничения памяти (Memory Constraints);
· Неустойчивость окружения виртуальной машины (Volatility of the Virtual Machine Environment);
· Требуемое время восстановления (Required Turnabout Time);
- Характеристики персонала (Personnel Аttributes): · Аналитические способности (Analyst Capability);
· Способности к разработке ПО (Software Engineer Capability); · Опыт разработки (Applications Experience);
· Опыт использования виртуальных машин (Virtual Machine Experience);
· Опыт разработки на языках программирования (Programming Language Experience);
- Характеристики проекта (Project Аttributes):
· Использование инструментария разработки ПО (Use of Software Tools);
· Применение методов разработки ПО (Application of Software Engineering Methods);
· Требования соблюдения графика разработки (Required Development Schedule).
Значения каждого атрибута выбирается из табл. 2.2 в соответствии с его степенью значимости (рейтингом) в конкретном проекте.
Таблица 2.2. Значения атрибутов стоимости в зависимости от их уровня
Атрибуты стоимости, CDk | Рейтинг | ||||
Очень низкий | Низкий | Средний | Высокий | Очень высокий | Критический |
Характеристики продукта |
1. Требуемая надежность ПО 2. Размер БД приложения
3. Сложность продукта
5. Ограничения памяти
8. Аналитические способности
9. Опыт разработки
0,75 0,88 1,00 1,15 1,40 n/a n/a 0,94 1,00 1,08 1,16 n/a
0,70 0,85 1,00 1,15 1,30 1,65
n/a n/a 1,00 1,06 1,21 1,56
1,46 1,19 1,00 0,86 0,71 n/a
1,29 1,13 1,00 0,91 0,82 n/a
10. Способности к разработке ПО | 1,42 | 1,17 | 1,00 | 0,86 | 0,70 | n/a |
11. Опыт использования виртуальных машин | 1,21 | 1,10 | 1,00 | 0,90 | n/a | n/a |
12. Опыт разработки на языках программирования | 1,14 | 1,07 | 1,00 | 0,95 | n/a | n/a |
Характеристики проекта | ||||||
13. Применение методов разработки ПО | 1,24 | 1,10 | 1,00 | 0,91 | 0,82 | n/a |
14. Использование инструментария разработки ПО | 1,24 | 1,10 | 1,00 | 0,91 | 0,83 | n/a |
15. Требования соблюдения графика разработки | 1,23 | 1,08 | 1,00 | 1,04 | 1,10 | n/a |
Примечание: n/a (not available) – данные отсутствуют, т.е. соответствующий уровень не оценивается
Формула промежуточного уровня модели имеет вид,
где PM – трудоемкость (чел.×мес.);
SIZE – объем программного продукта в тысячах строк исходного текста (Kilo of Source Line of Code – KSLOC).
EAF (Effort Adjustment Factor) – произведение выбранных атрибутов стоимости из табл. 2:.
Коэффициенты модели ai и bi выбираются из табл. 2.3.
Таблица 2.3. Значения коэффициентов промежуточного уровня модели СОСОМО в зависимости от типа проекта
Тип проекта, i | ai | bi |
1. Распространенный | 3,2 | 1,05 |
2. Полунезависимый | 3,0 | 1,12 |
3. Встроенный | 2,8 | 1,20 |
Время разработки рассчитывается по той же формуле, что и для базовой модели.