BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс для системных аналитиков » Модуль 9.1. Стандарты SRS/IEEE/ISO

Модуль 9.1. Стандарты SRS/IEEE/ISO

Темы: структура SRS, анти-паттерны, читаемость. Артефакт: SRS по шаблону. Практика: переработать плохую спецификацию.

 

SRS (Software Requirements Specification) — единый источник правды о требованиях. Хороший SRS:

  • сокращает риски «разной картины мира» у бизнеса, девелоперов, QA и безопасников;
  • делает требования проверяемыми и трассируемыми (кода → тестов → UAT → метрик);
  • служит опорой для контрактов (OpenAPI/AsyncAPI), NFR и плана релизов.

 

Ориентиры стандартов:

  • Исторический: IEEE 830 (устарел, но популярен как каркас).
  • Актуальный: ISO/IEC/IEEE 29148 — процессы и атрибуты качества требований.
  • Сопутствующее: ISO/IEC 25010 (качество ПО) — полезно для NFR.

 

Базовая структура SRS (совместима с IEEE 830 / ISO 29148)

Ниже — практичный каркас, который «приземляется» в Confluence/Docs-as-Code и живёт вместе с кодом.

  1. Введение
    • Назначение, область, не в скоупе (Out of Scope)
    • Определения и глоссарий (Ubiquitous Language), список сокращений
    • Ссылки (нормативные/информативные)
  2. Общее описание
  3. Персоны/ролями, сценарии высокого уровня (контекст)
  4. Ограничения: регуляторика, лицензии, платформа/стэк
  5. Допущения и зависимости
  6. API/UI/сообщения/интеграции, протоколы/версии, форматы
  7. Нефункциональные требования к интерфейсам (SLI/SLO, безопасность)
  8. Функциональные требования по фичам/юзкейсам
  9. Бизнес-правила, DMN/таблицы решений, ошибки и коды
  10. Производительность, надёжность, безопасность, аудит, наблюдаемость, локализация, доступность (a11y), портируемость, конфигурируемость, совместимость
  11. ER-модель, словари данных/справочники, ограничения (уникальность, ссылочная целостность), политики жизненного цикла данных
  12. Use Case + альтернативы, диаграммы состояний, happy/edge/error-потоки
  13. Нельзя менять протокол X, должен быть OAuth2/JWT, хранить в Postgres и т. п. (только если это жёсткое требование, а не вкус архитектора)
  14. RTM: REQ → AC/BDD → тесты → метрики/алерты
  15. Внешние интерфейсы
  16. Системные функции и правила
  17. Нефункциональные требования (NFR)
  18. Данные
  19. Состояния и сценарии
  20. Ограничения проектирования
  21. Трассируемость
  22. Критерии приёмки
  • AC (Given/When/Then) + метод верификации (тест/инспекция/анализ/демонстрация)
  1. Приложения
  • Глоссарий (расширенный), макеты/wireframes, OpenAPI/AsyncAPI ссылки/снэпшоты, схемы событий, чек-лист качества требований, Change Log

 

Обязательные атрибуты каждого требования: ID, формулировка, причина (rationale), приоритет, источник, метод проверки, статус, версия/дата.

 

Как писать требование (минимальная грамматика)

  • Оператор обязательности:
    ДОЛЖНА/ДОЛЖЕН (shall/must) — строго, ДОЛЖНА МОЧЬ (should/may) — опционально. Избегайте «желательно/удобно/по возможности».
  • Мера и факт наблюдения: число + единица + окно/условия.
    «p95 < 2.5 сек в 08:00–23:00, Europe/Stockholm».
  • Единственный смысл в одном требовании (атомарность), без «и/или».

 

Шаблон карточки:

ID: REQ-PAY-001

Формулировка: Система ДОЛЖНА принимать запрос на создание платежа с суммой 0.01…100000.00 (точность 2 знака) и валютой из набора {RUB, USD, EUR}.

Rationale: финансовые ограничения и поддерживаемые валюты

Источник: Бизнес-требование BR-23

Приоритет: Must

Метод верификации: тест (API), инспекция схем

AC: см. AC-PAY-01..04

Связи: OpenAPI /v1/payments, ER платежей v2

 

Читаемость и модифицируемость (что делает SRS «живым»)

  • Docs-as-Code: Markdown/AsciiDoc + Git, PR-ревью, диффы, релизные теги.
  • Стиль-гайд терминов: таблица «запрещённых слов» → замены.
  • Нумерация требований (REQ-XXX), иерархия секций 1–1.1–1.1.1, одинаковая структура по фичам.
  • Малые параграфы, таблицы, диаграммы (Mermaid/PlantUML/BPMN) вместо полотна текста.
  • Одинаковая лексика UI/API/событий/БД (глоссарий — источник правды).
  • Видимость изменений: CHANGELOG, «Что поменялось» в начале файла, версии артефактов (OpenAPI v1.4).

 

Анти-паттерны SRS (плохое → хорошее)

Анти-паттерн

Плохо

Хорошо

Неизмеримо

«Сервис должен быстро отвечать»

«p95 POST /payments < 2.5s (08–23), p99 < 5s»

Двойные смыслы

«Удобный интерфейс»

«Поля формы доступны клавиатурой; контраст ≥ 4.5:1; ARIA для ошибок»

Вода/рассуждения

«Рекомендуется использовать Redis…»

«REQ-CACHE-002: Кэш ДОЛЖЕН отдавать ключи ≤ 5 ms p95» (если это требование)

«И/или/и т. п.»

«может… и/или…»

Разбить на отдельные требования

Смешение уровней

Требование описывает и UI, и БД, и протокол сразу

Разнести: функционал, данные, интерфейс, NFR

TBD без управляемости

«TBD: решим позже»

TBD-123 с владельцем, сроком и риском

Дубликаты

Два требования говорят одно и то же

Сведение в одно + ссылки

Не верифицируемо

«Должно быть безопасно»

Конкретика: «OAuth2, JWT RS256, аудит 3 года, PII маскирование»

Пассива много

«Данные должны быть проверены»

«Сервис валидации ДОЛЖЕН отклонять … кодом 422 {code=…}»

 

Список слов-«сирен»: быстро, удобно, надёжно, современно, примерно, обычно, как правило, минимально, максимально, и т. п., возможно, желательно, корректно, etc., and/or.
→ Заменять на измеримые, конкретные формулировки.

 

НФТ (NFR) в SRS — как формализовать

Категории (ISO 25010) и примеры метрик:

  • Производительность: latency (p95/p99), throughput (RPS/jobs/s), потребление (CPU/RAM/IO).
  • Надёжность/доступность: SLO (99.9%/кв.), MTTR, error budget, деградации.
  • Безопасность: аутентификация (OAuth2), авторизация (ABAC/Scopes), шифрование в покое/транзите, аудит (WORM), секреты (Vault), PII-маскирование.
  • Удобство: a11y (WCAG 2.1 AA), локализация, время завершения сценария.
  • Наблюдаемость: логи JSON со схемой, метрики RED/USE, трассировки OTel, алерты SLO.
  • Сопровождаемость: код-стайл, покрытие контракт-тестами, миграции expand/contract.
  • Портируемость/совместимость: поддерживаемые платформы/браузеры/версии API.

 

Данные и интерфейсы в SRS (минимум, но достаточно)

Данные

  • ER-схема (ключи/ограничения/индексы).
  • Словарь полей: типы, диапазоны, обязательность, допустимые значения (справочники).
  • Политики: хранение, ретенция, DQ-правила, источники истинны (SoT).

 

Интерфейсы

  • API: ссылка на OpenAPI + выдержки критичных контрактов, коды ошибок, идемпотентность, пагинация, версии.
  • События: имена, ключ партиционирования, версии, payload (Avro/JSON Schema).
  • UI: состояния форм (loading/error/empty/async), а11y-требования.

 

Трассируемость и критерии приёмки

  • Каждое REQ связано с AC (Given/When/Then), тест-кейсом/BDD-сценарием, и (если применимо) метрикой.
  • Пример строки RTM:

REQ

Описание

AC

Тест

Артефакты

REQ-PAY-001

Диапазон сумм

AC-PAY-01..04

TC-01..04

OpenAPI /payments, ER v2

 

Шаблон SRS (артефакт — скопируйте и используйте)

# SRS — <Название системы/фичи> vX.Y (Дата)
Owner: <PO> | SA: <ФИО> | Tech: <Лид> | QA: <Лид> | Security/Data: <контакты>

## 1. Введение
### 1.1 Назначение
### 1.2 Область и границы (Out of Scope)
### 1.3 Глоссарий и сокращения
### 1.4 Ссылки (стандарты, контракты, макеты)

## 2. Общее описание
### 2.1 Персоны и сценарии высокого уровня
### 2.2 Ограничения (регуляторика/платформа)
### 2.3 Допущения и зависимости

## 3. Внешние интерфейсы
### 3.1 API (OpenAPI vX.Y) — ссылка, версия, краткий обзор эндпоинтов
### 3.2 События (AsyncAPI/Avro) — имена, ключи, версии
### 3.3 UI/UX — состояния форм, a11y
### 3.4 Интеграции/протоколы

## 4. Функциональные требования
> Формат: ID, формулировка (shall), rationale, метод проверки, приоритет, связи
- REQ-...:
- ...

## 5. Нефункциональные требования (NFR)
### 5.1 Производительность и масштабирование
### 5.2 Надежность/доступность
### 5.3 Безопасность/комплаенс/аудит
### 5.4 Наблюдаемость
### 5.5 Удобство, локализация, a11y
### 5.6 Сопровождаемость/портируемость

## 6. Данные
### 6.1 ER-модель (ссылка/встроенная диаграмма)
### 6.2 Словарь данных и справочники
### 6.3 Политики хранения/ретенции/DQ

## 7. Состояния и сценарии (Use Cases)
### 7.1 UC-диаграмма и описания
### 7.2 Альтернативные/ошибочные ветви

## 8. Ограничения проектирования (обоснованные)

## 9. Трассируемость (RTM)

## 10. Критерии приемки (AC, Given/When/Then)

## 11. Приложения (макеты, контракты, чек-листы)

## 12. Change Log (что изменилось в этой версии)

 

Инструменты и практики качества

  • Docs-as-Code (Git, PR, code owners), автоматический линтинг (например, Vale) для стиля и «запрещённых слов».
  • Шаблоны требований/AC/RTM, автоген OpenAPI/AsyncAPI-снэпшотов в SRS.
  • Review-процедура: бизнес-ревью (ценность/UL), тех-ревью (выполнимость), QA-ревью (проверяемость), Security/Data-ревью.
  • Версионирование: тег srs-vX.Y, CHANGELOG, ссылка на релиз.
  • Gate в CI: без актуализированного SRS/RTM/контрактов PR не мержится (Definition of Done).

 

Риски и как их гасить

Риск

Симптом

Меры

Разночтения терминов

«оплата» vs «списание»

Глоссарий с владельцем; проверка в ревью

Неизмеримые NFR

«быстро», «надёжно»

SLO/метрики; таблица NFR-шаблонов

Смешение дизайна и требований

SRS превращается в ТЗ на архитектуру

Оставить только обязательные ограничения и результаты

SRS устаревает

«код ушёл, SRS нет»

Docs-as-Code, обязательный CHANGELOG, DoD-гейт

Дубликаты/конфликты

В разных местах разные цифры

«Единая точка»: NFR-каталог, ссылки вместо копий

Много TBD

Неясные зоны на поздних стадиях

Реестр TBD с датами/владельцами, эскалация на CCB

Непроверяемые требования

QA не может подтвердить

Всегда «метод проверки» + AC/BDD

 

Практика: «Переработать плохую спецификацию» (60–120 мин)

Исходник (фрагмент «плохого» SRS):

«Система должна быстро обрабатывать платежи. Пользователь видит удобную форму. Поддерживаются разные валюты. В случае проблемы система сообщает ошибку. Будет интеграция с банком. Логи пишутся. Возможно, добавим промокоды. И т. п.»

 

Шаги переработки:

  1. Распилить на разделы и идентифицировать требования (REQ-XXX).
  2. Заменить «сирены» на измеримые метрики и AC.
  3. Вынести интерфейсы (OpenAPI), ошибки — в карту ошибок.
  4. Добавить NFR (latency/error-rate/SLO, безопасность, логи/трейсы).
  5. Описать данные (валюта, точность, ER).
  6. Заполнить RTM и CHANGELOG.

 

Результат (исправленный фрагмент):

REQ-PAY-001: Сервис ДОЛЖЕН принимать POST /v1/payments с полями:
  amount: decimal(18,2) ∈ [0.01; 100000.00], currency ∈ {RUB, USD, EUR}, orderId: UUID.
Метод проверки: контракт-тест, валидация диапазона (TC-01..04). Источник: BR-23.

REQ-PAY-002 (NFR): p95 латентности POST /v1/payments < 2.5s (08:00–23:00, Europe/Stockholm), p99 < 5s; error-rate 5xx < 0.5%.
Метод проверки: нагрузочный тест + SLI в проде.

REQ-PAY-003: Идемпотентность через заголовок Idempotency-Key (1..128 ASCII); повтор с тем же ключом возвращает тот же paymentId.
Метод: BDD-сценарий «Повтор запроса» + запрос в БД (уникальность ключа).

REQ-PAY-004: При недоступности PSP сервис ДОЛЖЕН возвращать 202 Accepted и ставить задачу в очередь, SLA обработки ≤ 5 минут p95.
Метод: контракт-тест + метрики queue_lag_seconds.

REQ-SEC-001: Аутентификация OAuth2, scope payments:write; авторизация по tenant; аудит записи: WORM, хранение ≥ 3 года.
Метод: инспекция конфигураций, e2e-тест роли.

Интерфейсы: OpenAPI v1.4 (ссылка), карта ошибок:
  AMOUNT_BELOW_MIN → 422, CURRENCY_NOT_SUPPORTED → 422, PSP_TIMEOUT → 202.
Данные: ER «Платежи» v2, поле currency CHAR(3) (ISO 4217), amount DECIMAL(18,2).
RTM: REQ-PAY-001→AC-PAY-01..04→TC-01..04→/v1/payments.

Change Log: v1.4 — добавлен promoCode (опционально), non-breaking.

 

Критерии зачёта практики:

  • Все расплывчатые слова заменены на измеримые формулировки.
  • Есть AC/метод верификации для каждого REQ.
  • Интерфейсы/данные/NFR вынесены и связаны ссылками.
  • Заполнены RTM и CHANGELOG.

 

Вопрос–Ответ

В: Нужен ли SRS в Agile, если есть user stories?
О: Да, но «тонкий». SRS — каркас, где закреплены общие правила, NFR, данные, контракты и трассируемость. User stories → инкременты внутри этих рамок.

 

В: Сколько «страниц» должен занимать SRS?
О: Ровно настолько, чтобы закрыть неопределённость. Микросервис — 10–20 стр., сложная доменная область — больше. Главное — структурность и актуальность.

 

В: Можно ли описывать архитектуру в SRS?
О: Только обязательные ограничения (регуляторные/контрактные). Детали реализации — в ADR/арх-доках.

 

В: Как поддерживать SRS актуальным?
О: Docs-as-Code + PR-процесс, CHANGELOG, связь с DoD: без обновлённого SRS/RTM фича не «Done».

 

В: Что делать с неизбежными TBD?
О: Нумеровать (TBD-ID), назначать владельца и срок. Список TBD — часть плана рисков; на CCB — регулярный статус.

 

В: Наши разработчики «не читают документы».
О: Сделайте SRS удобным: короткие секции, таблицы, диаграммы, ссылки на контракты, живые AC/BDD. И главное — держите его в репозитории рядом с кодом.

 

Шпаргалка

  • Требование = shall + мера + контекст + проверка.
  • Уберите «быстро/удобно/и т. п.» → замените на SLO, WCAG, конкретику.
  • Данные/интерфейсы/NFR — отдельными разделами, без дублирования.
  • Трассируемость REQ→AC→тесты→метрики обязательна.
  • SRS живёт в Git, меняется через PR и оставляет CHANGELOG.
  • Каждый релиз — тег SRS и ссылки на версии контрактов.

 

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Модуль 8.3. Управление изменениями и версиями требований
Следующая статья →
Модуль 9.2. Визуальное моделирование
Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • Банк "Санкт-Петербург" - это универсальный коммерческий банк, предоставляющий полный спектр финансовых услуг для частных и корпоративных клиентов. Банк основан в 1990 году и имеет генеральную лицензию Банка России на осуществление банковских операций. Сеть банка включает более 170 офисов и отделений, а также свыше 1000 банкоматов и терминалов в Санкт-Петербурге, Москве и других регионах.

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

  • Авиакомпания NordStar (АО «АК «НордСтар») – работает под данным брендом с 2008 г. и сейчас входит в топ-15 крупнейших российских авиакомпаний (данные Росавиации) с пассажирооборотом более 1 млн человек в год. АО «АК «НордСтар» выполняет и внутренние, и внешние рейсы, а ее основные хабы - Домодедово, Пулково и Емельяново. С 2021 года компания является базовым перевозчиком аэропорта Норильск.

  • НПФ «Будущее» — один из крупнейших негосударственных пенсионных фондов России, предоставляющий услуги по пенсионному обеспечению и накоплениям. Фонд активно внедряет цифровые технологии для повышения качества обслуживания клиентов.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.