Перейти к содержанию

Нефункциональные требования — игры

Дополнение к non-functional-requirements.md для каталога игр.

Общие NFR (все игры)

Все плагины наследуют NFR-001–NFR-034 платформы, в частности:

ID Применение к играм
NFR-001 apply_action p95 < 300 ms
NFR-002 state update p95 < 1 s
NFR-031 unit + Gherkin acceptance на плагин
NFR-G05* reproducible seed в тестах

*см. ниже

NFR по tier

ID Tier Требование Метрика
NFR-G01 1 Полная валидация ходов на сервере; 0 human judge 100% actions validated
NFR-G02 2 Таймер фазы p95 точность ±1 с
NFR-G03 3 Upload медиа p95 < 3 s; fallback текст
NFR-G04 4 MVP-упрощение vs шоу disclaimer в UI + spec
NFR-G05 All Колоды/кости/доски: seed для тестов pytest deterministic
NFR-G06 All ≥ 3 Gherkin сценария на плагин acceptance-tests.md
NFR-G07 3 Canvas/grid touch min viewport 320px

Матрица tier × NFR

plugin_id Tier G01 G02 G03 G04 G06
yatzy 1
koaliciya 1
memo 1
sto_kletok 1
perudo 1
shlyapa 2
kontakt 2
parol 2
draw_film 3
pugovki 4
dice_board 1

Полная матрица 52 игр: tier из implementation-matrix.md; G01 для tier 1, G02 для tier 2+, G03 для MediaCreative, G04 для PhysicalProxy.

NFR по семействам

Семейство Доп. NFR
DiceAndScore CSPRNG (FR-035); scorecard immutable после записи
BoardGrid NFR-005 media render; NFR-G07 touch grid
WordParty Caption ≤ 1024 в TG; secret leak test per viewer
CardTrick Hand size server-only; shuffle Fisher-Yates
MemoryMatch Hidden state never in public API
CoopSilent No chat integration in v1
MediaCreative NFR-G03 upload; CDN cache 60s
PhysicalProxy NFR-G04 disclaimer обязателен

Тестирование

Уровень Требование
Unit test_{plugin_id}.py — validate, apply, win, render
Gherkin acceptance-tests.md — ≥ 3 сценария
Integration test_game_service.py — HTTP flow
Web Component test для панелей Tier 1–2
E2E Playwright для Phase 4a игр (post-MVP)

Связанные документы