67152

Технико-экономическое обоснование проектов программных средств

Лекция

Информатика, кибернетика и программирование

Номенклатура работ их трудоемкость длительность и другие экономические характеристики на этих этапах ЖЦ существенно зависят от характеристик объекта технологии и инструментальной среды разработки. Сокращение этой потребности в ресурсах часто возможно только за счет принципиального изменения...

Русский

2014-09-04

230 KB

27 чел.

PAGE  1

Лекция 5. Технико-экономическое обоснование проектов программных средств

5.1. Цели и процессы технико-экономического обоснования                          проектов программных средств

        

        Выбор и формирования требований к функциональной пригодности ПС наиболее ответственная, стратегическая задача начальных этапов технико-экономического обоснования проекта программного продукта, системного проектирования и всего последующего развития его жизненного цикла. Жизненный цикл ПС можно разделить на две части, существенно различающиеся экономическими особенностями процессов и ресурсов, характеристиками и влияющими на них факторами. В  первой части ЖЦ ПС производятся системный анализ,  проектирование, разработка, тестирование и испытания базовой версии программного продукта. Номенклатура работ, их трудоемкость, длительность  и другие экономические характеристики на этих этапах ЖЦ существенно зависят от характеристик объекта, технологии и инструментальной среды разработки. Особенно важно учитывать возможное возрастание суммарных затрат при завышении требований к качеству программного продукта. Как и для других видов промышленной продукции, улучшение качества комплексов программ обычно достигается не пропорциональным, а более значительным возрастанием требуемых для этого ресурсов. Сокращение этой потребности в ресурсах часто возможно только за счет принципиального изменения и совершенствования технологии проектирования и разработки.

      Ориентирами для оценивания необходимых ресурсов трудоемкости, длительности и числа специалистов по крупным этапам работ, при создании сложных ПС высокого качества, могут служить данные приведенные ниже в п. 5.2 – п. 5.4.  Максимум трудоемкости и числа специалистов приходится на этапы программирования и тестирования компонентов, когда привлекается основная масса программистов-кодировщиков для разработки компонентов ПС. При активном использовании и совершенствовании технологий системного анализа и проектирования,  происходит перераспределение всех видов затрат в сторону увеличения трудоемкости начальных этапов разработки. Это дает значительное снижение  использования совокупных ресурсов для всего проекта. Менее изучены распределения необходимых ресурсов по этапам работ, с учетом реализации требуемых конкретных характеристик качества ПС. Опубликованные данные и зависимости для различных классов ПС, позволяют прогнозировать совокупные затраты и другие основные технико-экономические показатели (ТЭП),  планы и графики работ вновь создаваемых проектов программных продуктов.

         Вторая часть  ЖЦ,  отражающая  эксплуатацию, сопровождение, модификацию, управление конфигурацией и перенос ПС на иные платформы, в меньшей степени зависит по величине требуемых ресурсов от функциональных характеристик объекта и среды разработки. Номенклатура работ на этих этапах более или менее определенная,  но их трудоемкость и длительность могут сильно  варьироваться, в  зависимости  от массовости и других внешних факторов распространения и применения конкретных версий программного продукта. Успех ПС у пользователей и на рынке, а также будущий процесс развития версий трудно предсказать,  и он не связан напрямую с экономическими параметрами процессов разработки ПС. Определяющими становятся потребительские характеристики продукта, а их экономические особенности с позиции разработчиков и вложенные ресурсы на очередную версию отходят на второй план (см. первую часть ЖЦ).

      Вследствие этого в  широких  пределах могут изменяться трудоемкость и число специалистов, необходимое для поддержки  этих этапов ЖЦ. Это затрудняет статистическое  обобщение  ТЭП   различных проектов и прогнозирование на их основе аналогичных характеристик новой разработки. Поэтому планы на этих этапах имеют характер общих взаимосвязей содержания работ,  которые требуют распределения во времени, индивидуально для каждого  проекта.  В  результате прогнозирование и  планирование трудоемкости и длительности этапов  приходится  производить  итерационно  на базе накопления опыта и анализа развития конкретных версий ПС, а также от их успеха на рынке.

         Для  прогнозирования и планирования любых процессов или характеристик объектов (в частности ПС) используются исходные данные двух типов:  

  •  функции и номенклатура характеристик самого прогнозируемого объекта или процесса,  для которого необходимо спланировать жизненный цикл;
  •  характеристики прототипов и пилотных проектов, в некоторой степени, подобных планируемому объекту, о которых известны реализованные планы и необходимые экономические характеристики уже завершенных аналогичных процессов или объектов.  

     Совместная, корректная обработка исходных данных этих двух типов позволяет при проектировании оценивать и получать  новые, прогнозируемые характеристики процессов, планов и экономических показателей создания ПС. Исходные данные  первого типа отражают характеристики конкретного создаваемого объекта или процесса,  доступные методы и инструментальные средства автоматизации труда при их создании. Эти данные последовательно детализируются и уточняются в процессе проектирования и дальнейшего ЖЦ ПС,  что,  в частности,  позволяет  уточнять  выбор компонентов аналогичных объектов и их характеристик для  исходных  данных  второго  типа.

         Второй тип  исходных  данных для обоснования и планирования разработки ПС составляют обобщенный опыт проектирования и экономические характеристики  прототипов нового программного продукта.  Для достоверного планирования необходимо накопление, обобщение и изучение конкретных  данных  о реализованных планах, затратах и использованных ресурсах завершенных разработок ПС в различных аспектах. Такие ТЭП и факторы, их определяющие,  изучены в процессе обработки  значительного  статистического материала реальных отечественных и зарубежных проектов программных продуктов и использованы ниже в методиках прогнозирования (см. п. 5.2 п. 5.4).

        При технико-экономическом обосновании проекта ПС на любом уровне целесообразно применять методы и методики адекватные целям и этапам его реализации. Следует согласовывать цели оценивания ТЭП с потребностями в информации, способствующей принятию решений для планирования затрат труда и других ресурсов. В общем случае необходимо достигать сбалансированного состава целей оценивания разных характеристик, которые бы давали примерно одинаковую абсолютную величину уровня неопределенности оценок для всех компонентов ПС. Кроме того, каждая оценка ТЭП должна сопровождаться, указанием степени ее неопределенности. По мере разработки проекта их необходимо пересматривать и изменять, когда это становится выгодным.

    Привлечение заказчика помогает менее болезненно решать проблемы управления масштабом проекта и реализуемыми функциями с учетом ограничений ресурсов. В зависимости от этапа разработки сложного комплекса программ и достоверности исходных данных о характеристиках и особенностях проекта ПС целесообразно выбирать и применять разные методики и сценарии технико-экономического обоснования проекта и прогнозирования ТЭП.  С самого начала работы над проектом ПС важно вести постоянный учет данных о его действительной трудоемкости, стоимости и развитии затрат и сравнивать эти данные с реальными оценками характеристик проекта по  следующим причинам:

  •  несовершенство исходных данных при оценивании ТЭП (оценки размера, рейтинги влияния факторов)  определяет важность для   руководителя    проекта пересматривать их оценки, учитывая новую информацию, чтобы обеспечить более реальную основу для дальнейшего управления проектом;
  •  вследствие несовершенства методов оценивания ПС следует сравнивать оценки с действительными значениями и использовать эти результаты для улучшения методов оценивания ТЭП;
  •  проекты ПС имеют тенденцию к изменению характеристик и экономических факторов и руководителю проекта необходимо идентифицировать эти изменения и выполнять реалистичное обновление оценок  затрат.

При разработке ПС необходимо учитывать, что экономические, временные, вычислительные и другие  ресурсы на разработку и весь ЖЦ программ всегда ограниченны и используемые затраты для улучшения каждой характеристики должны учитывать эти ограничения. Для рационального распределения этих ресурсов необходимо знать как отражается изменение затрат на улучшении каждой характеристики качества ПС. Эта взаимосвязь затрат ресурсов и значений каждой характеристики зависит от назначения, а также от ряда свойств и других особенностей комплекса программ, что усложняет учет влияния таких связей. Тем не менее,  выявлены основные тенденции такого взаимодействия, которые могут служить ориентирами при выборе и установлении требований к определенным характеристикам качества в конкретных проектах ПС.

     Основными ресурсами у разработчиков при создании сложных комплексов программ являются: допустимые трудозатраты (стоимость) на разработку ПС с требуемым качеством;  время – длительность полного цикла создания программного продукта; необходимое и доступное число специалистов соответствующей квалификации. Потребность в этих ресурсах в наибольшей степени зависит от размера – масштаба и сложности разрабатываемого ПС. Уточнения размеров ПС и компонентов могут быть решены последовательно к концу детального проектирования,  однако при этом сохраняется неопределенность оценки размера комплекса программ и его трудоемкости порядка 5 –  10%,  связанная с тем, насколько хорошо программисты понимают спецификации, в соответствии с которыми они должны кодировать программу, при этом целесообразно учитывать:

  •  цели оценивания ТЭП должны быть согласованы с потребностями в информации, способствующей принятию решений на соответствующем этапе  проекта ПС;
  •  достоверность оценок  ТЭП должны быть сбалансированы для различных компонентов системы и величина уровня неопределенности для каждого компонента должна быть примерно одинаковой, если в процессе принятия решения все компоненты имеют одинаковый вес;
  •  следует  возвращаться к предшествующим целям оценивания ТЭП и изменять их, когда это необходимо для ответственных бюджетных решений, принимаемых на ранних этапах  и влияющих  на следующие этапы.

  Достаточно трудно оценить объем трудозатрат, необходимых для выполнения задачи, без достоверной информации относительно её размера. Таким образом, измерение размера (сложности) предшествует оценке ТЭП, а эта оценка, в свою очередь, предшествует составлению графика работ.  Недостаточно достоверные оценки влекут проблемы взаимодействия разработчика с заказчиком и увеличивают степень риска проекта.

     Исходные данные реальных завершенных разработок для оценивания ТЭП, собираются,  накапливаются и обрабатываются, с начала 70-х годов в разных отечественных организациях и  за рубежом.  Они позволили получать  и прогнозировать основные обобщенные  ТЭП процессов разработки ПС.  При этом обычно рассматривался полный  технологический  процесс разработки ПС от начала подготовки технического задания  до завершения испытаний базовой версии программного продукта. Учитывались все категории специалистов, участвующих в создании программ и обеспечивающих разработку,  а также все виды  работ,  связанные  с  созданием программного продукта на выделенном интервале времени. Теоретические работы и системный  анализ  до подготовки требований заказчика в значениях ТЭП не учитывались. В общем случае для оценки технико-экономических характеристик новых проектов  необходимы  исходные данные:

  •  обобщенные характеристики использованных ресурсов и технико-экономические показатели завершенных разработок прототипов ПС,  а  также оценки влияния на их характеристики различных факторов объекта и среды разработки;
  •  реализованные и обобщенные перечни выполненных работ,  и реальные графики проведенных ранее разработок различных классов ПС;
  •  цели и содержание частных работ в процессе создания  сложных комплексов программ и требования к их выполнению для обеспечения необходимого качества ПС в целом;
  •  структура и содержание документов,  являвшихся результатом выполнения частных работ.

        В качестве  базового варианта целесообразно принять статистичес-кие данные ТЭП, перечень работ и документов жизненного цикла создания наиболее сложного встроенного комплекса программ реального времени. На основе этих исходных  данных  могут быть оценены ТЭП для полного цикла разработки ПС конкретного вида в более простых случаях путем исключения из базового варианта работ и  документов,  в которых отсутствует необходимость. По оставшимся работам могут быть оценены ТЭП для анализируемых вариантов, и  выбран из  них  предпочтительный. Для технико-экономического анализа  процесса   создания программ важнейшей составляющей являются совокупные трудовые затраты –  трудоемкость на непосредственную разработку ПС.  

  Трудоемкость разработки программных средств наиболее сильно зависит от -
размера – масштаба комплекса программ, выраженного:  числом операторов,-
 строк на языке программирования или функцио-нальных точек (см. стандарт ISO 14143:1-5:1998-2004. Измерение функционального размера).
Реальное изменение создаваемых в настоящее время
сложных ПС от 104 до 107 строк (LOC) определяет диапазон трудоемко-
сти разработки таких программ от человеко-года до десятков
тысяч человеко-лет. Подтверждена по большому числу проектов
высокая статис-тическая корреляция между размером комплексов
программ  и трудоем-костью их разра-
ботки.

    Эффективность затрат при повторном использовании комполнентов (ПИК) и сборке ПС в зависимости от их доли,
зачастую оценивалась путем анализа эквивалентной произво-
дительности труда разработ-чиков и длительности создания ПС. 
 В ряде случаев особое значение имеет не столько использование готовых программных компонентов, сколько перенос баз данных. Информация о процессах, происходящих во внешней среде, может иметь большой объем и трудоемкость первичного накопления и актуализации, что определяет необходимость ее тщательного хранения. Практически всегда необходимо время и трудоемкость на:

  •  первичный системный анализ целесообразности применения ПИК;
  •  поиск, адаптацию и процессы использования готовых компонентов;
  •  оценку затрат с учетом стоимости приобретения и адаптации переносимых программ и баз данных;
  •  интегрирование в новой операционной или внешней среде;
  •  тестирование и испытания компонентов в комплексе с унаследованными программами.

       Для планирования разработки сложных ПС важно знать и использовать экспериментальные статистические распределения основных ТЭП – трудоемкости, длительности и числа специалистов по этапам работ и по реальному времени реализации компонентов проектов. Относительные значения распределения этих величин на интервале реализации крупных проектов несколько различаются в зависимости от размера и типа комплекса программ, однако наибольший интерес представляют сложные встроенные ПС реального времени размером порядка 500 тысяч строк.

    В совокупных затратах на создание полностью новых ПС доминирует  трудоемкость  непосредственной  разработки  программных компонентов.         Распределение необходимой  трудоемкости  на этапы разработки   программ   сложного ПС реального времени представлено в таблице  5.1.  Этап технологической  подготовки  разработки включен в техническое проектирование, а документирование объединено  с  комплексной отладкой. В  распределении  учтены подмножества работ, соответствующие разным категориям специалистов. Все  специалисты  были разделены  на три категории: руководители разработки и системные аналитики; непосредственные разработчики  программных  компонентов  и  специалисты по комплексированию; вспомогательный персонал, обеспечивающий разработку и документирование программ.  Первая и третья категории специалистов непосредственно не взаимодействуют с текстом программ при их отработке, однако их труд является неотъемлемой  частью  всего  процесса разработки  и  в  крупных  проектах составляет около половины  затрат на каждом этапе.

         Основное содержание, размер  и требуемое ка-
чество, создаваемых ПС, практически всегда определяют затраты, 
связанные с их непос-редственной разработкой. Влияние этой части затрат определяет
ся наиболее сложным творческим процессом создания программ,
который зависит от многих факторов. Некоторые из них могут из-
менять затраты даже в несколько раз, но в большинстве
своем изменяют их на десятки процентов. Накопленный
опыт создания ПС и обобщение проведенных исследований позво-
лили выделить четыре основные группы факторов, влияющих на оценки
затрат при непосредственной разработке программ:

  •  факторы, отражающие особенности создаваемого комплекса
    программ,  как объекта разработки, требования к его функциональным ха-
    рактерис-тикам  и к качеству;
  •  факторы, определяющие организацию процесса разработки комп-лексов про-
    грамм и его обеспечение квалифицированными специалистами;
  •  факторы, характеризующие технологическую среду и 
    оснащенность инструментальными средствами автоматизации процесса разработки
    программ;
  •  факторы, отражающие оснащенность процесса создания ПС ап-
    паратурными вычислительными средствами, на которых реализуются комплексы программ и базируются инструментальные системы авто-
    матизации разработки.

  В представленных четырех группах распределены факторы, которые
 наиболее важны при анализе основных затрат на проекты ПС. В эти группы включены факторы, которые могут изменять оценку произ-
во-дительности труда при создании ПС не менее чем на
10% в ту или иную сторону. В то же время имеющийся опыт показывает, что отсутствуют
отдельные факторы или методы, способные изменять на порядок
или более основные ТЭП процесса разработки программ. Боль-
шинство факторов изменяет экономические характеристики разра-
ботки программ на десятки процентов и не более чем в 1,5 раза.
Для оценивания ТЭП ниже в п.п. 5.2 – 5.4  последовательно рассмотрены и рекомендуются  три методики:

  •  Методика  1 – экспертного  технико-экономического  обоснования проектов программных средств при подготовке концепции и технического задания на новый комплекс программ на основе экспертных данных разработки одной строки текста программ – прототипов;
  •  Методика 2оценка технико-экономических показателей проектов программных продуктов с учетом совокупности основных факторов предварительной  модели СОСОМО II  (см. Boehm B.W. et al.  Software cost estimation with COCOMO II. Prentice  Hall PTR.  New Jersey. 2000);
  •  Методика 3уточненная оценка технико-экономических показателей проектов программных продуктов с учетом полной   совокупности факторов детальной модели СОСОМО II.2000 (там же).

        В  качестве  основных критериев выбора методик прогнозирования  ТЭП  разработки  ПС  целесообразно учитывать возможность их использования, как на начальных, так и на более поздних этапах разработки. Для практического применения модели СОСОМО II опубликован пакет прикладных программ и руководство по его применению. Оно иллюстрировано формами экранов и несколькими обширными практическими примерами применения для технико-экономического анализа конкретных проектов сложных комплексов программ.

        Важнейшим фактором при технико-экономическом обосновании, определяющим создание программных средств являются люди –  специалисты, с их уровнем профессиональной квалификации, а также с многообразием знаний, опыта, стимулов и потребностей. Быстрый рост сложности и повышение ответственности за качество комплексов программ привели к появлению новых требований к специалистам, обеспечивающим все этапы жизненного цикла ПС.  При проектировании ПС различных классов, разделение труда специалистов по квалификации при разработке программ и данных, организация коллективов и экономика таких разработок стали важнейшей частью выбора,  обучения и подготовки специалистов  для обеспечения всего ЖЦ ПС (см. лекцию 9).

        В детальной  модели СОСОМО значительное внимание уделено влиянию организации и взаимодействия коллектива разработчиков на трудоемкость создания сложных программных средств. В составе организационных характеристик коллектива рекомендуется учитывать согласованность целей специалистов, участвующих в проекте, их психологическую совместимость и способность к дружной коллективной работе,  наличие опыта работы в данном коллективе и другие объективные и субъективные свойства участников проекта. При этом большое значение может иметь личная мотивация и психологические особенности поведения разных специалистов при комплексной работе над сложным проектом. Эти характеристики могут быть обобщены в качественный показатель влияния сложности взаимодействия специалистов в коллективе, которому сопос-тавлены коэффициенты изменения  трудоемкости разработки ПС. Наилуч-шим считается продолжительное корректное взаимодействие организован-ных специалистов с  большим опытом работы в данном коллективе при полной согласованности их целей, планов и методов работы. При разработке программ большими коллективами значительно  
повышается роль квалификации руководителей разработки, что
непосредственно отражается на средней производительности труда
всего коллектива. Однако формализовать и учесть
влияние руководителя разработки и ведущих специалистов на за-
траты и ТЭП комплекса программ пока трудно.

      Уровень квалификации заказчика и опреде-
ленность технического задания на разработку ПС
 может весьма сильно влиять на суммарные затраты и дли-
тельность создания программ. Изменения технического задания и 
объем переделок непосредственно отражаются на средней произ-
водительности труда специалистов, рассчитанной по конечному размеру
 созданного комплекса программ. Особенно сильно на достоверность техни-
ческого задания и возрастание затрат влияет попытка заказчика
форсировать сроки разработки. При этом первоначальное техниче-
ское задание оказывается недостаточно квалифицированным и под-
вергается в дальнейшем многократным изменениям. Этому же может способствовать различие между заказчиком и 
разработчиком в квалификации, уровне понимания целей разра-
ботки и необходимых затрат на реализацию дополнительных тре-
бований.

      При проектировании и создании высококачественных комплексов программ, прежде всего, необходима организация и тесное взаимодействие представителей заказчика и разработчиков проекта. Взгляды и требования заказчика, в основном, отражаются в функциональных и потребительских характеристиках ПС. Устремления разработчиков направлены на возможность и способы их реализации с требуемым качеством. Эти различия исходных точек зрения на проект приводят к тому, что некоторые неформализованные представления тех и других имеют зоны неоднозначности и взаимного непонимания, что может приводить к конфликтам.            

        Затраты и труд специалистов при реализации крупномасштабного проекта ПС можно распределить по двум категориям специалистов: разрабатывающим компоненты и ПС в целом и обеспечивающим технологию и качество программного продукта (см. лекцию 9).  Организационное разделение специалистов, осуществляющих разработку ПС (первая категория), и специалистов, контролирующих и управляющих его качеством в процессе разработки и всего ЖЦ (вторая категория), должно обеспечивать эффективное достижение заданных характеристик, а также независимый, достоверный контроль затрат и качества результатов разработки.

         Затраты на технологию и инструментальные программные средства автоматизации разработки ПС  обычно являются  весьма  весомыми  при использовании высокоэффективных автоматизированных технологий. При технико-экономическом обосновании проекта следует учитывать, что размер и сложность создаваемого ПС значительно влияет на выбор инструментальных средств и уровня автоматизации технологии, а также на долю этих затрат в общих затратах на разработку. Встречаются ситуации, при которых затраты на технологию достигают 30 50%  общих затрат  на разработку. Такие затраты могут быть оправданы повышением производительности труда, сокращением сроков  разработки  и  последующим  снижением  затрат на множество базовых версий ПС. Однако чаще всего эта группа затрат  при  создании первой  версии сложных ПС находится в пределах 30% от суммарных затрат. В первом приближении  степень  автоматизации  разработки программ  отражает  размер программных средств, используемых в технологических системах. Этот показатель  соответствует сложности  систем автоматизации разработки программ и пропорционален затратам на их приобретение (или создание) и эксплуатацию.

       Стремление уменьшить технологические затраты в период разработки без учета последующего  использования  ПС,  его  компонентов и всего жизненного цикла может оказаться мало полезным,  а в некоторых случаях привести  к  значительному увеличению совокупных затрат в ЖЦ. При применении сложных ПС эти затраты исчисляются сотнями человеко-лет, что определяет  особую  актуальность  их снижения.  Поэтому необходим системный анализ распределения  и использования  технологических ресурсов на разработку программ с учетом всего их жизненного цикла, включая сопровождение и возможный перенос на другие платформы.

       Уровень автоматизации и качество технологии и инструментальных средств, используемых для поддержки всего жизненного цикла ПС, обычно сильно коррелирован с достигаемым качеством комплексов программ, а также с качеством средств автоматизации для оценивания  этого качества. Поэтому определение уровня зрелости технологической поддержки процессов жизненного цикла, организационного и инструментального  обеспечения качества ПС, непосредственно связано с выбором и оцениванием реальных или возможных характеристик качества конкретного комплекса программ. В модели СОСОМО для оценивания технико-экономических показателей при разработке ПС рекомендуется методология  сложных программных средств СММсистема и модель оценки зрелости комплекса, применяемых технологических процессов жизненного цикла ПС (см. лекцию 3).  Эти уровни зрелости  характеризуются степенью формализации, адекватностью измерения и документирования процессов и продуктов ЖЦ ПС, широтой применения стандартов и инструментальных средств автоматизации работ, наличием и полнотой реализации функций системой обеспечения качества технологических процессов и их результатов. В модели СОСОМО приводятся количественные рекомендации коэффициентов влияния уровней зрелости СММ на трудоемкость реализации сложных проектов ПС.  Влиянию технологической зрелости разработки ПС  в детальной модели СОСОМО сопоставлены уровни СММ, для каждого из которых приводятся коэффициенты изменения  трудоемкости разработки.

       Для приближенной оценки влияния на трудоемкость  некоторых характеристик процессов разработки  ПС, в детальной модели СОСОМО выделена небольшая группа показателей и соответствующие им наборы рейтингов. Инструментальные системы,  поддерживающие разработку, описаны качественными характеристиками и рейтингами, изменяющими трудоемкость в пределах приблизительно 20%  от средней – номинальной. Уровень технологии и комплекса инструментальных средств особенно сильно влияет на ТЭП крупных проектов ПС. Поэтому затраты на их реализацию и применение, целесообразно учитывать конкретно с использованием функций и характеристик  проекта.  

        В модели и таблицах отмечено значительное влияние на трудоемкость ПС директивного ограничения сроков разработки относительно типовых – номинальных. При ограничении сроков,  сокращению трудоемкости может сопутствовать значительное снижение качества ПС и увеличение рисков реализации проекта. Для уменьшения сроков разработки есть ряд путей, с помощью которых руководство может добиваться некоторого ускорения разработки за счёт увеличения трудоемкости и стоимости проекта, для чего рекомендуется:

  •  обеспечить детальные структурирование комплекса программ на модули и спецификации интерфейса для обеспечения максимального параллелизма работы специалистов;
  •  приобрести и освоить технологические, инструментальные средства для более быстрого кодирования, контроля и тестирования и обучить разработчиков их использованию;
  •  обеспечить дополнительную подготовку программистов и группы тестирования к работе в тематической  области функций проекта;
  •  привлечь дополнительный вспомогательный персонал;
  •  отложить на время не существенное документирование проекта.

     Тем не менее, есть предел сокращению сроков разработки с по-
мощью увеличения числа специалистов и приобретения оборудования. При максимально возможном сокращении сроков разработки до 75% от оптимального, затраты возрастают на 25%.

       При разработке комплексов программ систем реального времени большие затраты могут потребоваться для обеспечения тестирования и испытаний ПС, которые непосредственно не учитываются моделью СОСОМО.  Основные усилия сосредотачивались на процессах программирования и автономной отладки компонентов.  На этих этапах выявлялась основная масса дефектов и ошибок,  хотя при  использовании  ПС  и сопровождении обнаруживалось некоторое их количество.  В последнее время центр тяжести разработки сложных ПС сдвинулся к начальным  этапам  и внимание акцентировано на предотвращение ошибок, прежде всего путем тщательного системного проектирования ПС из готовых программных компонентов, а также на комплексной отладке и испытаниях в реальном времени.

       Этапы комплексной отладки,  испытаний и модификации программ имеют много общего, в основе которого лежит широкое применение их тестирования для обнаружения ошибок и удостоверения функциональной корректности ПС. Разработка детерминированных тестов при отладке модулей и некоторых групп  программ  в  большинстве  случаев производится вручную.  Однако  их доля  может  составлять  заметную  часть общих затрат на отладку компонентов. Достаточно автономными и локализуемыми обычно являются  затраты  на стохастические тесты и тесты в реальном времени, используемые при комплексной отладке и  испытаниях (см. лекцию 14).

       При технико-экономическом обосновании проектов комплексов программ,  на оценку трудоемкости их разработки может оказать существенное влияние ограниченность вычислительных ресурсов специализированных, реализующих ЭВМ реального времени. Это привело к необходимости разрабатывать методы эффективного использования аппаратных ресурсов ЭВМ. Одним из важнейших и наиболее общих показателей, характеризующих возможность применения таких ЭВМ, является их производительность для конкретных задач реального времени. При этом существенным ограничивающим фактором  являются длительность, в течение которой ЭВМ может быть предоставлена для решения данной задачи, или то реальное время, в пределах которого целесообразно получить результаты для их практического использования. При ограничениях ресурсов вследствие требований минимизации весов и габаритов  специализированных, реализующих ЭВМ в авиационных, ракетных и космических системах,  их экономное использование остается актуальным и следует учитывать при обосновании соответствующих проектов ПС.

        Быстрый
рост в мире масштабов  размеров комплексов программ и баз данных
, решающих единую целевую задачу, потребовал создания но-
вых, более эффективных методов разработки слож-
ных систем. Возникла проблема разработки
функционально законченных ПС и БД и их компо-нентов, потенци-
ально  готовых к многократному применению в различной внешней
и операционной среде, а также в различных сочетаниях их взаимодейс-
твия. Унификация всегда требует некоторых ресурсов, которые в дан-
ном случае, выражается в дополнительной трудоемкости создания повторно используемых -
программ и данных, а также в увеличении необходимой па-
мяти и производительности ЭВМ для их реализации.
Сохранение и развитие довольно широкого спектра архитектур ЭВМ, 
естественно привело к повторному использованию компонентов (ПИК) не
только на однотипных платформах, но и к разработке ПС и БД, пере-
но-симых на различные  аппаратные и операционные платформы. При этом, выделились две технологические проблемы:

  •  создание программных компонентов и баз данных, которые рентабель-но повторно применять и/или переносить на различные операционные и аппаратные платформы;
  •  проблема реализации повторного использования и/или переноса ПС и БД для создания из них новых систем на иных платформах.

    Увеличение затрат при решении первой проблемы должно
компен-сироваться сокращением затрат при создании комплексов
программ и баз данных на базе готовых компонентов.
Освоение методов и средств решения этих проблем позволило ка-
чественно изменить процессы созда-ния сложных комплексов программ и резко повысить производитель-ность труда специали-
стов при их разработке. Это активизировало в последние годы ин-
терес к проблеме мобильности программ и данных во всех отрас-
лях применение вычислительной техники. Создание новых ПС и 
БД путем переноса их с других аппаратных и операционных плат-
форм стало особенно актуальным для современных административных
систем государственного и регионального управ-
ления,  управления отраслями и предприятиями, а также банковс-
кими системами и в социальной сфере.

      На практике, при создании нового ПС, не всегда имеется полный набор готовых, и пригодных для применения программных компо-нентов. Тогда при сборке версии ПС может потребоваться
доработка отдельных компонентов, их сопряжение в новых соче-
таниях,  и создание новых программ для решения дополнительных
задач. Поэтому целе-сообразно оценивать трудоемкость сборочного
программирования с учетом частичных затрат на  новые компо-
ненты.  Относительное снижение трудоемкости разработки в первом
приближении пропорционально доле готовых ПИК. В пределе
при создании базовой версии ПС полностью из многократно при-
меняемых готовых компонентов, трудоемкость может
сократиться в 3  5 раз. В промежуточных случаях, когда готовые
компоненты используются частично, оценку изменения трудоем-
кости можно провести по степени сокращения затрат на про-
граммирование и автономную отладку всех необходимых компо-
нентов.  

 

  5.2. Методика 1 – экспертное  технико-экономическое             обоснование проектов программных средств   

     

      В этой методике  реализован метод  прогноза ТЭП  с учетом экспертной оценки минимального числа факторов. Данная методика  оценки ТЭП может применяться, когда определены цели и общие функции проекта ПС, сформулированные в концепции и первичных требованиях с достоверностью около 20 – 40% . Основная цель оценки ТЭП – подготовить возможность принять обоснованное решение о допустимости дальнейшего продвижения проекта в область системного анализа, разработки требований и предварительного проектирования. Если оказывается, что рассчитанные технико-экономические показатели и требуемые ресурсы не могут быть обеспечены для продолжения проекта, то возможны кардинальные решения: либо изменение некоторых ТЭП и выделяемых ресурсов, либо прекращение проектирования данного ПС. Учитывая полноту и достоверность доступных характеристик и требований к проекту ПС должны быть определены цели и возможная достоверность технико-экономического обоснования продолжения проектирования ПС.

      При первичном технико-экономическом обосновании сложных проектов  ПС, составляется  таблица 5.2  – исходными, для которой являются   концепция проекта ПС и комплекс предварительных требований к иерархическому набору функций, которые могут быть разбиты на предполагаемые фактические компоненты ПС. В дальнейшем разбиение может детализироваться, формируя упрощенный или более точный уровень абстракции и взаимодействия компонентов. Наиболее низкий и глубокий уровень детализации, как правило, редко формируется ко времени первоначальной экспертной оценки размера ПС.

Эти факторы могут быть оценены квалифицированными экспертами на основе имеющегося у них опыта реализации предшествовавших подобных проектов, а также использования опубликованных данных. При наличии необходимых данных важно оценить их достоверность и возможную точность (20 – 40%).  Наименее точный из перечисленных факторов полностью определяет достоверность расчета технико-экономических показателей проекта ПС, поэтому желательно, чтобы значения точности экспертного оценивания перечисленных факторов были сбалансированы.

При наличии перечисленных исходных данных и  положительной оценке целесообразности экспертного  анализа ТЭП проекта может реализовываться методика, состоящая из следующих шагов:

  •  определение класса, сложности функций проекта программного средства;
  •  экспертная оценка размера – масштаба, числа строк предполагаемого текста разрабатываемых программ, с учетом размера повторно используемых компонентов и характеристик возможного языка программирования;
  •  экспертная оценка возможной средней производительности труда специалистов при разработке программ и/или стоимости (и длительности) разработки одной сроки текста программ проекта ПС;
  •  расчет возможной полной трудоемкости и длительности разработки проекта ПС, а также среднего числа специалистов, необходимых для его реализации;
  •  обобщение основных технико-экономических показателей и полной стоимости разработки проекта ПС, анализ результатов и технико-экономи-ческое обоснование рентабельности продолжения проектирования комплекса программ.

      Достоверность прогнозов ТЭП зависит, прежде всего, от точности экспертной оценки исходных данных: размера – масштаба ПС и от достоверности экспертной оценки производительности труда специалистов или оценки стоимости разработки одной строки текста программ (см. таблицу 5.2).  Кроме того,  экспертные оценки зависят от компетенции и объективности экспертов, их оптимистичности, пессимистичности, знания существенных особенностей проекта.

      Экспертная оценка размера проекта программного средства наиболее сложная задача в этой методике. Приступая к разработке комплекса программ, как в любой профессиональной деятельности, необходимо сначала провести реалистическую оценку возможного масштаба проекта – поставленных целей, ресурсов проекта и выделенного времени.  Задача управления масштабом состоит в задании базовых требований, которые включают разбитое на компоненты ограниченное множество функций и требований, намеченных  для реализации в конкретной версии  проекта. Базовый уровень масштаба должен обеспечивать:

  •  приемлемый для заказчика минимум функций и требований к проекту;
  •  разумную вероятность успеха с точки зрения возможностей и ресурсов коллектива разработчиков.

При оценивании масштаба следует определить приоритеты функций для установления состава работ, согласованного между заказчиком и разработчиком, которые обязательно должны быть выполнены и для определения базового уровня масштаба конкретного проекта с допустимым риском неуспешной  реализации. Сокращение масштаба проекта до размеров, адекватных выделенному времени и ресурсам, может привести к конфликтам заказчиков и разработчиков. Для уменьшения вероятности таких конфликтов целесообразно активно привлекать заказчиков к управлению их требованиями и масштабом проекта, чтобы обеспечить как качество, так и своевременность разработки ПС.

      Экспертные оценки удельных затрат на строку текста программ относятся к полному циклу разработки крупных комплексов программ, начиная от создания концепции и требований до завершения испытаний и передачи программного продукта заказчику или пользователям, с учетом всего состава коллектива специалистов всех квалификаций. По мнению некоторых специалистов, несмотря на появление новых методов и инструментальных средств разработки сложных ПС, средняя производительность при их создании за последние двадцать лет осталась почти неизменной и составляет около 3000 строк кода на одного разработчика проекта в год (порядка 250 строк на человеко-месяц). Это отражает то, что уменьшение времени, затрачиваемого на цикл разработки, не может быть достигнуто за счет значительного повышения производительности труда отдельных специалистов. Причем это практически не зависит от усовершенствований языка программирования, организационных усилий со стороны менеджеров, от наличия или отсутствия некоторых отдельных видов инструментария и автоматизации работ, хотя значительную роль играет увеличившаяся доля повторно используемых компонентов (ПИК). На самом деле при достаточно высоком уровне технологии (3 – 4 уровень СММ – см. лекцию 3) большое значение имеет возросший размер и сложность состава функциональных задач комплексов программ, а также значительное повышение требуемого качества создаваемых ПС.    

       В качестве ориентиров при экспертной оценке ТЭП, для таблицы 5.2  можно использовать следующие данные средней трудоемкости разработки сложных комплексов программ. Весьма общие данные опубликованы в виде широких диапазонов производительности труда: для относительно простых ПС – 8 LOC  на человеко-день, и 4 LOC на человеко-день для достаточно сложных ПС. Так же приводятся широкие диапазоны производительности труда при разработке программ на ассемблере – 60 – 500 LOC на человеко-месяц,  и 50 – 300 LOC на человеко-месяц для языков высокого уровня. Подобные оценки можно использовать как ориентиры при первичных определениях ТЭП.

 Более точные оценки производительности при разработке программ различного размера и классов на основе обобщения статистических данных множества проектов представлены в базовой модели СОСОМО:

  •  для программ административных систем (ИПС) размером порядка 30 тысяч строк оценка производительности составляет около 220 строк на человеко-месяц, а для ПС размером 500 тысяч строк – 160 строк на человеко-месяц;
  •  для встроенных комплексов программ реального времени размером 30 тысяч строк рекомендуется для оценок использовать производительность около 140 строк на человеко-месяц, а для крупных ПС размером 500 тысяч строк предлагается значение производительности около 80 строк на человеко-месяц.

     Эти данные находятся в середине представленных выше диапазонов и их целесообразно использовать при экспертной оценке полной трудоемкости разработки соответствующих новых ПС. При использовании готовых повторно используемых компонентов обобщенная производительность труда возрастает и зависит от доли таких компонентов в комплексе программ. Их также можно использовать для оценки полной стоимости проекта конкретного ПС. Однако при этом необходимы удельные данные средней стоимости труда одного человеко-месяца специалистов в конкретном предприятии с учетом всех накладных расходов, которые могут различаться в несколько раз. Такие сведения обычно являются коммерческой тайной, и при использовании данной методики для определенного проекта ПС,  их следует запрашивать у экономических служб конкретного предприятиям.  Тем не менее, опубликованы ориентиры стоимости разработки одной строки текста программ реального времени  около  100$ и более,  а для административных систем около  20$ – 50$.   

       Экспертная оценка длительности разработки  сложных ПС (таблица 5.3),  может базироваться на формулах  модели СОСОМО (см. п. 5.3).   Основой для расчета длительности целесообразно использовать  рассчитанную ранее трудоемкость разработки проекта ПС, от которой не линейно зависит длительность (месяцы) приблизительно равная трудоемкости (человеко-месяцы) в степени 0,3. Например, крупные проекты ПС реального времени размером около 500 тысяч строк требуют для реализации около 3,5 лет, а небольшие (30 тысяч строк) – около одного года. При этом следует учитывать,  что необходимая численность коллектива специалистов изменяется в десяток раз.

        Экспертная оценка необходимого числа специалистов всех квалификаций рассчитывается путем деления полной трудоемкости разработки ПС на длительность её реализации. Для примера крупного проекта ПС реального времени,  размером 500 тысяч строк,  необходимое число специалистов достигает 160 человек, а для относительно небольшого проекта (30 тысяч строк) – в десять раз меньше (16 человек).  Аналогично  можно получить оценки необходимого числа специалистов на выделенных крупных этапах разработки ПС, что полезно для первичного формирования коллектива и оценки возможности реализации им конкретного проекта ПС (см. таблицу 5.1).  

          

5.3. Методика 2 – оценка технико-экономических показателей              проектов программных продуктов с учетом совокупности факторов                 предварительной модели СОСОМО II

        В СОСОМО II для оценки ТЭП представлены две  модели – для этапов предварительного и детального проектирования  (см. Boehm B.W. et al.  Software cost estimation with COCOMO II. Prentice  Hall PTR.  New Jersey. 2000).   Предварительная модель предназначена  для анализа общих,  архитектурных  решений и выработки стратегий последующей разработки при начальных сведениях  о содержании предварительного проекта. Детальная модель рекомендуется для применения при разработке наиболее сложных и дорогих  систем, когда требуется  тщательный учет ряда факторов, влияющих на оценку стоимости на уровне технического проекта ПС. В обеих моделях исходным и, определяющим достоверность прогнозов, является размер комплекса программ (с учетом повторно используемых компонентов) и совокупность набора влияющих факторов.  

        На этапе предварительного проектирования комплекса программ, после утверждения требований и концепции проекта, повышается достоверность данных о функциях, спецификациях, компонентах и структуре разрабатываемого ПС. Это позволяет, прежде всего, более точно оценить размер – масштаб ПС и возможность использования готовых программных компонентов из других аналогичных проектов.  Если достоверность оценки размера ПС достигает 15 – 20%,   то при определении ТЭП,  целесообразно сбалансировано выделять и учитывать факторы,  влияние которых на трудоемкость и стоимость достаточно велико,  и составляет также около 20%.  Таких  факторов может быть около 5 – 10,   и их число зависит от конкретных характеристик объекта и среды разработки ПС.  При технико-экономическом обосновании проекта ПС на этом этапе, состав и номенклатура  учитываемых факторов должны выбираться путем включения в анализ,  тех факторов, которые достаточно влияют на ТЭП конкретного проекта.

        Так как величина и достоверность определения  размера проекта ПС ключевой фактор последующего технико-экономического анализа, то целесообразно применять несколько доступных методов для его оценивания. Конкретизация функций, структуры ПС и состава компонентов проекта позволяет более достоверно определить размеры групп программ и, суммируя их, рассчитать размер всего комплекса программ. Кроме того, на этом этапе повышается возможность выбора и использования аналогов данного проекта, так как становятся более определенными задачи, функции и компоненты разрабатываемого ПС, для,  которого желательно найти аналоги с известными апробированными характеристиками. Особенно сильно на ТЭП влияет использование готовых компонентов из предшествующих разработок. При анализе аналогов могут быть выделены компоненты, пригодные для повторного применения в новом проекте. Это позволяет оценить возможную долю использования готовых компонентов и тем самым определить эквивалентный размер комплекса программ, подлежащий непосредственной разработке.  

       Для трех классов комплексов программ в предварительной модели СОСОМО II), представлены
коэффициенты для расчета зависимости трудоемкости разработки про-
грамм С  (человеко-месяцы) от их объемов – П (тысячи строк текста)  (таблица 5.4). Для аппроксимации зависимости
трудоемкости от размера ПС, рекомендуется использовать степенную функцию вида:

                                                С = А × П  Е 
.                           (5.1)

            

        При разработке ПС большого размера-
, должна возрастать сложность разработки по сравнению с ПС
 малого объема, так как в больших программах существенно усложняются взаимосвязи компонентов по информации и управлению, а также становятся более трудоемкими процессы планирова-
ния и управления проектом в ходе разработки. Выдвинутая гипо-
теза,  о возрастании трудоемкости разработки с ростом размера ПС 
быстрее, чем по линейному закону, справедлива, если показатель
степени в уравнении регрессии Е > 1. -
В ряде работ  определены коэффициенты А и Е в урав-
нениях степенной регрессии, показывающие характер зависимости  
трудоемкости от размера ПС. В таблице 5.4. представлены значения коэффициентов регрессии для моделей СОСОМО для трех основных классов проектов программных средств. Выражение (5.1) с использованием этих коэффициентов и значений размера ПС – П в тысячах строк ассемблера рекомендуется для прогнозирования трудо-емкости полной разработки в человеко-месяцах.     

    Длительность разработки программных средств-
является важнейшим ТЭП-
, поскольку часто она определяет общие
сроки разработки систем, а значит, быстроту
реализации идей в различных областях автомати-
зации. При определении коэффициентов в таблице 5.5
за начало разработки ПС принят момент начала создания
технического задания, а за окончание – завершение -
испытаний программного продукта в целом
.  Диапазону размеров современных ПС в три-четыре порядка
(до 10 млн. строк) соответствуют приблизительно такие же диа-
пазоны изменения трудоемкости и стоимости их разработок.  Од-
нако,  очевидна принципиальная нерентабельность разработки да-
же очень сложных ПС более 5 лет. С другой стороны, программы даже в несколько тысяч строк по полному технологическому
циклу с испытаниями как продукции - редко создаются за время, меньшее, чем полгода--
год. Таким образом, вариация длительностей разработок ПС  -
меньше, чем вариация их трудоемкости, и не превышает деся-
тикратный диапазон. Длительности разработок – Т ограничены
сверху и снизу, и одним из основных факторов, определяющих эти
границы, является масштаб комплекса программ  П. 

      Чтобы сократить ошибки, связанные с неопределенностью из-
мерения размера программ, исследована зависимость длительно-
сти разработки от ее трудоемкости. Учитывалась толь-
ко трудоемкость непосред-ственной разработки программ С без
затрат на средства автоматизации разработки-
. Обработка тех же, что выше, наборов данных позволила полу-
чить коэффициенты уравнения регрессии представленные в таблице 5.5.  Обобщенные данные длительности разработки  Т по классам комплексов программ аппроксимиро-
ваны уравнениями регрессии  по методу наименьших
квадратов в зависимости от размера ПС и от трудоемкости их раз-
работки:     

            Т  = G × С  H .                                                                     (5.2)

   

Установлено
, что длительность разработки ПС меньше подвергается
изменениям при автоматизации разработки или другими метода-
ми, чем трудоемкость или производительность труда.  Необходи-
мость выполнения при разработке ПС определенной совокупности
этапов и операций в заданной технологической последовательнос-
ти остается более или менее постоянной при различных воздейст-
виях на процесс разработки. Исключением является применение повторно используемых компонентов (
ПИК), при котором значительно  сокращаются этапы  программи-
рования и автономной отладки модулей и групп программ, а так-
же в той или иной степени длительность других этапов..
Поэтому зависимость T , от доли ПИК оказывается нелинейной,
и заметное сокращение длительности разработки проявляется
только при создании базовой версии ПС практически полностью
из готовых компонентов.

     Оценка требуемого среднего числа специалистов для конкретного проекта ПС предварительно может быть рассчитана путем деления оценки величины трудоемкости разработки (5.1) на длительность разработки (5.2). Однако рациональное число специалистов, участвующих в проекте ПС распределяется не равномерно по этапам работ (см. таблицу 5.1).   Поэтому целесообразно определять число и квалификацию необходимых специалистов с учетом этапов разработки комплексов программ. Обобщенные значения предварительного расчета ТЭП  целесообразно оформлять в виде таблицы 5.3, где оценки представляются также с учетом пессимистических и оптимистических результатов определения масштаба проекта комплекса программ.  

   Для  учета  влияния на трудоемкость  различных факторов удобно пользоваться коэффициентами (рейтингами) изменения   трудоемкости (КИТ)    М (i),  учитывающими зависимость  от i-го фактора на совокупные затрат труда.  В них входят  факторы  процесса непосредственной разработки,  факторы программной и аппаратурной оснащенности, а также квалификация специалистов (таблица 5.6). Затраты на  разработку  С  и объем программ П  могут быть связаны через показатель интегральной средней производительности труда  разработчиков  Р.  Непосредственно затраты на разработку можно представить как частное от размера ПС и производительности труда Р = 1 / А, корректируемой произведением коэффициентов изменения трудоемкости (КИТ М (i) ) :

          

             П Е 

    C =   ×  М  (i)  =  А × П Е ×  М  (i) .                            (5.3)

             Р        i                                    i

   

    Средняя производительность труда коллектива специалистов при разработке сложного полностью нового комплекса программ  Р  в выражении (5.3) может служить ориентиром для сравнения эффективности труда при создании различных проектов ПС. Эта характеристика,  конечно, различается для различных классов, размеров и других параметров комплексов программ, однако диапазон этих различий не столь велик как изменения размера и требований к качеству. Так при диапазоне изменения размеров программ реального времени на четыре порядка средняя производительность труда изменяется только в два раза, что в ряде случаев существенно облегчает упрощенные оценки и прогнозирование ТЭП.

В предварительной модели СОСОМО II при достаточной достоверности определения масштаба ПС рекомендуется в выражении (5.3) учитывать семь факторов М (i), представленных в таблице 5.6. Для каждого из них в таблице 5.7 приведены значения рейтингов  (коэффициентов изменения трудоемкости), которые целесообразно использовать при выборе определенного содержания факторов конкретного проекта ПС, а также свободный столбец для выбранных значений. Результаты уточненного расчета трудоемкости проекта ПС по формуле (5.3) следует использовать для последующего определения длительности (выражение 5.2) и требуемого среднего числа специалистов.

5.4. Методика 3 – уточненная оценка технико-экономических                          показателей проектов программных продуктов с учетом полной   совокупности факторов детальной модели СОСОМО II.2000

         При детальном проектировании  возможно значительное повышение точности определения размера – масштаба проекта комплекса программ.  Последовательная детализация и конкретизация проекта ПС позволяет уточнять его будущий размер и привлекать для расчета трудоемкости большее число факторов, способных повысить точность прогноза всех ТЭП. Разработка полного содержания  спецификаций функций и структуры программных компонентов,   их взаимодействия и интерфейсов, а также архитектуры всего комплекса программ и базы данных,  обычно позволяют повысить точность определения  размера ПС, приблизительно на 10%.   Поэтому при расчете трудоемкости разработки при прогнозировании целесообразно выбирать и учитывать влияние ряда дополнительных факторов  из  таблицы 5.8,  которые не оценивались в методиках 1 и 2,  вследствие их относительно меньшего влияния.

       Таких дополнительных факторов обычно может быть выделено около 10, которые целесообразно рассматривать и учитывать при оценках,  если он способен изменить трудоемкости разработки конкретного проекта на  5 – 10%.  Анализ,  выбор и оценивание коэффициентов  влияния F ( j ) и      М ( i ),  этих дополнительных факторов довольно сложный процесс.  Он оправдан,  когда совместное влияние совокупности этих дополнительных факторов может изменить оценки трудоемкости на 10 – 20%.   В результате расчет трудоемкости несколько усложняется,  однако процессы последующего расчета длительности разработки и необходимого числа специалистов практически не изменяются. В целом,  процессы методики 3 технико-экономического обоснования проекта ПС с учетом ряда дополнительных факторов,  практически не отличается от предыдущей предварительной методики 2,  однако требуется более тщательное определение размера комплекса программ, и оценивания влияния на трудоемкость разработки большего числа факторов.

        Для более точного технико-экономического обоснования проектов ПС при детальном проектировании обычно целесообразно учитывать влияние ряда дополнительных факторов из четырех групп позволяет повысить достоверность прогнозирования технико-экономических показателей ПС до уровня около 5 – 10%.  В детальной модели СОСОМО II  влияние на трудоемкость определяют 22 фактора, из которых пять – масштабные факторы, характеризуются множителем F ( j ) в значении степени размера ПС,  а  17  множителей  M ( i ) непосредственно изменяют трудоемкость разработки. Перечень, максимальные значения и содержание этих множителей представлено в  таблице 5.8. При этом номинальными (средними) ниже принимаются все M ( i ) = 1,00,  при которых соответствующий фактор практически не влияет на трудоемкость ПС.

       Для выполнения оценок трудоемкости разработки (человеко-месяцы) в детальной модели СОСОМО II предложены выражения, уточняющие зависимости, представленные выше в п. 5.3:                                      

                                                          n                                                        

         C =  А × П E   ×     M ( i  )  ,                                                       (5.4)

                                  i  = 1                                                                                                                                                                                         

                                                             5

        где:    А = 2,94;   E = B + 0,01×  F ( j );    B = 0,91.                

                                                           j = 1        

     Для прогнозирования   длительности (месяцы) разработки ПС рекомендуются выражения:                                                                            

         

         Т =   G × С H ,                                                                           (5.5)

                                                                                

        где:     G = 3,67;

                                              5    

         H  = D + 0,02× 0,01×  F (j) = D +  0,02×(EB) ;     D = 0,28.  

                                            j = 1      

        В модели СОСОМО II поддерживаются вероятностные диапазоны оценок, представляющие одно стандартное отклонение на фоне наиболее достоверных оценок. При использовании представленных выражений для прогнозирования ТЭП конкретных проектов следует выбирать набор факторов (калибровать модель), имеющих наибольшие значения коэффициентов изменения трудоемкости (КИТ) F ( j )  и  M ( i )  в соответствии с характеристиками конкретного проекта и среды разработки и вставлять выбранные значения в таблицу 5.8. Значения этих коэффициентов и уровни оценок их влияния на трудоемкость по основным выделенным группам факторов представлены в  модели СОСОМО II.  

Заказчик может заказать разработку специальным образом калиброванной версии коэффициентов в формулах (5.4) и (5.5), которая должна более точно отражать  применяемые технологические процессы, особенности и возможности проекта ПС, чем в методике 2 . При калибровке модели СОСОМО II последовательно выполняются следующие процедуры для конкретного проекта:

  •  выбирается набор факторов  M ( i ) , оказывающих наибольшее вли-яние на прогнозируемую трудоемкость проекта ПС;
  •  устанавливаются значения масштабных факторов F ( j );
  •  для каждого из выбранных факторов производится оценка коэффициента изменения трудоемкости для анализируемого проекта ПС.

       Выбор состава и оценку факторов,  влияющих на ТЭП конкретного проекта ПС предварительно целесообразно проводить по шагам при калибровании модели СОСОМО II  на основе совокупности 22 факторов из таблицы 5.8.  Первоначально должна производиться оценка коэффициентов влияния пяти групп факторов  F ( j ). В  выражениях (5.4), (5.5) значения  M ( i ) отражают коэффициенты влияния  i -ых факторов на трудоемкость разработки ПС, которые первоначально (все n ) считаются равными единице. Предварительный расчет трудоемкости и длительности разработки ПС при M ( i ) = 1 может служить уточненным ориентиром, так как он базируется на более точном значении размера проекта комплекса программ и более адекватных значениях основных коэффициентов, чем в методике 2.       

        Выбирать и учитывать следует те факторы,  коэффициенты влияния которых на трудоемкость в конкретном проекте,  имеют достаточную величину, сбалансированную с точностью определения размера комплекса программ или превышают её. Эти факторы можно разделить на две группы, которые существенно различаются по степени влияния на трудоемкость разработки ПС. В первую группуF ( j ) следует включать, кроме размера и доли повторно используемых компонентов, совокупность факторов, которые способны изменять трудоемкость в несколько (до 3 – 5)  раз:

  •  новизну проекта комплекса программ;
  •  необходимую степень согласованности проекта с требованиями   технического задания;
  •  наличие управления рисками и архитектурой проекта;
  •  уровень обобщенной слаженности и организованности коллективной разработки проекта;
  •  уровень обеспечения и оснащения технологии разработки по оценке СММ.

       Вторую группуM ( i ) следует выбирать из совокупности перечисленных в таблице 5.8 семнадцати факторов, таких которые в конкретном проекте могут повлиять на изменение трудоемкости разработки на 10 – 20%, соизмеримое с точностью оценок размера ПС:

  •  требования надежности ПС;
  •  требования степени соответствия документации программному продукту;
  •  тематическая квалификация специалистов;
  •  технологическая квалификация проектировщиков и программистов;
  •  стабильность состава коллектива разработчиков;
  •  ограничения ресурсов объектной ЭВМ реального времени;
  •  стабильность требований заказчика к задачам и функциям ПС.

    Остальная совокупность около десяти факторов модели СОСОМО II обычно может изменять трудоемкость проекта менее чем на 10% и их не целесообразно учитывать в процессе детального проектирования, когда точность оценивания размера проекта ПС может составлять около 10%.

   Обобщенные оценки технико-экономических показателей проекта ПС целесообразно представлять в виде таблиц с указанием достоверности оценок результатов расчетов. На основе анализа результатов и оценивания рассчитанных характеристик следует выполнять заключительное технико-экономическое обоснование проекта ПС и определять:

  •  целесообразно ли продолжать работы над конкретным проектом ПС в направлении детализации требований, функций и технико-экономических характеристик или следует его прекратить, вследствие недостаточных ресурсов специалистов, времени или возможной стоимости и трудоемкости разработки;
  •  при наличии достаточных ресурсов, следует ли провести маркетинговые исследования для определения рентабельности полного выполнения проекта ПС и создания программного продукта для поставки на рынок;
  •  достаточно ли полно и корректно формализованы концепция и требования к проекту ПС,  на основе которых проводились расчеты ТЭП, или их следует откорректировать и выполнить повторный анализ с уточненными исходными данными;
  •  есть ли возможность применить готовые повторно используемые компоненты ПС, в каком относительном размере от всего комплекса программ, и рентабельно ли их применять в конкретном проекте ПС или весь проект целесообразно разрабатывать как полностью новый.  


 

А также другие работы, которые могут Вас заинтересовать

63967. Применения гомеопатических средств в терапии некоторых заболеваний в современных условиях 115.69 KB
  Актуальность работы заключается в том что на современном этапе развития медицины все большее внимание уделяется гомеопатии как одному из старейших течений в медицине не раз доказывавших свою действенность и возможности в терапии некоторых заболеваний которыми не может похвастаться современный метод лечения.
63969. Установка и настройка программы управления компьютерным классом в «Пермском Радиотехническом Колледже А.С. Попова» 1.98 MB
  Для достижения поставленной цели, в ходе выполнения работы необходимо решить следующие задачи: исследование актуальности установки программы управление компьютерным классом; выбрать наиболее подходящую программу; установка и настройка программы в компьютерном классе колледжа...
63970. Повышению эффективности социальной работы ГКУ АО «Центр социальной поддержки населения Кировского района города Астрахани» 8.91 MB
  Тема дипломной работы является достаточно широко исследованной, но при этом остается постоянно актуальной, так как вопросы социальной защиты являются одними из базовых функций государства обеспечивающих его стабильность.
63971. Организации учета основных средств на ОАО «Вагонная ремонтная компания - 2» 231.53 KB
  В настоящее время из отраслей получающих значительные объемы бюджетных средств железнодорожный транспорт превратился в отрасль не только практически полностью самофинансирующуюся но и являющуюся одним из крупнейших доноров федерального бюджета пенсионного фонда местных бюджетных и внебюджетных фондов.
63972. Техника окрашивания омбре в салонных условиях 231.05 KB
  Для простоты восприятия приведем пример создания омбре по этой технике на натуральном цвете волос с переходом от натурального оттенка у корней к любому другому на кончиках. Нанесение краски на нижнюю часть всех волос. Реагент выдерживается на волосах максимально долго для создания интенсивного цвета.
63973. ОСОБЛИВОСТІ АДАПТАЦІЇ ОРГАНІЗМУ ПРИ ЦИКЛІЧНИХ ФІЗИЧНИХ НАВАНТАЖЕННЯХ 373 KB
  В літературі зустрічається незначна кількість праць яка присвячена вивченню показників діяльності серця спортсменів в різні періоди тренувального циклу протягом року макроцикл.зацікавленість викликають дослідження функцій серця спортсменів які займаються циклічними видами спорту в різні етапи...
63974. Класифікація і специфіка використання ОЗП. Методи вимірювання опору, ємності, індуктивності, добротності 281.79 KB
  У мостових схемах опори вимірюють, порівнюючи величини вимірюваного опору з величиною зразкового опору шляхом порівняння падіння напруг на цих опорах. При роботі в електричних полях змінного струму у діелектриках виникають втрати потужності.
63975. Индивидуальный подход и особенности его реализации в обучении иностранным языкам 185.35 KB
  Современная образовательная ситуация характеризуется становлением гуманистической парадигмы предполагающей иные отличные от традиционных подходы к организации образовательного процесса основанные на концепции индивидуального подхода целеполаганием которого является обеспечение развития...