6.1 Введение
Реализация процесса сопровождения в жизненном цикле программного средства начинается с планирования сопровождения и завершается снятием данного программного продукта с эксплуатации. Данный процесс заключается в модификации (изменении) текста программы и соответствующих документов вследствие обнаруженных проблем (несоответствий) или необходимости их усовершенствования. Целью процесса сопровождения является модификация программного продукта при сохранении его целостности. Ниже приведен ряд соображений, относящихся к реализации данного процесса.
Процесс сопровождения необходим вследствие подверженности программных продуктов изменениям на протяжении их жизненного цикла. Если программный продукт разработан с использованием инструментальных средств автоматизации программной инженерии (CASE), его сопровождение все равно необходимо. Использование инструментальных средств CASE упрощает сопровождение, но не устраняет потребность в нем. Если отсутствует текст (код) прикладной программы, то есть программный продукт состоит только из готовых продуктов, все равно может потребоваться его сопровождение. Сопровождение готовых программных продуктов заказчиком или поставщиком обычно связано с модификацией соответствующих интерфейсов программного продукта, включая данные и режимы функционирования.
Должны быть учтены неявные требования и ограничения, налагаемые разработчиком оригинала программного продукта. В ряде случаев они могут быть изменены, а некоторые исходные требования могут быть отменены.
При реализации процессов разработки, эксплуатации и сопровождения по ГОСТ Р ИСО/МЭК 12207 любые обнаруженные проблемы (несоответствия) должны быть описаны и проконтролированы посредством процесса решения проблем, установленного в указанном стандарте. При этом следует выпускать соответствующие предложения о модификациях (ПР) или отчеты о проблемах (ОП). Часто данные документы называют предложениями об изменениях. В процессе решения проблем по ГОСТ Р ИСО/МЭК 12207 анализируют и решают возникшие проблемы. В этом процессе также определяют, отражают ли представленные ПР (ОП) возникшие проблемы (несоответствия) или потребности в модернизации продукта. Процесс управления конфигурацией (УК) по ГОСТ Р ИСО/МЭК 12207 регистрирует (фиксирует) и документирует состояния предложений о модификациях (ПР) или отчетов о проблемах (ОП). В ходе работы по контролю конфигурации из процесса УК должен быть решен вопрос о принятии конкретного предложения (отчета). Принятые ПР (ОП) далее реализуют посредством вызова процесса сопровождения.
Сопровождение может быть востребовано независимо от модели жизненного цикла разработки (например, каскадной, инкрементной, эволюционной) или метода разработки (например, ускоренная разработка приложений, прототипирование, макетирование). Например, при выпуске новой усовершенствованной программной конструкции (инкремента) продолжается разработка продукта в целом, но может быть востребовано сопровождение для ввода данной конструкции в действие (инсталляции).
Стоимость процесса сопровождения может составлять значительную (наибольшую) часть стоимости жизненного цикла программного продукта. Приведенный ниже анализ типов сопровождения поможет пользователям стандарта осознать объемы необходимых затрат.
6.2 Типы сопровождения
Корректирующее сопровождение связано с изменениями, вызванными необходимостью устранения (исправления) фактических ошибок в программном продукте. Корректирующее сопровождение проводят в случае несоответствия программного продукта установленным требованиям.
Профилактическое сопровождение связано с изменениями, вызванными необходимостью устранения (исправления) потенциальных (скрытых) ошибок в программном продукте. Профилактическое сопровождение обычно проводят для программных продуктов, связанных с обеспечением или защитой жизни людей.
Изменения, вносимые при адаптивном и полном сопровождении, модернизируют программный продукт. Данные требования вносят сверх технических требований (спецификаций), установленных при проектировании или выпуске программного средства. Изменения, вносимые при адаптивном сопровождении (адаптивные изменения), связаны с необходимостью адаптации программного продукта к изменившейся среде (условиям). Данные изменения связаны с реализацией новых требований к системному интерфейсу, самой системе или техническим средствам. Изменения, вносимые при полном сопровождении, улучшают рабочие характеристики программного средства и его сопровождаемость. Данные изменения могут приводить к предоставлению пользователям новых функциональных возможностей, пересмотру технологии разработки сопровождаемых документов или изменению самих документов.
Сопровождение программного средства, необходимое для изменения структуры или системы, то есть модификации (изменения) программного средства, вносят в существующую архитектуру в рамках ограничений, установленных структурой проекта. Таким образом, модернизации продукта при адаптивном и полном сопровождении зачастую очень дорогостоящи и требуют больших временных затрат. Подобные модернизации могут "съедать" большую часть стоимости сопровождения в целом.
6.3 Соглашения при сопровождении
Заказчик может заключить соглашение с разработчиком оригинала программного средства о проведении им сопровождения данного средства или выбрать в качестве сопроводителя третью сторону (помимо разработчика). Сопровождение может также быть проведено по соглашению между двумя сторонами внутри организации.
В ГОСТ Р ИСО/МЭК 12207 подробно описаны задачи, решаемые при заключении соглашения между заказчиком и поставщиком. Данные положения должны быть использованы при заключении соглашения на сопровождение независимо от того, принадлежит ли заказчик или поставщик к одной или к разным организациям. Специфические вопросы сопровождения обсуждены ниже.
Если заказчику необходимо провести сопровождение программного средства разработчиком после поставки данного средства или по окончании гарантийного периода, это должно быть указано в соответствующем соглашении. Поставка модернизированных документов должна быть предусмотрена в соответствующем соглашении. Обучение соответствующего персонала также должно быть предусмотрено. Поставщик должен подготовить процедуры выполнения каждой задачи сопровождения, выполнять эти процедуры во время сопровождения и проверять соответствие конкретных работ договорным требованиям и установленным процедурам. Использование опытных данных по конкретным процедурам повышает эффективность их применения. В плане сопровождения должны быть указаны объекты сопровождения, процедуры сопровождения и период сопровождения каждого объекта.
Поставщик (сопроводитель) и заказчик должны изначально заключить соглашение по сопровождению и указать в нем процедуры внесения изменений в сопровождаемые программные продукты. Данные процедуры должны быть использованы как разработчиком оригинала программного средства, так и независимым сопроводителем.
Данные процедуры должны охватывать:
- основные правила, используемые для определения того, когда программное средство может быть локально корректировано, а когда необходима новая базовая линия с использованием для ее подготовки и инсталляции процесса разработки по ГОСТ Р ИСО/МЭК 12207;
- описания типов редакций (версий, выпусков) в зависимости от частоты их появления или их влияния на эксплуатацию программного средства (например, экстренные редакции, периодические редакции);
- способы информирования заказчика о состояниях вносимых (текущих) или намечаемых изменений;
- методы, подтверждающие невозможность появления дополнительных проблем в связи с внесением конкретных изменений в данное программное средство;
- классификацию типа изменения, его очередности (приоритетности) и взаимосвязи с другими предложенными изменениями.
6.4 Инструментальные средства для сопровождения
Потенциальными средствами, определяющими стоимость сопровождения программных средств, являются инструментальные CASE-средства. Данный инструментарий обеспечивает проведение работ по сопровождению. CASE представляют собой взаимосвязанный набор инструментальных средств, обеспечивающих все аспекты разработки и сопровождения программных средств (ИСО/МЭК ТО 14471 [2]). Взаимосвязанный набор CASE-средств должен быть скомпонован в виде среды программной инженерии (СПИ), представляющей собой методы, политики, руководства и стандарты, обеспечивающие проведение работ по сопровождению программных средств. Сопроводителю также должна быть указана среда тестирования программного средства (СТПС) для проведения тестирования модифицированного программного продукта вне среды его эксплуатации. СПИ обеспечивает инструментарий для изначальной разработки и модификации программных продуктов. СТПС определяют среду тестирования. СТПС должны быть использованы для тестирования модифицированных программных продуктов вне среды их эксплуатации.