Модуль 3 — Требования, API, моделирование, верификация Практический модуль 70% практика
Программа обучения системных аналитиков работе с ИИ-агентами
Практика на
DigitalWallet +
Banking-App
Нет документации? Агент восстановит требования из исходного кода
requirements-matrix.md»
| ID | Требование | Статус | Критичность |
|---|---|---|---|
| FR-01 | Создание кошелька с указанием валюты | Реализовано | Высокая |
| FR-02 | Пополнение кошелька (WalletFunds) | Реализовано | Высокая |
| FR-03 | Перевод между кошельками | Частично | Высокая |
| FR-04 | Мультивалютная конвертация | Частично | Средняя |
| FR-05 | Лимиты на транзакции | Не реализовано | Высокая |
Анализ контрактов, тестовые сценарии, таблицы соответствий между системами
Агент умеет:
Сценарий: партнёр приходит со своим мобильным приложением и хочет интегрироваться с нашим API. Задача аналитика — понять, как соотносятся модели данных и где пробелы.
| Наш API (DigitalWallet) | Партнёр (Banking-App) | Трансформация | Комментарий |
|---|---|---|---|
Wallet.Balancedecimal |
Account.balanceMoneyAmount |
decimal → MoneyAmount | Прямое соответствие |
Currency.Codeenum |
currencyString |
enum → String | Конвертация типа |
Transaction.Typeenum |
TransactionTypesealed class |
enum → sealed class | Разные подходы |
| — | QrPayment |
— | Нет аналога в API! |
Пробелы видны сразу → готовый материал для задачи на интеграцию
Агент читает код → строит sequence/activity диаграммы в Mermaid
%%{init: {'theme': 'neutral', 'themeVariables': {'actorBkg': '#4361ee', 'actorTextColor': '#fff', 'actorBorder': '#4361ee', 'signalColor': '#1a1a2e', 'signalTextColor': '#1a1a2e', 'altSectionBkgColor': '#eef0ff', 'noteBkgColor': '#fff4e5'}}}%%
sequenceDiagram
participant C as Client
participant Ctrl as Controller
participant TH as TransferHandler
participant WR as WalletRepo
participant DB as Database
C->>Ctrl: POST /api/transfer
Ctrl->>TH: TransferCommand
TH->>WR: GetWallet(fromId)
WR-->>TH: Wallet entity
alt balance < amount
TH-->>Ctrl: 400 Insufficient funds
else success
TH->>DB: SaveChanges()
Ctrl-->>C: 200 OK
end
Итеративно: «Добавь ветку мультивалютной конвертации с CurrencyService» → агент дополняет
Четыре типа ошибок, которые нужно уметь распознавать
Агент «видит» несуществующие эндпоинты, классы или поля в коде
Утверждает наличие валидации или обработки ошибок, которой нет
Находит 5 из 8 контроллеров, не сообщая о неполноте результата
Достраивает бизнес-логику, которая выглядит правдоподобно, но не соответствует коду
Всегда просить агента указать конкретный файл и строку кода
Задать тот же вопрос с другой стороны — инвертировать
Разбить крупный вывод на мелкие утверждения и проверить каждое
Кросс-проект: соответствие данных между серверным API и мобильными моделями
5 заданий на двух проектах
Не «есть ли X?» → «покажи, где X реализован»Применить навыки модуля 3 на своём рабочем проекте
Если рабочий проект недоступен — используйте Banking-App из занятия