3.5 базовая линия (baseline): Официально принятая версия элемента конфигурации, независимая от среды, формально обозначенная и зафиксированная в конкретный момент времени жизненного цикла элемента конфигурации.
3.6 элемент конфигурации (configuration item): Объект внутри конфигурации, который удовлетворяет функции конечного использования и может быть однозначно определен в данной эталонной точке.
3.7 договор (contract): Обязательное соглашение между двумя сторонами, подкрепленное законодательно, или аналогичное соглашение внутри данной организации: по предоставлению программной услуги; на поставку, разработку, производство, эксплуатацию или сопровождение программного продукта.
3.8 разработчик (developer): Организация, выполняющая работы по разработке (включая анализ требований, проектирование, приемочные испытания) в процессе жизненного цикла программных средств.
3.9 оценка (evaluation): Систематическое определение степени соответствия объекта установленным критериям.
3.10 программно-аппаратное средство (firmware): Сочетание технических устройств и машинных команд или используемых вычислительной машиной данных, постоянно хранящихся на техническом устройстве в виде постоянного программного средства. Данное программное средство не может изменяться только средствами программирования.
3.11 модель жизненного цикла (life cycle model): Структура, состоящая из процессов, работ и задач, включающих в себя разработку, эксплуатацию и сопровождение программного продукта, охватывающая жизнь системы от установления требований к ней до прекращения ее использования.
3.12 персонал сопровождения (maintainer): Организация, которая выполняет работы по сопровождению.
3.13 надзор (monitoring): Проверка заказчиком или третьей стороной состояния работ, выполняемых поставщиком, и их результатов.
3.14 непоставляемое изделие (non-deliverable item): Техническое или программное средство, которое не поставляется по условиям договора, но может быть применено при создании программного продукта.
3.15 готовый продукт (off-the-shelf product): Ранее разработанный и доступный для приобретения продукт, пригодный для исполь shy;зования в поставляемом или модифицированном виде.
3.16 оператор (operator): Организация, эксплуатирующая систему.
3.17 процесс (process): Набор взаимосвязанных работ, которые преобразуют исходные данные в выходные результаты.
Примечание — Термин подразумевает использование ресурсов (См. 1.2 ИСО 8402).
3.18 квалификация (qualification): Процесс демонстрации возможности объекта выполнять установленные требования (См. 2.13 ИСО 8402).
3.19 квалификационное требование (qualification requirement): Набор критериев или условий. которые должны быть удовлетворены для того, чтобы квалифицировать программный продукт на соответствие установленным требованиям и готовность к использованию в заданных условиях эксплуатации.
3.20 квалификационное испытание (qualification testing): Испытание (тестирование), проводимое разработчиком, при необходимости санкционированное заказчиком, для демонстрации того, что программный продукт удовлетворяет установленным требованиям и готов к использованию в заданных условиях эксплуатации.
3.21 обеспечение качества (quality assurance): Все запланированные и систематически выполняемые в рамках системы качества работы; при необходимости объективные доказательства, обеспечивающие уверенность в том, что объект будет полностью соответствовать установленным требованиям качества.
Примечания
Существуют как внешние, так и внутренние цели обеспечения качества:
внутреннее обеспечение качества — внутри организации обеспечение качества создает уверенность у руководства;
внешнее обеспечение качества — в договорных или других ситуациях обеспечение качества создает уверенность у потребителя или других лиц.
Некоторые виды работ по управлению качеством и обеспечению качества взаимосвязаны.
Если требования к качеству не полностью отражают потребности пользователя, то обеспечение качества может не создать достаточной уверенности. (См. 3.5 ИСО 8402).
3.22 выпуск (release): Конкретная версия элемента конфигурации, которая доступна для реализации конкретной цели (например, тестируемый выпуск).
3.23 заявка на подряд (request for proposal [tender]): Документ, используемый заказчиком в качестве средства для объявления о своих намерениях выступить в качестве потенциального покупателя конкретной системы, программного продукта или программной услуги.
3.24 снятие с эксплуатации (retirement): Прекращение активной поддержки действующей системы со стороны эксплуатирующей или сопровождающей организации, частичная или полная замена ее новой системой или ввод в действие модернизированной системы.
3.25 защита (security): Сохранение информации и данных так, чтобы недопущенные к ним лица или системы не могли их читать или изменять, а допущенные лица или системы не ограничивались в доступе к ним.
3.26 программный продукт (software product): Набор машинных программ, процедур и, возможно, связанных с ними документации и данных.
3.27 программная услуга (software servise): Выполнение работ, заданий или обязанностей, связанных с программным продуктом, таких как разработка, сопровождение или эксплуатация.
3.28 программный модуль (software unit): Отдельно компилируемая часть программного кода (программы).
3.29 техническое задание (statement of work): Документ, используемый заказчиком в качестве средства для описания и определения задач, выполняемых при реализации договора.
3.30 поставщик (supplier): Организация, которая заключает договор с заказчиком на поставку системы, программного продукта или программной услуги на условиях, оговоренных в договоре.
Примечания
Синонимами термина «поставщик» являются термины «подрядчик», «производитель», «оптовик» или «продавец».
Заказчик может определить в качестве поставщика подразделение собственной организации.
3.31 система (system): Комплекс, состоящий из процессов, технических и программных средств, устройств и персонала, обладающий возможностью удовлетворять установленным потребностям или целям.
3.32 тестовое покрытие (test coverage): Степень, до которой с помощью контрольных примеров проверяют требования к системе или программному продукту.
3.33 тестируемость (testability): Степень, до которой могут быть запланированы объективность и реализуемость тестирования, проверяющего соответствие требованию.
3.34 пользователь (user): Лицо или организация, которое использует действующую систему для выполнения конкретной функции.
Примечание — Пользователь может также выполнять и другие роли, например, заказчика, разработчика или сопровождающего персонала.
3.35 аттестация (validation): Подтверждение экспертизой и представлением объективных доказательств того, что конкретные требования к конкретным объектам полностью реализованы.
Примечания
В процессе проектирования и разработки аттестация связана с экспертизой продукта в целях определения его соответствия потребностям пользователя.
Аттестацию обычно проводят для конечного продукта в установленных условиях эксплуатации. При необходимости аттестация может проводиться на более ранних стадиях.
Термин «аттестован» используется для обозначения соответствующих состояний объекта.
Может быть проведен ряд аттестаций, если они преследуют различные цели. (См. 2.18 ИСО 8402).
3.36 верификация (verification): Подтверждение экспертизой и представлением объективных доказательств того, что конкретные требования полностью реализованы.
Примечания
В процессе проектирования и разработки верификация связана с экспертизой результатов данной работы в целях определения их соответствия установленным требованиям.
Термин «верифицирован» используется для обозначения соответствующих состояний проверенного объекта. (См. 2.17 ИСО 8402).
3.37 версия (version): Определенный экземпляр объекта.
Примечание — В результате модификации версии программного продукта появляется новая версия, подвергающаяся управлению конфигурацией.
4 Прикладное применение настоящего стандарта
В настоящем разделе определяются процессы жизненного цикла программных средств, которые могут быть реализованы при заказе, поставке, разработке, эксплуатации и сопровождении программных продуктов. Целью настоящего раздела является создание «путеводителя» для пользователей настоящего стандарта, который поможет ориентироваться в стандарте и осмысленно применять его.
4.1 Построение стандарта
4.1.1 Процессы жизненного цикла
В настоящем стандарте работы, которые могут выполняться в жизненном цикле программных средств, распределены по пяти основным, восьми вспомогательным и четырем организационным процессам. Каждый процесс жизненного цикла разделен на набор работ; каждая работа разделена на набор задач. Нумерация подразделов (пунктов) означает: а. b — процесс; а.b.с. — работа; a.b.c.d — задача. Все процессы жизненного цикла описаны ниже и изображены на рисунке 1.
4.1.1.1 Основные процессы жизненного цикла
Основные процессы жизненного цикла (раздел 5) состоят из пяти процессов, которые реализуются под управлением основных сторон, вовлеченных в жизненный цикл программных средств. Под основной стороной понимают одну из тех организаций, которые инициируют или выполняют разработку, эксплуатацию или сопровождение программных продуктов. Основными сторонами являются заказчик, поставщик, разработчик, оператор и персонал сопровождения программных продуктов. Основными процессами являются:
1. Процесс заказа (подраздел 5.1). Определяет работы заказчика, то есть организации, которая приобретает систему, программный продукт или программную услугу.
2. Процесс поставки (подраздел 5.2). Определяет работы поставщика, то есть организации, которая поставляет систему, программный продукт или программную услугу заказчику.
3. Процесс разработки (подраздел 5.3). Определяет работы разработчика, то есть организации, которая проектирует и разрабатывает программный продукт.
4. Процесс эксплуатации (подраздел 5.4). Определяет работы оператора, то есть организации, которая обеспечивает эксплуатационное обслуживание вычислительной системы в заданных условиях в интересах пользователей.
5. Процесс сопровождения (подраздел 5.5). Определяет работы персонала сопровождения, то есть организации, которая предоставляет услуги по сопровождению программного продукта, состоящие в контролируемом изменении программного продукта с целью сохранения его исходного состояния и функциональных возможностей. Данный процесс охватывает перенос и снятие с эксплуатации программного продукта.
4.1.1.2 Вспомогательные процессы жизненного цикла
Вспомогательные процессы жизненного цикла (раздел 6) состоят из восьми процессов. Вспомогательный процесс является целенаправленной составной частью другого процесса, обеспечивающей успешную реализацию и качество выполнения программного проекта. Вспомогательный процесс, при необходимости, инициируется и используется другим процессом. Вспомогательными процессами являются:
1. Процесс документирования (подраздел 6.1). Определяет работы по описанию информации, выдаваемой в процессе жизненного цикла.
2. Процесс управления конфигурацией (подраздел 6.2). Определяет работы по управлению конфигурацией.
3. Процесс обеспечения качества (подраздел 6.3). Определяет работы по объективному обеспечению того, чтобы программные продукты и процессы соответствовали требованиям, установленным для них, и реализовывались в рамках утвержденных планов. Совместные анализы, аудиторские проверки, верификация и аттестация могут использоваться в качестве методов обеспечения качества.
4. Процесс верификации (подраздел 6.4). Определяет работы (заказчика, поставщика или независимой стороны) по верификации программных продуктов по мере реализации программного проекта.
5. Процесс аттестации (подраздел 6.5). Определяет работы (заказчика, поставщика или независимой стороны) по аттестации программных продуктов программного проекта.
6. Процесс совместного анализа (подраздел 6.6). Определяет работы по оценке состояния и результатов какой-либо работы. Данный процесс может использоваться двумя любыми сторонами, когда одна из сторон (проверяющая) проверяет другую сторону (проверяемую) на совместном совещании.
7. Процесс аудита (подраздел 6.7). Определяет работы по определению соответствия требованиям, планам и договору. Данный процесс может использоваться двумя сторонами, когда одна из сторон (проверяющая) контролирует программные продукты или работы другой стороны (проверяемой).
8. Процесс решения проблемы (подраздел 6.8). Определяет процесс анализа и устранения проблем (включая несоответствия), независимо от их характера и источника, которые были обнаружены во время осуществления разработки, эксплуатации, сопровождения или других процессов.
4.1.1.3 Организационные процессы жизненного цикла
Организационные процессы жизненного цикла (раздел 7) состоят из четырех процессов. Они применяются в какой-либо организации для создания и реализации основной структуры, охватывающей взаимосвязанные процессы жизненного цикла и соответствующий персонал, а также для постоянного совершенствования данной структуры и процессов. Эти процессы, как правило, являются типовыми, независимо от области реализации конкретных проектов и договоров; однако уроки, извлеченные из таких проектов и договоров, способствуют совершенствованию организационных вопросов. Организационными процессами являются:
1. Процесс управления (подраздел 7.1). Определяет основные работы по управлению, включая управление проектом, при реализации процессов жизненного цикла.
2. Процесс создания инфраструктуры (подраздел 7.2). Определяет основные работы по созданию основной структуры процесса жизненного цикла.
3. Процесс усовершенствования (подраздел 7.3). Определяет основные работы, которые организация (заказчика, поставщика, разработчика, оператора, персонала сопровождения или администратора другого процесса) выполняет при создании, оценке, контроле и усовершенствовании выбранных процессов жизненного цикла.
4. Процесс обучения (подраздел 7.4). Определяет работы по соответствующему обучению персонала.
4.1.2 Процесс адаптации
Основные работы, которые должны быть выполнены при адаптации настоящего стандарта к условиям конкретного программного проекта, определены в приложении А. Краткое руководство по адаптации требований настоящего стандарта приведено в приложении В; оно содержит перечни основных показателей, по которым могут быть приняты решения по адаптации.
4.1.3 Взаимосвязи между процессами и организациями
Настоящий стандарт определяет различные процессы, которые реализуются в жизненном цикле программных средств различными организациями, в зависимости от их потребностей и целей. Для лучшего понимания материала настоящего стандарта в приложении С представлены взаимосвязи между процессами жизненного цикла и соответствующими сторонами, вовлеченными в жизненный цикл.