Вспомогательные процессы жизненного цикла программного средства
Процесс документирования (documentation process) предусматривает формализованное описание информации, созданной в теченииЖЦ ПС. Данный процесс состоит из набора действий, с помощью которых планируют, проектируют, разрабатывают, выпускают, редактируют, распространяют и сопровождают документы, необходимые для всех заинтересованных лиц, таких, как руководители, технические специалисты и пользователи системы (рис.2.7).э
Рис. 2.7. Схема процесса документирования
Процесс управления конфигурацией (configuration management process) предполагает применение административных и технических процедур на всем протяжении ЖЦ ПС для определения состояния компонентов ПС в системе, управления модификациями ПС, описания и подготовки отчетов о состоянии компонентов ПС и запросов на модификацию, обеспечения полноты, совместимости и корректности компонентов ПС, управления хранением и поставкой ПС. Согласно стандарту IEEE-90 под конфигурацией ПС понимается совокупность его функциональных и физических характеристик, установленных в технической документации и реализованных в ПС.
Управление конфигурацией позволяет организовать, систематически учитывать и контролировать внесение изменений в ПС на всех стадиях ЖЦ (рис. 2.8).
Рис. 2.8. Схема процесса управления конфигурацией
Подготовительная работа заключается в планировании управления конфигурацией.
Идентификация конфигурации устанавливает правила, с помощью которых можно однозначно идентифицировать и различать компоненты ПС и их версии. Кроме того, каждому компоненту и его версиям соответствует однозначно обозначаемый комплект документации. В результате создается база для однозначного выбора и манипулирования версиями компонентов ПС, использующая ограниченную и упорядоченную систему символов, идентифицирующих различные версии ПС.
Контроль конфигурации предназначен для систематической оценки предполагаемых модификаций ПС и координированной их реализации с учетом эффективности каждой модификации и затрат на выполнение. Он обеспечивает контроль состояния и развития компонентов ПС и их версий, а также адекватность реально изменяющихся компонентов их комплектной документации.
Учет состояния конфигурации представляет собой регистрацию состояния компонентов ПС, подготовку отчетов обо всех реализованных и отвергнутых модификациях версий компонентов ПС. Совокупность отчетов обеспечивает однозначное отражение текущего состояния системы и ее компонентов, а также ведение истории модификаций.
Оценка конфигурации заключается в оценке функциональной полноты компонентов ПС, а также соответствия их физического состояния текущему техническому описанию.
Управление выпуском и поставка охватывают изготовление эталонных копий программ и документации, их хранение и поставку пользователям в соответствии с порядком, принятым в организации.
Процесс обеспечения качества (quality assurance process) обеспечивает соответствующие гарантии того, что ПС и процессы его ЖЦ соответствуют заданным требованиям и утвержденным планам. Под качеством ПС понимается совокупность свойств, которые характеризуют способность ПС удовлетворять заданным требованиям (рис. 2.9).
Рис. 2.9. Схема процесса обеспечения качества
Для получения достоверных оценок создаваемого ПС процесс обеспечения его качества должен происходить независимо от субъектов, непосредственно связанных с разработкой ПС. При этом могут использоваться результаты других вспомогательных процессов, таких, как верификация, аттестация, совместная оценка, аудит и разрешение проблем.
Подготовительная работа заключается в координации с другими вспомогательными процессами и планировании самого процесса обеспечения качества с учетом используемых стандартов, методов, процедур и средств.
Обеспечение качества продукта подразумевает гарантирование полного соответствия программных продуктов и документации на них требованиям заказчика, предусмотренным в договоре.
Обеспечение качества процесса предполагает гарантирование соответствия процессов ЖЦ ПС, методов разработки, среды разработки и квалификации персонала условиям договора, установленным стандартам и процедурам.
Обеспечение прочих показателей качества системы осуществляется в соответствии с условиями договора и стандартом качества ISO 9001.
Процесс верификации (verification process) состоит в определении того, что программные продукты, являющиеся результатами некоторого действия, полностью удовлетворяют требованиям или условиям, обусловленным предшествующими действиями (верификация в «узком» смысле означает формальное доказательство правильности ПС). Для повышения эффективности верификация должна как можно раньше интегрироваться с использующими ее процессами (такими, как поставка, разработка, эксплуатация или сопровождение). Данный процесс может включать анализ, оценку и тестирование (рис. 2.10).
Рис. 2.10. Схема процесса верификации
Верификация может проводиться с различными степенями независимости. Степень независимости может варьироваться от выполнения верификации самим исполнителем или другим специалистом данной организации до ее выполнения специалистом (ругой организации с различными вариациями. Если процесс верификации осуществляется организацией, не зависящей от поставщика, разработчика, оператора или службы сопровождения, ю он называетсяпроцессом независимой верификации.
В процессе верификации проверяются следующие условия:
• непротиворечивость требований к системе и степень учета потребностей пользователей;
• возможности поставщика выполнить заданные требования;
• соответствие выбранных процессов ЖЦ ПС условиям договора;
• адекватность стандартов, процедур и среды разработки процессам ЖЦ ПС;
• соответствие проектных спецификаций ПС заданным требованиям;
• корректность описания в проектных спецификациях входных и выходных данных, последовательности событий, интерфейсов, логики и т.д.;
• соответствие кода проектным спецификациям и требованиям;
• тестируемость и корректность кода, его соответствие принятым стандартам кодирования;
• корректность интеграции компонентов ПС в систему;
• адекватность, полнота и непротиворечивость документации.
Процесс аттестации (validation process) предусматривает определение полноты соответствия заданных требований и созданной системы или программного продукта их конкретному функциональному назначению. Под аттестацией обычно понимаются подтверждение и оценка достоверности проведенного тестирования ПС. Аттестация должна гарантировать полное соответствие ПС спецификациям, требованиям и документации, а также возможность его безопасного и надежного применения пользователем. Аттестацию рекомендуется выполнять путем тестирования во всех возможных ситуациях и использовать при этом независимых специалистов. Аттестация может проводиться на начальных стадиях ЖЦ ПС или как часть работы по приемке ПС (рис. 2.11).
Рис. 2.11.Схема процесса аттестации
Аттестация, так же как и верификация, может осуществляться с различными степенями независимости. Если процесс аттестации выполняется организацией, не зависящей от поставщика, разработчика, оператора или службы сопровождения, то он называется процессом независимой аттестации.
Процесс совместной оценки (joint review process) предназначен для оценки состояния работ по проекту и ПС, создаваемому при выполнении данных работ (действий). Он сосредоточен в основном на контроле планирования и управления ресурсами, персоналом, аппаратурой и инструментальными средствами проекта (рис. 2.12).
Рис. 2.12.Схема процесса оценки
Оценка применяется как на уровне управления проектом, так и на уровне технической реализации проекта и проводится в течение всего срока действия договора. Данный процесс может выполняться двумя любыми сторонами, участвующими в договоре, при этом одна сторона проверяет другую.
Процесс аудита (audit process) представляет собой определение соответствия требованиям, планам и условиям договора.
Аудит может выполняться двумя любыми сторонами, участвующими в договоре, когда одна сторона проверяет другую.
Аудит — это ревизия (проверка), проводимая компетентным органом (лицом) в целях обеспечения независимой оценки степени соответствия ПС или процессов установленным требованиям. Аудит служит для установления соответствия реальных работ и отчетов требованиям, планам и контракту. Аудиторы (ревизоры) не должны иметь прямой зависимости от разработчиков ПС. Они определяют состояние работ, использование ресурсов, соответствие документации спецификациям и стандартам, корректность тестирования (рис. 2.13).
Рис. 2.13.Схема процесса аудита
Процесс разрешения проблем (problem resolution process) предусматривает анализ и решение проблем (включая обнаруженные несоответствия) независимо от их происхождения или источника, которые обнаружены в ходе разработки, эксплуатации, сопровождения или других процессов. Каждая обнаруженная проблема должна быть идентифицирована, описана, проанализирована и разрешена (рис. 2.14).
Рис. 2.14.Схема процесса разрешения проблем
10. Организационные процессы жизненного цикла
В данном разделе определены следующие организационные процессы жизненного цикла: 1) процесс управления; 2) процесс создания инфраструктуры; 3) процесс усовершенствования; 4) процесс обучения.
Ответственность за работы и задачи организационного процесса несет организация, выполняющая данный процесс. Данная организация должна обеспечить реальность существования и функциональные особенности конкретного процесса.
1) Процесс управления
Процесс управления состоит из общих работ и задач, которые могут быть использованы любой стороной, управляющей соответствующим процессом(ами). Администратор отвечает за управление продуктом, проектом, работами и задачами соответствующего процесса(ов), таких как заказ, поставка, разработка, эксплуатация, сопровождение или вспомогательные процессы. Данный процесс состоит из следующих работ: 1) подготовка и определение области управления; 2) планирование; 3) выполнение и контроль; 4) проверка и оценка; 5) завершение.
Подготовка и определение области управления. Данная работа состоит из следующих задач: 1) процесс управления должен начинаться с установления требований к реализуемому процессу. 2) После установления требований администратор должен определить возможности реализации процесса, проверяя наличие, соответствие и применимость ресурсов, выделенных для выполнения и управления процессом (персонала, материалов, технологии и условий), а также реальность сроков реализации процесса. 3) При необходимости и по согласованию со всеми заинтересованными сторонами требования к процессу могут быть изменены с точки зрения удовлетворения критериев завершения процесса.
Планирование. Данная работа состоит из следующей задачи: 1) Администратор должен подготовить планы для выполнения процесса. Планы, связанные с выполнением процесса, должны содержать описания соответствующих работ и задач и обозначения создаваемых программных продуктов. Планы должны охватывать (но не ограничиваться) следующие вопросы:a) установление графиков своевременного решения задач;b) оценка необходимых трудозатрат;c) определение ресурсов, необходимых для выполнения задач;d) распределение задач по исполнителям;e) определение обязанностей исполнителей;f) определение критических ситуаций, связанных с задачами или самим процессом;g) установление используемых в процессе критериев управления качеством;h) определение затрат, связанных с реализацией процесса;i) обеспечение условий и определение инфраструктуры выполнения процесса.
Выполнение и контроль. Данная работа состоит из следующих задач: 1) Администратор должен начать реализацию плана, чтобы удовлетворить поставленным целям и критериям проекта, выполняя управление процессом. 2) Администратор должен осуществлять текущий надзор за выполнением процесса, подготавливая как внутренние отчеты о развитии процесса, так и внешние отчеты для заказчика в соответствии с условиями договора. 3) Администратор должен исследовать, анализировать и решать проблемы, обнаруженные при выполнении процесса. Решение проблем может привести к изменениям планов. Обязанностью администратора является обеспечение того, чтобы влияние любых изменений на ход процесса было выявлено, управляемо и контролируемо. Все обнаруженные проблемы и их решения должны быть документально оформлены. 4) Администратор должен в установленные сроки отчитаться о реализации процесса, подтверждая выполнение утвержденных планов в ходе процесса и преодолевая возникающие в ходе процесса затруднения. Данные отчеты могут быть в соответствии с условиями договора как внутренними, так и внешними (для заказчика).
Проверка и оценка. Данная работа состоит из следующих задач: 1) Администратор должен обеспечить оценку программных продуктов и планов на соответствие установленным требованиям.2) Администратор должен проверить результаты оценок программных продуктов, работ и задач, реализуемых в ходе процесса, на соответствие поставленным целям и на выполнение утвержденных планов.
Завершение. Данная работа состоит из следующих задач:1) После создания всех программных продуктов, запланированных в процессе, и выполнения всех работ и задач процесса администратор должен определить степень их соответствия критериям, установленным в договоре или организационной процедуре.2) Администратор должен проконтролировать результаты и полноту документации созданных программных продуктов и выполненных работ. Все представленные окончательные результаты и соответствующая документация должны быть сохранены в архиве в соответствии с условиями договора.
2) Процесс создания инфраструктуры
Процесс создания инфраструктуры является процессом установления и обеспечения (сопровождения) инфраструктуры, необходимой для любого другого процесса. Инфраструктура может содержать технические и программные средства, инструментальные средства, методики, стандарты и условия для разработки, эксплуатации или сопровождения. Данный процесс состоит из следующих работ: 1) подготовка процесса; 2) создание инфраструктуры; 3) сопровождение инфраструктуры.
Подготовка процесса. Данная работа состоит из следующих задач:1) Должна быть определена и документально оформлена инфраструктура, удовлетворяющая требованиям к процессу, использующему процесс создания инфраструктуры, с учетом соответствующих процедур, стандартов, инструментальных средств и методик.2) Создание установленной инфраструктуры должно быть спланировано и документально оформлено.
Создание инфраструктуры. Данная работа состоит из следующих задач: 1) Должна быть спланирована и документально оформлена конфигурация инфраструктуры. При этом должны быть учтены функциональные возможности, производительность, безопасность, защищенность, работоспособность, требуемые площади и оборудование, затраты и временные характеристики реализуемого процесса.2) Инфраструктура должна быть создана к сроку, необходимому для реализации соответствующего процесса.
Сопровождение инфраструктуры. Данная работа состоит из следующей задачи:1) Инфраструктура должна сопровождаться, контролироваться и, при необходимости, изменяться так, чтобы обеспечивать удовлетворение требований к процессу, использующему процесс создания инфраструктуры. Должна быть определена как часть сопровождения инфраструктуры - продолжительность нахождения инфраструктуры под управлением конфигурацией.
3) Процесс усовершенствования.Процесс усовершенствования является процессом установления, оценки, измерения, контроля и улучшения любого процесса жизненного цикла программных средств. Данный процесс состоит из следующих работ:1) создание процесса;2) оценка процесса;3) усовершенствование процесса.
Создание процесса.Данная работа состоит из следующей задачи:Организация должна определить набор организационных процессов для всех процессов жизненного цикла программных средств в соответствии с имеющимся практическим опытом. Соответствующие процессы и их применение в конкретных ситуациях должны быть документально оформлены в организационных документах. Должен быть определен механизм управления процессом усовершенствования при разработке, контроле, управлении и улучшении соответствующего процесса(ов).
Оценка процесса. Данная работа состоит из следующих задач:1) Должна быть разработана, документально оформлена и применена процедура оценки процесса. Должны сохраняться и обновляться отчеты о выполненных оценках процесса. 2) Организация должна планировать и выполнять анализы процессов в установленные сроки с тем, чтобы по результатам оценки обеспечить актуальность и эффективность их применения.
Усовершенствование процесса. Данная работа состоит из следующих задач:1) Организация должна по результатам анализа и оценки внести соответствующие улучшения в выполняемый процесс, при этом должны быть внесены соответствующие изменения в документацию выполняемого процесса.2) Должны быть собраны и проанализированы архивные, технические и оценочные данные для выявления сильных и слабых сторон выполняемых процессов. Результаты анализов должны быть использованы для усовершенствования данных процессов, выработки рекомендаций по внесению изменений в реализуемые или планируемые проекты и определения потребности в передовых технологиях.3) Должны быть собраны, обновлены и использованы для усовершенствования организационных процессов административной деятельности данные о расходах. Эти данные должны быть использованы при определении стоимости работ по предотвращению и решению обнаруженных проблем и несоответствий в программных продуктах и услугах.
4) Процесс обучения.Процесс обучения является процессом обеспечения первоначального и продолженного обучения персонала. Заказ, поставка, разработка, эксплуатация и сопровождение программных продуктов в значительной степени зависят от квалификации персонала. Например, персонал разработчика должен быть соответствующим образом обучен управлению программированием и технологии программирования. Поэтому обязательно должно быть запланировано и заранее выполнено обучение персонала с целью готовности его к работам по заказу, поставке, разработке, эксплуатации или сопровождению программного проекта.Данный процесс состоит из следующих работ:1) подготовка процесса;2) разработка учебных материалов;3) реализация плана обучения.
Подготовка процесса. Данная работа состоит из следующей задачи:1) Должен быть выполнен анализ требований к проекту с целью определения и своевременного создания условий для формирования штата квалифицированного административного и технического персонала. Должны быть определены виды и уровни обучения и категории персонала, требующие обучения. Должны быть разработаны и документально оформлены: план обучения, графики реализации обучения, требования к ресурсам для обучения и программы обучения.
Разработка учебных материалов. Данная работа состоит из следующей задачи:1) Должны быть разработаны руководства для обучения, включая материалы, используемые при проведении обучения.
Реализация плана обучения. Данная работа состоит из следующих задач:1) Должен быть реализован план обучения для обеспечения обучения персонала. Отчеты о выполненном обучении персонала должны быть сохранены.2) Должно быть обеспечено, чтобы соответствующим образом подобранный и обученный персонал своевременно был готов к правильному выполнению запланированных работ и задач.
11.Стандарт IEEE 1074 –1995
Стандарт IEEE 1074-1995 охватывает полный жизненный цикл ПС, в котором выделяются шесть крупных базовых процессов. Эти процессы детализируются 16 частными процессами. В последних имеется еще более мелкая детализация в совокупности на 65 процессов-работ. Содержание каждого частного процесса начинается с описания общих его функций и задач и перечня действий — работ при последующей детализации. Для каждого процесса в стандарте представлены входная и результирующая информация о его выполнении и краткое описание сущности процесса. Внимание сосредоточено преимущественно на непосредственном создании ПС и на процессах предварительного проектирования. В приложении представлены четыре варианта адаптации максимального состава компонентов ЖЦ ПС к конкретным особенностям типовых проектов.
Хотя основные процессы близки к описанным в стандарте 12207, общая архитектура и детализация частных процессе работ в данном стандарте значительно отличаются. Процессы непосредственного создания ПС и его поддержка в стандарте представлены наибольшим числом частных процессов (около 70%), начинающихся с разработки требований к ПС и завершаю приемо-сдаточными испытаниями, проводимыми заказчиком- пользователем.
В разделе 2 приведена информация, необходимая для понимания взаимодействия между ЖЦ системы и ЖЦ ПС.
Раздел 3 является иллюстративным описанием ЖЦ ПС. Разделы 4 и 5 посвящены процессам планирования и разработки: Интегральные процессы — верификация, управление конфигурацией, обеспечение качества и сертификационное сопровождение — представлены в разделах 6-9. Раздел 11 содержит рекомендации по структуре документов, создаваемых главным образом для обеспечения сертификации ПС. В разделе 12 обсуждаются дополнительные соглашения, включая руководство по использованию ранее разработанных ПС, сертификации инструментальных средств и применению альтернативных методов для тех за которые обсуждаются в разделах 2-11.
12.ГОСТ Р ИСО/МЭК 12207. Адаптация стандарта программного средства к конкретному проекту.
Настоящий стандарт определяет набор процессов, работ и задач, предназначенных для адаптации к условиям конкретных программных проектов. Процесс адаптации заключается в исключении неприменяемых в условиях конкретного проекта процессов, работ и задач. П р и м е ч а н и е - В договоре могут быть дополнительно предусмотрены уникальные или специальные процессы, работы изадачи.