IBM ® Engineering Requirements Management DOORS ® Next ® (ранее называвшийся DOORS Next Generation, или DNG) - это инструмент управления требованиями в платформе IBM Collaborative Lifecycle Management. Прослеживаемость файловых артефактов MBD (блоки Simulink, тестовые примеры, статьи Data Dictionary) с элементами, управляемыми на общем сервере и доступными с помощью веб-браузера, может быть выполнена несколькими различными способами. Выбор рабочего процесса зависит от потребностей и ограничений данного проекта. В этом примере приведен обзор функций интеграции DOORS Next, поддерживаемых требованиями Simulink, который включает пошаговую инструкцию по настройке и сравнивает альтернативные рабочие процессы. Работа с IBM ® DOORS ® Next ® поддерживается в Microsoft Windows ®.
Simulink Requirements позволяет интегрировать с DOORS два различных способа: прямая связь между элементами дизайна и требованиями к веб-сайту, а также динамический подход к кэшу, при котором в рабочем пространстве Simulink Requirements устанавливается возможность отслеживания. Каждый подход имеет уникальные преимущества и проблемы.
Подход Direct Linking позволяет установить навигацию одним щелчком мыши от проекта к связанным требованиям в DOORS, а от DOORS - обратно к связанным элементам проекта. Поскольку этот подход требует взаимодействия с системным веб-браузером, необходима конфигурация на стороне сервера DOORS, а также пользовательская настройка системного браузера. Поскольку назначения ссылок являются «внешними» по отношению к требованиям Simulink, можно использовать только ограниченное подмножество функций продукта Simulink Requirements. Например, дополнительные сценарии потребуются для анализа статуса внедрения и проверки, а также для отслеживания изменений. С другой стороны, можно сохранить информацию о связи в данных сервера DOORS, чтобы можно было просматривать и анализировать связи на стороне DOORS без сеанса MATLAB/Simulink.
Подход Live Cache основан на импорте снимка требований DOORS в Simulink Requirements. Переход от проектирования или испытания к соответствующему требованию в DOORS все еще возможен, но включает промежуточную запись прокси в наборе требований Simulink. Поскольку оба конца созданных ссылок принадлежат доменам семейства Simulink, можно в полной мере использовать возможности отслеживания в продукте Simulink Requirements. Кэшированное содержимое может обновляться в любое время при внесении изменений на стороне сервера DOORS. Кроме того, поскольку ссылки хранятся только на стороне MATLAB/Simulink, этот подход позволяет избежать проблем устаревших или конфликтующих ссылок на сервере. Этот подход не обязательно требует конфигурации на стороне сервера.
Подробная информация, приведенная ниже, поможет вам решить, какой подход является наилучшим для вашего проекта.
Можно установить прямую связь с артефактами DOORS Next с помощью команды «Связать с выбранными элементами» в контекстном меню DNG в меню «Требования» для объектов Simulink, кода MATLAB или тестовых примеров Simulink. Эта возможность подразумевает, что сеанс MATLAB осведомлен о выборе в веб-браузере DOORS Next, поэтому требуются дополнительные шаги настройки:
Пользовательские файлы виджетов Simulink Requirements необходимо скопировать на сервер DOORS Next, чтобы сделать виджет доступным для пользователей DOORS Next.
Каждый пользователь, заинтересованный в связывании с Simulink, должен добавить виджет на мини-панель в веб-интерфейсе DOORS Next.
Обозреватель системы должен иметь возможность связи со встроенным HTTPS-сервером MATLAB (localhost:31515).
Каждый необходимый шаг настройки подробно описан ниже.
Этот шаг выполняется администратором сервера DOORS Next один раз за установку сервера IBM. Вам нужно будет скопировать dngsllink_config подпапка из MATLAB_INSTALL_DIR/toolbox/slrequirements/slrequirements/resources/ в папку пользовательских расширений сервера DOORS Next. Расположение папки пользовательских расширений зависит от конкретной версии сервера Jazz. Например, если сервер Jazz запущен на компьютере с ОС Windows, папка расширений может находиться здесь:
C:\Program Files\IBM\JazzTeamServer\server\liberty\servers\clm\dropins\war\extensions
Также может потребоваться «включить dropins» в конфигурации сервера DOORS Next. Приведенная ниже инструкция основана на следующей странице IBM: https://jazz.net/wiki/bin/view/Main/RMExtensionsHostingGuide605
Определить местонахождение server.xml в файле C:\[JAZZ_INSTALL_DIR]\server\liberty\servers\clm папка.
Откройте этот файл в текстовом редакторе и найдите следующую строку: <applicationMonitor dropinsEnabled='false' pollingRate='10s' updateTrigger='mbean'/>
Изменение dropinsEnabled кому 'true'.
Перезапустите сервер.
Подробные инструкции по размещению пользовательских расширений см. на странице IBM.
Этот шаг должен быть выполнен один раз каждым пользователем DOORS Next, заинтересованным в связывании с MATLAB/Simulink. После dngsllink_config пользовательские файлы расширений доступны на сервере DOORS Next, выполните следующие действия, чтобы добавить этот пользовательский виджет в мини-панель в веб-интерфейсе DOORS Next. Убедитесь, что сервер DOORS Next защищен (HTTPS), или виджет работает неправильно. После входа в DOORS Next:
1. В мини-панели управления нажмите кнопку «Добавить виджет»:

Откроется меню пользовательских гаджетов.
2. Щелкните Добавить OpenSocial гаджет:

3. Укажите URL-адрес, соответствующий расположению кода графического элемента Simulink Requirements на сервере. Например:
https://JAZZSERVERNAME:9443/extensions/dngsllink_config/dngsllink_config.xml:

4. Щелкните Добавить виджет. Теперь мини-панель управления должна отображать виджет «Требования к Simulink»:

Этот шаг необходимо выполнять каждый раз при перезапуске сеанса MATLAB. Используйте slreq.dngConfigure для подготовки сеанса MATLAB к связыванию с DOORS Next. Следуйте инструкциям и введите требуемые значения. URL-адрес сервера, номер порта и имя пользователя хранятся в личных настройках пользователя. Однако каждый раз необходимо вводить пароль DOORS Next.
1. В ответ на запрос введите имя домена сервера DOORS Next и номер порта. Если при просмотре страниц DOORS Next в адресной строке системного браузера не отображается ни один номер порта, введите значение по умолчанию «9443».

2. Введите имя пользователя DOORS Next, которое может отличаться от имени пользователя для входа в систему компьютера:

3. В ответ на запрос введите пароль DOORS Next и нажмите Enter. При установлении соединения с DOORS Next в окне команд MATLAB отображается несколько предупреждений. Функция будет работать, если нет ошибок.
4. После успешного подключения к серверу появляется диалоговое окно, позволяющее выбрать проекты DOORS Next из списка, а также предпочтительный поток конфигурации (если он включен для выбранного проекта).

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

6. Если вы не видите сообщение подтверждения, как показано выше, ваш системный браузер может блокировать HTTPS-соединения с https://localhost:31515. Чтобы решить эту проблему, разрешите подключение. Точные шаги зависят от веб-браузера. Например:

В этом случае нажмите кнопку Дополнительно, а затем щелкните гиперссылку, чтобы разрешить подключение:

Если всплывающее окно из MATLAB все еще не получено, сеанс MATLAB может прослушивать другой (нестандартный) номер порта, что может произойти при запуске нескольких экземпляров MATLAB на одном и том же хосте. Чтобы быстро проверить номер активного порта, выполните следующую команду: connector.securePort. Если эта команда возвращает что-либо, кроме 31515, убедитесь, что на том же хосте не запущены другие экземпляры MATLAB, а затем перезапустите MATLAB. Повториться connector.securePort для подтверждения правильного номера порта. Запущенный повторно slreq.dngConfigure шаги настройки.
После просмотра диалогового окна подтверждения не закрывайте окно браузера. Рекомендуется повторно использовать это же окно браузера для сеанса DOORS Next при связывании с Simulink Requirements, поскольку вы только что авторизовали этот экземпляр приложения веб-браузера для взаимодействия с MATLAB. При открытии нового окна браузера, в зависимости от типа и версии веб-браузера, защищенная связь с MATLAB может быть снова заблокирована. В этом случае можно просто скопировать и вставить следующий URL-адрес в адресную строку браузера: https://localhost:31515/matlab/oslc/inboundTest затем снова нажмите «Продолжить на localhost», чтобы разрешить соединение с MATLAB.
В окне DOORS Next откройте представление Show artifacts для интересующей коллекции требований и установите флажок для элемента, с которым требуется установить связь. Вы заметите, что графический элемент «Требования к Simulink» обновлен для подтверждения идентификатора и метки выбранного элемента. Эта информация отправляется в MATLAB при взаимодействии с флажками DOORS Next.

В Simulink щелкните правой кнопкой мыши блок, из которого требуется создать ссылку, а затем в контекстном меню «Требования» выберите «Связать с выбранными элементами» в DNG. Для извлечения дополнительных данных из DOORS Next и создания ссылки в MATLAB может потребоваться несколько секунд.

Щелкните тот же блок еще раз, чтобы увидеть новую ссылку в верхней части подменю «Требования». Щелкните метку связи, чтобы перейти от Simulink к DOORS Next:

Примечание: если Вы не видите Связи с Выбранным пунктом (пунктами) в коротком пути DNG в контекстном меню Requirements, Вы, возможно, должны позволить ДВЕРИ, связывающие выбор во вкладке Selection Linking диалога Параметров настройки Требований:

Можно также управлять этим параметром с помощью API командной строки:
rmipref('SelectionLinkDoors',true);Функция интеграции DOORS Next в модуле Simulink Requirements позволяет запрашивать ссылки MATLAB/Simulink из контекста DOORS Next. При выборе элемента из списка артефактов на странице DOORS Next графический элемент Simulink Requirements отображает информацию о выбранном элементе и предоставляет гиперссылку для запроса ссылок, сохраненных в Simulink Requirements. Щелкните Запрос ссылок из SL, чтобы получить всплывающее окно со списком входящих ссылок для выбранного элемента DOORS Next.


Следует иметь в виду, что эти связи не могут быть обнаружены, когда MATLAB не запущен, или когда соответствующие файлы данных не загружены на стороне Simulink. Например, ссылка, созданная выше, хранится в .slmx для связанной модели Simulink. Если это .slmx файл не загружен в текущем сеансе MATLAB/Simulink, ссылки во всплывающем окне браузера не отображаются. При использовании ссылок запроса из SL для просмотра ссылок необходимо сначала убедиться в том, что:
MATLAB работает
Сеанс MATLAB сконфигурирован для связывания DOORS Next (slreq.dngConfigure шаг завершен)
загружены все связанные артефакты проекта
Список загруженных наборов ссылок можно просмотреть, открыв редактор требований путем ввода slreq.editor в командной строке MATLAB. В редакторе требований нажмите кнопку «Показать связи».
Если вы предпочитаете всегда находить свои связи MATLAB/Simulink в контексте DOORS Next, независимо от того, выполняется ли Simulink или загружены связанные артефакты MBD, у вас есть возможность действительно двунаправленного связывания. Снова откройте диалоговое окно «Параметры требований» на вкладке «Связь выбора» и установите флажок «Изменить назначение для двунаправленной связи».

Кроме того, можно использовать API командной строки rmipref('BiDirectionalLinking',true) для переключения опции. После включения двунаправленной связи каждая создаваемая ссылка не только добавляет запись в набор ссылок требований Simulink, но также вставляет внешнюю веб-ссылку из DOORS Next, которая отображается на панели «Ссылки» для связанного элемента DOORS Next. Можно использовать гиперссылки на панели «Связи» для перехода от элемента DOORS Next к связанным объектам в MATLAB/Simulink.

При включении параметра «Изменить назначение для двунаправленной связи» в окне «Параметры требований» необходимо учитывать следующее:
1. Каждый пользователь DOORS Next увидит эти ссылки при работе с одной и той же версией этого проекта DOORS Next, даже если он не использует Simulink или не имеет доступа к связанным артефактам MBD.
2. Переход из DOORS Next завершится неуспешно, если MATLAB не запущен, а связанный артефакт либо уже загружен, либо находится на пути MATLAB.
3. Ссылки, вставленные в DOORS Next by Simulink Requirements, не синхронизируются автоматически. При удалении ссылки на стороне Simulink ссылка в DOORS Next остается, и ее необходимо удалить вручную.
4. Продукт Simulink Requirements не проверяет наличие конфликтов в ссылках DOORS Next. Например, если пользователь Simulink A связал требование DOORS Next с блоком в модели Simulink, ссылки, вставленные в DOORS Next, будут вести себя последовательно для этого пользователя, но пользователь B увидит ссылку из DOORS Next, и может перейти к тому же блоку в своей версии той же модели Simulink, даже если его копия модели Simulink не хранит ссылку из блока Simulink на DOORS Next. Если пользователь B решает создать свою собственную ссылку из того же блока на тот же элемент DOORS Next, в то время как его личные предпочтения сконфигурированы для двунаправленного связывания, он вставит дубликат ссылки на сторону DOORS Next. Если пользователь A позже передумал и удалил ссылку из блока в Simulink, а затем попытается очистить обратные ссылки из DOORS Next, обе ссылки необходимо будет удалить на стороне DOORS Next, и теперь пользователю B останется только односторонняя ссылка из Simulink в DOORS Next. Использование личных потоков и наборов изменений в DOORS Next должно минимизировать проблемы такого рода.
rmipref('BiDirectionalLinking', true);Как можно видеть из вышеприведенного, как одноходовые, так и двухходовые решения прямого связывания имеют недостатки:
прямое связывание требует изменения конфигурации сервера DOORS Next и установки пользовательского гаджета Simulink Requirements,
прямая связь требует HTTPS-связи между вашим системным браузером и локальным процессом MATLAB, что может представлять угрозу безопасности при использовании этого же браузера для внешних веб-страниц;
Однонаправленные связи трудно обнаружить со стороны DOORS Next, и они полностью скрыты, если связанные артефакты не загружены в текущей сессии MATLAB.
Двухсторонние связи могут стать трудными для управления в крупных многопользовательских проектах или при переключении между потоками DOORS Next и наборами изменений.
вы не можете управлять типом связей из DOORS Next в MATLAB/Simulink, ссылки всегда имеют общий тип «Link To»,
встроенный анализ в продукте Simulink Requirements не охватывает прямые ссылки.
Чтобы устранить эти ограничения и обойти большинство сложностей, Simulink Requirements предлагает совершенно другой вариант рабочего процесса: можно кэшировать подмножество требований DOORS Next во внутренний управляемый набор требований Simulink, а затем выполнять все операции связывания и анализа в среде Simulink Requirements так же, как и при обычных внутренних или импортированных записях.
Вы не сможете редактировать кэшированное содержимое DOORS Next локально, и вы не сразу увидите обновления при обновлении исходных требований на сервере, но вы получаете преимущество встроенной поддержки связывания между артефактами Simulink, включая связывание перетаскиванием с объектами Simulink, не нарушая при этом сторону сервера, и вы можете использовать все функции продукта Simulink Requirements для просмотра и анализа ссылок, включая состояние внедрения и проверки, а также обнаружение последствий изменений и управление ими.
В редакторе требований нажмите «Импорт». Выберите «IBM DOORS Next Generation» в селекторе типа документа:

Как и ранее, вам будет предложено ввести пароль для входа в систему DOORS Next. Если это ваше первоначальное подключение к текущему сеансу MATLAB, вам также будет предложено подтвердить URL-адрес сервера и имя пользователя.
Селектор расположения документа будет заполнен именами всех проектов DOORS Next, доступных на указанном сервере. После выбора проекта для импорта появятся дополнительные элементы управления:

Поддерживаются два различных режима для ввода содержимого DOORS Next в Simulink Requirements. Можно импортировать указанный модуль, включая иерархические отношения между требованиями DOORS Next, или переключиться в режим «Фильтр по запросу», в котором создается плоский список соответствующих требований.

При использовании параметра «Фильтр по запросу» в большинстве случаев не требуется вводить выражение запроса вручную, но для настройки фильтра используется диалоговое окно «Построитель запросов»:

При импорте с помощью команды Фильтр по запросу одновременно можно использовать только один фильтр.
В обоих случаях получается узел импорта верхнего уровня с идентификатором, соответствующим имени проекта DOORS Next. В тексте Summary узла Import будут указаны параметры, используемые при захвате данных из DOORS Next. Теперь можно работать с импортированными элементами так же, как и с обычными записями в Simulink Requirements:
создание связей со связанными артефактами MBD и использование всех встроенных возможностей анализа.
перейдите к исходным требованиям в DOORS Next, нажав кнопку Show in document,
обновить захваченное содержимое с помощью кнопки «Обновить с сервера»,
при сохранении в .slreqx , ссылки сохраняются в соответствующий файл .slmx файл.

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

Нельзя импортировать изображения или таблицы из DOORS Next в Simulink Requirements.
Теперь, когда вы захватили коллекцию требований DOORS Next в набор требований и сохранили ее в .slreqx можно легко установить прослеживаемость между требованиями и конструкцией, а затем управлять наборами ссылок вместе с остальными артефактами MBD, не затрагивая других пользователей того же проекта DOORS Next. Например, можно переключить модель Simulink на перспективный вид «Требования», затем открыть захваченный набор требований DOORS Next в браузере требований и создать связи путем перетаскивания между браузером требований и блоками на диаграмме Simulink. Связанные блоки будут выделены вместе со связанными кэшированными элементами DOORS Next в браузере требований.

Как и в случае ссылок на требования внутреннего управления, можно получить дополнительные сведения о ссылках при выборе Links из раскрывающегося списка Вид. Можно редактировать такие свойства ссылок, как «Тип», «Описание», «Обоснование», «Ключевые слова» и «Комментарии».
Как и во всех других ссылках Simulink Requirements, отображение статуса «Внедрение» и «Проверка» позволяет проверить, какие требования не покрыты и какие тесты необходимо повторно запустить или обновить.
Когда требования DOORS Next на сервере обновляются или удаляются, выполняется автоматическое обновление подмножеств кэшированных требований в Simulink Requirements и выполняется проверка вида «Ссылки» на наличие помеченных устаревших или разорванных ссылок для быстрого определения необходимых изменений конструкции или тестирования.
