You are on page 1of 15

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ПРИРОДНИЧО-ГУМАНІТАРНИЙ ФАХОВИЙ КОЛЕДЖ ДВНЗ


«УЖГОРОДСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ»

«Інструментальні засоби візуального програмування»


РЕФЕРАТ №1

Виконав:
Гафинець О. В.
студент групи КНз-31
Перевірив:
викл. Владимир У.М.

УЖГОРОД – 2022
Зміст
1. Технологія швидкого проектування RAD...............................3
1.1 Основні принципи методології RAD.....................................................3

2. Візуальні мови програмування.................................................7


2.1 Найпопулярніші візуальні мови програмування..................................8

3. Загальний опис “dataflow”.......................................................10

4. Інструментальні засоби візуального програмування Unreal


Engine 4 та Blueprint..................................................................................13

Тема: Що таке RAD. Візуальні мови програмування. Загальний


опис dataflow. Інструментальні засоби візуального програмування Unreal
Engine 4 та Blueprint.
1. Технологія швидкого проектування RAD
RAD – це комплекс спеціальних інструментальних засобів швидкої
розробки прикладних інформаційних систем, що дозволяють оперувати з
певним набором графічних об'єктів, функціонально відображають окремі
інформаційні компоненти додатків.
Під цим терміном зазвичай розуміється процес розробки ПЗ, що містить 3
елементи:
невелику команду програмістів (від 2 до 10 осіб);
короткий, але ретельно пророблений виробничий графік (від 2 до 6 міс.);
повторюваний цикл, при якому розробники по мірі набуття форми
додатком запитують і реалізують у продукті вимоги, отримані через взаємодію з
замовником.
Команда розробників повинна представляти із себе групу професіоналів,
які мають досвід в аналізі, проектуванні, генерації коду і тестуванні ПЗ з
використанням CASE-засобів. Члени колективу повинні також вміти
трансформувати в робочі прототипи пропозиції кінцевих користувачів.

1.1 Основні принципи методології RAD


Основні принципи методології RAD можна звести до таких:
 Використовується ітераційна (спіральна) модель розробки;
 Повне завершення робіт на кожному з етапів життєвого циклу не
обов’язкове;
 В процесі розробки інформаційної системи необхідна тісна
взаємодія із замовником і майбутніми користувачами;
 Необхідне використання CASE-засобів і засобів швидкої розробки
додатків;
 Необхідне використання засобів управління конфігурацією, що
полегшують внесення змін до проекту і супровід готової системи;
 Необхідне використання прототипів, що дозволяє повніше з'ясувати
і реалізувати потреби кінцевого користувача;
 Тестування і розвиток проекту здійснюються одночасно з
розробкою;
 Розробка ведеться нечисленною і добре керованою командою
професіоналів;
 Необхідні грамотне керівництво розробкою системи, чітке
планування і контроль виконання робіт.

Засоби RAD дали можливість реалізовувати зовсім іншу в порівнянні з


традиційною технологію створення додатків. Інформаційні об'єкти формуються
як якісь діючі моделі (прототипи), чиє функціонування узгоджується з
користувачем, а потім розробник може переходити безпосередньо до
формування закінчених додатків, не втрачаючи з уваги загальної картини
проектованої системи.
Можливість використання подібного підходу в значній мірі є результатом
застосування принципів об'єктно-орієнтованого проектування, Застосування
об'єктно-орієнтованих методів дозволяє подолати одну з головних труднощів,
що виникають при розробці складних систем – колосальний розрив між
реальним світом (предметною областю описуваної проблеми) і імітаційним
середовищем.
Використання об'єктно-орієнтованих методів дозволяє створити опис
(модель) предметної області у вигляді сукупності об'єктів – сутностей,
поєднуючих дані і методи обробки цих даних (процедури). Кожен об'єкт володіє
своєю власною поведінкою і моделює деякий об'єкт реального світу. З цієї
точки зору об'єкт є цілком відчутною річчю, яка демонструє певну поведінку.
В об'єктному підході акцент переноситься на конкретні характеристики
фізичної або абстрактної системи, що є предметом програмного моделювання.
Об'єкти є цілісністю, яка не може бути порушена. Таким чином, властивості, що
характеризують об'єкт і його поведінку, залишаються незмінними. Об'єкт може
тільки міняти стан, управлятися або ставати в певне відношення до інших
об'єктів.
Широку популярність об'єктно-орієнтоване програмування отримало з
появою візуальних засобів проектування, коли було забезпечено злиття
(інкапсуляція) даних з процедурами, що описують поведінку реальних об'єктів,
в об'єкти програм, які можуть бути відображені певним чином в графічному
середовищі користувача. Це дозволило приступити до створення програмних
систем, максимально схожих на реальні, і досягати найвищого рівня абстракції.
У свою чергу, об'єктно-орієнтоване програмування дозволяє створювати більш
надійні коди, оскільки у об'єктів програм існує точно визначений і жорстко
контрольований інтерфейс.
При розробці додатків за допомогою інструментів RAD використовується
множина готових об'єктів, які зберігаються в загальнодоступному сховищі.
Однак забезпечується і можливість розробки нових об'єктів. При цьому нові
об'єкти можуть розроблятися як на основі існуючих, так і «з нуля».
Інструментальні засоби RAD мають зручний графічний інтерфейс
користувача і дозволяють на основі стандартних об'єктів формувати прості
програми без написання коду програми. Це є великою перевагою RAD, оскільки
в значній мірі скорочує рутинну роботу з розробки інтерфейсів користувача
(при використанні звичайних засобів розробка інтерфейсів є досить
трудомісткою задачею, що забирає багато часу). Висока швидкість розробки
інтерфейсної частини додатків дозволяє швидко створювати прототипи і
спрощує взаємодію з кінцевими користувачами.
Таким чином, інструменти RAD дозволяють розробникам сконцентрувати
зусилля на сутності реальних ділових процесів підприємства, для якого
створюється інформаційна система. У результаті це приводить до підвищення
якості розроблюваної системи.
Застосування принципів об'єктно-орієнтованого програмування дозволило
створити принципово нові засоби проектування додатків, які були названі
засобами візуального програмування. Візуальні інструменти RAD дозволяють
створювати складні графічні інтерфейси користувача взагалі без написання коду
програми. При цьому розробник може на будь-якому етапі спостерігати, що
закладається в основу прийнятих рішень.
Візуальні засоби розробки оперують в першу чергу зі стандартними
інтерфейсними об'єктами – вікнами, списками, текстами, які легко можна
зв'язати з даними з бази даних і відобразити на екрані монітора. Інша група
об'єктів являє собою стандартні елементи управління – кнопки, перемикачі,
прапорці, меню і т. п., за допомогою яких здійснюється управління
відображеними даними. Всі ці об'єкти можуть бути стандартним чином описані
засобами мови, а описи збережені для подальшого повторного використання.
В даний час існує досить багато різних візуальних засобів розробки
додатків. Але всі вони можуть бути розділені на дві групи – універсальні і
спеціалізовані.
Серед універсальних систем візуального програмування зараз найбільш
поширені такі, як С++, Visual Studio. Універсальними ми їх називаємо тому, що
вони не орієнтовані на розробку лише додатків баз даних – з їх допомогою
можуть бути розроблені додатки майже будь-якого типу, у тому числі й
інформаційні програми. Причому програми, які розроблюються за допомогою
універсальних систем, можуть взаємодіяти практично з будь-якими системами
управління базами даних. Це забезпечується як використанням драйверів ODBC
або OLE DB, так і застосуванням спеціалізованих засобів (компонентів).
Спеціалізовані засоби розробки орієнтовані тільки на створення додатків
баз даних. Причому, як правило, вони прив'язані до конкретних систем
управління базами даних. Як приклад таких систем можна привести Power
Builder фірми Sybase (природно, призначений для роботи з СУБД Sybase
Anywhere Server) і Visual FoxPro фірми Microsoft.
Оскільки завдання створення прототипів і розробки користувальницького
інтерфейсу, по суті, злилися, програміст отримав безперервний зворотний
зв'язок з кінцевими користувачами, які можуть не тільки спостерігати за
створенням додатків, але й активно брати участь у ньому, коригувати
результати і свої вимоги. Це також сприяє скороченню термінів розробки і є
важливим психологічним аспектом, який привертає до RAD все більшу
кількість користувачів.

2. Візуальні мови програмування


Візуальне програмуваання — спосіб створення програм шляхом
маніпулювання графічними об'єктами замість написання програмного коду в
текстовому вигляді.
Візуальне програмування дозволяє програмувати, використовуючи
графічні або символьні елементи, якими можна маніпулювати інтерактивним
чином згідно з деякими правилами, причому просторове розташування
графічних об'єктів використовувати як елементи синтаксису програми. Значна
частина візуальних мов програмування базується на ідеї «фігур і ліній», де
фігури (пррямокутники, овали та ін.) розглядаються як суб'єкти і з'єднуються
лініями (стрілками, дугами тощо), які являють собою відношення. Приклад:
UML
Мови візуального програмування можуть бути додатково класифіковані в
залежності від типу і ступеня візуального вираження, на типи:
Природно-візуальні мови мають невід'ємне візуальне вираження, для
якого немає очевидного текстового еквіваленту (наприклад, графічна мова G в
середовищі LabVIEW).
Візуально-перетворені мови є невізуальними мовами з накладеним
візуальним представленням.
Значна кількість сучасних мов програмування має розвинуті візуальні
засоби для розробки графічного інтерфейсу, причому здійснюється
програмування розміщених на спеціальних формах об'єктів з настроюванням їх
властивостей та поведінки. CodeGear Delphi і C++ Builder, Microsoft VS та мови,
які включає в себе цей засіб (Visual Basic, Visual C#, Visual J# тощо) часто
плутають з візуальними мовами програмування. Всі ці мови є текстовими, а не
візуальними (графічними). MS Visual Studio та Delphi є візуальними
середовищами програмування, але не візуальними мовами програмування.

2.1 Найпопулярніші візуальні мови програмування


Scratch - Це одна з найбільш популярних візуальних мов програмування,
яка підходить для навчання розробці дітей різного віку. Створено Мітчелом
Резніком, професором Массачусетського технологічного інституту. Основна
мета – залучення дітей до процесу навчання. Причому скретч успішно
використовується як для викладання основ програмування, а й під час уроків
математики, наприклад.

Створення Scratch, а також його подальший розвиток забезпечується


насамперед за рахунок взаємодії з відомою компанією LEGO. Саме це і
дозволило почати навчання робототехніки для найменших на базі тієї самої
візуальної мови програмування.
На відміну від багатьох інших інструментів розробника, Scratch не
потребує знань синтаксису. Тут немає необхідності в написанні коду, що було б
скрутним і, головне, стомлюючим для будь-якої дитини. Натомість,
пропонуються готові блоки, за допомогою яких дитина зможе осягнути ази та
принципи розробки в цілому.

Наприклад, за допомогою Scratch дітям набагато простіше пояснити такі


основи основ, як функції, цикли та розгалуження. Причому в результаті своїх
дій у Scratch дитина створює якусь гру або мультиплікацію, що ще й дуже
захоплююче. Scratch має кілька версій. Остання на сьогоднішній день є 3.0

App Inventor - Це ще одне середовище візуальної розробки, за допомогою


якого досить просто створювати будь-які додатки на Android з мінімальними
знаннями в галузі розробки. Ця мова програмування не використовується у
навчанні. Однак з його допомогою можна отримати уявлення про основи
програмування. App Inventor є дітищем Google. З ранньої версії цього
програмного продукту була розроблена ще одна досить популярна візуальна
мова програмування – Google Blockly.

Google Blockly - Цей продукт відомої компанії Google є бібліотекою для


створення середовища візуального програмування. З'явився у 2012 році і з того
часу активно розвивається. В основному застосовується для навчальних цілей.
Як і у випадку зі Scratch або App Inventor, розробнику не потрібно писати код
для створення програм. Є готові блоки, які потрібно перетягувати.

Ця бібліотека має хмарне сховище, за допомогою якого можна ділитися


створеними програмами з іншими. Blockly перекладено багатьма мовами, у
тому числі російською. Проте не слід забувати про те, що мовою програмування
є англійська. Тому варто вивчати саме його.
3. Загальний опис “dataflow”
Програмування потоків даних (англ. dataflow programming) — підхід до
програмування, за якого програма моделюється у вигляді орієнтованого графу
потоку даних між операціями, подібного до діаграми потоків даних.
Розвивається в програмній інженерії від 1970-х років.

Природне візуальне подання разом з підтримкою паралелізму є двома


привабливими для розробників властивостями цієї парадигми. Проте,
програмування потоків даних не обов'язково пов'язане з інструментами
візуального програмування.

Програмісти Unix знайомі з програмуванням потоків даних, оскільки в


командній оболонці цієї системи застосовуються іменовані канали й інші
подібні засоби взаємодії між процесами.
Основою роботи програм потоків даних (dataflow) є активація обчислень
на вузлах (node), які можна вважати чорними ящиками, що викликається
змінами, оновленнями вхідних даних. Вузол (у моделі — вершина графу) є
елементом, який опрацьовує дані на вході, перетворюючи їх на дані на виході.
Робота вузла протягом періоду активації вважається одиничним обчисленням.
Вузли посилають і приймають дані через порти (port) — точки з'єднання дуг
(ребер графу) і вузлів. Порти — все, що пов'язує вузол з оточенням. Для
розрізнення вузли можуть мати назви. Результат обчислення вузла часто, але не
обов'язково, є функцією вхідних даних, тобто, результат може змінюватися з
часом. Обчислювальна робота вузла називається активацією (англ. activation,
firing). В активованому стані вузол бере вхідні дані, виконує обчислення, віддає
вихідні дані у відповідні порти. Передані дані, незалежно від їх типу,
називаються токенами (англ. token). Токени надходять по дугах (їх можна
називати ребрами, зв'язками, з'єднаннями). Поява даних на вхідній дузі може
викликати активацію вузла. Зазвичай прийнято, що в дузі міститься не більше
одного токена, але в теорії можна створити і моделі з необмеженою ємністю. У
більш розроблених моделях дуги можуть зливатися в одну або розгалужуватися.

Внаслідок програмування виходить програма потоків даних —


орієнтований граф. Всі шляхи взаємодії елементів явно задає програміст. У
найпростішому випадку конвеєрної обробки (англ. pipeline dataflow) елементи
можна задати послідовністю одиничних обчислень. Обчислення проводяться по
черзі, при надходженні токенів на вхід. Таку схему називають виконанням,
керованим даними (англ. data-driven execution).
У програмуванні потоків даних можна застосовувати і складніші
конфігурації, ніж конвеєр. Зокрема, такі можливості можна додати до
найпростішої моделі (в тій чи іншій комбінації):

Push- або pull-дисципліни для дуг. У першому випадку токени


«виштовхуються» з ініціативи виробника даних, а в другому ініціатором запиту
токена є споживач. Два підходи також відомі як обчислення, кероване даними
(англ. data-driven computation) і обчислення, кероване запитами (англ. demand-
driven computation)
Змінні (англ. mutable) або незмінні (англ. immutable) дані. Хоча незмінні
дані — найвдаліший підхід для паралельного опрацювання, деякі реалізації,
засновані на імперативних мовах програмування, можуть вимагати змінюваних
даних з усіма необхідними механізмами синхронізації.
Можливості злиття (англ. join) і розгалуження (англ. split) дуг. У разі
злиття, порт призначення дуги отримує токени від будь-якого з двох портів на
початку дуги. При розгалуженні токен зазвичай копіюється двом одержувачам.
Злиття і розгалуження можуть бути множинними.
Статична або динамічна програма потоку даних. Ця характеристика
стосується можливості змін у графі потоку даних. Апаратні реалізації, як
правило, використовують статичні програми, але в загальному випадку
структура графу може динамічно змінюватися. У динамічній програмі деяка
дуга може змінити порт призначення або вузол обробки — свої характеристики.
Вузол може бути функціональним або ж зберігати свій стан (англ. stateful)
усередині.
Синхронна або асинхронна активація. Один з найважливіших параметрів
класифікації систем потоків даних. Синхронна активація має на увазі деякий
заздалегідь зафіксований і спланований порядок активації, побудований з
урахуванням всієї програми в цілому. В системі з асинхронною активацією
кожен блок піклується про своє сьогодення і активація відбувається при
задоволенні умов, наприклад, появі даних на вході. Для систем з асинхронною
активацією можуть знадобитися дуги ємністю більше одного токена. Схема
активації може бути і змішаною (англ. hybrid).
Множинні вхідні і вихідні порти. Наявність декількох портів може
вимагати і змін для умов активації. Наприклад, активація може відбуватися,
якщо хоча б один з входів отримав дані. У складніших випадках можуть
використовуватися схеми активації (англ. fire pattern), в яких для кожного порту
призначено одне з чотирьох відношень до активації: 1 — на вході є дані, 0 — на
вході немає даних, X — наявність даних байдужа, * — безумовна активація
(незалежно від умов для інших портів). Вузол може мати кілька схем, які
перевіряються одна за одною, поки схема не відповідатиме поточному стану.
Наприклад, трипортовий вузол зі схемою «[1, 1, X], [0, X, 0]» буде активізовано,
якщо перші два порти отримали дані або на першому і третьому порту немає
даних.
Зворотні зв'язки, або цикли, дозволяють використовувати вихідний потік
знову на вході обчислювального блока. При роботі з циклами слід уникати
тупикових ситуацій (див. Взаємне блокування), за яких деякий вузол буде
чекати даних на вході, які залежать від його ж виходу. Для роботи зі зворотним
зв'язком може знадобитися задання початкових токенів (ще до запуску
програми) для дуг зворотного зв'язку або використання одноразових вузлів
(англ. one-shot), які активуються рівно один раз, на початку роботи програми.
Складені вузли (англ. compound node) дозволяють пакетувати примітивні
вузли в більші модулі.
Рекурсивні вузли. Різновид складеного вузла, що містить копію самого
себе.
Багатошвидкісне виробництво і споживання токенів. Для підвищення
продуктивності при активації може дозволятися отримання і відсилання з порту
кількох токенів відразу.
Вузли з належними їм портами також називають акторами. Класичні
актори, запропоновані Карлом Г'юїттом, є окремим випадком акторів потоків
даних, а саме, мають рівно один вхідний порт і жодного вихідного.

4. Інструментальні засоби візуального програмування


Unreal Engine 4 та Blueprint
Blueprints – це система візуального скриптингу Unreal Engine 4. Вона є
швидким способом створення прототипів ігор. Замість написання коду все
можна робити візуально: перетягувати ноди (вузли), задавати їх властивості в
інтерфейсі і з'єднувати їх «проводи».

Крім швидкого прототипування, Blueprints також полегшують створення


скриптів для непрограмістів. Розглянемо основні інструменти.
Насамперед йдемо по змінних: Кожен тип змінних має свій колір, щоб їх
було зручно розрізняти. Це ж візуальне програмування;
Boolean - булева змінна, набуває значення або True, або False
Byte — Цілочисленні значення від 0 до 255
Integer — Цілочисленні значення від -2147483647 до 2147483647
Float - Число з комою, від 3.403 * (10 ^ 38) до -3.403 * (10 ^ 38), найменша
неподільна частина: 1.175 · (10 ^-38).
String — Рядок, що зберігає набір символів

Працюючи зі змінними, ми можемо або отримати значення, яке лежить,


або записати в них нове значення. За ці операції відповідають ноди Get (набути
значення) і Set (задати нове значення).
Array це масив змінних того чи іншого типу. Наприклад, нам слід
зберігати результати турнірної таблиці для всіх гравців. Ми запишемо очки
кожного гравця в масив у певній послідовності. На скріншоті ми додаємо на
кінець масиву число 12,54.
А коли нам доведеться дістати з масиву якесь значення, ми вкажемо його
порядковий номер і отримаємо результат за допомогою ноди Get. На скріншоті
отримуємо з масиву значення змінної з індексом 2.

You might also like