Файл: Лекции по программной инженерии.pdf

ВУЗ: Не указан

Категория: Лекция

Дисциплина: Программная инженерия

Добавлен: 25.10.2018

Просмотров: 6991

Скачиваний: 27

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

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

реализации 

и 

целесообразность 

прекращения 

разработки. 

 
Массовое  создание  сложных  программных  средств  промышленными 
методами 

и 

большими 

коллективами 

специалистов 

вызвало 

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

процесса 

и 

применения.  

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

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

Положение  усугубляется  трудностью  поэтапного  определения  качества 


background image

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

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

недостатками: 

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

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

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

небольших 

усилиях, 

применяя, 

в 

частности

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


background image

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

программной 

разработки, 

к 

недооценке 

роли 

других 

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

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

Большую часть этих негативных последствий можно избежать, используя 
существующие, 

достаточно 

точные 

методы 

оценивания 

и 

прогнозирования  затрат,  а  также  управления  проектами  ПС,  для  их 
успешного  завершения.  Эти  последствия  объясняются  многими 
причинами, из которых наиболее важными, являются следующие: 

- исходные тексты программных компонентов различны и по отдельности не 
определяют сложность и размер конечного продукта; 

-  разработка  сложных  ПС  требует  творчества  и  сотрудничества  разных 
специалистов, индивидуальное и групповое поведение которых, как правило, 
трудно предсказать; 

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

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


background image

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

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

Для  решения  этой  задачи  необходимо  детально  исследовать  требуемые 
ресурсы  современных  процессов  создания  и  использования  программ 
различных 

классов  и 

назначения 

встроенных, 

коммерческих, 

административных,  учебных,  уникальных  и  др.  Только  на  базе  серьезных 
статистических 

исследований 

технико-экономических 

показателей 

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

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

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

средств 

как 

продукции 

существенно 

повысило 

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


background image

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

невозможно 

или 

очень 

трудно 

характеризовать 

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

статистику 

в 

этой 

области.