Як краще намалювати складний flowchart з відображенням руху in/out даних?
Вітаю,
Отже, є певна програма, котра являє собою послідовний набір функцій, які викликаються одна за одною з умовної стартової функції в заданій послідовності аж до кінця. Під час виконання деякі функції генерують певні дані чи файли, які потім можуть як використовуватись як вхідні дані для наступних функцій, так і бути просто вихідним продуктом, який має отримати користувач
Потрібно намалювати фловчарт для потенційних майбутніх користувачів цієї програми, який би відображав послідовність дій і що і як відбувається під час них — щось типу інструкції по коритуванню + документації для майбутніх розробників. Проблема полягає в тому, що на ньому за запитом овнера бути відображено все:
— назви функцій в блоках
— напрям руху умовного користувача — що за чим викликається
— які саме дані потрапляють на вхід, і що саме генерується на виході, як аргументи для наступних функцій, так і окремі артефакти типу файлів
— кольорова легенда (оранжевий — код, синій — додаток де відображаються згенеровані дані, зелений — ексель і т.д.)
І от питання власне — як одночасно відобразити і послідовність виклику функцій (блоків), і те, які саме дані вони використовують і генерують після виконання, щоб не перенаситити схему конекторами і якось розрізняти їх ’тип’, щоб користувач розумів, де це рух даних, а де рух по власне програмі?
Умовний flow для прикладу
1. Виконується функція init_project(), яка генерує певні дані в templates_data
2. далі виконується функція create_inventory_data(), яка використовує templates_data як вхідний аргумент і генерує таблицю inventory_table в певному додатку
3. далі виконується функція export_to_excel(), аргументами якої є дані з таблиці inventory_table і певні дані користувача з user_data.json і на виході генерує ексель файл з даними таблиці для цього користувача
4. далі виконується функція яка використовує лише templates_data і т.д.
...
Поки що є наступні варіанти:
#1: підписувати конектори, які відображують рух даних і візуально їх виділяти (тип лінії, колір):
#2: прямо в блоках функцій вказувати вхідні/вихідні аргументи, а конектори залишити без підпису, можливо, виділяти їх візуально
Але в мене досвіду нема в таких штуках, буду вдячний за запропоновані ідеї, як краще це все реалізувати.
Дякую,
N.
17 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів