Версия: 1.0.0
Дата: 2025-11-25
Статус: Фундамент
Вытекает из: META.md
Этот документ описывает универсальную систему описания любых систем. Он объясняет:
- Что первично
- Что из чего вытекает
- Как уровни наследуют друг друга (каскадность)
- Где место каждому элементу
Любую систему можно рассматривать с двух сторон:
┌─────────────────────────────────────────────────────────────────────────┐
│ │
│ ЛЮБАЯ СИСТЕМА │
│ │ │
│ ┌───────────────┴───────────────┐ │
│ │ │ │
│ ▼ ▼ │
│ ┌───────────────┐ ┌───────────────┐ │
│ │ ПЕРСПЕКТИВА 1│ │ ПЕРСПЕКТИВА 2│ │
│ │ │ │ │ │
│ │ МЕТОДОЛОГИЯ │ │ СТРУКТУРА │ │
│ │ │ │ │ │
│ │ КАК строить? │ │ ЧТО получается│ │
│ │ (процесс) │ │ (результат) │ │
│ └───────────────┘ └───────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Это ПЕРВИЧНО. Всё остальное вытекает из этих двух перспектив.
Это фундаментальная дихотомия бытия:
| Перспектива 1 | Перспектива 2 |
|---|---|
| КАК | ЧТО |
| Процесс | Результат |
| Динамика | Статика |
| Становление | Бытие |
| Создание | Устройство |
| Движение | Покой |
Одна без другой неполна:
- Только КАК — процесс без результата
- Только ЧТО — результат без понимания как воспроизвести
╔═══════════════════════════════════════════════════════════════════════╗
║ ║
║ ПРИНЦИП КАСКАДНОСТИ ║
║ ║
║ Каждый уровень системы: ║
║ 1. НАСЛЕДУЕТ все свойства предыдущего уровня ║
║ 2. РАСШИРЯЕТ их своими дополнениями ║
║ 3. НЕ ПРОТИВОРЕЧИТ предыдущему уровню ║
║ ║
║ Уровень N = Уровень(N-1) + Расширения(N) ║
║ ║
╚═══════════════════════════════════════════════════════════════════════╝
УРОВЕНЬ 0 (Концепция)
┌─────────────────────────────────────────────────────────────┐
│ • Принципы │
│ • Базовые понятия │
│ • Фундаментальные правила │
└─────────────────────────────────────────────────────────────┘
│
│ наследует + расширяет
▼
УРОВЕНЬ 1 (Стандарты)
┌─────────────────────────────────────────────────────────────┐
│ ┌─────────────────────────────────────────────────────┐ │
│ │ • Принципы (из У0) │ │
│ │ • Базовые понятия (из У0) │ │
│ │ • Фундаментальные правила (из У0) │ │
│ └─────────────────────────────────────────────────────┘ │
│ + Форматы документов │
│ + Соглашения об именовании │
│ + Структура папок │
└─────────────────────────────────────────────────────────────┘
│
│ наследует + расширяет
▼
УРОВЕНЬ 2 (Паттерны)
┌─────────────────────────────────────────────────────────────┐
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Всё из У0 + У1 │ │
│ └─────────────────────────────────────────────────────┘ │
│ + Типовые решения задач │
│ + Архитектурные паттерны │
│ + Интеграционные паттерны │
└─────────────────────────────────────────────────────────────┘
│
│ наследует + расширяет
▼
УРОВЕНЬ 3 (Шаблоны)
┌─────────────────────────────────────────────────────────────┐
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Всё из У0 + У1 + У2 │ │
│ └─────────────────────────────────────────────────────┘ │
│ + Готовые заготовки проектов │
│ + Стартовые структуры │
│ + Конфигурации по умолчанию │
└─────────────────────────────────────────────────────────────┘
│
│ наследует + расширяет
▼
УРОВЕНЬ 4 (Реализация)
┌─────────────────────────────────────────────────────────────┐
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Всё из У0 + У1 + У2 + У3 │ │
│ └─────────────────────────────────────────────────────┘ │
│ + Конкретный код │
│ + Конкретные данные │
│ + Конкретные конфигурации │
└─────────────────────────────────────────────────────────────┘
| Следствие | Описание |
|---|---|
| Обратная совместимость | Изменения на У0 влияют на все уровни ниже |
| Изоляция изменений | Изменения на У3 не влияют на У0, У1, У2 |
| Трассируемость | Любой элемент можно проследить до его источника |
| Непротиворечивость | Нижний уровень не может отменить верхний |
У0: КОНЦЕПЦИЯ
│ │
│ ├── META.md ← Две перспективы (вы здесь ↑)
│ ├── PHILOSOPHY.md ← Принципы: DRY, KISS, иерархия
│ ├── UNIVERSAL_SYSTEM ← Этот документ
│ ├── SKELETON.md ← 8 вопросов описания
│ ├── TAXONOMY.md ← 8 срезов классификации
│ └── GLOSSARY.md ← Термины
│
│ наследует: ничего (корень)
│ расширяет: определяет фундамент
│
├──────────────────────────────────────────────────────────────
│
У1: СТАНДАРТЫ
│ │
│ ├── PROJECT_STRUCTURE.md ← Структура проектов
│ ├── DOCUMENT_FORMAT.md ← Формат документов
│ ├── NAMING.md ← Именование
│ └── VERSIONING.md ← Версионирование
│
│ наследует: У0 (принципы, термины)
│ расширяет: конкретные правила применения
│
├──────────────────────────────────────────────────────────────
│
У2: ПАТТЕРНЫ
│ │
│ ├── project/ ← Паттерны структуры проектов
│ ├── code/ ← Паттерны кода
│ └── integration/ ← Паттерны интеграций
│
│ наследует: У0 + У1
│ расширяет: типовые решения задач
│
├──────────────────────────────────────────────────────────────
│
У3: ШАБЛОНЫ
│ │
│ ├── project.yaml.tmpl ← Шаблон проекта
│ ├── streamlit-mvp/ ← Шаблон MVP
│ └── api-service/ ← Шаблон API
│
│ наследует: У0 + У1 + У2
│ расширяет: готовые заготовки
│
├──────────────────────────────────────────────────────────────
│
У4: РЕАЛИЗАЦИЯ
│
├── projects/marketplace/ ← Конкретный проект
├── projects/pim-drupal/ ← Конкретный проект
└── infra/dev-prod-rf/ ← Конкретная инфра
наследует: У0 + У1 + У2 + У3
расширяет: уникальная логика проекта
У0: ФУНДАМЕНТ
│ architect/concept/ ← Концепция
│ architect/standards/ ← Стандарты
│
│ содержит: идеи, принципы, правила
│ зависит от: ничего
│
├──────────────────────────────────────────────────────────────
│
У1: ПЛАТФОРМА
│ platform-v1/ ← Текущая платформа
│ architect/patterns/ ← Паттерны
│ architect/templates/ ← Шаблоны
│
│ содержит: инструменты создания проектов
│ зависит от: У0
│
├──────────────────────────────────────────────────────────────
│
У2: КОМПОНЕНТЫ
│ system/ ← Системные агенты
│
│ содержит: переиспользуемые модули
│ зависит от: У0, У1
│
├──────────────────────────────────────────────────────────────
│
У3: ПРИЛОЖЕНИЯ
projects/ ← Проекты
infra/ ← Инфраструктура
содержит: конечные продукты
зависит от: У0, У1, У2
Для анализа существующей системы используем 8 аналитических срезов.
Каждый срез — это способ "посмотреть" на систему под определённым углом.
┌─────────────────────────────────────────────────────────────────────────┐
│ │
│ СИСТЕМА │
│ │ │
│ ┌────────┬────────┬───────┴───────┬────────┬────────┬────────┐ │
│ │ │ │ │ │ │ │ │
│ ▼ ▼ ▼ ▼ ▼ ▼ ▼ │
│ │
│ СТРУК- ФУНКЦИ- ПРОЦЕСС- РОЛЕВОЙ ТЕХНИ- ИНФОР- ВРЕМЕН- ПРОСТРАН- │
│ ТУРНЫЙ ОНАЛЬНЫЙ НЫЙ ЧЕСКИЙ МАЦИОН- НОЙ СТВЕННЫЙ │
│ НЫЙ │
│ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ │
│ │
│ Из чего Что Как Кто Чем Какие Когда Где │
│ состоит? делает? работает? делает? сделано? данные? находится?│
│ │
└─────────────────────────────────────────────────────────────────────────┘
| # | Срез | Вопрос | Показывает | Артефакты |
|---|---|---|---|---|
| 1 | Структурный | Из чего состоит? | Компоненты, модули, связи | Диаграммы компонентов |
| 2 | Функциональный | Что делает? | Функции, возможности, API | Список функций |
| 3 | Процессный | Как работает? | Потоки, алгоритмы, состояния | Диаграммы процессов |
| 4 | Ролевой | Кто участвует? | Пользователи, роли, права | Матрица ролей |
| 5 | Технический | Чем реализовано? | Языки, фреймворки, инфра | Стек технологий |
| 6 | Информационный | Какие данные? | Сущности, атрибуты, связи | ER-диаграммы |
| 7 | Временной | Когда происходит? | Этапы, версии, расписания | Таймлайн |
| 8 | Пространственный | Где находится? | Серверы, сети, размещение | Карта инфраструктуры |
КОГДА ИСПОЛЬЗОВАТЬ:
┌────────────────────────────────────────────────────────────────────────┐
│ │
│ Задача Срезы │
│ ───────────────────────────────────────────────────────────────── │
│ │
│ Понять архитектуру Структурный + Технический │
│ Документировать API Функциональный + Информационный │
│ Настроить права доступа Ролевой + Функциональный │
│ Планировать развитие Временной + Функциональный │
│ Развернуть систему Пространственный + Технический │
│ Оптимизировать производит. Процессный + Технический │
│ Мигрировать данные Информационный + Структурный │
│ │
└────────────────────────────────────────────────────────────────────────┘
Для классификации проектов используем 8 классификационных срезов.
Это другой инструмент — не анализ, а категоризация.
| # | Срез | Вопрос | Значения |
|---|---|---|---|
| 1 | Домен | В какой области? | fintech, ecommerce, devtools... |
| 2 | Функция | Какую функцию? | backend, frontend, fullstack... |
| 3 | Цикл | На какой стадии? | mvp, growth, mature, legacy |
| 4 | Сложность | Насколько сложно? | simple, medium, complex, enterprise |
| 5 | Среда | Где работает? | local, cloud, hybrid, edge |
| 6 | Акторы | Кто использует? | b2b, b2c, b2g, internal |
| 7 | Результат | Что на выходе? | app, api, lib, platform |
| 8 | Метод | Как создаётся? | agile, waterfall, hybrid |
┌─────────────────────────────────────────────────────────────────────────┐
│ │
│ АНАЛИТИЧЕСКИЕ СРЕЗЫ КЛАССИФИКАЦИОННЫЕ СРЕЗЫ │
│ (как анализировать) (как категоризировать) │
│ │
│ • Применяются К системе • Применяются ДЛЯ системы │
│ • Показывают устройство • Показывают тип │
│ • Результат: понимание • Результат: категория │
│ • Вопрос: КАК устроено? • Вопрос: КАКОЙ это тип? │
│ │
│ Пример: "Какие компоненты?" Пример: "Это ecommerce b2c mvp" │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Для СОЗДАНИЯ нового проекта отвечаем на 8 вопросов:
┌────┬────────────┬─────────────────────────────────────────────────┐
│ # │ Вопрос │ Что описывает │
├────┼────────────┼─────────────────────────────────────────────────┤
│ 1 │ ЗАЧЕМ? │ Мотивация, проблема, цель │
│ 2 │ ЧТО? │ Границы, включено/исключено │
│ 3 │ КАК? │ Способ реализации, технологии │
│ 4 │ КТО? │ Пользователи, роли │
│ 5 │ ЧЕМ? │ Инструменты, ресурсы │
│ 6 │ ГДЕ? │ Размещение, среда │
│ 7 │ КОГДА? │ Этапы, сроки │
│ 8 │ СКОЛЬКО? │ Метрики успеха │
└────┴────────────┴─────────────────────────────────────────────────┘
СОЗДАНИЕ ПРОЕКТА: АНАЛИЗ СИСТЕМЫ:
──────────────────── ─────────────────
│ │
▼ ▼
┌─────────────┐ ┌─────────────────┐
│ SKELETON │ │ АНАЛИТИЧЕСКИЕ │
│ 8 вопросов │ │ СРЕЗЫ (8 шт) │
└─────────────┘ └─────────────────┘
│ │
▼ ▼
Отвечаем на вопросы Смотрим под разными
→ получаем PROJECT.md углами → понимаем
КЛАССИФИКАЦИЯ:
──────────────
│
▼
┌──────────────────┐
│ КЛАССИФИКАЦИОННЫЕ│
│ СРЕЗЫ (8 шт) │
└──────────────────┘
│
▼
Определяем категории
→ записываем в index.yaml
concept/
│
├── META.md ← КОРЕНЬ: две перспективы
│ │
│ └──► Первичная дихотомия: Методология / Структура
│
├── UNIVERSAL_SYSTEM.md ← ЭТОТ ДОКУМЕНТ: система описания систем
│ │
│ ├──► Принцип каскадности
│ ├──► Аналитические срезы (8 шт)
│ └──► Классификационные срезы (8 шт)
│
├── PHILOSOPHY.md ← ПРИНЦИПЫ: как строить
│ │
│ └──► DRY, KISS, YAGNI, иерархия, рекурсия
│
├── SKELETON.md ← ОПИСАНИЕ: 8 вопросов
│ │
│ └──► ЗАЧЕМ, ЧТО, КАК, КТО, ЧЕМ, ГДЕ, КОГДА, СКОЛЬКО
│
├── TAXONOMY.md ← КЛАССИФИКАЦИЯ: 8 срезов
│ │
│ └──► Домен, Функция, Цикл, Сложность...
│
├── GLOSSARY.md ← ТЕРМИНЫ: словарь
│ │
│ └──► Единые определения
│
├── SYSTEM_HIERARCHY.md ← СТРУКТУРА: где что лежит
│ │
│ └──► У0, У1, У2, У3 — иерархия workspace
│
└── BOOTSTRAP.md ← РАЗВЁРТЫВАНИЕ: как запустить
│
└──► 21 шаг создания системы
META.md (Две перспективы)
│
├──► UNIVERSAL_SYSTEM.md ◄── Вы читаете
│ │
│ ├──► Каскадность (новое)
│ ├──► Аналитические срезы (из архива)
│ └──► Связь инструментов (систематизация)
│
├──► PHILOSOPHY.md
│
├──► SKELETON.md (из П1 - Методология)
│
├──► TAXONOMY.md (из П2 - Структура)
│
├──► GLOSSARY.md
│
├──► SYSTEM_HIERARCHY.md (из П2 - Структура)
│
└──► BOOTSTRAP.md (применение всего вместе)
| Задача | Инструмент | Документ |
|---|---|---|
| Создать новый проект | SKELETON (8 вопросов) | PROJECT.md |
| Классифицировать проект | TAXONOMY (8 срезов) | index.yaml |
| Проанализировать систему | Аналитические срезы | Отчёт анализа |
| Понять где что лежит | SYSTEM_HIERARCHY | — |
| Понять как строить | PHILOSOPHY | — |
| Развернуть с нуля | BOOTSTRAP | — |
При создании нового элемента проверяем:
| Версия | Дата | Изменения |
|---|---|---|
| 1.0.0 | 2025-11-25 | Первая версия |
Статус: Фундамент — система описания систем