Взаимосвязь между процессами

Технологии программирования (Software Engineering)

Стандартные технологические процессы

Процессы жизненного цикла определяются международным стандартом ISO/IEC 12207 [ISO/IEC 12207:1995]. В данной книге русскоязычные формулировки стандартных процессов и действий, которые они включают, приведены согласно учебнику Вендрова [Вендров 2000]. Стандартные процессы разделяются на три группы - основные, вспомогательные и организационные процессы.

Основные процессы

Некоторые удавы в процессе удушения так запутывались в собственных узлах, что потом приходилось тратить много времени на их распутывание.
Ф. Искандер "Кролики и удавы"

Приобретение

Процесс приобретения состоит из действий заказчика, приобретающего программное обеспечение. Процесс включает следующие действия:

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

Поставка

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

  • инициирование поставки;
  • подготовку ответа на заявочные действия;
  • подготовку договора;
  • планирование;
  • выполнение и контроль;
  • проверку и оценку;
  • поставку и завершение работ.

Разработка

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

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

H3>3.1.4. Эксплуатация

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

Процесс включает следующие действия:

  • подготовительную работу;
  • эксплуатационное тестирование;
  • поддержку пользователей.

Сопровождение

Процесс сопровождения предусматривает действия, выполняемые службой сопровождения. Процесс включает следующие действия:

  • подготовительную работу;
  • анализ проблем и запросов на модификацию программного обеспечения;
  • модификацию программного обеспечения;
  • проверку и приемку;
  • перенос программного обеспечения в другую среду;
  • снятие программного обеспечения с эксплуатации.

Вспомогательные процессы

Документирование

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

  • подготовительную работу;
  • проектирование и разработку;
  • выпуск документации;
  • сопровождение документации.

Управление конфигурацией

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

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

Обеспечение качества

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

Процесс включает следующие действия:

  • подготовительную работу;
  • обеспечение качества продукта;
  • обеспечение качества процесса;
  • обеспечение прочих показателей качества системы.

Верификация

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

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

Аттестация

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

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

Совместная оценка

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

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

Аудит

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

Разрешение проблем

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

Организационные процессы

Управление

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

  • инициирование и определение области управления;
  • планирование;
  • выполнение и контроль;
  • проверку и оценку;
  • завершение.

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

Создание инфраструктуры

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

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

Усовершенствование

Процесс усовершенствования определяет оценку, измерение, контроль и усовершенствование процессов жизненного цикла.

Процесс включает три действия - создание, оценку и усовершенствование процесса.

Обучение

Процесс обучения включает первоначальное обучение и последующее постоянное повышение квалификации персонала.

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

Взаимосвязь между процессами

Вообще говоря, каждая компания может различным образом использовать стандартные процессы жизненного цикла программного обеспечения. Тем не менее, стандарт предлагает пять точек зрения на процессы.

  • Заказчики и поставщики имеют контрактную (договорную) точку зрения. Процесс эксплуатации начинается тогда, когда заключаются контрактные отношения между заказчиком и поставщиком. Процесс поставки может привести (в зависимости от положений контракта) к началу процессов разработки, сопровождения или эксплуатации (рис. 3.5).
  • Операторы и пользователи имеют эксплуатационную точку зрения.
  • Разработчики системы и специалисты по сопровождению имеют инженерную точку зрения.
  • Исполнители вспомогательных процессов имеют точку зрения поддержки.
  • Менеджеры имеют управленческую точку зрения.