Национальный стандарт РФ ГОСТ Р ИСО/МЭК 12207-2010 "Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств" (утв. приказом Федерального агентства по техническому регулированию и метрологии от 30 ноября 2010 г. N 631-ст) Период действия 01.03.2012 - ?
Национальный стандарт РФ ГОСТ Р ИСО/МЭК 12207-2010
"Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств"
(утв. приказом Федерального агентства по техническому регулированию и метрологии от 30 ноября 2010 г. N 631-ст)
Information technology. System and software engineering. Software life cycle processes
Дата введения - 1 марта 2012 г.
Взамен ГОСТ Р ИСО/МЭК 12207-99
Предисловие
Цели и принципы стандартизации в Российской Федерации установлены Федеральным законом от 27 декабря 2002 г. N 184-ФЗ "О техническом регулировании", а правила применения национальных стандартов Российской Федерации - ГОСТ Р 1.0-2004 "Стандартизация в Российской Федерации. Основные положения"
1 Общие положения
1.1 Область применения
Настоящий стандарт, используя устоявшуюся терминологию, устанавливает общую структуру процессов жизненного цикла программных средств, на которую можно ориентироваться в программной индустрии. Настоящий стандарт определяет процессы, виды деятельности и задачи, которые используются при приобретении программного продукта или услуги, а также при поставке, разработке, применении по назначению, сопровождении и прекращении применения программных продуктов. Понятие программного средства включает в себя встроенный фирменный программный компонент.
Настоящий стандарт используется при приобретении систем, программных продуктов и услуг, при их поставке, разработке, применении по назначению, сопровождении и прекращении применения программных продуктов и программных компонентов системы как в самой организации, так и вне ее. Эти аспекты системного определения включаются в настоящий стандарт для обеспечения содержания понятий программных продуктов и услуг.
Настоящий стандарт устанавливает также процесс, который может использоваться при определении, управлении и совершенствовании процессов жизненного цикла программных средств.
Процессы, виды деятельности и задачи настоящего стандарта - самостоятельно либо совместно с ИСО/МЭК 15288 - могут также использоваться во время приобретения системы, содержащей программные средства.
1.2 Назначение
Настоящий стандарт предназначен для представления определенной совокупности процессов, облегчающих связи между приобретающими сторонами, поставщиками и другими правообладателями в течение жизненного цикла программных продуктов.
Настоящий стандарт разработан для сторон, приобретающих системы, программные продукты и услуги, а также для поставщиков, разработчиков, операторов, сопровожденцев, менеджеров (в том числе, менеджеров по качеству) и пользователей программных продуктов.
Настоящий стандарт предназначен для использования при двусторонних отношениях и может применяться также в случае, когда обе стороны принадлежат одной и той же организации. Такие отношения могут варьироваться от неформального соглашения вплоть до официального контракта. Настоящий стандарт может использоваться одной из сторон через самостоятельно выбираемую совокупность процессов, что не исключает применения настоящего стандарта поставщиками или разработчиками готовых программных продуктов.
1.3 Ограничения
В настоящем стандарте не детализируются процессы жизненного цикла в терминах методов или процедур, необходимых для удовлетворения требований и достижения результатов процесса.
Настоящий стандарт не устанавливает требований к документации в части ее наименований, форматов, определенного содержания и носителей для записи. Настоящий стандарт может потребовать разработки документов подобного класса или типа, например, различных планов. Настоящий стандарт, однако, не предусматривает, чтобы такие документы разрабатывались или комплектовались раздельно или каким-то образом объединялись. Эти решения остаются за пользователем настоящего стандарта.
Примечание - В [19] установлены требования к информационному содержанию разделов документации, описывающей процессы жизненного цикла.
Настоящий стандарт не устанавливает конкретной модели жизненного цикла системы или программных средств, разработки методологии, методов, моделей или технических приемов. Стороны, применяющие настоящий стандарт, отвечают за выбор модели жизненного цикла для программных проектов и отображение процессов, действий и задач, представленных в настоящем стандарте, на эту модель. Стороны также ответственны за выбор и применение методов разработки программных средств и за выполнение действий и задач, подходящих для программного проекта.
Настоящий стандарт не должен противоречить политикам, процедурам и нормам применяющей его организации, национальным законам и регулирующим документам. Каждое такое противоречие должно быть разрешено до начала использования настоящего стандарта.
2 Соответствие
2.1 Предполагаемое соответствие
Требования изложены в разделах 6, 7 и в приложении А настоящего стандарта. Настоящий стандарт устанавливает требования для ряда процессов, приемлемых для использования в течение всего жизненного цикла программного продукта или услуги. Допускается, что в отдельных проектах или в некоторых организациях может не возникнуть потребность применять все процессы, приведенные в настоящем стандарте. В этом случае применение настоящего стандарта обычно сводится к выбору ряда процессов, подходящих для организации или проекта. Существует два способа такого выбора, выполнение которых может потребовать соответствия с положениями настоящего стандарта. Любое заявление о соответствии должно быть оформлено только в одной из двух приведенных ниже форм.
2.2 Полное соответствие
В заявлении о полном соответствии перечисляют процессы, которые удовлетворяют требованиям настоящего стандарта. Для доказательства полного соответствия процессов положениям настоящего стандарта демонстрируют результаты процессов.
2.3 Адаптированное соответствие
В случае использования стандарта как основы для установления какой-либо совокупности процессов, которые не могут быть квалифицированы как полностью соответствующие, положения настоящего стандарта выбирают или модифицируют согласно процессу адаптации, приведенному в приложении А. Формируют адаптированный текст, в отношении которого заявляют о соответствии в результате адаптации. Соответствие в результате адаптации достигается путем доказательства того, что требования к адаптированным процессам были удовлетворены, приводя в качестве доказательства результаты процессов.
Примечание 1 - При использовании настоящего стандарта для разработки соглашения между приобретающей стороной и поставщиком определенные положения стандарта могут быть отобраны для включения в соглашение с изменениями или без изменений. В таком случае для приобретающей стороны и поставщика более приемлемо заявлять о соответствии соглашению, нежели о соответствии настоящему стандарту.
Примечание 2 - Любой организации (например, национальной, промышленной ассоциации, компании), использующей настоящий стандарт в качестве условия при торговле, следует конкретизировать и сделать общеизвестным минимальный набор требуемых процессов, действий и задач, определяющих соответствие поставщиков настоящему стандарту.
Примечание 3 - Требования настоящего стандарта отражаются использованием глагола "должен", рекомендации - глаголом "следует", а разрешения - глаголом "может".
3 Нормативные ссылки
Нормативные ссылки в настоящем стандарте не использованы.
4 Термины и определения
В настоящем стандарте применены следующие термины с соответствующими определениями.
4.1 приобретающая сторона (acquirer): Правообладатель, который приобретает или получает продукт или услугу от поставщика.
Примечание - Приобретающей стороной может быть: покупатель, заказчик, владелец, оптовый покупатель.
4.2 приобретение (acquisition): Процесс получения системы, программного продукта или программной услуги.
4.3 деятельность (activity): Совокупность согласованных задач процесса.
4.4 соглашение (agreement): Взаимное признание сроков и условий, в соответствии с которыми осуществляются рабочие отношения.
4.5 аудит (audit): Независимая оценка программных продуктов и процессов, проводимая уполномоченным лицом с целью оценить их соответствие требованиям.
4.6 базовая линия (baseline): Спецификация или продукт, которые были официально рассмотрены и согласованы с тем, чтобы впоследствии служить основой для дальнейшего развития, и которые могут быть изменены только посредством официальных и контролируемых процедур изменения.
4.7 составная часть конфигурации (configuration item): Объект в пределах конфигурации, который удовлетворяет некоторой функции целевого применения и может быть однозначно идентифицирован в данный момент времени.
4.8 контракт (contract): Обязательное соглашение между двумя сторонами, главным образом опирающиеся на юридические нормы, или подобное внутреннее соглашение в рамках организации.
4.9 заказчик (customer): Организация или лицо, получающие продукт или услугу.
Примечание 1 - Заказчик может быть внутренним или внешним по отношению к организации.
Примечание 2 - Адаптировано из ИСО 9000:2005.
Примечание 3 - Другие термины, используемые для термина "заказчик": "приобретающая сторона", "розничный покупатель", "оптовый покупатель".
4.10 разработчик (developer): Организация, которая выполняет разработку задач (в том числе анализ требований, проектирование, приемочные испытания) в процессе жизненного цикла.
Примечание - В настоящем стандарте термины "разработчик" и "исполнитель" являются синонимами.
4.11 обеспечивающая система (enabling system): Система, которая служит дополнением к рассматриваемой системе на протяжении стадий ее жизненного цикла, но не обязательно вносит непосредственный вклад в ее функционирование.
Примечание 1 - Например, если рассматриваемая система вступает в стадию производства, то требуется обеспечивающая производственная система.
Примечание 2 - Каждая обеспечивающая система имеет собственный жизненный цикл. Настоящий стандарт может применяться для любой обеспечивающей системы, если она представлена как рассматриваемая система.
4.12 оценивание (evaluation): Систематическое определение степени, с которой некоторый объект удовлетворяет установленным критериям.
4.13 основные средства (facility): Физические устройства или оборудование, способствующие выполнению действий, например, здания, инструменты, принадлежности.
4.14 фирменное средство (firmware): Сочетание технического средства и компьютерных команд или данных, встроенных в это техническое средство в качестве предназначенного только для чтения программного средства.
Примечание - Фирменное программное средство не может быть легко модифицировано под управлением какой-либо программы.
4.15 исполнитель (implementer): Организация, которая выполняет реализацию задач.
Примечание - В настоящем стандарте, термины "разработчик" и "исполнитель" являются синонимами.
4.16 жизненный цикл (life cycle): Развитие системы, продукта, услуги, проекта или других изготовленных человеком объектов, начиная со стадии разработки концепции и заканчивая прекращением применения.
4.17 модель жизненного цикла (life cycle model): Структура процессов и действий, связанных с жизненным циклом, организуемых в стадии, которые также служат в качестве общей ссылки для установления связей и взаимопонимания сторон.
4.18 сопровождающая сторона (maintainer): Организация, которая осуществляет деятельность по сопровождению.
4.19 мониторинг (monitoring): Текущий контроль состояния деятельности поставщика и результатов этой деятельности, проводимый приобретающей или третьей стороной.
4.20 непоставляемая составная часть (non-deliverable item): Техническое средство или программный продукт, который не требуется поставлять по условиям контракта, но который может использоваться в разработке программного продукта.
4.21 готовый (off-the-shelf): Уже разработанный и имеющийся в наличии.
4.22 оператор (operator): Какой-либо объект, осуществляющий работу системы.
Примечание 1 - Роль оператора и роль пользователя могут возлагаться одновременно или последовательно на одно и то же лицо или организацию.
Примечание 2 - В контексте данного конкретного определения термин "объект" означает лицо или организацию.
4.23 организация (organization): Лицо или группа лиц и необходимых средств с распределением обязанностей, полномочий и взаимоотношений.
Примечание 1 - Адаптировано из ИСО 9000:2005.
Примечание 2 - Объединение лиц, организованных для некоторой конкретной цели, такое как клуб, союз, корпорация или общество, являются организацией.
Примечание 3 - Определенная часть организации (даже такая небольшая, как конкретное лицо) или определенная группа организаций может рассматриваться как организация, если она имеет обязанности, полномочия и определенные отношения.
Примечание 4 - Отдельная форма организационного объекта часто называется "предприятием", поэтому организационные аспекты настоящего стандарта следует применять также и к "предприятию".
4.24 сторона (party): Организация, участвующая в контракте.
Примечание - В настоящем стандарте стороны, входящие в соглашение, называются "приобретающей стороной" и "поставщиком".
4.25 процесс (process): Совокупность взаимосвязанных или взаимодействующих видов деятельности, преобразующих входы в выходы.
[ИСО 9000:2005]
4.26 цель процесса (process purpose): Цель высокого уровня выполнения процесса и вероятные выходы эффективной реализации процесса.
Примечание - Необходимо, чтобы реализация процесса обеспечивала ощутимую пользу правообладателям.
4.27 выход процесса (process outcome): Наблюдаемый результат успешного достижения цели процесса.
Примечание - Формулировка выхода процесса описывает один из следующих результатов:
- изготовление какого-либо артефакта;
- существенное изменение состояния;
- удовлетворение заданных ограничений, например требований, конечных целей и т. п.
4.28 продукт (product): Результат процесса.
[ИСО 9000:2005]
4.29 проект (project) - Попытка действий с определенными начальными и конечными сроками, предпринимаемая для создания продукта или услуги в соответствии с заданными ресурсами и требованиями.
Примечание 1 - Адаптировано из ИСО 9000:2005.
Примечание 2 - Проект может рассматриваться как уникальный процесс, включающий в себя скоординированные и управляемые виды деятельности, а также может быть комбинацией видов деятельности из процессов проекта и технических процессов, определенных в настоящем стандарте.
4.30 портфель проектов (project portfolio): Совокупность проектов, направленных на достижение стратегических целей организации.
4.31 квалификация (qualification): Процесс демонстрации, определяющий, способен ли какой-либо объект полностью удовлетворять заданным требованиям.
4.32 квалификационное требование (qualification requirement): Совокупность критериев или условий, которые должны быть удовлетворены для того, чтобы квалифицировать программный продукт как соответствующий спецификациям и готовый для применения в заданном окружении или интеграции с системой, для которой он предназначен.
4.33 квалификационное тестирование (qualification testing): Тестирование, проводимое разработчиком и санкционированное приобретающей стороной (при необходимости) с целью демонстрации того, что программный продукт удовлетворяет спецификациям и готов для применения в заданном окружении или интеграции с системой, для которой он предназначен.
4.34 гарантия качества (quality assurance): Все запланированные и систематические действия, выполняемые в рамках системы качества и продемонстрированные надлежащим образом для обеспечения соответствующей уверенности в том, что объект полностью удовлетворяет требованиям к качеству.
Примечание 1 - Существуют как внутренние, так и внешние цели гарантии качества:
a) внутренняя гарантия качества: в пределах организации гарантия качества обеспечивает уверенность руководству организации;
b) внешняя гарантия качества: в контрактных ситуациях гарантия качества обеспечивает уверенность заказчику или другим сторонам.
Примечание 2 - Некоторые действия по управлению качеством и гарантии качества взаимосвязаны.
Примечание 3 - До тех пор, пока требования к качеству полностью не удовлетворяют потребностям пользователя, гарантия качества не может обеспечить необходимой уверенности.
4.35 выпуск (release): Конфетная версия элемента конфигурации, которая становится доступной для специфической цели (например, выпуск теста).
4.36 заявка на участие в предложенном тендере (request for proposal tender): Документ, используемый приобретающей стороной как средство для объявления своего намерения стать потенциальным покупателем и приобрести конкретную систему, программный продукт или программную услугу.
4.37 ресурс (resource): Актив, который используется или потребляется в ходе выполнения процесса.
4.38 снятие с эксплуатации (retirement): Прекращение активной поддержки эксплуатирующей и сопровождающей организацией, частичная или полная замена новой системой или инсталляция обновленной системы.
4.39 защита (защищенность) (security): Предохранение информации и данных с тем, чтобы неуполномоченные лица или системы не могли их читать или изменять, а уполномоченным лицам или системам не было отказано в доступе к ним.
4.40 услуга (service): Выполнение действий, работы или обязанностей, связанных с продуктом.
4.41 программная составная часть (software item): Исходный код, объектный код, контрольный код, контрольные данные или совокупность этих составных частей.
Примечание - Программная составная часть может рассматриваться как системный элемент в [18].
4.42 программный продукт (software product): Совокупность компьютерных программ, процедур и, возможно, связанных с ними документации и данных.
4.43 программный блок (software unit): Отдельная компилируемая часть кода.
4.44 стадия (stage): Период в пределах жизненного цикла некоторого объекта, который относится к состоянию его описания или реализации.
Примечание 1 - В настоящем стандарте принято, что стадии относятся к основному развитию и достижению контрольных точек этим объектом в течение его жизненного цикла.
Примечание 2 - Стадии могут быть взаимно перекрывающимися.
4.45 правообладатель (stakeholder): Лицо или организация, имеющие право, долю, требование или интерес в системе или в обладании ее характеристиками, удовлетворяющими ее потребности и ожидания.
4.46 задание на выполнение работы (statement of work): Документ, используемый приобретающей стороной как средство для описания и конкретизации задач, которые должны быть выполнены по условиям контракта.
4.47 поставщик (supplier): Организация или лицо, которое вступает в соглашение с приобретающей стороной на поставку продукта или услуги.
Примечание 1 - "Поставщиком" может быть подрядчик, производитель, торговец или продавец.
Примечание 2 - Иногда приобретающая сторона и поставщик являются частью одной и той же организации.
4.48 система (system): Комбинация взаимодействующих элементов, организованных для достижения одной или нескольких поставленных целей.
Примечание 1 - Система может рассматриваться как продукт или предоставляемые им услуги.
Примечание 2 - На практике интерпретация данного термина зачастую уточняется с помощью ассоциативного существительного, например, "система самолета". В некоторых случаях слово "система" может заменяться контекстно-зависимым синонимом, например, "самолет", хотя это может впоследствии затруднить восприятие системных принципов.
4.49 системный элемент (system element): Представитель совокупности элементов, образующих систему.
Примечание - Системный элемент является отдельной частью системы, которая может быть создана для полного выполнения заданных требований. Системный элемент может представлять собой технические и программные средства, данные, людей, процессы (например, процессы для обеспечения услуг пользователям), процедуры (например, инструкции оператору), средства, материалы и природные объекты (например, вода, живые организмы, минералы) или любые их сочетания.
4.50 задача (task): Требование, рекомендация или разрешенное действие, предназначенное для содействия достижению одного или более выходов процесса.
4.51 тестовое покрытие (test coverage): Степень, с которой данный тест проверяет требования для системы или программного продукта.
4.52 тестируемость (testability): Степень, с которой объективный и физически реализуемый тест может быть спроектирован для определения того, что требование выполняется.
4.53 пользователь (user): Лицо или группа лиц, извлекающих пользу из системы в процессе ее применения.
Примечание - Роль пользователя и роль оператора могут выполняться одновременно или последовательно одним и тем же человеком или организацией.
4.54 валидация (validation): Подтверждение (на основе представления объективных свидетельств) того, что требования, предназначенные для конкретного использования или применения, выполнены [3].
Примечание - Валидация в контексте жизненного цикла представляет собой совокупность действий, гарантирующих и обеспечивающих уверенность в том, что система способна реализовать свое предназначение, текущие и перспективные цели.
4.55 верификация (verification): Подтверждение (на основе представления объективных свидетельств) того, что заданные требования полностью выполнены [3].
Примечание - Верификация в контексте жизненного цикла представляет собой совокупность действий по сравнению полученного результата жизненного цикла с требуемыми характеристиками для этого результата. Результатами жизненного цикла могут являться (но не ограничиваться ими): заданные требования, описание проекта и непосредственно система.
4.56 версия (version): Идентифицированный экземпляр составной части.
Примечание - Модификация какой-либо версии программного продукта, воплощённая в новой версии, требует действий менеджмента конфигурации.
5 Применение настоящего стандарта
В разделе 5 представлен обзор процессов жизненного цикла программных средств, которые могут быть использованы для приобретения, поставки, разработки, применения по назначению, сопровождения и прекращения применения программных продуктов и услуг. Целью обзора является предоставление "дорожной карты" пользователям настоящего стандарта для того, чтобы они могли ориентироваться в нем и применять его осмысленно.
5.1 Ключевые понятия
В подразделе 5.1 приведены ключевые понятия, предназначенные для изучения и применения настоящего стандарта. В некоторых случаях общеупотребимые слова используются в специфическом смысле. Ниже будут также описаны такие специальные применения. Дальнейшие уточнения этих понятий можно найти в [16].
Примечание - ИСО/МЭК ТО 24748 "Руководство по менеджменту жизненного цикла" может также способствовать последующим уточнениям.
5.1.1 Отношения между программными продуктами и программными услугами
В общем случае настоящий стандарт применяется как для программных продуктов, так и для программных услуг. Условия конкретных процессов определяют их применимость.
Примечание - Определения процессов, требования и руководства провайдерам услуг для предоставления управляемых услуг приведены в [26].
5.1.2 Отношения между системами и программными средствами
Настоящий стандарт устанавливает строгую связь между системой и применяемыми в ней программными средствами. Такая связь основывается на общих принципах системной инженерии. Программное средство трактуется как единая часть общей системы, выполняющая определенные функции в данной системе, что осуществляется посредством выделения требований к программным средствам из требований к системе, проектирования, производства программных средств и объединения их в систему. Этот принцип является фундаментальной предпосылкой для настоящего стандарта, в котором программные средства всегда существуют в контексте системы, даже если система состоит из единственного процессора, выполняющего программы. В таком случае программный продукт или услуга всегда рассматриваются как одна из составных частей системы. Например, в настоящем стандарте проводится различие между анализом системных требований и анализом требований к программным средствам, так как в общем случае построение системной архитектуры определяет системные требования для различных составных частей системы, а анализ требований к программным средствам предопределяет требования к ним, исходя из системных требований, назначенных каждой программной составной части. Конечно, в некоторых случаях непрограммных элементов в системе может быть настолько мало, что можно не делать различия между анализом системы и анализом программных средств.
Настоящий стандарт имеет сильную взаимосвязь с [18] и может использоваться вместе с ним. Во многих случаях процессы в настоящем стандарте непосредственно соответствуют процессам в [18], но с некоторой спецификой для программных продуктов и услуг. Примечательным примером является то, что процесс реализации программных средств в настоящем стандарте является специальным, частным случаем процесса реализации, приведенного в [18].
В случае, если система имеет важные непрограммные элементы, то организация может по желанию применять [18] для обеспечения соответствующих процессов жизненного цикла. Для каждого программного элемента системы организации следует применять процесс реализации программных средств из настоящего стандарта для создания программного элемента.
В случае, если количество непрограммных средств системы минимально, то организация может по своему усмотрению применять настоящий стандарт, не ссылаясь на [18]. В настоящем стандарте содержится дополнительный процесс системного уровня, тем не менее приспособленный к потребностям программных средств и предназначенный для обеспечения минимально приемлемого системного контекста для программных средств.
В случае, если настоящий стандарт применяется в сочетании с [18], то должно учитываться любое незначительное несоответствие в терминологии. В [18] производится декомпозиция системы на совокупность системных "элементов". Некоторые из этих элементов могут определяться как программные продукты, которые реализуются с использованием настоящего стандарта. В настоящем стандарте применяется термин "составная часть" для указания на некоторый основной элемент системы. Короче говоря, в настоящем стандарте используется термин "составная часть" тогда, когда в [18] используется термин "элемент программного средства".
Некоторые составные части могут, в конечном счете, назначаться как объект менеджмента конфигурации; тогда они называются "составными частями конфигурации". Процесс проектирования архитектуры программных средств преобразует составные части в "компоненты", а процесс детального проектирования программных средств переводит "компоненты" в "программные блоки".
5.1.3 Организации и стороны
В настоящем стандарте термины "организация" и "сторона" тесно связаны. Организация - это группа лиц с определенными обязанностями и полномочиями, объединенных для реализации некоторых конкретных целей, таких как клуб, союз, корпорация или общество. Если организация полностью или частично входит в контрактное соглашение (договор), то это - сторона. Стороны могут быть из одной или из разных организаций. Отдельное лицо является примером организации, если на него возлагается определенная ответственность и полномочия.
Организация или сторона получают свои наименования от процессов, за которые они ответственны. Например, организация называется приобретающей стороной, если она выполняет процесс приобретения. Таким образом, когда следующие термины используются в настоящем стандарте, они не имеют своего изначального значения, а вместо этого указывают на организацию или сторону, ответственную за выполнение процесса со сходным названием: приобретающая сторона, поставщик, исполнитель, сопровождающая сторона и оператор.
В настоящем стандарте применяются также другие термины по отношению к организации: "пользователь" - может быть организацией, которая извлекает выгоду от применения программного продукта или услуги; "заказчик" - рассматривается совместно как пользователь и приобретающая сторона; "правообладатель" - рассматривается как организация, заинтересованная в успехе проекта.
Процессы и организации (стороны) связаны только функционально. Настоящий стандарт не диктует или не включает в себя структуру для организации (стороны).
Процессы в настоящем стандарте составляют полную совокупность для охвата различных организаций. Организация (малая или крупная) в зависимости от ее деловых целей или стратегии приобретения может выбрать подходящую совокупность процессов (а также связанных с ними действий и задач) для выполнения этих целей. Организация может выполнять один или несколько процессов. Например, по условиям контракта или применения настоящего стандарта конкретная сторона не должна выполнять ни процесс приобретения, ни процесс поставки, но она может выполнять другие процессы. Процесс может реализовываться одной или несколькими организациями. Примером процесса, выполняемого более чем одной организацией, является процесс ревизии программных средств.
Настоящий стандарт предназначен для применения двумя или большим числом организаций (как внутри, так и вне организаций). Если он применяется внутри организации, то две стороны соглашения обычно действуют согласно положениям, установленным в соглашении, которые могут изменяться с соблюдением принятых правил при различных обстоятельствах. Если он применяется при отношениях с внешними сторонами, то стороны соглашения обычно действуют согласно положениям, изложенным в контракте. Для того, чтобы облегчить применение настоящего стандарта как для внутренних целей, так и для контрактных отношений, задачи выражаются на языке контракта. Если стандарт применяется для внутренних целей, то положения контракта следует интерпретировать как установленную в пределах организации исполнительскую дисциплину.
Для целей настоящего стандарта предполагается, что любой проект осуществляется в пределах контекста организации. Это важно, так как программный проект зависит от различных результатов, производимых деловыми процессами организации, например, найма работников для укомплектования штатного персонала проекта и средств обеспечения проекта. Для этой цели настоящий стандарт предоставляет совокупность процессов "организационного обеспечения проекта". Предполагается, что эти процессы не охватывают ни деловой деятельности, ни какого-либо отдельного процесса проекта. Вместо этого процессы рассматриваемые в совокупности, предназначаются для установления минимального множества зависимостей, которые проект возлагает на организацию.
5.1.4 Внедрение на уровне организации и на уровне проекта
Современные организации, осуществляющие свою деятельность в области программного обеспечения, стремятся разрабатывать устойчивую совокупность процессов жизненного цикла программных средств, которые применяются по нескольку раз для программных проектов в деловой сфере. Поэтому настоящий стандарт предназначен для внедрения либо на уровне организации, либо на уровне проекта. Организации следует внедрить стандарт и дополнить его соответствующими процедурами, практическими рекомендациями, инструментарием и политиками. Программный проект организации обычно следует согласовывать в большей степени с процессами организации, чем согласовывать непосредственно с настоящим стандартом.
В некоторых случаях проекты могут выполняться организацией, которая не имеет конкретной совокупности процессов, принятых на организационном уровне. В этом случае положения настоящего стандарта могут применяться непосредственно к таким проектам.
5.1.5 Адаптация
Основные действия, необходимые для адаптации настоящего стандарта, определены в приложении А.
Следует заметить, что адаптация может снизить восприятие значимости требований соответствия настоящему стандарту. Это происходит потому, что другим организациям трудно оценить степень, с которой адаптация может исключить важные для них положения. Организация, выдвигающая одностороннее утверждение о соответствии настоящему стандарту, может посчитать выгодным для себя требование полного соответствия меньшему числу процессов вместо адаптированного соответствия большему числу процессов.
5.1.6 Временные отношения между процессами
В настоящем стандарте процессы, входящие в них действия и задачи располагаются в виде упорядоченной последовательности, подходящей для пояснений. Эта последовательность не предполагает или не устанавливает какой-либо зависимости от времени. Из-за невозможности достичь единого мнения или применить универсальную, развернутую во времени последовательность пользователь настоящего стандарта может самостоятельно выбирать и назначать процессы, виды деятельности и задачи как наиболее подходящие и эффективные. Настоящий стандарт способствует выполнению итераций между действиями и рекурсий в пределах отдельных действий для того, чтобы нейтрализовать нежелательное влияние любой подразумевающейся последовательности действий и задач. Стороны, применяющие настоящий стандарт, ответственны за выбор модели жизненного цикла для проекта и отображение процессов, действий и задач в этой модели.
5.1.7 Оценивание по отношению к верификации и валидации
Организации, заинтересованные в каком-либо процессе жизненного цикла, проводят оценку результатов такого процесса. Процессы верификации и валидации программных средств предусматривают возможность проведения дополнительных оценок. Эти процессы реализуются приобретающей стороной, поставщиком или независимой стороной для верификации и валидации продуктов с различной степенью в зависимости от проекта. Такие оценки не дублируют или не заменяют другие оценки, но дополняют их. Дополнительные возможности для оценивания предусматриваются процессами ревизий программных средств, аудита программных средств, обеспечения гарантий качества программных средств и менеджмента моделей жизненного цикла.
5.1.8 Критерии для процессов
Настоящий стандарт устанавливает структуру работ в пределах жизненного цикла программных средств. Жизненный цикл начинается от замысла или потребности, которая может быть удовлетворена полностью или частично программным средством, и завершается прекращением применения этого программного средства. Такая архитектура создается совокупностью процессов и взаимосвязями между этими процессами. Определение процессов жизненного цикла основывается на двух базовых принципах: связности и ответственности.
Принцип связности: процессы жизненного цикла являются связными и соединяются оптимальным образом, считающимся практичным и выполнимым.
Принцип ответственности: процесс передается под ответственность какой-либо организации или стороне в пределах жизненного цикла программного средства.
5.1.9 Описание процессов
Процессы в настоящем стандарте описываются способом, подобным способу, представленному в ИСО/МЭК 15288, для того, чтобы обеспечить использование обоих стандартов в одной организации или проекте.
Каждый процесс настоящего стандарта описывается в терминах следующих атрибутов:
- наименование - передает область применения процесса как целого;
- цель - описывает конечные цели выполнения процесса;
- выходы - представляют собой наблюдаемые результаты, ожидаемые при успешном выполнении процесса;
- деятельность - является перечнем действий, используемых для достижения выходов;
- задачи - представляют собой требования, рекомендации или допустимые действия, предназначенные для поддержки достижения выходов процесса.
Дополнительные подробности относительно подобной формы описания процессов представлены в [27].
5.1.10 Общие характеристики процессов
Атрибуты, описанные в 5.1.9, характеризуют специфику каждого процесса. Если реализуемый процесс соответствует этим атрибутам, то специально определенная цель процесса и его результаты достигаются посредством реализации определенной деятельности.
В дополнение к описанным атрибутам процессы могут характеризоваться другими атрибутами, общими для всех процессов. В [20] определяются общие атрибуты процессов, которые характеризуют шесть уровней достижений возможностей процессов в пределах структуры их измерений. Перечень атрибутов процессов, определенных в [20], которые вносят вклад в достижение более высоких уровней возможностей процессов, приведен в приложении В.
5.1.11 Декомпозиция процессов
Каждый процесс, представленный в настоящем стандарте, удовлетворяет общему описанию, приведенному в 5.1.9. С целью более подробного описания процессы иногда подвергают декомпозиции на более мелкие части. Некоторые процессы декомпозируют в совокупность действий и (или) в процессы более низкого уровня. Процесс более низкого уровня описывается тогда, когда декомпозированная часть процесса сама удовлетворяет критериям, характеризующим процесс. Деятельность используется тогда, когда определенная часть процесса, полученная в результате декомпозиции, не является процессом. Деятельность может рассматриваться просто как набор задач.
Иногда полезно выполнить декомпозицию процессов на процессы более низкого уровня с более четким уровнем детализации. Некоторые процессы более низкого уровня описываются исключительно для целей оценки. Такие процессы не представлены в основной части настоящего стандарта, но содержатся в приложении В. В каждом случае оценка процесса более низкого уровня, описанного в приложении В, является результатом развития конкретного действия связанного с ним процесса из основной части настоящего стандарта.
Задача выражается в форме требования, рекомендации или допустимого действия, предназначенных для поддержки достижения выходов процесса. Для этой цели в настоящем стандарте используются вспомогательные глаголы "должен", "следует" и "может", чтобы подчеркнуть различие между разными формами задач. Глагол "должен" используется для выражения условия, требуемого для соответствия, "следует" - для выражения рекомендации среди других возможностей и "может" - для того, чтобы отразить направление допустимых действий в пределах ограничений настоящего стандарта.
Дополнительный справочный материал представлен в виде необязательных примечаний или необязательных приложений.
5.1.12 Модели и стадии жизненного цикла
Процесс жизни любой системы или программного продукта может быть описан посредством модели жизненного цикла, состоящей из стадий. Модели могут использоваться для представления всего жизненного цикла от замысла до прекращения применения или для представления части жизненного цикла, соответствующей текущему проекту. Модель жизненного цикла представляется в виде последовательности стадий, которые могут перекрываться и (или) повторяться циклически в соответствии с областью применения, размером, сложностью, потребностью в изменениях и возможностях. Каждая стадия описывается формулировкой цели и выходов. Процессы и действия жизненного цикла отбираются и исполняются на этих стадиях для полного удовлетворения цели и результатам каждой стадии. Различные организации могут использовать различные стадии в пределах жизненного цикла. Однако каждая стадия реализуется организацией, ответственной за эту стадию, с надлежащим рассмотрением информации, имеющейся в планах жизненного цикла и решениях, принятых на предшествующих стадиях. Аналогичным образом организация, ответственная за текущую стадию, ведет записи принятых решений и записи допущений, относящихся к последующим стадиям данного жизненного цикла.
Настоящий стандарт не требует использования какой-либо конкретной модели жизненного цикла. Однако он требует, чтобы в каждом проекте определялась подходящая модель жизненного цикла, предпочтительно та, которая уже выбиралась организацией для применения в различных проектах. Применение модели жизненного цикла обеспечивает средства для установления зависимой от времени последовательности, необходимой для менеджмента проекта.
Кроме того, настоящий стандарт не содержит требований использования какой-либо заданной совокупности стадий. Пример совокупности стадий жизненного цикла системы включает в себя стадии концепции, разработки, производства, применения по назначению, поддержки и прекращения применения. Примером совокупности стадий жизненного цикла программного продукта является разработка, применение по назначению и сопровождение.
Описаны различные типы или классы моделей жизненного цикла. Примеры этих типов моделей известны под такими наименованиями, как каскадная, пошаговая разработка, эволюционная и спиральная разработка. Следует отметить, что простой выбор наименования типа модели не удовлетворяет требованию определить модель, состоящую из стадий с определенными целями и результатами, достигнутыми посредством процессов настоящего стандарта.
Примечание - ИСО/МЭК ТО 24748 содержит дополнительные детали, относящиеся к моделям и стадиям жизненного цикла.
5.2 Организация настоящего стандарта
5.2.1 Категории процессов жизненного цикла
Настоящий стандарт группирует различные виды деятельности, которые могут выполняться в течение жизненного цикла программных систем, в семь групп процессов. Каждый из процессов жизненного цикла в пределах этих групп описывается в терминах цели и желаемых выходов, списков действий и задач, которые необходимо выполнять для достижения этих результатов.
a) процессы соглашения - два процесса (см. 5.2.2.1.1 и 6.1);
b) процессы организационного обеспечения проекта - пять процессов (см. 5.2.2.1.2 и 6.2);
c) процессы проекта - семь процессов (см. 5.2.2.1.3 и 6.3);
d) технические процессы - одиннадцать процессов (см. 5.2.2.1.4 и 6.4);
e) процессы реализации программных средств - семь процессов (см. 5.2.2.2.1 и 7.1);
f) процессы поддержки программных средств - восемь процессов (см. 5.2.2.2.2 и 7.2);
g) процессы повторного применения программных средств - три процесса (см. 5.2.2.2.3 и 7.3).
Цели и результаты процессов жизненного цикла образуют эталонную модель процессов.
В настоящем стандарте принята следующая нумерация:
6.а и 7.а - указывают на группу процесса;
6.а.b и 7.а.b - указывают на процесс (или процесс более низкого уровня) в пределах этой группы;
6.а.b.1 и 7.а.b.1 - описывают цели процесса;
6.а.b.2 и 7.а.b.2 - описывают выходы процесса;
6.а.b.3.с и 7.а.b.3.с - перечисляют виды деятельности процесса и пункты;
6.a.b.3.c.d и 7.a.b.3.c.d - перечисляют задачи в пределах деятельности (с).
Группы процессов жизненного цикла представлены на рисунке 1.
Эталонная модель процесса не представляет конкретного подхода к осуществлению процесса, как и не предопределяет модель жизненного цикла системы (программного средства), методологию или технологию. Вместо этого эталонная модель предназначается для принятия организацией и базируется на деловых потребностях организации и области приложений. Определенный организацией процесс принимается в проектах организации в контексте требований заказчиков.
Результаты процесса используются для демонстрации успешного достижения цели процесса, что помогает оценщикам процесса определять возможности реализованного процесса организации и предоставлять исходные материалы для планирования улучшений организационных процессов.
5.2.2 Краткое содержание процессов жизненного цикла
В настоящем стандарте существует два важных подразделения процесса. В разделе 6 представлен системный контекст для работы с автономным программным продуктом или услугой, или программной системой. Раздел 7 содержит специальные процессы программных средств для использования в реализации программного продукта или услуги, которые являются некоторым элементом более крупной системы.
Для помощи в одновременном использовании [18] и настоящего стандарта соответствующие процессы раздела 6 имеют одинаковые обозначения подразделов.
В общем случае совокупность процессов, представленная в настоящем стандарте, приспособлена к программным средствам или вкладам в результаты процессов, предусмотренных [18]. Многие процессы из [18] подобны реализациям процессов, специфических для программных средств, однако они сохраняют важные различия, базирующиеся на целях, результатах и аудиториях. Пользователям как [18], так и настоящего стандарта следует обязательно рассматривать пояснения и примечания в каждом таком специфическом процессе.
5.2.2.1 Процессы в контексте системы
5.2.2.1.1 Процессы соглашения
Процессы соглашения определяют действия, необходимые для выработки соглашений между двумя организациями. Если реализуется процесс приобретения, то он обеспечивает средства для проведения деловой деятельности с поставщиком продуктов, предоставляемых для применения в функционирующей системе, услугах поддержки этой системы или элементах системы, разработанных в рамках проекта. Если реализуется процесс поставки, то он обеспечивает средства для проведения проекта, в котором результатом является продукт или услуга, поставляемые приобретающей стороне.
Таким образом, процессы соглашения, приведенные в настоящем стандарте, ориентированы на программные средства процессами соглашения из [18].
5.2.2.1.2 Процессы организационного обеспечения проекта
Процессы организационного обеспечения проекта осуществляют менеджмент возможностей организаций приобретать и поставлять продукты или услуги через инициализацию, поддержку и управление проектами. Эти процессы обеспечивают ресурсы и инфраструктуру, необходимые для поддержки проектов, и гарантируют удовлетворение организационных целей и установленных соглашений. Они не претендуют на роль полной совокупности деловых процессов, реализующих менеджмент деловой деятельности организации.
Процессы организационного обеспечения проекта включают в себя:
a) процесс менеджмента модели жизненного цикла;
b) процесс менеджмента инфраструктуры;
c) процесс менеджмента портфеля проектов;
d) процесс менеджмента людских ресурсов;
e) процесс менеджмента качества.
В общем случае процессы организационного обеспечения проекта, предусмотренные настоящим стандартом, являются процессами, ориентированными на программные средства из соответствующей совокупности процессов в [18].
5.2.2.1.3 Процессы проекта
В настоящем стандарте проект выбран как основа для описания процессов, относящихся к планированию, оценке и управлению. Принципы, связанные с этими процессами, могут применяться в любой области менеджмента организаций.
Существуют две категории процессов проекта. Процессы менеджмента проекта используются для планирования, выполнения, оценки и управления продвижением проекта. Процессы поддержки проекта обеспечивают выполнение специализированных целей менеджмента. Обе категории процессов проекта описаны ниже.
Процессы менеджмента проекта применяются для создания и развития планов проекта, оценки фактического выполнения и продвижения относительно плановых заданий и управления выполнением проекта вплоть до полного его завершения. Отдельные процессы менеджмента проекта могут привлекаться в любое время жизненного цикла и на любом уровне иерархии проекта в соответствии с планами проекта или возникновением непредвиденных событий. Процессы менеджмента проекта применяются на уровне строгости и формализации, зависящих от риска и сложности проекта:
a) процесс планирования проекта;
b) процесс управления и оценки проекта.
Процессы поддержки проекта формируют специфическую совокупность задач, ориентированных на выполнение специальных целей менеджмента. Все эти процессы очевидны при осуществлении менеджмента любой инициируемой деятельности, располагаясь по нисходящей от организации в целом вплоть до отдельного процесса жизненного цикла и его задач:
a) процесс менеджмента решений;
b) процесс менеджмента рисков;
c) процесс менеджмента конфигурации;
d) процесс менеджмента информации;
e) процесс измерений.
В общем случае процессы поддержки проекта, представленные в настоящем стандарте, идентичны процессам поддержки проекта, приведенным в [18], за исключением некоторых отличий в форме их представления. В некоторых случаях процессы поддержки программных средств могут иметь взаимосвязи с процессами поддержки проектов.
5.2.2.1.4 Технические процессы