И. Соммервилл - Инженерия программного обеспечения (1133538), страница 127
Текст из файла (страница 127)
Слишком много показателей необходимо учитывать и слишком широкие рамки для определения их значений. Таким образом, каждый, кто хочет воспользоваться этой моделью, должен выверить и приспособить ее к своим данным, накопленным при реализации предыдущих проектов, так как именно они дадуг информацию о тех частных обстоятельствах, которые могут оказать влияние на ход выполнения данною проекта.
Некоторые организации накопили достаточно информации о прошлых проектах в гой форме, которая способна проверить и настроить повель СОСО МО, 488 'Часть |Ч. Управление нимаются решения в отношении покупки аппаратных нли программных срсдсгв либо возникает необходимость найма новых сотрудников с особыми навыками, иужиымн для реализации проекта. В качестве примера рассмотрим встроенную систему для управления экспериментом, который будит проводиться в космосе.
Оборудование для проводимых в космосе экспериментов должно быть предельно надежным и подлежит строгим весовым ограничениям. Поэтому, например, может появиться необходимость свести к минимума количество чипов на монтажной плате. Если взять для оценки модель СОСОМО, то множители, зависящие от ограничений в проекте и надежности, будут иметь значение больше сдицицы. Стоимость проекта складывается из трех компонентов. 1. Стоимость целевых аппаратных средств, на которых будет функционировать раз. рабатывасмая система.
2. Стоимость платформы (вычислительная техника плюс программное обсспсченис), используемой длл разработки системы. 3. Стоимость затрат на разработку системы. На рис. 23.2 представлены нскоторыс проектные показатели и характеристики, которые могут учитываться при расчете стоимости. Например, снижение стоимости ПО может потрсбовать больших затрат на целевые аппаратныс средства или вложения дополни. тельных средств в усовершснствованныс инструменты разработки. Дополнитсльныс расходы на аппаратные средства в данном случае допустимы, так как разрабатываемая система является >зкоспсциализированной и нс прсдназначсна для массовой продажи.
Если же аппаратные сродства встраивается в коммсрчсскис продукты, то дополнительные вложения в целевые аппаратные средства (для снижения стоимости ПО) используются редко, потому что это повышает цену продаваемою продулта. Рис 23.2. Проектном иоказаоили и ха)тите)систики, >вситиваемые ири )течете стоимости 23. Оценка стоимости программного продукта 489 В табл. 23.10 показаны аппаратные и программные средства, обеспечивающие реализацию характеристик А-Е, описанных на рис. 23.2. Стоимость данного проекта в соответ. ствии с моделью СОСОМО 2 (без учета проектных характеристик (множителсй), влияю. щих на формирование стоимости, см.
предыдущий раздел) оценивается в 45 человеко. месяцев. Стоимость затрат на один человеко-месяц составляет $15 000. Соответствующие множители, влияющие на формирование стоимости, учитывают ограниченность времени исполнения и объема памяти (показатели Т!МЕ и ВТОРОЕ), доступность средств поддержки системы разработки, таких, как кроссплатформенные компиля.
торы и т.п. (показатель ТОО(.), и опыт команды разработчиков (показатель СТЕХ). Для всех проектных характеристик множитель ЙЕ(.У (показатель надежности) равен 1.39; зто означает, что для разработки належной системы требуются дополнительные затраты. Стоимость программного продукта (ЗС) вычисляется следующим образом: ЗС = оценка затрат х КЕ(.У х Т!МЕ х ЗТОН х ТООЕ х ЕХР х $!5000. Проекту с характеристикой Л соответствует стоимость разработки системы с уже имеющимся персоналом и средствами поддержки. Проекты с другими характеристиками требуют расходов либо на аппаратные средства, либо на наем нового персонала (с соответствующими расходами и степенью риска).
На примере проекта с характеристикой Б видно, что людерннзация аппаратных средств не обязательно снизит затраты, так как множитель, учитывающий опыт команды разработчиков, в этом случае будет очень весо. мым. Также видно, что модернизация только памяти окажется более эффективной, чем усовершенствование всей вычислительной системы. Таблица 2$.10.
Параметры стоимости Характе. ИВУАР ЗТОК Т1МЕ ТООБ БТЕХ Общие Стоимость Стоимость Итоговав ристика затраты ПО аппаратных сгонмосгь средств Л !.39 !.06 1. 11 0.86 1 63 949 393 100 000 1 049 393 Б 1.39 ! 1 1.12 1.22 88 1 313 550 120 000 1 402 025 В !.39 1 1.11 0.86 1 60 895653 105000 1000653 ,Г:-",""' ' 1.39'.;!"!.'06' '1;!1',"086 ',084"";.'5! ".:.-,-Боуб906~'*: ",-'"-'1ВОО(>0'з>'".~Я97~~~.'-'".. Е 1.39 1 1 1.12 0.84 57 851 180 120 000 1 002 706 Проектная характеристика Г обеспечивает салгые низкие затраты на разработку системы.
Здесь пет необходимости в дополнительных затратах на аппаратные средства, зато нужно нанимать новый персонал длл работы по проекту. Если такой персонал уже имеется в наличии в органиэации-разработчике, тогда этот вариант будет наиболее выгодным и выбор следует остановить именно на нем. Если же нет, то наем нового персонала порождает дополнительные расходы и риски.
Это может привести к тому, что преимущества в стоимости мог>т оказаться не такими значительными, как показано в табл. 23.10. В проекте с характеристикой В сэкономлепо почти $50 000, при этом риск практически отсутствует. Менеджеры проектов с консервативным складом ума предпочтут этот вариант более рискованном> варианту Г.
Приведенный анализ показал важность такого показателя, как опыт персонала. Если органиэация наймет квалифицированных сотрудников с большим опытом, зто может зна. читсльно снизить стоимость проекта. Данный показатель напрямую связан с факторами производитель!!ости, описанными в разделе23.1. Этот пример также показывает, что 490 Часть |Ч. Управление вложения в новые аппаратные средства могут оказаться не слишком выгодными.
Обычно такую стратегию предпочитают программисты, которые любят работать с новыми системзми. Однако недостаток опыта работы с новыми системами в данном случае может имеет более сильное отрицательное влияние на стоимость проекта, чем те преимущества, которые ожидаются от приобретения новых аппаратных средств. 23.4. Продолжительность проекта и наем персонала Кроме расчета затрат, необходимых для работы нзд проектом, и определения стоимости этих затрат, менеджеры проектов также должны определить длительность выполнения проекта (т.е.
составить временной график работ) и время начала найма персонала дэя непосредст. венной работы. Чаще всего компании. разработчики "сжимают" график работ до минимума с тем, чтобы доставить программный продукт на рынок раньше своих конкурентов. Взаимосвязь между количеством работающих над проектом сотрудников, общими затратами и длительностью разработки не является прямолинейной. С увеличением количества сотрудников возрастают затраты, в том числе временные, поскольку больше времени будет уходить на общение внутри группы разработчиков. Также больше времени потребуется для определения интерфейсов между частями системы, которые они будут разрабатывать, Увеличивая вдвое количество персонала, нельзя гарантировать, что время разработки сократится также вдвое. Модель СОСОМО включает формулу для определения календарного времени (ТОЕЧ) реализации проекта.
Для всех уровней модели СОСОМО существует единая формула расчета времени: ТОЕЧ = 3 х (рМ) 'о зэ'одчв 'оч1 где РМ вЂ” оценка за.трат в человеко-месяцах,  — показатель степени, способ определения которого описан ранее (В равен единице для уровня предварительного прототипирования). С помощью этой формулы определяется прогнозируемая длительность проекта. Однако прогнозируемая длительность проекта и продолжительность графика работ, который определяется планом выполнения проекта, — это не одно и то же. Планируемый график работ может оказаться длиннее или короче прогнозируемой длительности проекта. Разность между этими двумя длительностями учитывается в модели СОСОМО 2: ТОЕЧ = 3 х (РМ) щ~'а~я~ 'оц1 х о/оЗСЕ()/100, где %8СЕΠ— процент увеличения (или уменьшения) прогноэируелюй длительности проекта. Значительные расхождения прогнозируемой длительности с планируемым графиком работ означают неминуемые проблемы в процессе реализации проекта.
Рассмотрим пример вычисления длительности проекта по модели СОСОМО в предположении, что по предварительной оценке затрат для реализации проекта требуется б0 человеко-месяцев (проект с характеристикой В из табл. 23.10.). Примем число 1.17 эа значение показателя степени В.
Тогда ТОЕН 3(60)" 13 месяцев. Если в данном случае иет расхождения с длительностью графика работ, последнее выражение в формуле длительности не влияет на окончательный результат. Интересным в модели СОСОМО может показаться то, что время, требующееся для реализации проекта, — зто функция всех затрат по проекту. Причем оно не зависит от ко. личествэ программистов, работающих иад проектом. Зто подтверждает идею о том, что не имеет смысла включать большее количество программистов в отстающий от графика 23. Оценка стоимости программного продукта 491 проект с тем, чтобы ускорить его завершение, В статье [251] исследован вопрос ускорения реализации проекта и сделан вывод, что з работе неизбежны проблемы, если для разработки ПО ие выделяется достаточно времени.