Гостовый puml
This commit is contained in:
34
Report/puml/README.md
Normal file
34
Report/puml/README.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Диаграммы PlantUML для ПЗ
|
||||
|
||||
## Что требует ГОСТ 7.32 (и чек-лист)
|
||||
|
||||
| Пункт | Требование |
|
||||
|-------|------------|
|
||||
| 6.5.2 | Чертежи, схемы, диаграммы — по **ЕСКД**; для блок-схем ПО — **ГОСТ 19.701-90** (аналог ISO 5807) |
|
||||
| 6.5.3 | Без «объёмных» рисунков, только по делу |
|
||||
| 6.5.7 | Подпись **в Typst**: «Рисунок N – Наименование» (среднее тире), не внутри PNG |
|
||||
| 6.5.8 | Наименование с прописной буквы, без точки в конце |
|
||||
|
||||
**ГОСТ 19.701-90 (кратко):** процесс — прямоугольник; решение — ромб; начало/конец — овал; линии — сплошные со стрелками; ч/б контуры; без декоративной заливки.
|
||||
|
||||
## Оформление в репозитории
|
||||
|
||||
- `plantuml-gost.cfg` — ч/б, прямоугольные блоки activity, шрифт с засечками, без тени (подключается в `render_puml.sh`).
|
||||
- `_gost-theme.inc.puml` — напоминание не дублировать `title` в `.puml`.
|
||||
- `scripts/normalize_puml_gost.py` — перед рендером убирает локальные `skinparam`/`title`, добавляет `!include _gost-theme.inc.puml`.
|
||||
|
||||
Подписи к рисункам задаются только в `includes/*.typ` через `pz-fig(...)`.
|
||||
|
||||
## Сборка
|
||||
|
||||
```bash
|
||||
cd Report/scripts
|
||||
./render_puml.sh
|
||||
```
|
||||
|
||||
PNG: `Report/images/fig_*.png`.
|
||||
|
||||
## Ограничения PlantUML
|
||||
|
||||
- **BPMN**, **CJM**, **DFD** в `.puml` — упрощённые схемы; строгий ГОСТ 19.702 (схемы данных) или ЕСКД 2.x вручную в Visio/draw.io при необходимости нормоконтроля.
|
||||
- Ввод/вывод (параллелограмм по ГОСТ) в activity-диаграмме PlantUML не выводится автоматически — для I/O используются обычные блоки процесса.
|
||||
3
Report/puml/_gost-theme.inc.puml
Normal file
3
Report/puml/_gost-theme.inc.puml
Normal file
@@ -0,0 +1,3 @@
|
||||
' Подключать после @startuml: !include _gost-theme.inc.puml
|
||||
' Базовые параметры задаёт plantuml-gost.cfg (-config в render_puml.sh).
|
||||
' Не используйте title в .puml — подпись «Рисунок N – …» только в Typst (pz-fig).
|
||||
@@ -1,18 +1,7 @@
|
||||
@startuml fig_01_start_sync
|
||||
!include _gost-theme.inc.puml
|
||||
' Увеличенный растр для вставки в отчёт (Word / печать)
|
||||
scale 3
|
||||
title
|
||||
Wallenc — старт приложения и фоновая синхронизация
|
||||
end title
|
||||
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
skinparam activity {
|
||||
BackgroundColor #F8F8F8
|
||||
BorderColor #333333
|
||||
DiamondBackgroundColor #E8F4FF
|
||||
}
|
||||
skinparam noteBackgroundColor #FFFDE7
|
||||
skinparam noteBorderColor #F9A825
|
||||
|
||||
start
|
||||
|
||||
|
||||
@@ -1,17 +1,6 @@
|
||||
@startuml fig_02_vault_lifecycle
|
||||
!include _gost-theme.inc.puml
|
||||
scale 3
|
||||
title
|
||||
Wallenc — жизненный цикл storage (IStorage)
|
||||
внутри IVault; журнал синхронизации
|
||||
end title
|
||||
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
skinparam state {
|
||||
BackgroundColor #F8F8F8
|
||||
BorderColor #333333
|
||||
}
|
||||
skinparam noteBackgroundColor #E3F2FD
|
||||
skinparam noteBorderColor #1565C0
|
||||
|
||||
state "(Б) Список storage (LocalVault / VaultBrowser)" as List
|
||||
|
||||
|
||||
@@ -1,15 +1,6 @@
|
||||
@startuml fig_03_navigation_hub
|
||||
!include _gost-theme.inc.puml
|
||||
scale 2
|
||||
title
|
||||
Wallenc — навигация (Main) и доменная иерархия
|
||||
VaultsManager → IVault → IStorage → файлы
|
||||
end title
|
||||
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
skinparam activityBackgroundColor #F8F8F8
|
||||
skinparam activityBorderColor #333333
|
||||
skinparam noteBackgroundColor #FCE4EC
|
||||
skinparam noteBorderColor #C2185B
|
||||
|
||||
start
|
||||
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
@startuml fig_04_domain_class
|
||||
title Модуль :domain — IVaultsManager / IVault / IStorage
|
||||
!include _gost-theme.inc.puml
|
||||
scale 1.15
|
||||
skinparam shadowing false
|
||||
skinparam classFontSize 10
|
||||
skinparam packageStyle rectangle
|
||||
skinparam nodesep 12
|
||||
skinparam ranksep 18
|
||||
|
||||
' render_puml.sh: PLANTUML_LIMIT_SIZE=16384
|
||||
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
@startuml fig_11_room_schema
|
||||
!include _gost-theme.inc.puml
|
||||
scale 3
|
||||
title Схема служебных сущностей Room (AppDb)
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
skinparam class {
|
||||
BackgroundColor #F8F8F8
|
||||
BorderColor #333333
|
||||
}
|
||||
|
||||
class AppDb <<Database>> {
|
||||
storageKeyMapDao
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
@startuml fig_14_context_system
|
||||
!include _gost-theme.inc.puml
|
||||
scale 3
|
||||
title Контекстная диаграмма Wallenc
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
|
||||
actor "Пользователь" as User
|
||||
rectangle "Wallenc (Android)" as App {
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
@startuml fig_15_bpmn_vault
|
||||
!include _gost-theme.inc.puml
|
||||
scale 2
|
||||
title BPMN: жизненный цикл storage (IStorage)
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
skinparam activity {
|
||||
BackgroundColor #F8F8F8
|
||||
BorderColor #333333
|
||||
}
|
||||
|
||||
start
|
||||
:Создать **storage** в vault
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
@startuml fig_16_dfd_level0
|
||||
!include _gost-theme.inc.puml
|
||||
scale 2
|
||||
title DFD уровень 0: Wallenc
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
|
||||
actor User
|
||||
rectangle "Процесс 0 — Wallenc" as P0 {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
@startuml fig_17_use_case
|
||||
!include _gost-theme.inc.puml
|
||||
scale 3
|
||||
title Диаграмма прецедентов Wallenc
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
left to right direction
|
||||
|
||||
actor "Пользователь" as User
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
@startuml fig_18_deployment
|
||||
!include _gost-theme.inc.puml
|
||||
scale 3
|
||||
title Развёртывание Wallenc
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
|
||||
node "Устройство Android" {
|
||||
artifact "Wallenc.apk" as App
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
@startuml fig_19_clean_architecture
|
||||
!include _gost-theme.inc.puml
|
||||
scale 3
|
||||
title Clean Architecture и модули Gradle
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
|
||||
package ":ui" as UI {
|
||||
[Compose экраны]
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
@startuml fig_20_oauth_sequence
|
||||
!include _gost-theme.inc.puml
|
||||
scale 3
|
||||
title OAuth 2.0: авторизация Яндекс
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
|
||||
actor User
|
||||
participant "Wallenc UI" as UI
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
@startuml fig_21_encrypt_flow
|
||||
!include _gost-theme.inc.puml
|
||||
scale 3
|
||||
title Поток enableEncryption → checkKey → openStorage
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
skinparam activity {
|
||||
BackgroundColor #F8F8F8
|
||||
BorderColor #333333
|
||||
}
|
||||
|
||||
start
|
||||
:Пользователь включает шифрование;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
@startuml fig_22_cjm_vault
|
||||
!include _gost-theme.inc.puml
|
||||
scale 3
|
||||
title Customer Journey Map: защита storage
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
|
||||
|Этап|
|
||||
|Осознание|
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
@startuml fig_23_module_deps
|
||||
!include _gost-theme.inc.puml
|
||||
scale 3
|
||||
title Зависимости модулей Gradle
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
skinparam componentStyle rectangle
|
||||
|
||||
component ":app" as app
|
||||
component ":ui" as ui
|
||||
|
||||
@@ -1,13 +1,6 @@
|
||||
@startuml fig_35_sync_merge_algorithm
|
||||
!include _gost-theme.inc.puml
|
||||
scale 2.5
|
||||
title Wallenc — алгоритм согласования журналов синхронизации (StorageSyncEngine)
|
||||
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
skinparam activity {
|
||||
BackgroundColor #F8F8F8
|
||||
BorderColor #333333
|
||||
DiamondBackgroundColor #E8F4FF
|
||||
}
|
||||
|
||||
start
|
||||
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
@startuml fig_36_ml_on_device
|
||||
!include _gost-theme.inc.puml
|
||||
scale 2.5
|
||||
title Wallenc — гипотетический контур on-device ML (без расшифровки на сервере)
|
||||
|
||||
skinparam defaultFontName "DejaVu Sans"
|
||||
skinparam componentStyle rectangle
|
||||
|
||||
package "Приложение Wallenc" {
|
||||
[UI / use cases] as UI
|
||||
|
||||
63
Report/puml/plantuml-gost.cfg
Normal file
63
Report/puml/plantuml-gost.cfg
Normal file
@@ -0,0 +1,63 @@
|
||||
' Глобальные параметры PlantUML для ПЗ (ГОСТ 7.32 п. 6.5.2 → ГОСТ 19.701-90 / ISO 5807).
|
||||
' Подключается в scripts/render_puml.sh через -config.
|
||||
skinparam monochrome true
|
||||
skinparam shadowing false
|
||||
skinparam roundcorner 0
|
||||
skinparam defaultFontName "Liberation Serif"
|
||||
skinparam defaultFontSize 12
|
||||
skinparam defaultFontColor black
|
||||
skinparam backgroundColor white
|
||||
skinparam ArrowColor black
|
||||
skinparam ArrowThickness 1
|
||||
skinparam activityStyle rectangle
|
||||
skinparam activity {
|
||||
BackgroundColor white
|
||||
BorderColor black
|
||||
FontColor black
|
||||
BorderThickness 1
|
||||
DiamondBackgroundColor white
|
||||
DiamondBorderColor black
|
||||
BarColor black
|
||||
}
|
||||
skinparam activityDiamond {
|
||||
BackgroundColor white
|
||||
BorderColor black
|
||||
}
|
||||
skinparam note {
|
||||
BackgroundColor white
|
||||
BorderColor black
|
||||
FontColor black
|
||||
}
|
||||
skinparam partition {
|
||||
BackgroundColor white
|
||||
BorderColor black
|
||||
FontColor black
|
||||
}
|
||||
skinparam rectangle {
|
||||
BackgroundColor white
|
||||
BorderColor black
|
||||
}
|
||||
skinparam component {
|
||||
BackgroundColor white
|
||||
BorderColor black
|
||||
}
|
||||
skinparam package {
|
||||
BackgroundColor white
|
||||
BorderColor black
|
||||
}
|
||||
skinparam database {
|
||||
BackgroundColor white
|
||||
BorderColor black
|
||||
}
|
||||
skinparam cloud {
|
||||
BackgroundColor white
|
||||
BorderColor black
|
||||
}
|
||||
skinparam actor {
|
||||
BorderColor black
|
||||
FontColor black
|
||||
}
|
||||
skinparam usecase {
|
||||
BackgroundColor white
|
||||
BorderColor black
|
||||
}
|
||||
Reference in New Issue
Block a user