allgosts.ru35.080 Программное обеспечение35 ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

ГОСТ Р ИСО/МЭК 26557-2019 Системная и программная инженерия. Методы и инструменты реализации механизмов вариабельности для линейки программных и системных продуктов

Обозначение:
ГОСТ Р ИСО/МЭК 26557-2019
Наименование:
Системная и программная инженерия. Методы и инструменты реализации механизмов вариабельности для линейки программных и системных продуктов
Статус:
Действует
Дата введения:
01.01.2021
Дата отмены:
-
Заменен на:
-
Код ОКС:
35.080

Текст ГОСТ Р ИСО/МЭК 26557-2019 Системная и программная инженерия. Методы и инструменты реализации механизмов вариабельности для линейки программных и системных продуктов


ГОСТ Р ИСО/МЭК 26557-2019

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Системная и программная инженерия

МЕТОДЫ И ИНСТРУМЕНТЫ РЕАЛИЗАЦИИ МЕХАНИЗМОВ ВАРИАБЕЛЬНОСТИ ДЛЯ ЛИНЕЙКИ ПРОГРАММНЫХ И СИСТЕМНЫХ ПРОДУКТОВ

Software and systems engineering. Methods and tools for variability mechanisms in software and systems product line

ОКС 35.080

Дата введения 2021-01-01

Предисловие

1 ПОДГОТОВЛЕН Акционерным обществом "Всероссийский научно-исследовательский институт сертификации" (АО "ВНИИС") и Обществом с ограниченной ответственностью "Информационно-аналитический вычислительный центр" (ООО ИАВЦ) на основе собственного перевода на русский язык англоязычной версии стандарта, указанного в пункте 4

2 ВНЕСЕН Техническим комитетом по стандартизации ТК 022 "Информационные технологии"

3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 16 октября 2019 г. N 1008-ст

4 Настоящий стандарт идентичен международному стандарту ИСО/МЭК 26557:2016* "Системная и программная инженерия. Методы и инструменты реализации механизмов вариабельности для линейки программных и системных продуктов" (ISO/IEC 26557:2016 "Software and systems engineering - Methods and tools for variability mechanisms in software and systems product line", IDT).

________________
* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. - .

ИСО/МЭК 26557 разработан подкомитетом ПК 7 "Системная и программная инженерия" Совместного технического комитета СТК 1 "Информационные технологии" Международной организации по стандартизации (ИСО) и Международной электротехнической комиссии (МЭК)

5 ВВЕДЕН ВПЕРВЫЕ

6 Некоторые положения международного стандарта, указанного в пункте 4, могут являться объектом патентных прав. ИСО и МЭК не несут ответственности за идентификацию подобных патентных прав

Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)

Введение

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

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

Настоящий стандарт может быть использован:

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

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

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

Семейство стандартов ИСО/МЭК 26550 рассматривает как инженерные, так и управленческие процессы, а также возможности методов и инструментов с точки зрения ключевых характеристик разработки линейки продуктов. В настоящем стандарте представлены процессы и возможности методов и инструментов реализации механизмов вариабельности в продуктовых линейках. Также существуют другие стандарты семейства ИСО/МЭК 26550.

ИСО/МЭК 26550, ИСО/МЭК 26551, ИСО/МЭК 26552, ИСО/МЭК 26553, ИСО/МЭК 26554, ИСО/МЭК 26555, ИСО/МЭК 26556, ИСО/МЭК 26558, ИСО/МЭК 26559 и ИСО/МЭК 26560 опубликованы; ИСО/МЭК 26561, ИСО/МЭК 26562 и ИСО/МЭК 26563 планируются к выпуску:

- Процессы и возможности методов и инструментов для разработки требований к доменам и требований к приложениям приведены в ИСО/МЭК 26551.

- Процессы и возможности методов и инструментов проектирования доменов и приложений представлены в ИСО/МЭК 26552.

- Процессы и возможности методов и инструментов реализации домена и приложений представлены в ИСО/МЭК 26553.

- Процессы и возможности методов и инструментов тестирования домена и приложений приведены в ИСО/МЭК 26554.

- Процессы и возможности методов и инструментов технического управления приведены в ИСО/МЭК 26555.

- Процессы и возможности методов и инструментов организационного управления представлены в ИСО/МЭК 26556.

- Процессы и возможности методов и инструментов моделирования вариабельности приведены в ИСО/МЭК 26558.

- Процессы и возможности методов и инструментов для прослеживания вариабельности приведены в ИСО/МЭК 26559.

- Процессы и возможности методов и инструментов управления продуктами приведены в ИСО/МЭК 26560.

- Процессы и возможности методов и инструментов технического зондирования приведены в ИСО/МЭК 26561 (планируется к выпуску).

- Процессы и возможности методов и инструментов управления внедрением приведены в ИСО/МЭК 26562 (планируется к выпуску).

- Процессы и возможности методов и инструментов управления конфигурацией активов приведены в ИСО/МЭК 26563 (планируется к выпуску).

- Другие стандарты (ИСО/МЭК 26564 - ИСО/МЭК 26599) планируются к выпуску.

1 Область применения

Настоящий стандарт в контексте методов и инструментов реализации механизмов вариабельности для линейки программных и системных продуктов определяет:

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

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

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

- возможности инструментов для автоматизации/полуавтоматизации задач или возможности метода полностью.

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

2 Нормативные ссылки

В настоящем стандарте отсутствуют нормативные ссылки.

3 Термины и определения

В настоящем стандарте применены следующие термины с соответствующими определениями.

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

- IEC Electropedia: доступна по адресу http://www.electropedia.org/

- платформа онлайн-просмотра ISO: доступна по адресу https://www.iso.org/obp/

3.1 конфигурация приложения (application configuration): Отклонения для отдельных исполняемых модулей, относящихся к конкретному продукту из реализации активов домена (3.10).

Примечание - Конкретная конфигурация приложения является результатом связывания (3.3) точек вариации (3.19) с отобранными вариантами (3.17).

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

3.3 связывание (binding): Задача для принятия решения (3.7) по соответствующим вариантам (3.17) с использованием модели вариабельности домена (3.16) и таблиц решений (3.8).

3.4 время связывания (binding time): Время разрешения вариабельности.

Примечание - Выбор времени связывания не зависит от моделирования вариабельности. Это следствие решений (3.7), сделанных на основе требований в течение времени выполнения (3.11). Требования к гибкости и поддержке инструментов допускают поздние времена связывания или даже использование переменных времен связывания.

3.5 выбор времени связывания (binding time decision): Выбор вариабельности (3.13), определенный в платформах в соответствии с функциональным различием между вариабельностью во времени и вариабельностью в пространстве.

3.6 настраиваемость (configurability): Степень того, насколько хорошо механизм вариабельности (3.14) поддерживает конфигурацию продукта линейки.

3.7 решение (decision): Тип утверждения, в котором определяется выбор набора действий между возможными двумя или более.

3.8 таблица решений (decision table): Таблица, которая определяет переменные, входящие в решения.

Примечание - Кроме того в нее входят правила, ограничения и релевантность переменных.

3.9 время после компиляции (post-compile time): Общее название времени компоновки и времени загрузки непосредственно после компиляции компонентов.

3.10 реализация (realization): Стадия рабочего проектирования и разработки.

3.11 время выполнения (run time): Время, в течение которого выполняется конкретный продукт.

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

3.12 текстура (texture); архитектурная текстура (architectural texture): Совокупность общих правил разработки и ограничений для реализации приложений линейки продуктов.

3.13 вариабельность (variability): Характеристики, которыми продукты линейки могут отличаться друг от друга.

Примечания

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

2 Важно различать понятия вариабельности систем и программных продуктов и вариабельности линейки продуктов. Можно считать, что любая система, частично или полностью состоящая из программного обеспечения, наделена вариабельностью программного продукта, поскольку программные системы по своей природе являются гибкими, расширяемыми или настраиваемыми для конкретных условий использования. Вариабельность линейки продуктов относится к вариабельности, явно определяемой при планировании продукта. Настоящий стандарт в первую очередь касается вариабельности линейки продуктов.

Примеры

1 В случае создания "умного дома", в соответствии с бизнес-стратегией, применение в автоматизации дома локальной сети в качестве альтернативы европейской инсталляционной шине (EIB) может обеспечивать компании конкурентное преимущество, поскольку она позволяет использовать недорогие компоненты.

2 В приложении B представлено соответствие примеров вариабельности типам вариабельности.

3.14 механизм вариабельности (variability mechanism): Техника представления/реализации вариабельности для линейки продуктов.

Примечание - Механизм имеет дело с вариациями на конкретном этапе жизненного цикла, основываясь на времени связывания (3.4).

3.15 практическая реализация механизма вариабельности, ПРМВ (variability mechanism operationalization, VMO): Надлежащее обеспечение или связывание (3.3) механизмов вариабельности (3.14) на каждом конкретном этапе жизненного цикла разработки домена или приложения.

3.16 модель вариабельности (variability model): Явное определение вариабельности линейки продуктов.

Примечание - В модели представлены точки вариации (3.19), типы вариаций для таких точек, предлагаемые точками вариации варианты (3.17), зависимости и ограничения вариабельности. Модели вариабельности могут быть ортогональными или быть интегрированными в другие модели, такие как модели требований или модели проектирования. Существует два типа моделей вариабельности: модели вариабельности приложения и модели вариабельности домена.

3.17 вариант (variant): Предмет выбора или альтернатива, которые могут использоваться для реализации конкретных точек вариаций (3.19).

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

3.18 выбор варианта (variant selection): Принятие решения по выбору варианта (3.17) в точке вариации (3.19).

Примечание - Связывание (3.3), разрешение вариабельности.

3.19 точка вариаций (variation point): Реализация, соответствующая конкретным переменным характеристикам продуктов, активов домена и активов приложения в контексте линейки продуктов.

Примечание - Точки вариаций показывают, какой из элементов линейки продуктов изменяется. Каждая точка вариаций может иметь множественные связи.

4 Механизмы вариабельности для линейки программных и системных продуктов (ЛПСП)

4.1 Общие сведения

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

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

- специально определенный механизм ЛПСП: определение характеристик вариабельности;

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

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

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

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

- механизм расширения языка: стереотип в диаграмме компонентов, диаграмме классов, диаграмме E-R и диаграмме связей;

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

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

- специально определенный механизм ЛПСП: набор ортогональных признаков в модельно-управляемых подходах (например, KobrA);

- механизм расширения языка: стереотип в модели объекта, стереотип в модели уровня рабочего проектирования;

- поддерживаемый языком механизм: обобщение/специализация (расширение) в классах, агрегация (необязательно) в классе, абстрактный класс, спроектированный как параметризованный класс (шаблон) и конкретные классы (необязательно), маркировочные значения в сущностной модели, параметризация в кодах, концепция соединения и рекомендаций в аспектно-ориентированном программировании (АОП), методы реализации структуры (например, "горячие точки" и "крючки") во фреймворке.

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

- специально определенный механизм ЛПСП: точка останова (точка вариации), адаптация (включение) и выбор (варианты) в XVCL, разметка (vp, insert_before, insert_after, insert) и выделенные варианты элементов кода в кадровой технологии;

- механизм расширения языков: нет;

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

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

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

- механизм расширения языков: нет;

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

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

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

- механизм расширения языков: нет;

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

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

- специально определенный механизм ЛПСП: описание правил и ограничений для связываний на стадии развертывания/инсталляции;

- механизм расширения языков: нет;

- поддерживаемый языком механизм: варианты для условной инсталляции.

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

- специально определенный механизм ЛПСП: описание правил и ограничений для связываний на стадии выполнения;

- механизм расширения языков: нет;

- поддерживаемый языком механизм: динамические библиотеки.

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

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

- механизм расширения языков: точка принятия решения и его ветви для тестовой модели в расширенной диаграмме действий;

- поддерживаемый языком механизм: примечание для плана тестирования на естественном языке.

Примечания

1 Механизмы вариабельности для отдельных действий по разработке программного обеспечения приведены в приложении А.

2 Предполагаемые времена связывания в соответствии с типами вариабельности и их примеры приведены в приложении B.

4.2 Эталонная модель механизмов вариабельности для линейки продуктов

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

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

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

- заголовком подпроцесса;

- назначением подпроцесса;

- исходными данными для получения результатов;

- задачами по достижению результатов;

- результатами подпроцесса;

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

Рисунок 1 - Механизмы вариабельности для ЛПСП

В рамках управления механизмом вариабельности необходимо определить возможности инструментов и методов их поддержки и обеспечить выполнение следующих пунктов:

- Планирование механизма вариабельности устанавливает план использования механизмов вариабельности на уровне организации.

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

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

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

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

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

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

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

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

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

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

Механизм вариабельности должен определять возможности инструментов и методов их поддержки следующим образом:

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

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

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

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

Выявление и анализ ключевых различий между разработкой и управлением одиночной системы и разработкой и управлением линейкой продуктов может помочь организациям понять особенности линейки продуктов и сформулировать стратегию успешного внедрения разработки линейки продуктов и управления ею. Ключевые аспекты были определены в ИСО/МЭК 26550, а категория ключевых аспектов приведена в таблице 1.

Таблица 1 - Ключевые аспекты определения задач механизма вариабельности для линейки продуктов

Категория

Аспекты

Управление многократным использованием

Разработка приложения, активы домена, разработка доменов, управление продуктами, платформа, многократное использование

Управление вариабельностью

Связывание, вариабельность

Комплексное управление

Совместимость, конфигурация, настройка, поддержка передовых технологий, эталонная архитектура, текстура, прослеживаемость

Управление качеством

Измерение и прослеживаемость, кроссфункциональная верификация и валидация

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

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

- Связывание: механизм вариабельности является основным фактором для принятия решения. Время связывания ограничивает выбор механизма вариабельности, который может быть использован.

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

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

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

- Разработка доменов: механизм вариабельности классифицируется по этапам разработки доменов, поскольку вариабельность может быть внедрена на любом из этапов разработки домена.

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

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

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

- Управление продуктом: механизм вариабельности должен обеспечивать соответствующую эволюцию вариабельности в условиях эволюции линейки продуктов.

- Эталонная архитектура: эталонная архитектура должна обеспечивать простоту использования возможных механизмов вариабельности в проектировании домена.

- Многократное использование: механизмы вариабельности должны обеспечивать многократное использование активов домена.

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

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

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

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

5 Управление механизмом вариабельности

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

Управление механизмом вариабельности обеспечивает:

- планирование механизма вариабельности;

- активацию механизма вариабельности;

- прослеживание механизма вариабельности.

5.1 Планирование механизма вариабельности

5.1.1 Цель планирования механизма вариабельности

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

5.1.1.1 Исходные данные

- Планы организационных переходов (по ИСО/МЭК 26556).

- Планы развития линейки продуктов организационного уровня (по ИСО/МЭК 26556).

- Предложения по активам (по ИСО/МЭК 26551).

- Совокупность вариабельностей вместе с их подробным описанием по этапам разработки доменов.

5.1.1.2 Результаты

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

- Уточнены распределения обязанностей.

- Меры обеспечения качества применяются на этапах ЛПСП.

- Разработаны планы по практической реализации механизма вариабельности.

5.1.1.3 Задачи

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

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

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

5.1.2 Оценка ресурсов надлежащего уровня, необходимых для практической реализации механизма вариабельности

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

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

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

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

- обеспечение возможности создания и поддержки пула механизмов вариабельности (каталога);

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

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

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

- обеспечение возможностей инструментария для создания и поддержания пула механизмов вариабельности (каталога);

- коллективное использование планов распределения ресурсов с соответствующими участниками.

5.1.3 Назначение ответственных за практическую реализацию механизма вариабельности

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

Методика должна обеспечивать назначение ответственных за практическую реализацию механизма вариабельности со следующими возможностями:

- определение ролей и обязанностей по практической реализации механизма вариабельности;

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

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

- установление обязательств по предоставлению ресурсов.

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

- регистрировать роли, обязанности и выделенные им ресурсы;

- информировать заинтересованные стороны о ролях и обязанностях.

5.1.4 Определение мер обеспечения качества при практической реализации механизма вариабельности

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

Методика должна поддерживать определение мер обеспечения качества при практической реализации механизма вариабельности со следующими возможностями:

- определение показателей, используемых для оценки работоспособности механизма вариабельности (например, удобство использования, понятность, возможность проведения проверки);

- определение мер измерения работоспособности;

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

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

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

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

- обеспечение выполнения определенных мер обеспечения качества;

- обеспечение легкого доступа к конкретным результатам измерения;

- редактирование и хранение результатов обеспечения качества.

5.2 Активация механизма вариабельности

5.2.1 Цель активации механизма вариабельности

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

5.2.1.1 Исходные данные

- Руководство по выбору механизма вариабельности.

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

- Меры для планов механизма вариабельности.

5.2.1.2 Результаты

- Сохраняется и улучшается совокупность механизмов вариабельности.

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

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

- Определены и улучшены меры по мониторингу использования механизма вариабельности.

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

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

5.2.1.3 Задачи

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

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

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

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

5.2.2 Активация пула механизмов вариабельности

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

Методика должна обеспечивать активацию пула механизмов вариабельности со следующими возможностями:

- создание общих правил, используемых для применения механизмов вариабельности для разработки активов домена (эталонная архитектура, компоненты и т.д.);

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

- разработка способов доступа к пулу механизмов вариабельности;

- предоставление примеров использования механизмов вариабельности для обеспечения правильного использования.

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

- реализацию конкретной структуры пула механизмов вариабельности (каталога);

- обеспечение доступа к пулу механизмов вариабельности посредством разработанного метода доступа;

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

5.2.3 Подготовка методики по практической реализации механизма вариабельности

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

Методика должна обеспечивать предоставление инструкций по практической реализации механизма вариабельности со следующими возможностями:

- определение критериев выбора механизма вариабельности по этапам разработки доменов;

- предоставление подробных процедур выбора и использования механизма вариабельности;

- определение методик и правил конфигурации.

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

- совместное использование руководств и правил при практической реализации механизма вариабельности соответствующими инженерами домена/приложений;

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

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

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

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

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

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

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

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

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

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

- обеспечить сбор данных измерений, поддерживаемых инструментом;

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

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

Целью данной задачи является предоставление знаний, навыков и инструментов (например, инструменты, поддерживающие выбранные механизмы вариабельности), необходимых для включения механизмов вариабельности в активы домена.

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

- обеспечение доступности необходимых ресурсов;

- предоставление способов оценки альтернативных ресурсов;

- мониторинг и контроль степени завершения приобретения ресурсов.

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

- обеспечение управленческой поддержки приобретаемых ресурсов и их статуса;

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

5.3 Прослеживание механизма вариабельности

5.3.1 Цель прослеживания механизма вариабельности

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

5.3.1.1 Исходные данные

- Меры для мониторинга использования механизма вариабельности.

- Состояние практической реализации механизма вариабельности.

- Планы в отношении механизмов вариабельности.

5.3.1.2 Результаты

- Пересмотрены планы по фактическим данным.

- Выполнены измерения для мониторинга использования механизма вариабельности.

- Выполняются корректирующие действия и ведется список, включающий их статус.

- Сгенерированы исходные данные для улучшения.

5.3.1.3 Задачи

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

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

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

5.3.2 Сравнение плана с практической реализацией механизма вариабельности

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

Методика должна обеспечивать сравнение плана с практикой реализации механизма вариабельности со следующими возможностями:

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

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

- определение способов интеграции данных для оценки статуса.

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

- достигнуть консенсуса по конкретным ролям и обязанностям;

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

5.3.3 Оценка проблем в практической реализации механизма вариабельности

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

Методика должна обеспечивать оценку проблем при практической реализации механизма вариабельности со следующими возможностями:

- предоставление путей поиска и анализа препятствий успешной работе механизма вариабельности;

- определение критериев принятия решений для классификации вопросов, требующих корректирующих действий;

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

- предоставление шаблонов документов для записи результатов оценки и планов корректирующих действий.

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

- поддержку сбора данных о проблемах, отмеченных различными ролями и обязанностями;

- предоставление документации по результатам оценки и планам корректирующих действий.

5.3.4 Выполнение корректирующих действий при практической реализации механизма вариабельности

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

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

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

- доведение результатов корректирующих действий до соответствующих участников;

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

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

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

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

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

- возможность совершенствования накопления исходных данных;

- обеспечение среды общения для соответствующего персонала.

6 Практическая реализация механизма вариабельности

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

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

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

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

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

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

- практическую реализацию механизма вариабельности после компиляции;

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

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

6.1 Практическая реализация механизма вариабельности для разработки требований

6.1.1 Цель практической реализации механизма вариабельности для разработки требований

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

6.1.1.1 Исходные данные

- Вариабельность, введенная в требования.

- Вариабельность, которая будет связана на стадии разработки требований.

- Модель вариабельности для требований.

6.1.1.2 Результаты

- Определена внешняя вариабельность, которая будет связана на стадии разработки требований.

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

- Представлено определение механизмов вариабельности требований.

- Обеспечена настраиваемость требований.

- Проверен уровень требований механизма вариабельности.

6.1.1.3 Задачи

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

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

- Спецификация механизма вариабельности уровня требований представляет собой определение механизмов вариабельности в артефактах требований домена, таких как модели анализа требований и спецификации требований (например, "расширяет" и "включает" в диаграмме использования).

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

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

6.1.2 Классификация вариабельности для требований

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

Методика должна обеспечивать классификацию вариабельности требований со следующими возможностями:

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

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

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

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

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

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

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

- редактирование категорий вариабельности требований;

- редактирование классификации вариабельности требований для определенной категории;

- отображение классифицированных вариабельностей для требований.

6.1.3 Оценка механизма вариабельности уровня требований

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

Методика должна обеспечивать оценку механизма вариабельности уровня требований со следующими возможностями:

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

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

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

- предоставление обоснования и предположений (при необходимости), связанных с решениями;

- определение шаблонов, используемых для оценки (например, шаблон результатов оценки).

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

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

- поддержку пошагового выполнения оценки;

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

- предоставление шаблонов для документации;

- хранение обоснования и допущений для принятия решений.

6.1.4 Определение механизма вариабельности уровня требований

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

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

- предоставление нотаций для спецификации практической реализации механизма вариабельности уровня требований для артефактов требований (например, модели анализа требований, спецификация требований);

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

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

- разрешение сопоставления модели вариабельности с артефактом требований с использованием механизма вариабельности.

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

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

- определение механизмов вариабельности нефункциональных требований;

- предоставление способов замены частей моделей требований связанными вариантами;

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

6.1.5 Подготовка связываний на уровне требований

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

Методика должна обеспечить подготовку связываний на уровне требований со следующими возможностями:

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

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

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

- реализацию способов проверки результатов связывания в измерении механизма вариабельности;

- возможность трансформации конфигурации требований на основе результатов связывания вариабельности.

6.1.6 Проверка механизма вариабельности уровня требований

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

Методика должна обеспечивать проверку механизма вариабельности уровня требований со следующими возможностями:

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

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

- определение алгоритма оценки механизма вариабельности модели требований;

- проверка настраиваемости механизмов вариабельности, используемых на уровне требований;

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

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

Инструмент должен обеспечивать проверку механизма вариабельности уровня требований, предоставляя пользователю следующие возможности:

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

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

- реализацию алгоритма оценки;

- проверку тестируемости механизмов вариабельности, используемых на уровне требований.

6.2 Практическая реализация механизма вариабельности для проектирования

6.2.1 Цель механизмов вариабельности при проектировании домена

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

6.2.1.1 Исходные данные

- Вариабельность, введенная в проект.

- Вариабельность на стадии проектирования.

- Модель вариабельности в проектировании.

6.2.1.2 Результаты

- Определены и управляются архитектурные решения по времени связывания.

- Оценены и уточнены механизмы вариабельности в архитектурной структуре.

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

- Выполняются связывания уровня архитектурной структуры.

- Обеспечена возможность конфигурирования в архитектурной структуре.

- Проверен механизм вариабельности уровня архитектурной структуры.

6.2.1.3 Задачи

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

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

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

- Определить механизмы архитектурной вариабельности, чтобы описать механизмы вариабельности в архитектурных артефактах (например, стереотип и отмеченные значения в диаграмме компонентов UML).

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

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

6.2.2 Принятие архитектурных решений относительно времени связывания

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

Методика должна обеспечивать принятие архитектурных решений о времени связывания со следующими возможностями:

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

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

- принятие решений с обоснованием на уровне архитектуры о времени связывания.

Инструмент должен обеспечивать принятие архитектурных решений по времени связывания, предоставляя пользователю следующие возможности:

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

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

- хранение решений архитектурного уровня по времени связывания с обоснованиями.

6.2.3 Оценка механизмов вариабельности относительно времени связывания

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

Методика должна обеспечивать оценку механизмов вариабельности в зависимости от времени связывания со следующими возможностями:

- проверка доступных механизмов вариабельности на предмет соответствия предопределенным архитектурным решениям по времени связывания;

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

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

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

- сохранение обоснований выбора механизма вариабельности.

6.2.4 Определение руководств и правил механизмов вариабельности в архитектурной текстуре

Целью данной задачи является предоставление руководств и правил или ограничений, используемых для реализации механизмов вариабельности от стадии архитектуры домена до реализации домена. Руководства и правила управляют структурными элементами и точками изменения текстуры, которые планируется связать во время разработки, и они могут регулировать большинство связываний, которые будут иметь место на более поздних стадиях (например, управление использованием макроса).

Методика должна обеспечивать руководства и правила по механизмам вариабельности в архитектурной текстуре со следующими возможностями:

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

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

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

Инструмент должен обеспечивать определение руководств и правил механизмов вариабельности в архитектурной текстуре, предоставляя пользователю следующие возможности:

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

- хранение конкретных указаний.

6.2.5 Определение архитектурных механизмов вариабельности

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

Методика должна обеспечивать определение механизмов архитектурной вариабельности со следующими возможностями:

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

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

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

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

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

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

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

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

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

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

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

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

6.2.6 Подготовка связываний на уровне архитектуры

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

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

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

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

- выбор вариантов в структуре архитектуры, соответствующих механизмам вариабельности;

- преобразование точки вариации в архитектуре в конкретную архитектурную структуру.

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

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

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

6.2.7 Проверка механизмов архитектурной вариабельности

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

Методика должна обеспечивать проверку механизмов архитектурной вариабельности со следующими возможностями:

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

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

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

- проверка возможности конфигурации используемых механизмов вариабельности;

- проверка возможности тестирования используемых механизмов вариабельности.

Инструмент должен обеспечивать проверку механизмов архитектурной вариабельности, предоставляя пользователю следующие возможности:

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

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

- реализацию алгоритма оценки модели;

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

6.3 Практическая реализация механизма вариабельности для реализации

6.3.1 Цель механизмов вариабельности в реализации домена

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

6.3.1.1 Исходные данные

- Вариабельность, введенная на стадии реализации.

- Модель вариабельности домена в реализации.

- Вариабельность, которая будет связана на стадии реализации.

6.3.1.2 Результаты

- Выделены архитектурные решения и архитектурная текстура во время реализации.

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

- Предоставлены подробные руководства по разработке механизмов вариабельности.

- Проверен механизм вариабельности на уровне рабочего проекта.

- Оценены и уточнены механизмы вариабельности на уровне реализации.

- Проведена подготовка связываний на уровне реализации.

- Доступна конфигурация на уровне реализации.

- Проверен механизм вариабельности на уровне реализации.

6.3.1.3 Задачи

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

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

- Определить механизмы вариабельности уровня проекта, т.е. описать механизмы вариабельности в артефактах рабочего проекта (например, стереотип или помеченные значения в диаграмме классов и модели объекта).

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

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

- Оценка механизмов вариабельности на уровне реализации состоит в том, чтобы исследовать, анализировать и использовать надлежащие механизмы вариабельности для построения точек вариации в форме материальной или исполняемой реализации (например, модулей или кодов).

- Определить механизмы вариабельности на уровне реализации, т.е. описать механизм вариабельности в артефактах реализации (например, обобщенные элементы в кодах).

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

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

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

6.3.2 Проверка архитектурных решений и архитектурной текстуры при реализации

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

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

- изучение детального дизайна и вариантов реализации архитектурных решений и текстур;

- разрешение проверки ограничений на вариабельность на стадии реализации.

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

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

- сохранение ограничений на вариабельность на стадии реализации.

6.3.3 Оценка механизмов вариабельности на уровне рабочего проекта

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

Методика должна обеспечивать оценку механизмов вариабельности на уровне разработки со следующими возможностями:

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

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

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

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

- сохранение обоснований выбора механизма вариабельности.

6.3.4 Спецификация механизмов вариабельности на уровне рабочего проекта

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

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

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

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

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

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

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

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

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

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

6.3.5 Определение руководств по механизмам вариабельности после рабочего проекта

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

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

Методика должна обеспечивать определение руководств по механизмам вариабельности после рабочего проекта, обеспечивая следующие возможности:

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

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

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

Инструмент должен обеспечивать определение руководств по механизмам вариабельности после рабочего проекта, предоставляя пользователю следующие возможности:

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

- поддержку ведения и использования списка параметров;

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

6.3.6 Проверка механизмов вариабельности на уровне рабочего проекта

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

Методика должна обеспечивать проверку механизмов вариабельности на уровне рабочего проекта со следующими возможностями:

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

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

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

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

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

Инструмент должен обеспечивать проверку механизмов вариабельности на уровне рабочего проекта, предоставляя пользователю следующие возможности:

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

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

- реализацию алгоритма оценки модели;

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

6.3.7 Оценка механизмов вариабельности на уровне реализации

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

Методика должна обеспечивать оценку механизмов вариабельности на уровне реализации со следующими возможностями:

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

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

- оценка простоты связывания и настройки.

Инструмент должен обеспечивать оценку механизмов вариабельности на уровне реализации, предоставляя пользователю следующие возможности:

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

- сохранение обоснований выбора механизма вариабельности.

6.3.8 Спецификация механизмов вариабельности на уровне реализации

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

Методика должна обеспечивать спецификацию механизмов вариабельности на уровне реализации со следующими возможностями:

- обеспечение способов (синтаксиса и семантического определения) для представления механизмов вариабельности в артефактах реализации;

- обеспечение способов различения между соответствующими блоками внутри артефактов реализации (например, цветной блок для соответствующих кодов);

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

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

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

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

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

6.3.9 Возможность конфигурирования на уровне реализации

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

Методика должна обеспечивать возможность конфигурирования на уровне реализации со следующими возможностями:

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

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

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

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

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

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

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

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

- подготовку к генерации кода на уровне рабочего проекта на основе определенной таблицы параметров.

6.3.10 Подготовка связываний на стадии реализации

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

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

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

- преобразование точки вариации в артефактах рабочего проекта в точки для продукта линейки.

Инструмент должен поддерживать подготовку связываний на стадии реализации, предоставляя

пользователю следующие возможности:

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

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

6.3.11 Проверка механизмов вариабельности на уровне реализации

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

Методика должна обеспечивать проверку механизмов вариабельности на уровне реализации со следующими возможностями:

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

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

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

- проверка тестируемости механизмов вариабельности, используемых в реализации.

Инструмент должен обеспечивать проверку механизмов вариабельности на уровне реализации,

предоставляя пользователю следующие возможности:

- визуализацию механизма вариабельности, включая реализацию;

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

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

6.4 Практическая реализация механизма вариабельности на стадии компиляции

6.4.1 Цель применения механизма вариабельности на стадии компиляции

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

6.4.1.1 Исходные данные

- Вариабельность на стадии компиляции.

- Модель вариабельности домена.

- Модель вариабельности приложения.

6.4.1.2 Результаты

- Выделены архитектурные решения и архитектурная текстура на стадии компиляции.

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

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

- Выполнено связывание на стадии компиляции.

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

- Проверен механизм вариабельности на стадии компиляции.

6.4.1.3 Задачи

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

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

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

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

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

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

6.4.2 Изучение архитектурных решений и архитектурной текстуры на стадии компиляции

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

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

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

- изучение архитектурных правил среди архитектурных решений и текстур;

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

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

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

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

6.4.3 Оценка механизмов вариабельности на стадии компиляции

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

Методика должна обеспечивать оценку механизмов вариабельности на стадии компиляции со следующими возможностями:

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

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

Инструмент должен обеспечивать оценку механизмов вариабельности на стадии компиляции, предоставляя пользователю следующие возможности:

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

- сохранение обоснований выбора механизма вариабельности.

6.4.4 Спецификация механизмов вариабельности на стадии компиляции

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

Методика должна обеспечивать спецификацию механизмов вариабельности на стадии компиляции со следующими возможностями:

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

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

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

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

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

6.4.5 Включение возможности конфигурирования во время компиляции

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

Методика должна обеспечивать возможность конфигурирования во время компиляции со следующими возможностями:

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

- предоставление способов (например, параметров в условной компиляции) для генерации различных конфигураций объектных файлов;

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

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

- генерирование конфигурации объектного файла в соответствии с определенными способами (например, диалоговое окно для задания условных констант).

6.4.6 Подготовка связываний на стадии компиляции

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

Методика должна обеспечивать подготовку связываний на стадии компиляции со следующими возможностями:

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

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

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

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

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

6.4.7 Проверка механизмов вариабельности на стадии компиляции

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

Методика должна обеспечивать проверку механизмов вариабельности на стадии компиляции со следующими возможностями:

- проверка выбора механизмов вариабельности на стадии компиляции (соблюдение правил архитектуры);

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

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

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

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

Инструмент должен обеспечивать проверку механизмов вариабельности на стадии компиляции, предоставляя пользователю следующие возможности:

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

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

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

6.5 Практическая реализация механизма вариабельности после компиляции

6.5.1 Цель применения механизма вариабельности после компиляции

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

6.5.1.1 Исходные данные

- Вариабельность, связанная на стадии компоновки.

- Модель вариабельности домена.

- Модель вариабельности приложения.

6.5.1.2 Результаты

- Отмечены архитектурные решения и архитектурные текстуры, влияющие на время после компиляции.

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

- Уточнена таблица параметров для реконфигурации после компиляции.

- Выполнены связывания времени после компиляции.

- Включена конфигурируемость после компиляции.

- Проверен механизм вариабельности на стадии после компиляции.

6.5.1.3 Задачи

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

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

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

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

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

- Включение возможности настройки после компиляции заключается в подготовке к простой реконфигурации или повторному развертыванию исполняемых файлов для продукта линейки (например, генератора makefile).

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

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

6.5.2 Изучение архитектурных решений и архитектурной текстуры, влияющих на время после компиляции

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

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

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

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

- изучение правил архитектуры, относящихся ко времени связывания после компиляции;

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

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

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

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

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

6.5.3 Оценка механизмов вариабельности после компиляции

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

Методика должна обеспечивать оценку механизмов вариабельности на стадии после компиляции со следующими возможностями:

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

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

Инструмент должен обеспечивать оценку механизмов вариабельности на стадии после компиляции, предоставляя пользователю следующие возможности:

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

- сохранение обоснований выбора механизма вариабельности.

6.5.4 Спецификация механизмов вариабельности на стадии компоновки

Целью данной задачи является предоставление способов определения механизмов вариабельности на стадии компоновки.

Методика должна обеспечивать спецификацию механизмов вариабельности на стадии компоновки со следующими возможностями:

- представление механизма вариабельности для поддержки различных связей (например, make- файла), связанных с вариабельностью на стадии компоновки;

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

Инструмент должен обеспечивать определение механизмов вариабельности на стадии компоновки, предоставляя пользователю следующие возможности:

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

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

6.5.5 Спецификация механизмов вариабельности на стадии загрузки

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

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

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

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

Инструмент должен обеспечивать определение механизмов вариабельности на стадии загрузки, предоставляя пользователю следующие возможности:

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

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

6.5.6 Спецификация механизмов вариабельности на стадии развертывания

Целью данной задачи является предоставление способов определения механизмов вариабельности на стадии развертывания.

Методика должна обеспечивать определение механизмов вариабельности на стадии развертывания со следующими возможностями:

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

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

Инструмент должен обеспечивать определение механизмов вариабельности на стадии развертывания, предоставляя пользователю следующие возможности:

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

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

6.5.7 Возможность конфигурирования после компиляции

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

Методика должна обеспечивать возможность конфигурирования после компиляции со следующими возможностями:

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

- предоставление способов (например, параметров в make-файле) для генерации различных исполняемых конфигураций;

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

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

предоставляя пользователю следующие возможности:

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

- проверку генерируемых исполняемых конфигураций.

6.5.8 Подготовка связывания после компиляции

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

Методика должна обеспечивать подготовку связываний в момент после компиляции со следующими возможностями:

- выбор вариантов в момент после компиляции (например, значения параметров в make-файле и файле конфигурации) в соответствии с механизмами вариабельности;

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

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

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

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

6.5.9 Проверка механизма вариабельности после компиляции

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

Методика должна обеспечивать проверку механизмов вариабельности на стадии после компиляции со следующими возможностями:

- проверка выбора механизмов вариабельности после компиляции (соблюдение правил архитектуры);

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

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

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

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

Инструмент должен обеспечивать проверку механизмов вариабельности на стадии после компиляции, предоставляя пользователю следующие возможности:

- визуализацию механизмов вариабельности после компиляции;

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

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

6.6 Практическая реализация механизма вариабельности на стадии выполнения

6.6.1 Цель практической реализации механизма вариабельности на стадии выполнения

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

6.6.1.1 Исходные данные

- Вариабельность, связанная на стадии выполнения.

- Модель вариабельности домена.

- Модель вариабельности приложения.

6.6.1.2 Результаты

- Отмечены архитектурные решения и архитектурные текстуры, влияющие на реконфигурирование времени выполнения.

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

- Определены и управляются решения реконфигурации стадии выполнения.

- Выполнены связывания времени стадии выполнения.

- Включена конфигурируемость стадии выполнения.

- Проверен механизм вариабельности на стадии выполнения.

6.6.1.3 Задачи

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

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

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

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

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

6.6.2 Изучение архитектурных решений и архитектурных текстур, влияющих на реконфигурацию времени выполнения

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

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

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

- выделение архитектурных правил из архитектурных решений и текстур;

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

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

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

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

6.6.3 Оценка механизма вариабельности на стадии выполнения

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

Методика должна обеспечивать оценку механизма вариабельности на стадии выполнения со следующими возможностями:

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

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

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

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

- сохранение обоснований выбора механизма вариабельности.

6.6.4 Возможность конфигурирования на стадии выполнения

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

Методика должна обеспечивать возможность конфигурирования на стадии выполнения со следующими возможностями:

- предоставление технологии для объединения компонентов на стадии выполнения (например, реестра);

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

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

- обеспечение комбинации переменных компонентов в системе во время выполнения;

- поддержку проверки переконфигурации времени выполнения.

6.6.5 Подготовка связываний на стадии выполнения

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

Методика должна обеспечивать подготовку связываний на стадии выполнения со следующими возможностями:

- предоставление способов регистрации компонентов (например, механизм инициализации для регистрации компонентов в реестре) с интерфейсами, которые должны быть связаны во время выполнения;

- объединение компонентов в различные блоки в соответствии с потребностями продукта линейки.

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

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

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

6.6.6 Проверка механизма вариабельности на стадии выполнения

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

Методика должна обеспечивать проверку механизмов вариабельности на стадии выполнения со следующими возможностями:

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

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

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

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

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

Инструмент должен обеспечивать проверку механизмов вариабельности на стадии выполнения, предоставляя пользователю следующие возможности:

- визуализацию механизма вариабельности на стадии выполнения;

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

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

6.7 Практическая реализация механизма вариабельности для тестовых артефактов

6.7.1 Цель практической реализации механизма вариабельности для тестовых артефактов

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

6.7.1.1 Исходные данные

- Стратегия тестирования как уровня организации, так и уровня линейки продуктов.

- Соответствующие решения по механизмам вариабельности, принятые в требованиях, архитектуре и реализации.

- Вариабельность, время связывания которой - стадия тестирования.

- Модель вариабельности домена.

- Модель вариабельности приложения.

6.7.1.2 Результаты

- Приняты решения о механизмах вариабельности на соответствующих этапах разработки тестов.

- Оцениваются и уточняются механизмы вариабельности на стадии тестирования.

- Выполняются связывания на стадии тестирования.

- Обеспечена возможность многократного использования в тестировании.

- Проверен механизм вариабельности на уровне тестирования.

6.7.1.3 Задачи

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

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

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

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

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

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

6.7.2 Изучение стратегии тестирования с механизмами вариабельности

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

Методика должна обеспечивать проверку стратегии тестирования с механизмами вариабельности со следующими возможностями:

- предоставление способов определения в стратегии тестирования стратегии, связанной с вариабельностью;

- изучение правил, ограничений или решений по механизмам вариабельности в стратегии тестирования на уровне организации;

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

Инструмент должен обеспечивать изучение стратегии тестирования с механизмами вариабельности, предоставляя пользователю следующие возможности:

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

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

- сохранение проверенной стратегии тестирования с механизмами вариабельности.

6.7.3 Оценка решений по механизмам вариабельности требований, архитектуры и реализации

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

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

- объективно оценивать решения по практической реализации механизма вариабельности для разработки требований;

- обеспечение объективной оценки решений о механизмах вариабельности в архитектуре;

- объективно оценивать решения по практической реализации механизма вариабельности для реализации;

- выбор и/или рекомендация надлежащей практической реализации механизма вариабельности для артефактов тестирования.

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

- доступ к решениям о механизмах вариабельности для требований, архитектуре и реализации;

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

- регистрацию результатов оценки;

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

6.7.4 Спецификация механизмов вариабельности на каждом уровне тестирования

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

Методика должна обеспечивать определение механизмов вариабельности на каждом уровне тестирования следующим образом:

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

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

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

Инструмент должен обеспечивать определение механизмов вариабельности на каждом уровне тестирования, предоставляя пользователю следующие возможности:

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

- поддержание трассировки между заданной вариабельностью теста и моделью вариабельности.

6.7.5 Включение многократного использования при тестировании

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

Методика должна обеспечивать возможность многократного использования при тестировании со следующими возможностями:

- разработка способов прослеживания связи вариабельности в тестовых активах с вариабельностью в активах разработки;

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

Инструмент должен обеспечивать возможность многократного использования в тестировании, предоставляя пользователю следующие возможности:

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

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

6.7.6 Подготовка связываний на стадии тестирования

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

Методика должна обеспечивать проверку механизмов вариабельности на стадии тестирования со следующими возможностями:

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

- завершение тестирования активов, включающих в себя вариабельность;

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

Инструмент должен обеспечивать проверку механизмов вариабельности на стадии тестирования, предоставляя пользователю следующие возможности:

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

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

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

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

Методика должна обеспечивать проверку механизмов вариабельности на стадии выполнения со следующими возможностями:

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

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

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

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

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

Инструмент должен обеспечивать проверку механизмов вариабельности на стадии выполнения, предоставляя пользователю следующие возможности:

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

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

- поддержку проверки достоверности используемых механизмов вариабельности.

7 Поддержка механизма вариабельности

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

Поддержка механизма вариабельности обеспечивает следующие возможности:

- связь механизма вариабельности с моделью вариабельности;

- обеспечение качества механизма вариабельности;

- поддержку принятия решения о времени связывания;

- поддержку конфигурации приложений.

7.1 Связь механизма вариабельности с моделью вариабельности

7.1.1 Цель связи механизма вариабельности с моделью вариабельности

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

7.1.1.1 Исходные данные

- Модель вариабельности.

- Используемые механизмы вариабельности.

7.1.1.2 Результаты

- Установлены и поддерживаются связи механизма вариабельности с моделью вариабельности.

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

7.1.1.3 Задачи

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

- Добавить правила и ограничения для отношения - это прикрепить к отношениям специфические ограничения механизма вариабельности и правила в виде аннотаций.

7.1.2 Взаимосвязь механизма вариабельности и модели вариабельности

Цель данной задачи состоит в том, чтобы включить прослеживание элементов вариабельности (то есть точек вариации, вариантов, зависимостей вариабельности, зависимостей ограничений) между используемым механизмом вариабельности и моделью вариабельности. Отношение между механизмом вариабельности и моделью вариабельности является двусторонним (взаимосвязью).

Методика должна обеспечивать взаимосвязь механизма вариабельности с моделью вариабельности со следующими возможностями:

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

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

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

Инструмент должен обеспечивать привязку механизма вариабельности к модели вариабельности, предоставляя пользователю следующие возможности:

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

- разрешение отношений, имеющих разные уровни абстракции;

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

7.1.3 Добавление аннотации к связи

Целью данной задачи является создание аннотаций для предоставления необходимого объяснения отношений (связей) между механизмом вариабельности и моделью вариабельности, чтобы улучшить правильную работу механизма вариабельности.

Методика должна обеспечивать добавление аннотации к отношениям со следующими возможностями:

- определение того, какая информация должна быть прикреплена к каждому отношению (например, типы отношений, конкретные ограничения отношений);

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

Инструмент должен обеспечивать добавление аннотации к отношениям, предоставляя пользователю следующие возможности:

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

- возможность расширения/сокращения для управления уровнем абстракции аннотаций.

7.2 Обеспечение качества механизма вариабельности

7.2.1 Цель обеспечения качества механизма вариабельности

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

7.2.1.1 Исходные данные

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

- Механизм вариабельности рабочих продуктов.

- Установленные связи механизмов вариабельности с моделью вариабельности.

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

7.2.1.2 Результаты

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

- Идентифицированы и зарегистрированы проблемы несоответствия в механизмах вариабельности.

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

- Анализируется и идентифицируется вариабельность соответствующих тенденций качества.

7.2.1.3 Задачи

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

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

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

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

7.2.2 Объективная оценка деятельности по механизму вариабельности

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

Методика должна обеспечивать объективную оценку деятельности по механизму вариабельности со следующими возможностями:

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

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

- обеспечение процессов измерения для механизмов вариабельности;

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

Инструмент должен обеспечивать объективную оценку деятельности по механизму вариабельности, предоставляя пользователю следующие возможности:

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

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

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

7.2.3 Объективная оценка рабочих продуктов механизма вариабельности

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

Методика должна объективно оценивать рабочие продукты механизма вариабельности со следующими возможностями:

- обеспечение рабочих продуктов механизма вариабельности;

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

- обеспечение поддержки рабочих продуктов;

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

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

- предоставление доступа к рабочим продуктам механизма вариабельности (например, создание и поддержка хранилища для рабочих продуктов механизма вариабельности);

- разрешение отслеживания отношений для установленных линий трассировки (например, таблицы трассировки или явной ссылки на трассировку);

- обеспечение доступа к поддержке механизмом вариабельности рабочих продуктов;

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

7.2.4 Сообщение и решение проблем несоответствия

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

Методика должна обеспечивать передачу и устранение проблем, связанных с несоответствием, со следующими возможностями:

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

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

- анализировать проблемы несоответствия, если есть какие-либо тенденции изменения качества (т.е. правильная реализация, правильное связывание или повторное использование с низкой стоимостью в разработке приложений).

Инструмент должен обеспечивать связь и разрешение проблем несоответствия, предоставляя пользователю следующие возможности:

- подтверждающую документацию по вопросам несоответствия, подлежащим эскалации;

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

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

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

7.2.5 Организация записей о деятельности по обеспечению качества механизма вариабельности

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

Методика должна предоставлять установление записей о деятельности по обеспечению качества механизма вариабельности со следующими возможностями:

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

Инструмент должен обеспечивать создание записей о действиях по обеспечению качества механизма вариабельности, предоставляя пользователю следующее:

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

7.3 Поддержка решения о времени связывания

7.3.1 Цель поддержки решения о времени связывания

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

7.3.1.1 Исходные данные

- Выбор механизма (механизмов) вариабельности.

- Начальная таблица решений вариабельности.

7.3.1.2 Результаты

- Определена таблица принятия решений с конкретными решениями по механизму (механизмам) вариабельности.

7.3.1.3 Задачи

- Определить значение переменных решения в таблице решений - присвоить значение переменным решения для вариабельности, реализованной с использованием специального механизма (механизмов) вариабельности.

- Определить решения по времени связывания - идентифицировать и определить конкретные решения, в которых время связывания вариабельности соответствует используемому механизму (механизмам) вариабельности.

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

7.3.2 Определение значения переменных решения в таблице решений

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

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

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

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

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

Инструмент должен поддерживать определение значения переменных решения в таблице решений, позволяя пользователю выполнять следующие действия:

- обеспечение возможности изменения таблицы решений с помощью;

- поддержку проверки конкретных значений переменных решения.

7.3.3 Определение решений о времени связывания

Целью данной задачи является определение возможного времени связывания, учитывая ограничения и правила, с точки зрения механизма (механизмов).

Методика должна обеспечивать определение решений по времени связывания со следующими возможностями:

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

- определение переменных решения, связанных с конкретными ограничениями и правилами;

- размещение конкретных ограничений и правил в таблице решений.

Инструмент должен обеспечивать определение решений по времени связывания, предоставляя пользователю следующие возможности:

- обеспечение возможности изменения таблицы решений с помощью;

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

7.3.4 Проверка таблицы решений

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

Методика должна обеспечивать проверку указанной таблицы решений со следующими возможностями:

- подтверждение правильности таблицы решений;

- подтверждение согласованности между переменными решения;

- проверка соответствия моделям вариабельности.

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

- обеспечение доступа к таблице решений;

- обеспечение доступа моделей вариабельности;

- поддержку проверки таблицы решений.

7.4 Поддержка конфигурации приложения

7.4.1 Цель поддержки конфигурации приложения

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

7.4.1.1 Исходные данные

- Правила принятия решений для конфигурации.

- Выбор механизма (механизмов) вариабельности.

7.4.1.2 Результаты

- Определена информация о конфигурации приложения.

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

7.4.1.3 Задачи

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

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

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

7.4.2 Поддержка реализации конфигурируемости

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

Методика должна обеспечивать реализацию настраиваемости со следующими возможностями:

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

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

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

- разрешение установления отношений между точкой вариации, вариантами и моделями вариабельности (механизм вариабельности должен позволять это).

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

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

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

- разрешение использования альтернативных способов, необходимых для связывания.

7.4.3 Применение правил принятия решений для конфигурации

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

Методика должна обеспечивать применение правил принятия решений для конфигурации со следующими возможностями:

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

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

Инструмент должен обеспечивать применение правил принятия решений для настройки, предоставляя пользователю следующие возможности:

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

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

7.4.4 Улучшение конфигурируемости

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

Методика должна обеспечивать улучшение конфигурируемости со следующими возможностями:

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

- анализ ожидаемого воздействия, если сигнал по обратной связи принят;

- определение того, принимать или нет сигнал по обратной связи;

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

- управление историей обратной связи с соответствующими изменениями;

- уведомление соответствующих заинтересованных сторон о статусах обратной связи.

Инструмент должен поддерживать улучшение конфигурируемости, позволяя пользователю осуществлять следующее:

- сбор отзывов и оповещение соответствующих заинтересованных сторон;

- сохранение статуса обратной связи и уведомление заинтересованных сторон о предпринятых действиях;

- предоставление доступа к другим инструментам или базе активов для анализа и уведомления об обратной связи.

Приложение А
(справочное)

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

В таблице А.1 приведены примерные механизмы вариабельности, используемые на практике.

Таблица A.1 - Механизмы вариабельности для отдельных видов деятельности по разработке программного обеспечения

Деятельность

Примеры механизмов вариабельности

Возможное время связывания

Требования

- Расширение.

- Использование.

- Стереотип/Примечание/Тег/Разметка в моделях требований

На стадии требования

Проектирование архитектуры

- Плагин, замена или копирование компонентов.

- Стереотип/Примечание/Помеченные значения в модели архитектуры.

- Поколение

На стадии проектирования архитектуры

Реализация (рабочее проектирование и разработка)

- Наследование.

- Перегрузка.

- Полиморфизм, параметрический полиморфизм.

- Параметры.

- Шаблон спецификации

На стадии реализации

Реализация (предварительная компиляция)

- Макрос предварительного компилятора (например, #define в C).

- Препроцессоры (например, # ifdef/# endif в C).

- Знаки директив для условной компиляции

Время предварительной компиляции

Компиляция/ Компоновка/загрузка

- Конфигурация.

- Параметр сборочного файла.

- Директивы компоновщика (Статическая библиотека)

Время компиляции/компоновки/загрузки

Тестирование

- Механизмы сегментации и фрагментации с примечаниями на диаграмме последовательности.

- Точка принятия решения и ее ответвления в расширенной диаграмме деятельности.

- Примечания к плану тестирования на естественном языке

Время тестирования

Время выполнения

- Динамически подключаемые библиотеки (загрузка динамических классов).

- Реестр

Время выполнения

Приложение B
(справочное)

Определение времени связывания по типам вариабельности

Решение о механизмах вариабельности зависит от принятия решений о времени связывания. Решения о времени связывания зависят от типов вариабельности. Таблица B.1 иллюстрирует предложения времени связывания в соответствии с типами вариабельности и их примерами.

Таблица B.1 - Предлагаемое время связывания в соответствии с типами вариабельности

Типы вариабельности

Предлагаемое время связывания

Примечание

Примеры вариабельности

Внешняя

Зависимый сегмент рынка

На стадии требования

Альтернативы регулирования безопасности: FMVSS, CMVSS, ECE Внешние типы автомобильных фар (дальний свет, ближний свет, противотуманные фары, ходовые огни дневного времени и т.д.)

Независимый сегмент рынка

После требования

Альтернативы контроля интенсивности света: автоматическое управление, ручное управление (дальний свет, дневной свет и т.д.)

Внутренняя

Производные требования

Время разработки или после

Варианты активации внешнего освещения автомобиля: управление режимом

Связанное с решением

Время разработки или после

Альтернативы фары: низкая интенсивность, высокая интенсивность

Архитектурно значимое

Время разработки

ОС: альтернативные варианты: Automotive Linux, QNX, Windows Embedded Automotive 7

Уровня параметров

На стадии реализации

Позднее связывание

Варианты режима: дневной свет с низким лучом, дневной свет с лампой парковки и задние фонари

Связанная с конфигурацией

Время компиляции/ком-
поновки/загрузки

Еще более позднее связывание

Альтернативы управления фарой: замена модуля

Связанная с заданием пользователя, зависимая от окружающей среды

Время выполнения

Самое позднее связывание

Варианты автоматического включения/выключения света: установка пользователем включения (автоматически)/выключения (вручную). Регулировка уровня включения в темноте

Библиография

[1]

ISO/IEC 14102, Information technology - Guideline for the evaluation and selection of CASE tools

[2]

ISO/IEC 15940, Systems and software engineering - Software Engineering Environment Services

[3]

ISO/IEC 25000, Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - Guide to SQuaRE

[4]

ISO/IEC/TR 19759, Software Engineering - Guide to the software engineering body of knowledge (SWEBOK)

[5]

Capilla R., Bosch J. and Kang K.C. Systems and Software Variability Management Concepts, Tools and Experiences. Springer, 2013

[6]

Paul, C.A. Framework for Software Product Line Practice, Version 5.0. Software Engineering Institute, Carnegie Mellon University, July 2007

[7]

POHL K. G.VAN DER LINDEN F.J. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, 2005

[8]

ISO/IEC 26550, Software and systems engineering - Reference model for product line engineering and management

[9]

ISO/IEC 26551, Software and systems engineering - Tools and methods for product line requirements engineering

[10]

ISO/IEC 26555, Software and systems engineering - Tools and methods for product line technical management

[11]

ISO/IEC 26558, Software and systems engineering - Methods and tools for variability modeling in software and systems product line

[12]

ISO/IEC 26559, Software and systems engineering - Methods and tools for variability traceability in software and systems product line

УДК 004:006.354

ОКС 35.080

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

Электронный текст документа

и сверен по:

, 2019