architect/standards/7-typology/typology-process-types.md

type: standard
aspect: typology
title: "Стандарт: Процесс"
version: 1.0.0
date: 2026-02-19
status: active


Стандарт: Процесс

Версия: 1.0.0
Тип системы: Процесс
Вопросов: 8


ОПРЕДЕЛЕНИЕ

Процесс — система преобразования входа в выход через последовательность действий.


ПОСЛЕДОВАТЕЛЬНОСТЬ ВОПРОСОВ

ПОЧЕМУ? → ЗАЧЕМ? → ЧТО? → КТО? → КАК? → ЧЕМ? → ГДЕ? → КОГДА?
    │         │       │      │       │       │       │        │
Триггер  Результат Шаги  Роли  Алгоритм Инстр. Контекст Время

СКОЛЬКО? = длительность, частота, производительность.


ОБЯЗАТЕЛЬНЫЕ ПОЛЯ

Вопрос Поле Описание
ПОЧЕМУ? trigger Что запускает процесс
ЗАЧЕМ? result Что на выходе
ЧТО? steps Этапы процесса
КТО? roles Кто участвует
КАК? algorithm Последовательность действий
ЧЕМ? tools Инструменты
ГДЕ? context Где выполняется
КОГДА? schedule Расписание или событие

Дополнительно:
| Поле | Описание |
|------|----------|
| duration | СКОЛЬКО времени |
| frequency | СКОЛЬКО раз |
| rollback | Откат при ошибке |


СТРУКТУРА ДОКУМЕНТА

# Процесс: {Название}

## ТРИГГЕР (ПОЧЕМУ?)
Что запускает процесс

## РЕЗУЛЬТАТ (ЗАЧЕМ?)
Что получаем на выходе

## ШАГИ (ЧТО?)
1. Шаг 1
2. Шаг 2
3. ...

## РОЛИ (КТО?)
- Роль 1: что делает
- Роль 2: что делает

## АЛГОРИТМ (КАК?)

Шаг 1 → Шаг 2 → Решение? → Да: Шаг 3 / Нет: Откат

## ИНСТРУМЕНТЫ (ЧЕМ?)
- Инструмент 1
- Инструмент 2

## КОНТЕКСТ (ГДЕ?)
Где выполняется

## РАСПИСАНИЕ (КОГДА?)
Когда выполняется

## МЕТРИКИ (СКОЛЬКО?)
- Длительность: X минут
- Частота: Y раз в день

ШАБЛОН YAML

name: "{название}"
type: "process"
version: "1.0.0"

# ПОЧЕМУ? - Триггер
trigger:
  event: "Описание события"
  condition: "Условие запуска"

# ЗАЧЕМ? - Результат
result:
  success: "Что при успехе"
  failure: "Что при ошибке"

# ЧТО? - Шаги
steps:
  - id: 1
    name: "Шаг 1"
    description: "Описание"
  - id: 2
    name: "Шаг 2"
    description: "Описание"

# КТО? - Роли
roles:
  initiator: "Кто запускает"
  executor: "Кто выполняет"
  approver: "Кто подтверждает"

# КАК? - Алгоритм
algorithm: |
  1 → 2 → check? → yes: 3 → done
                 → no: rollback

# ЧЕМ? - Инструменты
tools:
  - "Инструмент 1"
  - "Инструмент 2"

# ГДЕ? - Контекст
context:
  environment: "production|development"
  location: "Сервер/место"

# КОГДА? - Расписание
schedule:
  type: "event|cron|manual"
  cron: "0 4 * * 0"  # если cron

# СКОЛЬКО? - Метрики
metrics:
  duration: "5 минут"
  frequency: "1 раз в неделю"

# Откат
rollback:
  steps:
    - "Шаг отката 1"
    - "Шаг отката 2"

ПРИМЕРЫ

Процесс деплоя

name: "deployment"
type: "process"

trigger:
  event: "Код готов к production"
  condition: "Тесты пройдены, оператор подтвердил"

result:
  success: "Обновлённый production"
  failure: "Откат к предыдущей версии"

steps:
  - id: 1
    name: "Бэкап"
  - id: 2
    name: "Pull"
  - id: 3
    name: "Build"
  - id: 4
    name: "Restart"
  - id: 5
    name: "Verify"

roles:
  initiator: "Оператор"
  executor: "Инфра"

tools:
  - "SSH"
  - "Git"
  - "Docker"

context:
  environment: "production"
  location: "DEV-PROD-RF"

schedule:
  type: "manual"

metrics:
  duration: "5 минут"

rollback:
  steps:
    - "docker-compose down"
    - "git checkout HEAD~1"
    - "docker-compose up -d"

ВИЗУАЛИЗАЦИЯ

     ТРИГГЕР
        │
        ▼
   ┌─────────┐
   │  Шаг 1  │
   └────┬────┘
        │
        ▼
   ┌─────────┐
   │  Шаг 2  │
   └────┬────┘
        │
        ▼
    ◇ Проверка?
   /          \
  Да          Нет
  │            │
  ▼            ▼
Шаг 3      ОТКАТ
  │            │
  ▼            ▼
РЕЗУЛЬТАТ  ОШИБКА

СВЯЗИ


Версия: 1.0.0