И. Соммервилл - Инженерия программного обеспечения (1133538), страница 125
Текст из файла (страница 125)
Сегодня прототипиро. ванне и пошаговая разработка — наиболес распросграненные модели создания программного продукта. Во многих случалх используются серийные компоненты, доступные на рынке программных продуктов. Кроме того, с> шествующие программы модифицируются в целях создания нового програлгллного обеспечения. Поддержка САЗЕ-средств >оке стала доступной для многих видов работ по созданию ПО. Таблица 23.5.
Модель СОСОМО 81 Формула! Сложность проекта Описание РМ = 2 4 (К081)' х М Простые проекты для небольших команд разработчиков РМ = 3.0 (КО81) ' х М Вэолсе сложныс проекты, при разработке кото. шг рых члены команды люгуг ощущать нехватку опыта и знаний соотвстстн>ющих систем РМ = З.б (КО81)' гэ х М Сложные проекты, где ПО является частью комплекса аппаратных и программных срспств, друпэх технических механизмов и уст ойств Простой проект Средней слож- ности Проект встроенной системы Принимая во внимание все зтн изменения, модель СОСОМО 2 допускает самые разно.
образные подходы к процессу разработки программных продуктов: прототипироваппс, сборку систем из отдельных компонентов, использование языков программироаанпя четвертого поколения н т.д. 11о теперь уровни модели пе только отображают возрастающукэ сложность определения себестоилюсти разработки ПО, но н учитывают этапы работы над - Д ЭтиХ фа!ЭЧМПХ РЭ>! (От Рвиа оэнпн(ЛИ! ОбОЭИВЧВЕЛЭЛ ЧОВООЕПОМНЭ иЛЛ КЛЛЭ! (От !Лата вэ! (АЛЬ) О/!Ыптп! дание йилплеято!- хиэипитоо ииои)рлшлл (и тихочпх! о хоиечиээгэ и)юе)элина >тгагиэфиивпит э>тлилгп ити" )ииив бтмв)тоот ми! )тчм ртвиит>. — 1>рпм.
рол. 482 Часть \Ч. Управление 1. Уровень предварительного прототипирввпния. Для опредеченил необходимых затрат осуществляется оценка размера системы на основе объектных точек прототипа с помощью простой формулы "размер-производительность". 2. У~ювень ггргйвпрительного проекте(возопил Этот уровень предусматривает окончание раба. ты и щ системными требованиями и, возможно, над начальным проелгом архнтекгуры программы.
Оценка затрат на этом уровне основана на функциональных точках, которые затем пересчитываются в количество строк кода программ. Здесь используются формулы, подобные описанным выше, с соответствующим набором множителей. 3. Попппрхитпентурнмй уроепгь. После разработки архнтекгуры сисгемы существует ре. альная возможность достаточно точно оценить размер программы. Однако оценка на этом уровне уже будет включать более расв|ирснный ассортимент множителей, которые должны отражать возможности персонала, а также характеристики создаваемого программного продукта и проекта в целом. Уровень предварительного прототипирования Этот уровень был введен в модель СОСОМО лля оценки затрат на прототипирование проектов, а также длл тех проектов, в которых программное обеспечение разрабатывалось путем сборки уже существующих компонентов.
Здесь оценка затрат основана на под. счете взвешенных объектных точек (это понятие рассматривается в разделе 23.1), деленных на стандартное значение производительности. Производительность зависит от опы. та н способностей разработчика, а также от возможностей САЯЕ средств, используемых для поддержки процесса разработки.
В табл. 23.6, показаны различные уровни производи. тельности, которые были предложены разработчиками модели [44). Таблица 23.6. Производительность, выраженная в объектных точках Опыт и возможности Очень низкие Низкие Средние Высокие Очень высокие программиста Уровень и возможности Очень низкие САЗЕ.средств Производительность 4 (колнчество объектных точек в месяц) Низкие Средние Высокие Очень высокие 7 13 25 30 На этом уровне повторное использование компонентов не редкость, поэтому прогнозируемое количество объектных точек должно учитывать процентное соотношение (долю) повторного использования компонентов (далее обозначено как в/омногократного использования). Таким образом, формула для предварительного опрсделснил объема рабат будет выглядеть следующим образом: РМ = (НОР х (1 — ' многократного использования/100))/ РгсОО.
Здесь РМ вЂ” это затраты, выраженные в человека-месяцах, НОР— количество объектных точек, а РЙОΠ— производительность, как показано в табл. 23.6. программой, что позволяет провести предварительную оценку себестоимости на ранних атапах выполнения проекта с последующей ее легализацией после определения архитек- туры системы. Модель СОСОМО 2 охватывает три описанных ниже уровня. 23. Оцеика стоимости программного продукта 483 Уровень предварительного проектирования На этом этапе оценка основана на стандартной формуле алгоритмических моделей, а именно: затраты = А х размер' х М. Основываясь на собственном банке данных, Боям (Вое(нп) предложил значение коэф.
фициента А принять равным 2.5, если оценка осуществляется на этом уровне. Размер системы выражается в КВАС, что означает количество строк программного кода в тысячах. Он определяется путем подсчета количества функциональных точек в программе и пере. вода их в КЗСОС с помощью стандартных таблиц, которые определяют соотношение размера программы с функциональными точками для различных языков программирования. Эта оценка размера применима скорее к кодам, написанным вручную, нежели к генерированным или повторно используемым. Показатель степени В отражает затраты, которые увеличиваются по мере увеличения размера проекта.
Зто не постоянная величина, как в предыдущей версии модели СОСОМО, она изменяется от 1.1 до 1.24, что зависит от того, насколько новаторским является данный проект, от гибкости процесса разработки ПО, от прнмснлемых процессов управления рисками, сплоченности команды программистов и уровня управления организацией.разработчиком (см. главу25). О том.
как рассчитывается этот показатель, речь идет в следующем разделе. Множитель М является произведением сеь»р показателей, характеризующих проект и процесс создания ПО, а именно: надежность и уровень сложности разрабатываемой системы (ЙСРХ), повторное использование компонентов (ЙОЗЕ), сложность платформы разработки (РО)Р), возможности персонала (РЕЙЗ), опыт персонала (РЙЕХ), график работ (ЗСЕО) и средства поддержки (ЕСИ.). Зто позволяет провести оцениванпе по в»естн. балльной шкале, где число 1 будет соответствовать самым малым значениям этих показателей, а число 6 — самым высоким значениям. С другой стороны, их можно вычислить пу тем комбинирования значений более детализированных показателей, которые используются иа постархитеатурном уровне.
Таким образом, оценка затрат вычисляетгл по следукицей формуле: РМ = А х размер' х М+ РМ., где М = РЕЙЗ х ЙСРХ х ЙОЗЕ х РО)Е х РЙЕХ х РС)(. х ЗСЕО. Последнее слагаемое в формуле (РМ ) обозначает фактор, используемый в случаях, когда значительная часть кода генерируется автоматически, При этом часть кода всегда тре. буется вводить вручную, но уровень производительности все равно будет выше, чем лри полностью ручном вводе. Затраты РМ рассчитываются отдельно по приведенной ниже формуле, а затем добавляются к оценке затрат на введенный вручную код. РМ = (АЗ(.ОС х (АТ/100))» АТРЙОО, глс АЗ( ОС вЂ” это количество строк кода, произведенных автоматическим способол», АТРЙОΠ— уровень производительности автоматической генерации кода. Однако следует заметить, что требуется также выполнение определенных работ для согласоваш»л степе.
рнровапного кода с остальной частью системы. Объем этих работ зависит от процента ав. томатичсски сгенерированного кода во всей системе (коэффициент АТ). »1»актически производительность зависит от количества созданных программных л»одулей. Чем л»еньшс объел» сгенерированного кода, тем больший объем работ необходим для интеграции его с другими кодами системы.
484 Часть |Ч. Управление Постархитектурный уровень Для получения оценки на постархитектурном уровне используется такая же фгзрмула, как и для оценки на уровне предварительного проектирования. На этом уровне оценка будет более точной, для предварительной оценки затрат будут использоваться уже нс семь, а семнадцать показателей. Здесь при оценке количества строк программного кода учитываются два важных фактора. ° Ваэ1влскагмь кззюиякл сисжемкмх эв>гбмакий.