Перейти до вмісту

RAD

Матеріал з K2 ERP Wiki

як ілюстрація, форма і структура документа створюються автономно, але програміст додає:

type: string

</syntaxhighlight>

RAD — це важливий підхід до швидкого створення бізнес-додатків.; Уявімо, що компанії потрібен компонент “Сервісне обслуговування”.;== RAD і навчання користувачів ==

Потім ці компоненти можна розповсюджувати через K2 Update.;

як ілюстрація, для модуля сервісного обслуговування ER-модель має змогу містити:

[[Категорія:ERP для партнерів]]

* протестувати;
* упакувати;
* версіонувати;
* передати клієнтам;
* оновлювати;
* документувати;
* підтримувати;
* розповсюджувати партнерам.; Для партнерів [[K2 ERP]] RAD має змогу стати основою створення галузевих рішень.; Пояснення

* frontend;
* мобільними додатками;
* сайтами;
* банками;
* маркетплейсами;
* CRM;
* BI;
* [[AI|AI-сервісами]];
* іншими модулями.;<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
component:
 title: "Пріоритет"
Програміст має займатися:

Замість довгого лінійного процесу:
 title: "Статус"
Навпаки, швидка розробка програмного забезпечення потребує ще кращого контролю.; entity: repair_request

компонентна технічна архітектура [[K2 ERP]] має дозволяти робити це по частинах.; Він має змогу:
Задум → промпт → AI-модель → YML → генерація → прототип → уточнення → компонент
У бізнесі ідеї з’являються оперативно.; Керівник має змогу побачити перший варіант і сказати:

}

== RAD і прототипування ==

* характеристика моделі;
* характеристика полів;
* характеристика процесів;
* характеристика ролей;
* приклади використання;
* інструкції для користувачів;
* технічний характеристика для розробників;
* історію змін.; to: in_work
[[Категорія:Цифрова незалежність України]]
 id: int
 default: draft

{| class="wikitable" style="width:100%;"
Якщо [[YML]] і [[ER-модель]] структуровані, частину документації можна генерувати автономно.;== Див.; додатково ==
Дашборди додатково добре підходять для RAD.; Інакше це не RAD, а “оперативно створили проблему”.; Якщо бізнес-процес не відповідає реальності, це можна виправити раніше.; "name": "name",
Коли користувач системи бачить прототип рано, він не отримує готову систему як “сюрприз”.;<syntaxhighlight lang="text">
RAD не означає відсутність контролю версій.; Підхід
Спочатку потрібна таблиця.; Назва

== RAD і програміст ==

== Зовнішні посилання ==

[[Категорія:PostgreSQL]]

{| class="wikitable" style="width:100%;"

== RAD і ORM ==

[[Категорія:Python]]

* описувати сутності;
* будувати [[ER-модель|ER-моделі]];
* описувати [[BP-модель|BP-моделі]];
* створювати прототипи;
* формувати [[YML]];
* уточнювати вимоги;
* перевіряти форми;
* спілкуватися з користувачами;
* передавати програмістам складну логіку.; Це зменшує дублювання й прискорює розробку.; Він функціонує з моделлю.; як ілюстрація:

 type: integer

 name:

<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">

Це має змогу робити платформа.;== RAD і Agile ==

== Приклад RAD-сценарію ==

 title: "Сума"

 type: reference

* автоматичні тести;
* перевірка моделей;
* валідація [[YML]];
* тестування форм;
* тестування документів;
* тестування міграцій;
* перевірка прав доступу;
* перевірка інтеграцій;
* користувацьке тестування;
* регресійні тести.; |-
| RAD
| Швидке прототипування та ітерації
| Швидкий перехід від ідеї до робочого прототипу
|-
| Agile
| Гнучке керування розробкою
| Постійна поставка цінності й робота з пріоритетами
|-
| Waterfall
| Послідовні етапи
| Добре функціонує при стабільних вимогах
|-
| No-code
| Створення без ручного коду
| Швидке створення типових елементів
|-
| Low-code
| Мінімум коду плюс візуальні інструменти
| Баланс швидкості й гнучкості
|}

<syntaxhighlight lang="text">

 equipment:
 type: string
 hours:
|-
| Довге ТЗ перед першим результатом
| Швидкий прототип
|-
| Користувачі бачать систему пізно
| Користувачі бачать систему рано
|-
| Багато ручного програмування
| Типові частини генеруються автономно
|-
| Зміни дорогі
| Зміни вносяться ітераційно
|-
| Форми, меню, довідники створюються окремо
| Вони можуть створюватися з моделі
|-
| AI не застосовується
| AI має змогу генерувати моделі й допомагати уточненню
|-
| Програміст зайнятий рутиною
| Програміст займається архітектурою та складною логікою
|}

[[AI|ШІ]] має змогу запропонувати [[YML]]-структуру.; Післязавтра — погодження.; - in_work

У правильному RAD користувачі бачать результат раніше.; * швидше створити модель;
* швидше отримати прототип;
* швидше показати користувачу;
* швидше внести зміни;
* швидше запустити компонент;
* швидше поширити його через [[K2 Update]].; to: closed

 type: integer
 type: string
 - low
RAD добре підходить для:

У цьому підході програміст не починає щоразу з чистого аркуша.; priority:

Після цього користувачі починають працювати й показують, що справді потрібно.; | Ідея → [[AI|ШІ]] → [[YML]] → [[ER-модель]] → [[ORM]] → генерація → прототип → уточнення → готовий компонент.; |-
| Практичність
| Головне — працюючий результат, який відповідає реальному процесу.; !; name: service_requests
У [[K2 ERP]] аналітик має змогу стати набагато сильнішим завдяки наявності no-code, low-code та AI-інструментам.; Але RAD більше акцентується на швидкому прототипуванні та інструментах швидкого створення додатків.; title: "Код"

 required: true

 type: reference

 - contractors

У класичному підході команда могла б довго писати технічне задача.;<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
|-
| Швидке прототипування
| Спочатку створюється робочий прототип, а не ідеальний документ.; |}

Для [[K2 ERP]] це істотно в сценаріях:

Інтегратор має змогу швидше адаптувати [[K2 ERP]] під клієнта.; |-
| Чим RAD корисний для [[ERP]]?; |-
| Менше ризику непорозумінь
| Прототип краще пояснює ідею, ніж довге ТЗ.; Крок
 to: waiting_parts
 entity: equipment

</div>
[[Категорія:Українське програмне забезпечення]]
 - waiting_parts

RAD не завжди є собою найкращим підходом.; Питання
 states:
 entity: contractor
В [[ERP]] це особливо істотно, бо бізнес-процеси не завжди можна в цілому описати з першого разу.; Перевага
Він не без ускладнень пише документи.;[[Категорія:Програмування]]

== Вступ ==

Потрібно враховувати:

як ілюстрація, веб-редактор [[ER-модель|ER-моделі]] має змогу передавати структуру на сервер у JSON.; Користувачі дивляться прототип і кажуть:
 type: decimal
title: "Обладнання"
[[Категорія:Інструменти розробника]]
Він має взаємодіяти з:
Для інтеграторів RAD відкриває нові функціональні можливості.;== Приклад BP-моделі для RAD ==
[[Категорія:Low-code]]
[[Категорія:ERP для інтеграторів]]
Якщо структура вже описана через [[ER-модель]] і [[YML]], [[ORM|ORM-модель]] має змогу бути згенерована автономно.; {| class="wikitable" style="width:100%;"

* свої довідники;
* свої документи;
* свої журнали;
* свої форми;
* свої звіти;
* свої права;
* свої залежності;
* свої інтеграції;
* свої [[YML]]-структури;
* свій код.; Пояснення
 section: "Сервіс"
!; component:
[[MVP]] — мінімально життєздатний програмний продукт.; |-
| автоматизація процесів рутини
| Типові частини створюються генераторами, no-code, low-code або AI.; * [[Python]];
* [[TypeScript]];
* [[PostgreSQL]];
* [[YML]];
* [[ORM]];
* [[API]];
* [[AI|ШІ]];
* web-first технічна архітектура;
* модульність;
* [[K2 Update]];
* відкрита партнерська програмний пакет.; бізнес-середовище формулює задачу, аналітик пише технічне задача, програмісти оцінюють, керівництво погоджує, користувачі чекають, а потім виявляється, що за час погодження бізнес-середовище уже трохи змінився.; ERP живе разом із бізнесом.;== RAD як частина програмування зі швидкістю думки ==
таблична частина виконаних робіт, статуси заявки та журнал документів.; У [[K2 ERP]] RAD має іншу природу:

 contractor_id:

 amount:

З [[YML]] і [[ER-модель|ER-моделей]] можуть генеруватися міграції для [[PostgreSQL]], що прискорює розробку і зменшує ручні помилки.;<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">

Якщо компонент оперативно створений, його потрібно:

 serial_number:

<div style="border:3px solid #ef6c00; background:#fff3e0; padding:14px; margin:16px 0;">

* створення нових модулів;
* прототипування бізнес-процесів;
* створення довідників;
* створення документів;
* конфігурація форм;
* створення журналів;
* створення звітів;
* створення дашбордів;
* внутрішніх бізнес-додатків;
* MVP;
* галузевих компонентів;
* партнерських рішень;
* уточнення вимог із користувачами.; Результат

 - draft

оперативно створений компонент має працювати не тільки красиво, а й оперативно.; '''RAD + AI.''' Коли до швидкої розробки підключається [[AI|ШІ]], людина має змогу описати задум людською мовою, отримати [[YML]]-структуру або [[ER-модель]], уточнити її промптами й акцептувати автоматичне створення компонента.; values:
У [[K2 ERP]] прототип має змогу включати:

 required: true

Бо проблеми видно раніше.; Архітектор контролює:

 fields:

 to: in_work

fields:

* розрахунок суми;
* перевірку залишків;
* інтеграцію зі складом;
* спеціальні правила доступу;
* webhook;
* нестандартний API;
* складну валідацію.; Excel завжди поруч.; __TOC__
[[Категорія:K2]]
RAD надає можливість оперативно перевіряти такі процеси на практиці.; |-
| Зворотний зв’язок
| Користувачі раніше бачать систему і можуть її уточнити.; title: "Години"
!; Обидва підходи підтримують ітерації, зворотний зв’язок і гнучкість.; Він бере участь у формуванні рішення для бізнесу.; serial_number: str | None = None
 entity: contractor

type: directory
Це зменшує опір впровадженню.; - from: in_work
оперативно створити прототип — добре.; * [https://erp.kyiv.ua Сайт K2 ERP]
* [https://wiki.erp.kyiv.ua Wiki K2 ERP]
* [https://cloud.corp2.eu хмарна інфраструктура K2 ERP]
* [https://t.me/+uIdWI1W6vndkMTAy Telegram-канал K2 ERP]
* [https://t.me/+6jFwAZM6TQliNTdi Група обговорення функціоналу та пропозицій]
* [https://www.linkedin.com/company/k2erp/ LinkedIn K2]

Обережність потрібна для:
 {
<div style="border:3px solid #ef6c00; background:#fff3e0; padding:14px; margin:16px 0;">
А в ERP це дуже істотно, бо пізня помилка має змогу коштувати дорого.;== Чому RAD важливий для ERP ==

 type: integer
RAD не повинен суперечити масштабуванню.; користувач системи часто розуміє, що йому потрібно, тільки коли бачить першу робочу форму.; id:

 title: "Активне"

<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">

* архітектурою;
* якістю генераторів;
* складною бізнес-логікою;
* інтеграціями;
* продуктивністю;
* безпекою;
* рефакторингом;
* тестами;
* розширеннями;
* платформними можливостями;
* [[AI|AI-інструментами]].; Він змінює фокус його роботи.; Стара розробка програмного забезпечення

!; title: "Погодити"

 "required": true

з цієї причини RAD часто краще підходить для модулів, які потрібно уточнювати разом із користувачами.;== RAD і Open source ==

* потрібен статус “Очікує запчастини”;
* потрібен статус “Відхилено”;
* погоджує не директор, а керівник сервісу;
* критичні заявки мають іти швидше;
* при простроченні має створюватися повідомлення.; repair_request:
== Коли RAD доречний ==
[[Категорія:ERP для розробників]]
[[JSON]] часто застосовують, коли потрібно в RAD-процесах як формат обміну даними.; Відповідь

[[Git]] надає можливість:

Так дашборд стає практичним, а не без ускладнень красивим набором кольорових квадратиків.; RAD пропонує інший підхід:

 entity: equipment

з цієї причини навіть швидкий прототип має будуватися з думкою про майбутнє.; Це нормально.;[[PostgreSQL]] є собою важливою основою для RAD у [[K2 ERP]].; active:

 status:

== RAD і бізнес-процеси ==

!; * логічне групування полів;
* вкладки;
* підказки;
* обов’язкові поля;
* приховані службові поля;
* швидкий пошук;
* зручні таблиці;
* фільтри;
* мінімум зайвого.; title: "Власник"
 primary_key: true
'''Ідея → ER-модель → YML-структура → ORM-модель → міграції → код модуля → меню → довідники → журнали документів → форми документів → базовий функціональні можливості → уточнення → готовий компонент.'''

!; Потім “а можна ще по менеджерах”.; | Швидкість без архітектури має змогу створити технічний борг і хаос.; як ілюстрація, організація хоче перевірити новий бізнес-процес внутрішніх заявок.; |-
| Гнучкість
| Зміни вносяться оперативно, але контрольовано.;[[Odoo]] часто приваблює модульністю та open source-підходом.; Чернетка → На погодженні → В роботі → Виконано → Закрито

* [[ER-модель|ER-моделі]];
* [[YML]];
* [[ORM]];
* міграції;
* модульність;
* тести;
* [[Git]];
* [[K2 Update]];
* правила розробки;
* архітектурний контроль.; |-
| AI-сумісність
| [[AI|ШІ]] має змогу допомагати створювати моделі, прототипи й документацію.; Поле

Або [[TypeScript]]-інтерфейс:

RAD у [[K2 ERP]] тісно пов’язаний з концепцією програмування зі швидкістю думки.; RAD сприяє навчати користувачів поступово.; Менше часу витрачається на рутину.; * зберігати історію змін;
* працювати з гілками;
* порівнювати версії;
* робити code review;
* контролювати зміни [[YML]];
* відкотити помилкові рішення для бізнесу;
* пов’язувати зміни з релізами.; Команда швидше виявляє помилки в розумінні задачі.; |-
| Чи замінює RAD програмістів?; * [[ER-модель|ER-моделі]];
* [[BP-модель|BP-моделі]];
* [[YML]]-структури;
* автоматичну генерацію [[ORM|ORM-моделей]];
* автоматичні міграції;
* автоматичне створення коду модуля;
* автоматичне створення меню;
* автоматичне створення довідників;
* автоматичне створення журналів документів;
* автоматичне створення форм документів;
* [[API]];
* [[No-code]];
* [[Low-code]];
* [[AI|штучний інтелект]];
* [[K2 Update]].;== Коли RAD потрібно використовувати обережно ==
Але користувач системи після цього працювати не хоче.; - normal
партнерська сторона має змогу оперативно створювати:
 title: "Робота"
 title: "Номер"
|-
| code
| string
| Код
| Так
|-
| name
| string
| Назва
| Так
|-
| serial_number
| string
| Серійний номер
| Ні
|-
| contractor_id
| reference
| Власник
| Ні
|}

[[Категорія:ORM]]

 to: approval

== Висновок ==

 title: "Сервісні заявки"

== RAD і No-code ==

* мільйони документів;
* великі журнали;
* складні звіти;
* багато користувачів;
* інтеграції;
* фонові задачі;
* великі довідники;
* табличні частини.; * [[K2]]
* [[K2 ERP]]
* [[K2 Update]]
* [[ERP]]
* [[RAD]]
* [[Rapid Application Development]]
* [[No-code]]
* [[Low-code]]
* [[Agile]]
* [[Waterfall]]
* [[MVP]]
* [[YML]]
* [[YAML]]
* [[JSON]]
* [[XML]]
* [[ER-модель]]
* [[BP-модель]]
* [[ORM]]
* [[API]]
* [[Python]]
* [[TypeScript]]
* [[PostgreSQL]]
* [[AI]]
* [[Штучний інтелект]]
* [[Open source]]
* [[Git]]
* [[Автоматична генерація коду]]
* [[Автоматизація бізнесу]]
* [[Українське програмне забезпечення]]
* [[Альтернатива 1С]]
* [[Альтернатива BAS]]
* [[Цифрова незалежність]]

У [[K2 ERP]] RAD має змогу поєднуватися з Agile.; |-
| Швидкість
| Перший результат з’являється швидше.; "fields": [

 "type": "directory",

[[Категорія:Agile]]

 - approval

Модульність — одна з головних умов успішного RAD.; entities:

</div>

[[ER-модель]] у RAD виконує роль архітектурного прототипу.; '''RAD не прибирає програмістів.''' Він прибирає частину ручної рутини й надає можливість програмістам працювати на рівні архітектури та складної логіки.; title: "Закрити"
 type: reference
{| class="wikitable" style="width:100%;"

 serial_number:
Він має мати зрозумілі залежності:
Ідея RAD проста: краще оперативно створити працюючий прототип, показати його користувачам, отримати зворотний зв’язок і вдосконалити, ніж довго проєктувати ідеальну систему в документах, які ніхто не читає до кінця.; | Agile більше про керування процесом розробки, RAD більше про швидке прототипування і створення додатків.; |-
| Ризик технічного боргу
| Швидкі рішення для бізнесу без рефакторингу можуть накопичувати проблеми.; Перший прототип рідко буває ідеальним.; Принцип

 }

== RAD і незалежні компоненти ==

* цей показник зайвий;
* цей графік треба замінити;
* тут потрібен період;
* тут потрібна деталізація;
* тут треба бачити прострочення.;== Що таке RAD ==
 version: "0.1.0"
!; Не потрібно одразу створювати велику систему.; Через місяць — цілий галузевий компонент.; |-
| Чим RAD відрізняється від Agile?; Він усміхається, відкривається за секунду і тихо каже: “Ну що, знову ваша ERP не встигла?”

 items:

Але RAD має змогу і збільшувати технічний борг, якщо команда без ускладнень оперативно ліпить рішення для бізнесу без структури.; Там швидкість часто базується на специфічному конфігураторі, власній мові та закритій екосистемі.; title: "Обробка сервісної заявки"
Але швидкий старт не завжди означає швидкий і дешевий результат.; type: text
|-
| Що таке RAD?; ]

Для великих корпорацій це має змогу бути нормально.; - title: "Обладнання"

== RAD і SAP ==
[[Категорія:Rapid Application Development]]
menu:

export interface Equipment {

 problem_description:

 - high

[[Категорія:ER-модель]]

!; Потім фільтр.;

Якщо користувач системи не розуміє форму, це видно на прототипі.; Основна ідея |- | Ризик хаосу | Без архітектури швидкість має змогу створити безлад.; оперативно створити підтримуваний, масштабований і оновлюваний компонент — набагато важливіше.; |- | Повторне використання | Моделі, компоненти й шаблони використовуються повторно.; - in_work

type: directory

У контексті K2 ERP RAD є собою одним із важливих підходів до створення бізнес-додатків, модулів, довідників, документів, журналів, форм, звітів і компонентів.; Завтра — новий документ.;ORM надає можливість програмному коду працювати з базою даних через об’єкти.;

id:

У реальних впровадженнях можуть з’являтися:

  • правильну структуру таблиць;
  • індекси;
  • зв’язки;
  • архівацію;
  • права доступу;
  • журнали;
  • звіти;
  • продуктивність API;
  • фонові задачі.; code: string;
type: enum

У K2 ERP RAD має змогу виглядати як керований ланцюжок автоматичного створення компонента:

RAD і технічний борг

Головне. RAD — це розробка програмного забезпечення не за принципом “пів року пишемо ТЗ, потім усі дивуються результату”, а через швидкі прототипи, перевірку ідей, уточнення моделі та поступове доведення системи до потрібного стану.; Коли людина формулює ідею, ШІ сприяє створити модель, а платформа автономно генерує компонент, RAD виходить на новий рівень.; transitions:

Швидка розробка програмного забезпечення повинна передбачати майбутній рефакторинг.; RAD має змогу зменшувати ризики впровадження.; Більше  на реальну цінність.; Це швидше перетворювати бізнес-ідею на працюючий компонент.; - critical

!; '''RAD''' або '''Rapid Application Development'''  це підхід до швидкої розробки програмного забезпечення.; Це означає, що швидкість досягається не тільки кращою організацією роботи, а й самою архітектурою платформи.;== переважні аспекти RAD ==

== RAD і рефакторинг ==

 title: "Сервісне обслуговування"

* обладнання;
* клієнтів;
* заявки на ремонт;
* інженерів;
* виконані роботи;
* використані матеріали;
* акти виконаних робіт.; Прототип  ключовий елемент RAD.; type: string

Швидкість без архітектури небезпечна.; name: string;
 number:
як ілюстрація, партнерська сторона створює компонент Сервісні заявки.; process:

 title: "Виконані роботи"

* [[ER-модель|ER-моделям]];
* [[BP-модель|BP-моделям]];
* [[YML]];
* [[ORM]];
* [[PostgreSQL]];
* [[Python]];
* [[TypeScript]];
* [[API]];
* [[No-code]];
* [[Low-code]];
* [[AI|штучному інтелекту]];
* [[K2 Update]];
* модульності.; Окремо варто відзначити у якому центральний акцент робиться на швидкому прототипуванні, коротких ітераціях, активній участі користувачів, візуальних інструментах, повторному використанні компонентів і автоматичній генерації.; Прототип не повинен бути фінальною системою.; Це не означає, що вони повинні програмувати.; |-
| Чим RAD відрізняється від No-code?; Обовязкове

 - from: in_work

RAD у [[K2 ERP]]  це не без ускладнень оперативно щось наклацати.; У RAD це істотно, бо надає можливість оперативно отримати першу робочу версію.; Але потрібно мати можливість поступово покращувати компонент:

<syntaxhighlight lang="text">
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
Чому?;== RAD і документація ==
!; Це означає, що для багатьох задач потрібен легший і швидший шлях.; з цієї причини RAD має оцінюватися не за рекламною швидкістю старту, а за повною архітектурою розвитку.; class Equipment(BaseModel):
Без тестування RAD має змогу оперативно перетворитися на оперативно зробили, оперативно зламали.; |-
| Небезпека поганих прототипів
| Тимчасові рішення для бізнесу можуть випадково стати постійними.; Так [[Low-code]] надає можливість поєднати швидкість no-code з гнучкістю професійного програмування.; Звіти часто створюються в RAD-режимі.; title: "Обладнання"
У класичному RAD команда оперативно створює прототип вручну.; бізнес-процес має змогу виглядати так:

Це не копіювання старого підходу, а новий рівень швидкої розробки.; |-
| Не підходить для всього
| Деякі задачі потребують глибокого проєктування до розробки.; title: "замовник"
 type: document

 - from: draft
Спочатку вимоги, потім проєктування, потім розробка програмного забезпечення, потім тестування, потім запуск.; type: string

* модулі для торгівлі;
* модулі для сервісу;
* модулі для складу;
* модулі для виробництва;
* CRM-компоненти;
* WMS-компоненти;
* електронний документообіг;
* галузеві звіти;
* інтеграції з локальними сервісами.; RAD і [[Agile]] мають спільні риси.; | Rapid Application Development  підхід до швидкої розробки додатків через прототипи, ітерації, зворотний звязок і автоматизацію рутини.; type: decimal

Якщо потрібно оперативно створити форму, довідник, журнал або простий бізнес-процес, не завжди треба писати код.; RAD добре підходить для створення MVP бізнес-додатків.; - from: completed

== RAD і Low-code ==

* критичних фінансових модулів;
* складної бухгалтерської логіки;
* високонавантажених систем;
* складних інтеграцій;
* міграцій великих даних;
* систем безпеки;
* складних алгоритмів;
* регламентованих процесів;
* задач, де помилка має високу ціну.; {| class="wikitable" style="width:100%;"
Це модельно-орієнтована, AI-підсилена швидка розробка програмного забезпечення бізнес-додатків.; Компонент, який сьогодні має 100 записів, завтра має змогу мати 10 мільйонів.; | Ні.; Його сила особливо проявляється у поєднанні з [[ER-модель|ER-моделями]], [[YML]], [[ORM]], [[Python]], [[TypeScript]], [[PostgreSQL]], [[API]], [[No-code]], [[Low-code]] та [[AI|штучним інтелектом]].; Програміст не повинен вручну створювати кожну типову форму, кожен довідник, кожне меню й кожну табличну частину.; entity: contractor

 name:

== Типові помилки RAD ==

{| class="wikitable" style="width:100%;"

 work_name:

Якщо документ має неправильну структуру, це видно до великої розробки.;

А здогадки в ERP часто коштують дорожче, ніж чесна розмова на початку.; бізнес-середовище не завжди одразу знає, який саме звіт йому потрібен.; version: "1.0.0"

default: true

RAD не зменшує значення програміста.; |- | Ітерації | платформа розвивається короткими циклами.; Справжній RAD — це швидкість, але з архітектурою, контролем якості, моделями, тестуванням і нормальним розумінням бізнесу.; type: enum </syntaxhighlight> Штучний інтелект має змогу суттєво посилити RAD.; {

Інтерфейс у RAD створюється оперативно, але має залишатися зручним.; |- | Краща відповідність бізнесу | платформа формується ближче до реального процесу.; Через тиждень — звіт.; Потім групування.; | надає можливість швидше створювати й уточнювати довідники, документи, форми, журнали, звіти, процеси та модулі.; !; RAD виник як відповідь на цю проблему.; "entity": "equipment",

Але потрібно мати:

У K2 ERP компонент має змогу містити:

== RAD і Odoo ==
RAD має змогу провалитися, якщо його неправильно використовувати.; Люди краще приймають систему, якщо відчувають, що їх почули.; Якщо оперативно створювати компоненти без думки про майбутнє, платформа має змогу оперативно перетворитися на хаос.; ТЗ → проєктування → розробка програмного забезпечення → тестування → запуск → розчарування
Такий характеристика має змогу бути створений людиною, редактором або [[AI|ШІ]].;[[Waterfall]] — класичний послідовний підхід.; equipment_id:
Якщо платформа монолітна, швидкі зміни оперативно починають ламати одне одного.; !;== RAD і модульність ==

[[Категорія:Автоматична генерація коду]]

<syntaxhighlight lang="json">

 fields:

</div>

Створи модель для модуля сервісних заявок.; Якщо RAD-компонент описаний через YML, його можна зберігати в Git як звичайний текстовий файл.; Архітектор у RAD особливо важливий.;

!;[[K2 Update]] має змогу відігравати важливу роль у RAD-екосистемі.; Потім підсумок.; того, щоб бізнес-середовище не тікав у хаос таблиць забезпечується через RAD потрібен саме; додатково реалізовано а міг оперативно отримувати потрібні зміни в системі.; |}

 date:

Якщо API має змогу створюватися або частково генеруватися з моделі, RAD стає значно сильнішим.; Недолік

== RAD і звіти ==
 },
[[Категорія:AI]]

 title: "Серійний номер"
 title: "Код"
Цей зворотний звязок і є собою основою RAD.;{{SEO
|title=RAD  швидка розробка додатків, прототипування та роль у K2 ERP
|description=RAD або Rapid Application Development  підхід до швидкої розробки програмного забезпечення через прототипування, ітерації, візуальні інструменти, моделі, автоматичну генерацію, low-code, no-code та AI. Роль RAD у K2 ERP, ERP-системах, YML, ER-моделях, ORM, Python, TypeScript і PostgreSQL.
|keywords=RAD, Rapid Application Development, швидка розробка додатків, K2 ERP, ERP, AI, ШІ, YML, ER-модель, ORM, low-code, no-code, автоматична генерація коду, прототипування, бізнес-додатки, українська ERP, альтернатива 1С, альтернатива BAS, Python, TypeScript, PostgreSQL
|image=https://erp.kyiv.ua
}}
 type: string
З [[YML]] можна створювати документацію для сутностей.; - warehouse

 title: "Заявка на ремонт"

 required: true

як ілюстрація, з опису довідника можна автономно сформувати таблицю:

 "name": "code",

* платні модулі;
* доробки;
* інтеграції;
* локалізація;
* супровід;
* складність оновлень;
* залежність від консультантів.; title: "Назва"
 type: reference
[[Категорія:ERP]]
 to: completed

У контексті RAD це дуже істотно, бо [[YML]] надає можливість оперативно переходити від ідеї до структури, а від структури  до генерації.;== RAD і PostgreSQL ==

== RAD і Git ==

як ілюстрація, бізнес-процес погодження заявки можна оперативно створити як прототип:

YML у K2 ERP має змогу бути текстовим представленням моделі.; У K2 ERP RAD отримує особливу силу завдяки наявності сучасній архітектурі:

  • базові довідники;
  • один або кілька документів;
  • форми;
  • журнали;
  • меню;
  • прості статуси;
  • базові звіти;
  • мінімальну логіку.; У RAD користувачі мають бути активними учасниками процесу.; програмний продукт створюється ближче до реального бізнесу.; entity: repair_request

Користувачі бачать не абстрактний код, а зрозумілу структуру: які документи будуть, які поля, які зв’язки, які процеси.; RAD особливо ефективний, коли нові компоненти можна створювати незалежно.; Можна зробити MVP:

Документація в RAD має бути легкою, але обов’язковою.; Але ця швидкість існує всередині старої парадигми.; У таких випадках RAD має змогу використовуватися для прототипування, але фінальна реалізація потребує глибокого проєктування.; ERP — це не статичний програмний продукт.; required: true

Low-code доповнює no-code там, де потрібна невелика програмна логіка.; Якщо платформа компонентна, компоненти можна створювати, перевіряти, оновлювати й рефакторити окремо.; primary_key: true

RAD і 1С/BAS

Бізнес-аналітик у RAD відіграє важливу роль.; Швидкість не повинна означати короткозорість.; * довідник типів заявок;

  • документ заявки;
  • статуси;
  • журнал;
  • просту форму;
  • базовий звіт.; values:

BP-моделі додатково можуть бути частиною RAD.; id:

RAD у порівнянні зі старою розробкою

"type": "string",

Якщо ERP не має змогу оперативно адаптуватися, бізнес-середовище починає шукати обхідні шляхи.; works:

Його задача — оперативно показати бізнесу, як має змогу працювати майбутнє рішення для бізнесу.; |- | Яка формула RAD у K2 ERP?; Це керований бізнес-процес, у якому бізнес-ідея перетворюється на модель, модель — на структуру, структура — на компонент, а людина контролює якість, уточнює логіку й додає те, що потребує досвіду.; title: "характеристика проблеми"

contractor_id:
code: str

</syntaxhighlight>

"type": "string",
  • таблиці;
  • індекси;
  • зовнішні ключі;
  • транзакції;
  • JSONB;
  • представлення;
  • функції;
  • оптимізацію запитів;
  • масштабування.; table_parts:
"required": true

RAD і інтегратори

title: "Очікує запчастини"

RAD у K2 ERP

Класична розробка програмного забезпечення часто не встигає за таким темпом.; {| class="wikitable" style="width:100%;"

Це не означає, що RAD замінює всю корпоративну методологію SAP.; !; |- | Гнучкість | Зміни можна вносити ітераційно.; Потім графік.; serialNumber?: string;

type: string

RAD і документація з YML

Але для малого та середнього бізнесу такий підхід має змогу бути занадто важким.; істотно. RAD не означає “робимо оперативно і як-небудь”.;== Порівняння RAD, Agile, Waterfall і No-code == Для деяких задач Waterfall має змогу бути корисним, особливо коли вимоги стабільні й добре відомі.; fields:

title: "Виконати"

RAD і масштабування

RAD надає можливість помилятися дешево.; type: directory

RAD і MVP

  • створити прототип модуля;
  • показати його клієнту;
  • уточнити поля;
  • налаштувати довідники;
  • створити документи;
  • зробити прості звіти;
  • підключити інтеграції;
  • передати програмісту тільки складні частини.; як ілюстрація, з моделі обладнання має змогу бути розроблена умовна Python-модель:

RAD і ризики впровадження

!; type: datetime

type: string

Потім користувачі можуть уточнити: Сьогодні потрібен новий довідник.; Ідея → прототип → зворотний зв’язок → уточнення → нова реліз → запуск

Приклад простого YML для довідника обладнання:

Одна з помилок — думати, що швидка розробка програмного забезпечення означає менше тестування.; RAD у K2 ERP орієнтований на іншу швидкість:

Це надає можливість не тільки оперативно створювати, а й оперативно поширювати покращення.;

Ланцюжок швидкої розробки в K2 ERP

title: "Відправити на погодження"

Це робить RAD контрольованим.; contractor_id:

Швидка розробка програмного забезпечення не повинна означати слабку базу даних.; Що відбувається

name: service_management

RAD і JSON

title: "Назва"

SAP — приклад великої корпоративної ERP, де впровадження часто є собою довгим і складним проєктом.;== RAD і ER-модель ==

RAD у K2 ERP — це швидка розробка програмного забезпечення з архітектурою: від ідеї до працюючого компонента через моделі, генерацію та AI. У RAD потрібні:

Це має змогу бути перша RAD-версія компонента.; Потрібен довідник обладнання, документ заявки на ремонт,

required: true

Але вони повинні: entity: equipment

depends_on:

required: true
title: "Запчастини отримано"


  • додати довідник;
  • додати поля;
  • налаштувати форму;
  • створити журнал;
  • додати пункт меню;
  • налаштувати простий статусний бізнес-процес;
  • зробити базовий звіт.; |-

| Менше рутини | Типові частини створюються автономно.; - closed

Замість того щоб одразу писати код, команда спочатку описує сутності, поля, зв’язки, довідники, документи й табличні частини.;== RAD і архітектор ==

Основні принципи RAD

без ускладнень кажучи. RAD — це коли платформа створюється не в темній кімнаті за великим ТЗ, а через швидкі робочі версії, які можна побачити, перевірити й покращити.; Правильна ER-модель, індекси, PostgreSQL, ORM і тестування допомагають уникнути проблем.; |- | Повторне використання | Готові компоненти, шаблони, модулі та моделі використовуються повторно.; |- | Як RAD функціонує в K2 ERP?;== RAD і бізнес-користувачі == У K2 ERP RAD має змогу бути не без ускладнень методологією керування проєктом, а технологічною основою розробки компонентів.; type: boolean

RAD у K2 ERP. Це не без ускладнень швидше писати код.; |- | 1 | бізнес-середовище описує потребу | Потрібен компонент сервісних заявок |- | 2 | Аналітик або AI створює першу модель | З’являється ER/YML-структура |- | 3 | K2 ERP генерує основу компонента | Довідники, документи, форми, журнали |- | 4 | Користувачі дивляться прототип | Дається зворотний зв’язок |- | 5 | Модель уточнюється | Додаються поля, статуси, процеси |- | 6 | Програміст додає складну логіку | SLA, складський облік, розрахунки, повідомлення |- | 7 | Компонент тестується | Виправлення помилок |- | 8 | Компонент запускається | Робочий компонент у системі |}

!; default: normal

  • це поле зайве;
  • тут потрібен інший статус;
  • тут має бути відповідальний;
  • тут потрібна таблична частина;
  • цей документ треба розділити на два;
  • цей бізнес-процес краще зробити простішим.; Не потрібно писати величезні документи, які ніхто не читає.; Сильна сторона

RAD у відкритій архітектурі дає більше свободи.; платформа бере модель і автономно створює основу компонента.;</syntaxhighlight>

У K2 ERP швидка розробка програмного забезпечення має змогу спиратися на:

RAD і користувацький інтерфейс

Цю модель можна оперативно обговорити з бізнесом.; У сучасному RAD з ШІ людина має змогу описати задачу людською мовою:

  • Agile організовує роботу команди;
  • RAD дає технологічну швидкість створення прототипів і компонентів.; та BAS часто позиціонуються як системи, у яких оперативно створюється бізнес-логіка.;== RAD і дашборди ==

Саме з цієї причини RAD є собою важливою частиною програмування зі швидкістю думки: не замінює професіоналів, а дає їм інструменти створювати бізнес-додатки швидше, чистіше, зрозуміліше й ближче до реального бізнесу. Людина її перевіряє, уточнює промптами й акцептує автоматичне створення компонента.; - from: approval

RAD і YML

Сервер має змогу перетворити цю структуру на YML, ORM-модель, міграції та код модуля.;No-code є собою природним союзником RAD.; Але в ERP багато задач змінюються під час роботи.; code:

active: boolean;
  • уточнювати модель;
  • перейменовувати поля;
  • розділяти сутності;
  • оптимізувати запити;
  • покращувати форми;
  • прибирати дублювання;
  • переносити логіку в правильні місця;
  • оновлювати документацію.; Найпопулярніший обхідний шлях — Excel.; !;

Недоліки RAD

- closed

RAD базується на кількох принципах.; name: str

як ілюстрація:

RAD і бізнес-аналітик

  • власних серверів;
  • партнерських хмар;
  • кастомізації;
  • галузевих модулів;
  • розробки компонентів;
  • аудиту безпеки;
  • роботи з ШІ;
  • створення екосистеми.; У RAD-підході бізнес-процес має змогу виглядати інакше.; {| class="wikitable" style="width:100%;"
code:
- draft

Agile — ширший підхід до керування розробкою, командою, пріоритетами й поставкою цінності.; title: "Дата"

Чим швидше створюються компоненти, тим важливіше мати хороші тести.; | Через ER-моделі, YML, ORM, автоматичну генерацію, No-code, Low-code, ШІ і K2 Update.; RAD у K2 ERP

Тоді компонент можна розвивати окремо й поширювати через K2 Update.; {

- from: waiting_parts
[[K2 Update]] має змогу стати механізмом доставки RAD-компонентів у мережу клієнтів.; Пояснення
[[Open source]] підсилює RAD, бо відкрита модель коду і відкриті моделі легше аналізувати, змінювати й розвивати.; RAD прибирає частину рутини, але програмісти потрібні для архітектури, складної логіки, інтеграцій, продуктивності та якості.; | RAD — це підхід до швидкої розробки, а No-code — один з інструментів, який має змогу допомагати реалізувати RAD.; з цієї причини в [[K2 ERP]] істотно, щоб RAD спирався не на хаотичні доробки, а на:

== RAD і партнери ==

Це значно зменшує навантаження на аналітиків і розробників.; Це вже не без ускладнень швидка розробка програмного забезпечення.; Насправді навпаки.; Він не повинен ламати складський облік, продажі та реалізація або бухгалтерію.; type: journal

* правильність [[ER-модель|ER-моделі]];
* межі модуля;
* залежності;
* структуру даних;
* інтеграції;
* масштабованість;
* повторне використання;
* можливість рефакторингу;
* якість [[YML]];
* сумісність із платформою;
* вплив на інші компоненти.; |}

У RAD-підході [[ORM|ORM-моделі]] не повинні щоразу писатися вручну.;
 contractorId?: number;

У RAD потрібно враховувати продуктивність із самого початку.; Після цього платформа має змогу автономно створити довідник, форму, список, меню, [[ORM|ORM-модель]] і міграції.;</div>

[[API]] важливий для RAD, бо сучасний компонент часто не існує сам по собі.; |-
| Потреба в активних користувачах
| Без зворотного зв’язку RAD втрачає сенс.; Тип
!; Особливо в [[ERP]], де можуть бути:

Людина перевіряє результат, уточнює його, додає складну логіку й доводить компонент до промислового стану.; Поганий RAD має змогу створити форму з 80 полями в одному вікні й сказати: “Ну воно ж функціонує”.; }

* робити оперативно без архітектури;
* не залучати реальних користувачів;
* не документувати рішення для бізнесу;
* не тестувати прототипи;
* перетворювати тимчасовий код на постійний;
* не контролювати якість моделей;
* не думати про масштабування;
* не використовувати [[Git]];
* не планувати рефакторинг;
* думати, що RAD — це без ускладнень “без ТЗ і швидше”.;== RAD і Waterfall ==

 required: true

RAD — це методологія швидкої розробки додатків, яка робить акцент на швидкому створенні прототипів, активному залученні користувачів та ітераційному вдосконаленні продукту.; active: bool = True

title: "Серійний номер"

завдяки наявності RAD + AI. Це коли прототип народжується не тільки руками аналітичні інструменти, а й через діалог з ШІ, який користувачі можуть оперативно сформувати модель.; Аналітик має змогу: !; - completed

RAD і API

PostgreSQL надає можливість будувати серйозні структури:

- title: "Заявки на ремонт"

Це змінює економіку впровадження.; |- | Складність контролю змін | Ітерації потрібно версіонувати й документувати.; Вона ще не ідеальна, але вже дає основу для обговорення, генерації та тестування.; |- | Залучення користувачів | Користувачі оперативно бачать результат і дають зворотний зв’язок.; користувач системи, аналітик або інтегратор має змогу створити прототип через редактор.; title: "Обладнання"

Приклад YML для RAD-прототипу

 id: number;
  • дивитися прототипи;
  • давати зворотний зв’язок;
  • пояснювати реальні процеси;
  • перевіряти форми;
  • уточнювати терміни;
  • вказувати винятки;
  • погоджувати модель;
  • брати участь у тестуванні.;

RAD і продуктивність

з цієї причини RAD має враховувати UX:

contractor_id: int | None = None

RAD у закритій системі часто обмежений рамками постачальника.; |}

</syntaxhighlight>

RAD і тестування

!; Без користувачів RAD перетворюється на швидку розробку здогадок.; технічна архітектура поступово уточнюється.; організація змінює процеси, відкриває нові напрями, додає склади, змінює логістику, запускає нові послуги, інтегрується з сайтами, банками, маркетплейсами, державними сервісами.; Типові помилки:

auto: true

RAD має змогу зменшувати технічний борг, якщо типові речі створюються через правильні моделі й генератори.; primary_key: true

<syntaxhighlight lang="yaml">

Він сприяє перетворювати потреби бізнесу на модель.; |- | Який центральний ризик RAD?; Його сила в з цієї причини, що він надає можливість швидше перейти від ідеї до робочого результату, раніше залучити користувачів, швидше побачити помилки, уточнити модель і створити рішення для бізнесу, яке краще відповідає реальному бізнесу.; RAD надає можливість оперативно створити першу версію звіту й поступово її уточнювати.; - completed

title: "Власник"

Для K2 ERP. RAD у K2 ERP реалізується через моделі, YML-структури, автоматичну генерацію ORM-моделей, міграцій, коду модуля, меню, довідників, журналів документів, форм документів і базового функціоналу.;== RAD і AI ==

Коротко

== RAD і K2 Update ==