Види проєктування ПЗ (структурне, ООП, функціональне, архітектурне, інтерфейсне)

Розділ: Інженерія систем і програмного забезпечення

📌 Про що ця тема

Тут перевіряють, чи розумієш ти, що проєктування програмного забезпечення — це етап між аналізом вимог і написанням коду, на якому вирішують, ЯК буде влаштована програма. Ключове поняття — підхід (парадигма) проєктування: той самий продукт можна спроєктувати різними способами, і кожен має свою логіку розбиття системи на частини.


📖 Головне

• Проєктування ПЗ — створення структури майбутньої програми: з яких частин вона складається, як ці частини взаємодіють, як виглядає для користувача. Відповідає на питання «як зробити», а не «що зробити».

• Структурне проєктування — розбиття задачі на підзадачі «згори вниз»: велика задача ділиться на дрібніші модулі та процедури/функції. Основа — алгоритм і дані окремо. Модель — блок-схеми, структурні діаграми.

• Об’єктно-орієнтоване проєктування (ООП) — система описується як набір об’єктів, що мають дані (поля) й поведінку (методи). Базові принципи: інкапсуляція (приховування внутрішнього), наслідування (передача властивостей від класу до класу), поліморфізм (однакова дія по-різному для різних об’єктів), абстракція (виділення головного).

• Функціональне проєктування — програма як композиція функцій, що перетворюють вхідні дані на вихідні без зміни зовнішнього стану. Цінуються незмінні дані й відсутність побічних ефектів.

• Архітектурне проєктування — проєктування системи «у великому»: які є основні компоненти, сервери, бази даних, як вони зв’язані. Типові рішення (шаблони): клієнт-сервер, багаторівнева (клієнт–логіка–дані), мікросервіси, монолітна.

• Інтерфейсне проєктування (UI/UX) — як програма виглядає й сприймається користувачем: розташування елементів, зручність, зрозумілість, зворотний зв’язок. UI — зовнішній вигляд, UX — загальне враження від користування.

• Різниця рівнів: архітектурне — найвищий рівень (структура всієї системи), структурне/ООП/функціональне — рівень внутрішньої організації коду, інтерфейсне — рівень взаємодії з людиною.


🔢 Як це працює на прикладі

Задача: онлайн-магазин.

• Архітектурне: вирішуємо, що буде веб-клієнт (браузер), сервер застосунку з бізнес-логікою і база даних — класична трирівнева архітектура.

• ООП: виділяємо класи Товар, Кошик, Користувач, Замовлення; Кошик має метод «додати товар».

• Структурний погляд: функція «оформити замовлення» розкладається на під-функції «перевірити наявність», «порахувати суму», «зберегти».

• Функціональний стиль: функція «порахувати суму» приймає список товарів і повертає число, нічого не змінюючи ззовні.

• Інтерфейсне: проєктуємо кнопку «Купити», видиму ціну, повідомлення «Товар додано».


⚠️ Типові помилки

• Плутають архітектурне й структурне проєктування: архітектурне — про всю систему й компоненти, структурне — про поділ коду на модулі та процедури.

• Вважають, що ООП і функціональне — це мови, а не підходи; одна мова може підтримувати кілька парадигм.

• Плутають інкапсуляцію з абстракцією: інкапсуляція ховає реалізацію, абстракція виділяє суттєве.

• Змішують UI та UX: UI — вигляд, UX — зручність і враження.

• Думають, що проєктування = програмування; проєктування передує написанню коду.


🎯 Що завчити напам’ять

• 4 принципи ООП: інкапсуляція, наслідування, поліморфізм, абстракція.

• Структурне — «згори вниз», модулі й функції.

• Функціональне — функції без побічних ефектів, незмінні дані.

• Архітектурне — рівень усієї системи (клієнт-сервер, багаторівнева, мікросервіси).

• UI — вигляд, UX — враження.


🧠 Перевір себе

1. Який підхід будується на об’єктах з полями й методами?

2. Назви будь-які два принципи ООП.

3. Чим архітектурне проєктування відрізняється від структурного?

4. Що таке UX на відміну від UI?


Відповіді: 1 — об’єктно-орієнтоване (ООП); 2 — напр., інкапсуляція і поліморфізм (також наслідування, абстракція); 3 — архітектурне описує структуру всієї системи та її компоненти, структурне — поділ коду на модулі й функції; 4 — UX це загальне враження й зручність користування, UI — лише зовнішній вигляд інтерфейсу.

Перевірити себе на практиці

Прочитати — половина справи. Далі потрібні завдання цієї ж теми з розбором кожної відповіді: саме на них видно, чи справді тема закрита.