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

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

- состояние и развитие выполняемых поставщиком работ по разработке и модификации программного средства;

- соответствие результатов разработки, согласованной спецификации требований заказчика;

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

- результаты проверок текущего состояния проекта и приемочных испытаний.

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

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

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

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

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

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

- распределение организационной ответственности внутри процессов тестирования и интерфейсы с другими процессами жизненного цикла ПС;

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

- описание методов идентификации компонентов, на которые оказывает воздействие модификация ПС, и измененные части исполняемого объектного кода.

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

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

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

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

- архивацию версий; применение методов и средств формирования версий и обеспечения их сохранности.

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

Кроме того, в составе перечисленных планов или автономно может быть полезной разработка ряда вспомогательных планов (см. рис. 7.1):

- плана подготовки и обучения пользователей для квалифицированной эксплуатации версий ПС;

- плана обслуживания пользователей в процессе эксплуатации ПС;

- плана организации переноса и установки версий ПС на различные аппаратные и операционные платформы пользователей.

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

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

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