<<
>>

Организация и методы сопровождения сложных программных комплексов


В процессе эксплуатации версий программного продукта у каждого пользователя могут появляться некоторые претензии к функционированию, которые квалифицируются им как ошибки или дефекты эталонной (базовой) или собственной версии.
От пользователей или заказчика могут поступать также предложения по внесению изменений в базовую версию для улучшения эксплуатационных ха - рактеристик и расширения функциональных возможностей системы и комплекса программ. Аналогичные предложения могут поступать от разработчиков. Для общения с пользователями и накопления ин - формации о выявляемых недостатках в тиражируемых сложных КП, целесообразно выделение группы специалистов высокой квалифика - ции, овладевших всеми функциями системы и программного продукта.
Целью сопровождения является выявление и устранение обнаруженных дефектов и ошибок в программах и данных, введение новых функций и компонентов в КП, анализ состояния и корректировка документации, тиражирование и контроль распространения версий, актуализация и обеспечение сохранности документации и физических носителей. Основная задача - изменить и улучшить существующий программный продукт, сохраняя его целостность и функциональную пригодность. Для сохранения и повышения качества сложных комплексов программ необходимо регламентировать процессы модификации и совершенствования программных средств, а также поддерживать их соответствующим тестированием и контролем качества.
Широкое применение прототипирования и повторного использования готовых апробированных программных компонентов способствовало превращению сопровождения в особый раздел методов и средств обеспечения жизненного цикла КП. Технология сопровождения должна обеспечивать координированное развитие множества версий и их компонентов, каждая из которых имеет достаточно высокое качество и специфические функции, а также, возможно, различных пользователей. Благодаря этому со временем программные средства должны улучшаться и совершенствоваться, как по функциональным возможностям, так и по качеству решения каждой задачи.
При организации сопровождения сложных КП следует учитывать важные психологические факторы, усложняющие привлечение и деятельность менеджеров и квалифицированных специалистов в этой области [1, 21, 31]: эта деятельность требует очень высокой квалификации и больших умственных затрат, связанных, прежде всего, с необходи - мостью одновременного, широкого охвата и анализа множества компонентов и их взаимосвязей, находящихся в различных состояниях завершенности модификаций; корректируемые компоненты зачастую разрабатывались в прошлом в разное время, различными специалистами, в различном стиле и с неодинаковой полнотой документирования, что усложняет освоение их содержания при внесении изменений и устранении дефектов; сложная, творческая сторона работ при сопровождении вуалируется тем, что приходится овладевать и анализировать программы, разработанные ранее другими специалистами, которые зачастую может быть проще не корректировать, а разработать заново; комплексы программ, прошедшие широкие испытания и эксплуатацию у заказчиков гарантируют достигнутое качество результатов функционирования, и любые в них изменения имеют высокий риск внесения дополнительных ошибок и ухудшения этого качества, что ограничивает возможность коренных модификаций; выполняемые работы требуют особой, скоординированной тщательности корректировок и четкого регламентированного взаимодействия ряда специалистов, различающихся квалификацией и уровнем ответственности; процессы и результаты сопровождения не отличаются наглядностью и внешним эффектом, проявлением их размера и сложности, вследствие чего не престижны среди рядовых программистов и недооцениваются руководителями проектов.

По мере развития применения сложных заказных программных продуктов стало ясно, что интегральные затраты на их сопровождение и создание новых версий могут значительно превосходить затраты на разработку их первой версии. Опыт последних лет показал, что во многих случаях для сопровождения и мониторинга версий необходимо практически такое же, или даже большее, число специалистов, чем разработало первую версию КП. При создании сложных КП перемещение специалистов с разработки новых программных компонентов на развитие и сопровождение версий имеет систематический характер. Это приводит к тому, что по мере накоп - ления эксплуатируемых КП и их компонентов все большее число специалистов переходит из области непосредственного программирования новых программ в область системного проектирования и создания новых версий на базе повторно используемых компонентов.
Только после завершения создания нескольких версий может прекратиться переход дополнительных кадров в сферу сопровождения и управления конфигурацией и установиться стабильное соотношение между числом специалистов, занятых первичной разработкой новых проектов и сопровождением версий. Очень часто разработчики новогоКП не предусматривают этот процесс и требующиеся ресурсы, что значительно снижает эффективность последующего применения созданного программного продукта.
Для определения и оценки качества модифицированного программного средства могут быть использованы различные показатели, качественные и количественные стандартизированные метрики в соответствии со стандартом ISO 9126. Сопровождаемость должна быть определена до начала первичной производства программного продукта , соответствующим соглашением между заказчиком и разра- ботчиком-поставщиком. Разработчик должен подготовить план обеспечения сопровождения, в котором отражены конкретные методы, соответствующие ресурсы и последовательности работ. Требования к процессам сопровождения определяются группой основных факторов, влияющих на реализацию модификации программных средств, образующих концептуальную цепочку: требования на изменения - изменяемые функции - размер (масштаб) изменений - стратегия модификаций - ресурсы необходимые для их реализации. Эта логическая схема обычно используется при последовательном анализе процессов сопровождения сложных КП. При этом основным критерием оценки сопровождения является совершенствование функциональной пригодности и улучшение характеристик качества программного продукта.
Процесс сопровождения в соответствии со стандартом ISO 14764, использует основные процессы производства и тестирования комплексов программ, а также вспомогательные процессы докумен - тирования, управления конфигурацией, обеспечения качества, вери - фикации, аттестации, совместного анализа, аудита и устранения дефектов. Стоимость процесса сопровождения может составлять значительную (даже наибольшую) часть стоимости жизненного цикла программного продукта. Период значительного изменения размера, функций и характеристик качества в крупных проектах заказных комплексов программ составляет обычно 1-2 года. В результате исследований появилось понятие «критической сложности и расширения размера» модифицируемой части версии при сопровождении. Если при модернизации и выпуске очередной версии размер доработок заметно превышает «критический», то велика вероятность частичного ухудшения характеристик системы или необходимости выпуска нескольких промежуточных версий для устранения ошибок в изменениях и достижения высокого качества проведенной модерни - зации.
Заказчик может заключить соглашение с разработчиком базовой версии КП об организации сопровождения или выбрать в качестве сопроводителя третью сторону (помимо разработчика). Сопровождение может также быть проведено по соглашению между двумя сторонами внутри одного предприятия. Эти положения должны быть использованы независимо от того, принадлежит ли заказчик или поставщик к одному или к разным предприятиям. Передача программного средства для сопровождения является контролируемой и координируемой последовательностью действий, при выполнении которых разработанный продукт переходит от предприятия, выполнившего его первоначальное производство, к специалистам или предприятию, проводящему его сопровождение. В процессе передачи должны быть отражены: требования к передаче технических и программных средств, данных и знаний (опыта) от разработчика к сопроводителю; задачи, необходимые для реализации стратегии сопровождения программного продукта: комплектование персонала, его обучение, ввод в действие версий программного продукта, распространение опыта по сопровождению.
Сопроводители иногда встречаются с необходимостью сопровождать программный продукт с минимальным набором документов или даже при отсутствии их. При отсутствии необходимых документов сопроводитель должен их создать, что является обязательной частью полного корректного сопровождения. В подобной ситуа - ции, сопроводитель при подготовке к сопровождению должен: определить проблемную область (тип программного продукта); изучить любые доступные документы, по возможности обсудить программный продукт с разработчиками и поработать с данным продуктом; изучить структуру и организацию программного продукта; провести его инвентаризацию, подвергнуть продукт управлению конфигурацией, выстроить продукт в соответствии с библиотеками управления конфигурацией, создать сценарии тестирования и проанализировать структуру данного продукта; определить функции, реализуемые программным продуктом; по возможности рассмотреть технические требования (спецификации) к данному продукту, его общую структуру, предоставить дан - ный продукт другим сопроводителям и прокомментировать программные коды; установить приоритеты предложений о модификации комплекса программ.
Сопроводитель и заказчик должны заключить договор на сопровождение и указать в нем возможные процедуры внесения изменений в сопровождаемые программные продукты. Процедуры могут быть использованы как разработчиком оригинала, базовой версии КП, так и независимым сопроводителем и охватывать: основные требования и правила, используемые для определения того, когда КП может быть локально откорректирован, а когда необходима новая базовая версия программного продукта с использованием для ее подготовки и инсталляции процессов производства; описания типов редакций версий, в зависимости от частоты их появления или влияния на эксплуатацию программного продукта (например, экстренные редакции, периодические редакции); способы информирования заказчика о состояниях текущих или намечаемых изменений; классификацию типов изменения, его очередности (приоритетности) и взаимосвязи с другими предложенными изменениями.
Персонал сопровождения должен проводить проверку внесенного изменения совместно с заказчиком, утвердившим модификацию в целях подтверждения функциональной пригодности и работоспособности откорректированного программного продукта и получить подтверждение того, что внесенное изменение удовлетворяет требованиям сопровождения, установленным в договоре.
Разработку концепции сопровождения, целесообразно начинать с формализации и обоснования набора исходных данных, отра - жающих общие особенности класса, назначения и функции КП, потребителей и этапов жизненного цикла проекта, каждый из которых влияет на выбор определенных характеристик изменения комплекса программ. Их описания желательно предварительно упорядочить по приоритетам с учетом особенностей назначения, сферы модификации и применения конкретного программного продукта. На этапе созда - ния концепции и системного анализа следует сформировать цели сопровождения, выбрать методы и алгоритмы модификации основных, функциональных задач, а также сформулировать предварительные критерии качества создаваемых новых программных компонентов и данных. При этом, естественно, встает вопрос о ресурсах, которые потребуются для достижения этих целей, и о возможности их реализации.
В концепции сопровождения заказчик и специалисты- разработчики должны представить требования, документально оформить планы и процедуры для проведения работ и реализации задач этого процесса. Они должны определить процедуры для получения, документирования и контроля сообщений о дефектах и заявок на внесение изменений от пользователей, а также для обеспечения обратной связи с пользователями. Всякий раз, когда возникают проблемы (дефекты), они должны быть документально оформлены и введены в процесс решения. Для анализа и ликвидации их следует реализовать процесс управления изменениями и конфигурацией существующего КП и определить организационные процедуры взаимодействия с данным процессом. Необходимо проанализировать сообщение о дефектах и заявках на внесение изменений по их влиянию на организационные процессы, существующую систему и интерфейсные связи с другими системами и установить:
• корректировку, модернизацию, профилактику или адаптацию к новым условиям;
размер изменения, стоимость, время на реализацию изменения; критичность, влияние на основные функции, производительность, безопасность или защиту.
На основе проведенного анализа персонал сопровождения должен разработать варианты реализации процессов изменения и документально оформить: сообщение о дефекте или заявку на модифика - цию; результаты их анализа и требования к реализации изменений. Следует согласовать с заказчиком выбранные варианты изменений в соответствии с договором.
Описание концепции сопровождения должно быть первым ша- гом при разработке политики сопровождения КП. Она определяется наличием соответствующих ресурсных и бюджетных ограничений и должна охватывать [9, 19, 35]: типы допустимых изменений и процедур сопровождения; уровень качества сопровождаемых документов; реакцию (чувствительность) пользователей на сопровождение; обеспечиваемый уровень обучения персонала сопровождения; обеспечение поставки модифицированных версий программного продукта; возможность организации справочной службы - «горячей линии».
Концепция должна учитывать задачи сопровождения программного продукта после поставки очередной версии КП. Важной частью концепции сопровождения является определение ресурсов и специалистов (физических или юридических), отвечающих за сопровождение продукта. Должна быть проведена оценка условий финансирования и стоимости сопровождения. Стоимость зависит от размера области сопровождения. Дополнительными факторами, подлежащими учету, являются стоимость: обучения, как сопроводителей, так и пользователей; среды программного инструментария, тестирования и их ежегодного сопровождения. Разработку и утверждение в концеп - ции спецификаций требований к функциональным характеристикам и качеству программного продукта с учетом выполненных изменений, целесообразно проводить итерационно. Полная и однократная формализация требований к характеристикам каждой крупной модификации в начале жизненного цикла КП обычно невозможна, прежде всего, из-за разных представлений заказчика и разработчиков о деталях её назначения, функций и возможностей реализации при доступных ресурсах
В зависимости от сложности программного продукта окончательным результатом работ при прогнозировании изменений комплекса программ должны быть детализированные и утвержденные требования к номенклатуре, свойствам и значениям качества программного продукта, которые достаточны для его полноценного сопровождения и последующей, эффективной эксплуатации. Эти требования закрепляются в концепции, контракте и техническом задании, по которым сопроводитель впоследствии должен отчитываться перед заказчиком при завершении модификаций. Однако на последующих этапах жизненного цикла и при конфигурационном управлении, требования могут изменяться по согласованию между заказчиком и разработчиком, которые чаще всего приурочиваются к подготовке новой базовой версии. Для этого необходим мониторинг функциональной пригодности, масштаба проекта, требований и реализаций характеристик в течение всего ЖЦ .
Принципиальные и технические возможности, точность реали - зации свойств и измерения значений характеристик КП, а также общие ресурсы конкретного проекта всегда ограничены в соответствии с их содержанием и возможностями заказчика и разработчиков. Это определяет рациональные диапазоны значений каждого изменения, которые могут быть выбраны в концепции сопровождения программного продукта на основе требований заказчика, здравого смысла, а также путем анализа пилотных проектов и прецедентов в спецификациях требований реализованных модификаций. 
<< | >>
Источник: Липаев В.В.. Экономика производства программных продуктов.. 2011

Еще по теме Организация и методы сопровождения сложных программных комплексов:

  1. Оснащение и оперативное сопровождение программно-технических средств и оргтехники
  2. ПСИХОЛОГИЧЕСКАЯ МОДЕЛЬ ОРГАНИЗАЦИИ СОПРОВОЖДЕНИЯ ДИСТАНЦИОННОГО ОБУЧЕНИЯ
  3. Программно-целевые методы
  4. 1.4. Формы и методы психолого-педагогического сопровождения социально-профессиональной адаптации обучающихся
  5. Организация рабочих мест основных категорий работников складского комплекса
  6. Разработка программного обеспечения. Затраты, связанные с качеством программного обеспечения, в группе компаний Raytheon’s Electronic Systems
  7. ЖАБАГИЕВ АСЛАН МУХАМЕДИЯРОВИЧ. РАЗРАБОТКА РАСЧЕТНЫХ МЕТОДОВ ОЦЕНКИ КАЧЕСТВА СПУСКО-ПОДЪЕМНОГО КОМПЛЕКСА БУРОВЫХ УСТАНОВОК / Диссертация, 2002
  8. Самородова И.П.. Организация процесса приготовления и приготовление полуфабрикатов для сложной кулинарной продукции : учебник для студ. учреждений сред. проф. образования, 2015
  9. Метод организации работы ГПР
  10. Методы организации технического творчества
  11. 9.1. ОРГАНИЗАЦИЯ, ФОРМЫ И МЕТОДЫ ОБУЧЕНИЯ УЧАЩИХСЯ ПО ГРАЖДАНСКОЙ ОБОРОНЕ
  12. Обмен опытом по организации производства и внедрению передовых методов труда.
  13. Липаев В.В.. Экономика производства программных продуктов., 2011