Остановитесь прямо сейчас и опубликуйте в клубе Мастерской инженеров и менеджеров (МИМ, ранее – ШСМ) пост, в котором вы описываете систему, ситуации её эксплуатации и извлекаемую из эксплуатации пользу, создателей системы, действия по созданию системы. Это будет «нулевая» версия вашего рассуждения (0.1).
Система, в создании которой принимает участие мое предприятие.
Компания, в которой я работаю, является CFD (contract for difference, т.е. реального приобретения актива не происходит, можно только купить-и-продать, не владеть) брокером. То есть мы предоставляем нашим клиентам в использование продукт для совершения торговых сделок с финансовыми инструментами различных классов, будь то валютые пары, криптовалюта, акции, и т.д.
Назовем нашу компанию, условно, “Trade” LTD.
То есть клиенты нашей компании / потребители нашего продукта - трейдеры.
Система, варианты названий:
- торговая система (слишком общо)
- система совершения торгов/сделок
- система совершения торговых сделок с финансовыми инструментами
Третий вариант звучит наиболее точно.
Ситуация эксплуатации
Трейдер, зашедший в свой личный кабинет, открывает сделку и, через время, закрывает ее. Получает доход или убыток.
Создатели системы
Создатели системы - организация “Trade” LTD.
Наши действия:
- Создания и эксплуатация ПО для совершения торговых сделок
- Создания и эксплуатация ПО для работы с платежами
- Создание и ведение юридических лиц и их лицензирование в соответствии с региональным законодательством о предоставлении финансовых услуг
- Установление бизнес-взаимоотношений с клиентом (трейдером), его онбородинг, верификация личности
- …
думаю можно еще много расписать, как бы не уйти не в ту сторону и не получить мыслитеьный паралич вида “а то ли я описываю”
Предпочитаю следовать принципу поставок мелкими партиями. Это версия 0.1 ![]()
Update
Выполнил вторую часть задания:
Загрузите в ChatGPT o5 или любую другую LLM26 последнюю версию FPF и дайте ему команду «В приложении новая версия спецификации First Principles Framework (FPF). Отвечай дальше в чате с опорой на эту версию FPF». Теперь вы можете формулировать свои запросы. Пока формулируйте запросы как можете; когда вы начнёте погружаться в материал по моделированию, вы будете уточнять ваши способы формулировать запросы (в частности, начнёте задавать роль или роли, которые нужно исполнить ИИ, чтобы ответить на вопрос).
Вот результат
Впечатляюще.
Ниже представлен анализ ваших размышлений. Я перевел формальные требования системного мышления (FPF) на язык, привычный для инженерных менеджеров и архитекторов, чтобы помочь вам уточнить границы и суть системы.
1. Анализ наименования: «Что» мы строим?
Ваше предложение: «Система совершения торговых сделок с финансовыми инструментами». Оценка: Это название описывает функцию (что система делает), а не объект (чем система является). В инженерии это часто приводит к путанице между бизнес-процессом и инструментом.
Проблема: Слово «Система» здесь слишком абстрактно. Из вашего описания следует, что есть «продукт» (софт), есть «компания» (юрлица, лицензии) и есть «сервис» (доступ к торгам).
Рекомендация по улучшению (Принцип разделения «Софта» и «Сервиса»): Вам стоит разделить два понятия [A.6.8]:
Торговая платформа (Trading Platform): Это инженерный объект — софт, серверы, интерфейсы. Это то, что инженеры разрабатывают, деплоят и чинят.
Брокерский сервис (Brokerage Service): Это коммерческое обещание клиенту — возможность торговать, гарантия ликвидности, юридическая защита. Это то, что компания продает.
Совет: Если ваша команда инженеров создает именно ПО, назовите целевую систему «Платформа CFD-трейдинга». Это конкретный объект, у которого есть релизы и версии. А «совершение сделок» — это функцияэтой платформы.
2. Ситуация эксплуатации: Разделение «Замысла» и «Исполнения»
Ваше описание: Трейдер заходит, открывает/закрывает сделку, получает P&L. Оценка: Это классический сценарий использования (Run-time). Но здесь скрыт важный нюанс: кто именно исполняет сделку?
Проблема: Вы пишете «Трейдер открывает сделку». С инженерной точки зрения, Трейдер лишь отправляет запрос (приказ). Сделку открывает и исполняет ваша Система.
Рекомендация (Принцип разделения Роли и Работы [A.15]): Опишите ситуацию эксплуатации через взаимодействие ролей:
Трейдер (Потребитель): Подает поручение через интерфейс (точку доступа).
Платформа (Исполнитель): Принимает поручение, проверяет маржу, исполняет ордер, фиксирует результат в базе данных.
Это важно, потому что именно Платформа несет ответственность за то, чтобы сделка совершилась (или была отклонена) согласно правилам. Если вы опишете это так, станет ясно, где нужны метрики (скорость исполнения, аптайм).
3. Создатели и их действия: Ловушка смешивания уровней
Ваш список действий:
Создание ПО (код, деплой).
Ведение юрлиц (лицензии).
Онбординг клиента (проверка личности).
Оценка: Здесь смешаны два разных временных этапа: Создание системы и Работа системы [A.4]. Это самая частая ошибка при системном разбиении.
Проблема:
Создание ПО — это инженерная работа. Она создает инструмент.
Онбординг клиента — это операционная работа. Её выполняет уже созданная система (или операторы с помощью системы). Если инженеры перестанут писать код, онбординг не должен остановиться.
Рекомендация (Разделение Design-time и Run-time): Четко разделите действия на две корзины:
Действия по созданию/развитию системы (Design-time):
Разработка и релиз ПО (платформы).
Интеграция с платежными шлюзами.
Настройка параметров риск-менеджмента.
Результат: Готовая к работе версия Платформы.
Действия внутри работающей системы (Run-time):
Регистрация нового пользователя (это делает Платформа + KYC-офицер).
Обработка депозита (это делает Платформа + Платежный провайдер).
Исполнение ордера (это делает Платформа автоматически).
Почему это важно: Вы не можете «запрограммировать» ведение юрлиц. Юрлица — это обеспечивающая система(или часть контекста), но не часть программного кода. Если ваша целевая система — это именно IT-платформа, то юристы — это внешние стейкхолдеры, которые дают требования (constraints), но не являются частью системы.
Итоговое резюме для версии 0.2
Попробуйте переформулировать описание так:
Целевая система: Платформа CFD-трейдинга (программно-аппаратный комплекс).
Основная функция (Capability): Обеспечивать исполнение торговых приказов клиентов в соответствии с спецификацией (Method Description) и SLA.
Границы: Платформа включает в себя клиентский терминал, бэкенд матчинга, базу данных и шлюзы к платежкам. Юридический департамент и сами трейдеры находятся снаружи границ системы.
Создатель: Инженерный департамент “Trade” LTD (создает и чинит Платформу).
Оператор: Операционный департамент “Trade” LTD (использует Платформу для оказания сервиса и онбординга).
Такое разбиение сделает понятным, за что отвечают инженеры (код, аптайм, корректность расчетов), а за что — бизнес (лицензии, маркетинг, поддержка клиентов).