Зміст

Ефективне управління конфігурацією автомобільного програмного забезпечення

[wd_asp id=1]

Оскільки сучасні транспортні засоби стають дедалі більш програмно-визначеними, потреба в надійному та ефективному управлінні конфігурацією автомобільного програмного забезпечення ще ніколи не була такою критичною. Зі зростанням популярності електричних та автономних транспортних засобів автомобільна промисловість стикається зі зростаючою складністю управління програмним забезпеченням в електронних блоках керування (ECU), вбудованих системах та циклах оновлення по бездротовій мережі (OTA).

Управління конфігурацією автомобілів гарантує, що кожен компонент програмного забезпечення, від початкової розробки до розгортання, відстежується, має версії та простежується протягом усього життєвого циклу автомобільного програмного забезпечення. Воно відіграє життєво важливу роль у забезпеченні узгодженості, забезпеченні відповідності таким стандартам, як ISO 26262 та ASPICE, а також у підтримці безперебійної інтеграції програмного забезпечення в критично важливі для безпеки системи.

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

Що таке управління конфігураціями в автомобільній промисловості?

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

Важливість у контексті розвитку сучасних транспортних засобів

В еру підключених, електричних та автономних транспортних засобів складність програмного забезпечення зростає експоненціально. Сучасні транспортні засоби залежать від десятків ЕБУ, мільйонів рядків коду та постійних оновлень по бездротовій мережі (OTA). Ця еволюція вимагає надійного управління конфігурацією програмного забезпечення (SCM) для зменшення помилок інтеграції, уникнення невідповідностей версій та забезпечення своєчасної доставки безпечного, високоякісного програмного забезпечення.

Ефективне управління конфігурацією також є важливим для дотримання нормативних вимог, таких як ISO 26262 та ASPICE, де керування версіями, відстеження та контроль змін є обов'язковими для готовності до аудиту.

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

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

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

Чому ефективне управління конфігурацією є критично важливим?

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

Управління складністю в багатоваріантних автомобільних програмних системах

Виробники оригінального обладнання та постачальники автомобілів повинні розробляти та керувати програмними системами, багатими на варіанти, для підтримки кількох моделей транспортних засобів, регіональних норм та наборів функцій. Кожна варіація може включати різні конфігурації, параметри та залежності ЕБУ. Без належного управління конфігурацією ці варіації можуть призвести до невідповідності версій, функціональних невідповідностей та дорогих збоїв інтеграції. Централізований, відстежуваний підхід забезпечує цілісність програмного забезпечення в усіх варіантах.

Проблеми розгортання та оновлення програмного забезпечення для транспортних засобів

Зі зростанням залежності від оновлень OTA (Over-the-Air) та модульних архітектур транспортних засобів, забезпечення розгортання правильної версії програмного забезпечення на правильному обладнанні у потрібний час стає дедалі складнішим. Неправильні методи налаштування можуть призвести до експлуатаційних проблем, зниження продуктивності або навіть загроз безпеці. Ефективне керування конфігурацією забезпечує безпечне, точне та повторюване розгортання програмного забезпечення транспортних засобів, одночасно зменшуючи ризики, пов'язані з оновленнями.

Забезпечення відстежуваності, контролю версій та узгодженості інтеграції

Управління конфігурацією забезпечує основу для відстеження вимог, ретельного контролю версій та послідовної інтеграції апаратних і програмних компонентів. Це дозволяє командам відстежувати зміни протягом життєвого циклу автомобільного програмного забезпечення, визначати базові рівні конфігурації та узгоджувати їх з галузевими стандартами, такими як ISO 26262 та ASPICE. Ці можливості життєво важливі для готовності до аудиту, запобігання дефектам та оптимізації співпраці між багатопрофільними командами.

Ключові компоненти управління конфігурацією автомобільного програмного забезпечення

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

1. Ідентифікація конфігурації та керування версіями

Цей процес включає унікальну ідентифікацію кожного елемента конфігурації програмного забезпечення, включаючи вихідний код, параметри ЕБУ, моделі та документацію. Застосовуючи контроль версій автомобільного програмного забезпечення, команди можуть точно керувати варіантами, підтримувати повторне використання та забезпечувати відстеження кожної версії протягом розробки, тестування та розгортання.

2. Робочі процеси контролю та затвердження змін

Контроль змін регулює те, як пропонуються, перевіряються, затверджуються та впроваджуються зміни до елементів конфігурації. В автомобільній розробці програмного забезпечення надійні робочі процеси внесення змін гарантують, що всі оновлення, особливо в критично важливих для безпеки системах, перевіряються на відповідність стандартам ISO 26262 та ASPICE перед розгортанням, що зменшує ризик регресій або збоїв інтеграції.

3. Облік статусу та аудитність

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

4. Перевірка та валідація конфігурації

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

Управління конфігурацією протягом життєвого циклу автомобільного програмного забезпечення

Управління конфігурацією автомобільного програмного забезпечення є важливим протягом усього життєвого циклу розробки програмного забезпечення, забезпечуючи відстеження, контроль та узгодженість між програмним забезпеченням, апаратним забезпеченням та вимогами. Належний контроль конфігурації дозволяє командам керувати складністю, одночасно задовольняючи вимоги функціональної безпеки та відповідності сучасним транспортним засобам.

Етапи життєвого циклу: проектування, розробка, тестування та розгортання

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

  • Етап проектуванняУправління конфігурацією починається зі збору та впорядкування вимог і високорівневої архітектури системи. Кожен елемент ідентифікується, контролюється за версіями та пов'язується для забезпечення відстеження з самого початку.
  • Етап розвитку: У міру впровадження коду для конкретних платформ ЕБУ або варіантів транспортних засобів, кожен елемент конфігурації керується для забезпечення сумісності та узгодженості між програмними модулями. На цьому етапі наголошується на контролі версій та управлінні залежностями.
  • Етап тестуванняТестові випадки налаштовуються та пов'язуються з відповідними вимогами та програмними компонентами. Базові конфігурації гарантують, що перевірена система відповідає правильній версії як програмного забезпечення, так і тестового середовища, підтримуючи відповідність стандарту ISO 26262.
  • Фаза розгортанняПід час інтеграції та випуску перевірені та затверджені конфігурації упаковуються для розгортання у виробничому середовищі або оновлень OTA. Управління конфігурацією гарантує, що розгорнуте програмне забезпечення є узгодженим, аудитованим та відповідає нормативним стандартам.

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

Забезпечення повної відстежуваності та узгодженості

Надійне управління конфігурацією забезпечує повне відстеження, пов'язуючи вимоги з архітектурою, впровадженням, верифікацією та розгортанням. Це життєво важливо для відповідності стандартам ISO 26262 та ASPICE, де обов'язковим є підтвердження узгодженості та правильності конфігурацій програмного забезпечення. Команди можуть забезпечити узгодженість інтеграції та запобігти невідповідностям між етапами розробки, особливо в середовищах з кількома постачальниками.

Робота з варіантами програмного забезпечення та платформами ЕБУ

Сучасні транспортні засоби потребують керування широким спектром варіантів програмного забезпечення на різних платформах, регіонах та наборах функцій ЕБУ. Системи керування конфігурацією повинні підтримувати керування варіантами, модульну конструкцію та стратегії повторного використання для забезпечення сумісності та ефективності. Ця можливість є критично важливою для масштабування розробки в різних автомобільних програмних системах, що містять багато варіантів, зберігаючи при цьому безпеку та функціональну цілісність.

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

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

Відповідність стандартам ISO 26262

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

Управління конфігурацією, що відповідає стандарту ISO 26262, гарантує, що:

  • Вимоги безпеки пов'язані з артефактами програмного забезпечення.
  • Зміни затверджені, протестовані та повністю задокументовані.
  • Базові показники встановлюються для кожного рівня цілісності безпеки (РІББ).

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

Роль SCM у функціональній безпеці та відповідності вимогам

Управління конфігурацією програмного забезпечення (SCM) гарантує, що критично важливий для безпеки код:

  • Розроблено з використанням правильних, перевірених версій інструментів та компонентів.
  • Відповідність вимогам та охопленню тестування завдяки повній відстежуваності.
  • Розгортається послідовно на всіх цільових платформах ЕБУ без відхилень.

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

Приклад: Керування конфігураціями для керування гальмами або ADAS

Візьмемо, наприклад, системи керування гальмами. Зміна логіки гальмування може включати оновлення програмного коду, параметрів калібрування, діагностики та пов'язаних тестових випадків. Управління конфігурацією забезпечує, щоб:

  • Розгортається лише затверджена версія програмного забезпечення.
  • Усі пов'язані вимоги та результати тестів можна відстежити.
  • Кожен варіант (наприклад, ABS, EBD, ESC) керується точно в усіх моделях.

В ADAS, де взаємодіють кілька ЕБУ, датчиків та алгоритмів, SCM забезпечує синхронізоване розгортання програмного забезпечення для об'єднання датчиків, моделей прогнозування шляхів та логіки резервного відновлення безпеки, що є вирішальним для досягнення цілей як продуктивності, так і функціональної безпеки.

Найкращі практики ASPICE та управління конфігураціями

Щоб відповідати суворим вимогам сучасної розробки транспортних засобів, управління конфігурацією автомобільного програмного забезпечення повинно відповідати не лише стандарту ISO 26262, але й стандарту Automotive SPICE (ASPICE) – широко прийнятій моделі оцінки процесів, яка забезпечує якість програмного забезпечення та зрілість процесів протягом усього життєвого циклу автомобільного програмного забезпечення.

Огляд області процесів ASPICE MAN.05: Управління конфігурацією

В ASPICE область процесу MAN.05 (Керування конфігурацією) зосереджена на встановленні та підтримці цілісності конфігурації протягом усього життєвого циклу розробки. Мета полягає в тому, щоб:

  • Визначте та керуйте всіма елементами конфігурації.
  • Відстежуйте та керуйте змінами.
  • Підтримуйте послідовні базові показники.
  • Забезпечити облік стану конфігурації та її відтворюваність.

Правильне впровадження MAN.05 підтримує відстеження, контроль версій та охоплення життєвого циклу, необхідні для надійних та аудитованих програмних систем.

Узгодження автомобільного SCM з рівнями зрілості ASPICE

Щоб досягти відповідності ASPICE, організації повинні:

  • Визначте чіткі політики та процедури конфігурації.
  • Використовуйте інструменти SCM для контролю доступу, підтримки базових показників та ведення журналу змін.
  • Встановіть простежувані зв'язки між вимогами, вихідним кодом та артефактами тестування.

Перехід від нижчих до вищих рівнів можливостей ASPICE вимагає підвищення автоматизації, узгодженості та інтеграції інструментів управління конфігурацією з ширшою екосистемою управління вимогами та контролю змін.

Документація, аудити та кваліфікація інструментів

ASPICE наголошує на детальному документуванні процесів конфігурації та журналів аудиту. Це включає:

  • Записи ідентифікації конфігурації.
  • Історія змін та журнали затверджень.
  • Звіти, що демонструють відстеження на всіх етапах життєвого циклу.

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

Використання інструментів для управління конфігурацією автомобілів

Сучасна розробка автомобільного програмного забезпечення вимагає масштабованих, інтегрованих та стандартизованих інструментів керування конфігурацією для обробки складних систем з великою кількістю варіантів, критично важливих для безпеки програм та швидких оновлень OTA. Вибір правильних інструментів має вирішальне значення для досягнення відстежуваності вимог, готовності до аудиту та ефективної співпраці між глобально розподіленими командами.

Порівняння популярних інструментів управління конфігурацією

Деякі з найпоширеніших інструментів управління конфігурацією автомобілів включають:

  • Вимоги до Visure Платформа ALM – Потужна платформа на базі штучного інтелекту, що пропонує повне охоплення життєвого циклу вимог, відстеження в реальному часі, автоматизоване керування версіями та безперешкодну інтеграцію з автомобільними стандартами, такими як ISO 26262 та ASPICE.
  • Git / GitLab / GitHub – Популярний для контролю версій, але часто потребує поєднання зі спеціалізованими інструментами для відстеження та відповідності.
  • PTC Integrity / Windchill RV&S – Надійний для масштабного проектування, з потужним відстеженням конфігурації та керуванням варіантами.
  • IBM Engineering Workflow Management – Підтримує складні робочі процеси та великі команди, але може вимагати налаштування відповідно до автомобільних стандартів.
  • JIRA + плагіни (наприклад, Xray, Git Integration) – Підходить для гнучких команд, але обмежена вбудованою підтримкою функціональної безпеки або управління конфігурацією ЕБУ.

Інструменти, що підтримують конвеєри AUTOSAR, OTA та CI/CD

Розширені платформи керування конфігурацією повинні підтримувати:

  • Розробка програмного забезпечення, сумісного з AUTOSAR, що забезпечує повторне використання та узгодженість між постачальниками ЕБУ.
  • Оркестрація оновлень через бездротову мережу (OTA), управління безпечним та надійним розгортанням у всіх автопарках.
  • Інтеграція в конвеєри CI/CD, що забезпечує безперервну перевірку та швидкі цикли зворотного зв'язку.

Платформа Visure Requirements ALM вирізняється вбудованою інтеграцією з інструментами AUTOSAR, підтримкою аналізу впливу змін у режимі реального часу та безперешкодним підключенням до фреймворків CI/CD, що робить її ідеальною для керування конфігураціями в складних автомобільних програмних системах.

Інтеграція з системами управління вимогами та контролю версій

Ефективне управління конфігурацією програмного забезпечення не є ізольованим процесом; воно має інтегруватися з:

  • Інструменти управління вимогами для повного відстеження вимог.
  • Системи контролю версій, такі як Git, Subversion, або корпоративні інструменти для синхронізованої розробки та співпраці.
  • Системи управління тестуванням, відстеження проблем та документування відповідності для повного управління життєвим циклом вимог та забезпечення їхньої аудиту.

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

Найкращі практики управління конфігураціями в автомобільному програмному забезпеченні

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

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

Розробка програмного забезпечення з використанням модульної та багаторівневої архітектури дозволяє командам ізолювати елементи конфігурації за функціями, що спрощує керування оновленнями, варіантами та залежностями апаратного забезпечення. Такий підхід підтримує можливість повторного використання вимог, зменшує ризики інтеграції та спрощує базові лінії конфігурації на різних платформах ECU.

2. Впроваджуйте автоматизоване відстеження та контроль версій

Автоматизація відстеження вимог та контролю версій у вихідному коді, документації, тестових випадках та пакетах розгортання забезпечує повну узгодженість конфігурації. Такі інструменти, як платформа Visure Requirements ALM, дозволяють командам відстежувати кожну зміну в режимі реального часу, автоматично пов'язувати артефакти та підтримувати точні базові показники для аудитів ASPICE та ISO 26262.

3. Встановіть ефективні робочі процеси відстеження змін та їх затвердження

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

4. Керування оновленнями програмного забезпечення в підключених та автономних транспортних засобах

У підключених та автономних транспортних системах керування оновленнями через бездротову мережу (OTA) вимагає надійного контролю конфігурації для забезпечення правильного вибору версій, можливостей відкату та перевірки відповідності. Керування конфігурацією повинно підтримувати відстеження оновлень у реальному часі, резервні стратегії безпеки та охоплення життєвого циклу вимог для забезпечення цілісності критично важливих функцій.

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

Проблеми та рішення в сучасному SCM для транспортних засобів

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

1. Масштабування між глобальними командами розробників

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

РішенняВпроваджуйте централізовані платформи керування вимогами та конфігурацією, які пропонують доступ на основі ролей, співпрацю в режимі реального часу та єдиний контроль версій. Такі інструменти, як платформа Visure Requirements ALM, дозволяють глобально розподіленим командам працювати синхронізовано, підтримуючи повне охоплення життєвого циклу вимог та цілісність конфігурації.

2. Керування частими оновленнями та виправленнями (OTA)

викликЧерез постійні оновлення по бездротовій мережі (OTA) керування конфігураціями в автопарках стає дедалі складнішим. Невелика неправильна конфігурація може призвести до критичних збоїв системи або порушень відповідності вимогам.

РішенняВпроваджуйте автоматизований контроль версій, можливості відкату та відстеження в реальному часі для всіх компонентів програмного забезпечення. Забезпечте, щоб пакети оновлень OTA були пов'язані з правильними базовими рівнями конфігурації, результатами тестування та вимогами безпеки, щоб гарантувати безпечну та цілеспрямовану доставку програмного забезпечення.

3. Забезпечення відповідності вимогам та готовності до аудиту

викликНормативні стандарти, такі як ISO 26262 та ASPICE, вимагають документованих, аудитованих процесів для ідентифікації конфігурації, контролю змін та відстеження. Ручні методи часто не відповідають вимогам, що призводить до затримок сертифікації та переробки.

РішенняВикористовуйте кваліфіковані інструменти SCM для автомобільної галузі, які підтримують документацію, готову до аудиту, автоматизовані журнали змін та відстежувані зв'язки між вимогами, вихідним кодом та артефактами тестування. Платформи з вбудованими шаблонами відповідності допомагають командам підтримувати аудит на всіх етапах розробки.

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

Висновок

Оскільки транспортні засоби перетворюються на складні, програмно-орієнтовані платформи, ефективне управління конфігурацією автомобільного програмного забезпечення більше не є необов'язковим, а є надзвичайно важливим. Від обробки систем, багатих на варіанти, та забезпечення контролю версій до підтримки відстеження вимог та досягнення відповідності стандартам ISO 26262 та ASPICE, управління конфігурацією відіграє основоположну роль протягом усього життєвого циклу автомобільного програмного забезпечення.

Завдяки впровадженню передового досвіду, використанню інтегрованих інструментів та дотриманню галузевих стандартів, автомобільні організації можуть оптимізувати розробку, покращити відстежуваність та готовність до аудиту, а також забезпечити безпечне та надійне постачання критично важливих для безпеки систем, таких як системи допомоги водієві (ADAS) та системи керування на основі електронних блоків керування (ECU).

Платформа Visure Requirements ALM надає інженерним командам комплексне рішення на основі штучного інтелекту для повного охоплення життєвого циклу вимог, управління конфігурацією програмного забезпечення та відстеження в реальному часі – все в єдиному інтегрованому середовищі.

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

Не забудьте поділитися цим постом!

глави

Виходьте на ринок швидше з Visure

Дивіться Visure в дії

Заповніть форму нижче, щоб отримати доступ до своєї демонстрації