Размер программного обеспечения в FP и LOC

Тип ПО Размер, FP Размер, LOC Количество LOC на одну FP
Текстовые процессоры Электронные таблицы Клиент-серверные приложения ПО баз данных Производственные приложе­ния Крупные бизнес-приложения Крупные корпоративные при­ложения Крупные приложения в госуч­реждениях Операционные системы Системы масштаба предприя­тий Крупные оборонные системы 3500 3500 7500     150000 250000 437500 437500 675000 937500     18750000 25000000 125 125 90 125    

 

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

Объем в 10 функциональных точек — это типичный объем не­больших приложений и дополнений, вносимых в готовые систе­мы. Такие проекты требуют до 1 месяца работ и тоже всегда ус­пешны.

Объем в 100 функциональных точек близок к пределам воз­можностей программиста-одиночки. Проект доводится до конца за 6 месяцев в 85% случаев. Эти цифры верны для современных средств разработки: 15 лет назад 15 тысяч строк занимал профес­сиональный интерпретатор Бейсика для MS-DOS, создать кото­рый одному человеку (среднему программисту) было не под силу.

Объем проекта в 1000 функциональных точек характерен для большинства сегодняшних коммерческих настольных и неболь­ших клиент-серверных приложений. Заметную долю общего объ­ема работы начинает занимать документация. Для разработки проекта необходима группа примерно из 10 программистов, про­ектировщиков, специалистов по управлению качеством и около года работы. Проваливается 15% подобных групповых проектов и 65% попыток программистов-одиночек. В 20% случаев не удается уложиться в срок. Перерасход средств отмечается в 25% проектов.

Для проекта объемом в 10000 функциональных точек требует­ся около 100 разработчиков. Остро встают вопросы организации совместной работы нескольких групп сотрудников. Работы длят­ся от 1,5 до 5 лет, при этом запланированные сроки чаще всего не выдерживаются. Хорошее качество системы невозможно обеспе­чить без использования формальной технологии тестирования. До 50% проектов заканчивается неудачей, а реализация таких проектов в одиночку вообще невозможна.

Объем в 100000 функциональных точек — пока что предел для большинства сегодняшних проектов. Это объем современных операционных систем, таких как MS Windows или IBM MVS, и крупнейших военных систем. На их создание уходит 5-8 лет. Над проектом трудятся сотни разработчиков иногда из разных стран, и эффективно координировать их работу не удается. В закончен­ных системах много ошибок. До 65% проектов завершается про­валом. Во всех успешных проектах используются системы управ­ления конфигурацией.

Табл. 6.6 иллюстрирует различия в распределении временных затрат по стадиям жизненного цикла в случае большого и малень­кого проекта. Маленький проект (например, приложение Windows объемом 50000 строк исходного кода на Visual Basic, соз­даваемое командой из 5 человек) может потребовать 1 месяц на начальную стадию, 2 месяца на проектирование, 5 месяцев на разработку и 2 месяца на ввод в действие. Большой, сложный проект (например, бортовая программа для летательного аппара­та объемом 300000 строк исходного кода, создаваемая командой из 40 человек) может потребовать 8 месяцев на начальную ста­дию, 14 месяцев на проектирование, 20 месяцев на разработку и 8 месяцев на ввод в действие. Сравнение долей жизненного цикла, приходящихся на каждую стадию, позволяет обнаружить очевид­ные различия.

Таблица 6.6

Распределение временных затрат по стадиям для маленьких и

Больших проектов

Масштаб проекта Начальная стадия, % Проектирование, % Разработка, % Ввод в действие, %
Маленький ком­мерческий проект
Большой, слож­ный проект

Самым значительным отличием является относительное вре­мя, за которое достигается контрольная точка жизненного цикла, связанная с созданием архитектуры (завершение проектирова­ния). Для маленьких проектов это отношение составляет 30/70; для большого проекта оно ближе к 45/55.

Время разработки может быть изменено с учетом статистичес­ких данных, накопленных в реальных проектах и отраженных в табл. 6.7, где сопоставлены планируемый и реальный сроки вы­полнения проекта в зависимости от его размера, выраженного в количестве функциональных точек. Частично это отставание объ­ясняется неточной оценкой, частично — ростом количества тре­бований к системе после того, как выполнена начальная оценка.

Таблица 6.7

Статистические данные

Размер проекта < 100 FP 100 - 1000 FP 1000 - 10000 FP > 10000 FP
Планируемый срок (мес.)
Реальный срок (мес.)
Отставание

6.3.