Конспект заняття 01

Вбудовані системи та дві моделі ІТ-бізнесу

01.09.2026Конспект лекціїконспект курсу

Розділ 1. Вбудовані системи та дві моделі ІТ-бізнесу

Що в цьому розділі

Вступний розділ вирішує три задачі. Перша — окреслити межі курсу: чого він навчає і чого свідомо не навчає. Друга — дати робоче визначення вбудованого програмного забезпечення через середовище його виконання і показати, який наслідок із цього визначення випливає для команди розробки. Третя — ввести розрізнення між сервісною та продуктовою моделлю ІТ-бізнесу, від якого залежить усе подальше: хто володіє результатом вашої роботи, які обмеження на вас накладаються і як вибудовується кар’єрна траєкторія.


1.1. Межі та результат курсу

Курс не є фундаментальним. Він не викладає теоретичних основ і не містить математичної складової. Його предмет — процеси, які склалися на ринку ІТ-послуг протягом останніх приблизно п’ятнадцяти років.

Заявлений результат: high-level розуміння того, як будується ІТ-бізнес — від ідеї до першого прибутку, включно з процесами закриття бізнесу. Повний цикл: формалізація ідеї → залучення клієнтів → залучення фінансування → формування команди → створення супровідних документів → робочі практики й рутини → завершення проєкту, вивільнення людей, закриття.

Основний фокус — сервісна модель, тобто робота компанії як постачальника послуг. Продуктова модель розглядається як обов’язковий, але менший за обсягом контур.

Наскрізний приклад предметної області — embedded, вбудовані системи.

Форма контролю

Definition of Done курсу — залік. Проміжні точки:

Точка Момент Форма
Атестація 1 кінець першої третини семестру демонстрація напрацювань групового проєкту
Атестація 2 кінець другої третини семестру те саме, наступна стадія
Залік кінець семестру завершена бізнес-модель

Потік ділиться на 6–7 команд. Формування команд — самоорганізація студентів; викладач задає лише розмір групи. Обґрунтування: нав’язаний партнер у команді — гарантована проблема, і жодна методика цього не компенсує.

Кожна команда пропонує власну міні-бізнес-модель навколо embedded-виробу, який обов’язково містить програмну, апаратну та механічну складові (див. 2.4). Для кожної атестації окремо задається свій definition of done — який саме стан «бізнесу» має бути досягнутий.

Термінологічний режим

Курс свідомо використовує англіцизми і змішану термінологію. Це не недбалість, а відтворення реального мовного середовища галузі: технічна комунікація в сервісних компаніях ведеться саме так. Студентам дозволено і рекомендовано користуватися тією самою лексикою.


1.2. Що таке вбудоване програмне забезпечення

Робоче визначення

Вбудоване програмне забезпечення — це ПЗ, яке виконується у наперед визначеному, апаратно обмеженому середовищі, спроєктованому спеціально під нього.

Три ознаки, які мають виконуватися одночасно:

  1. Обмежені ресурси — пам’ять, частота, енергоспоживання, периферія.
  2. Прив’язка до конкретного таргета — ПЗ заточене під конкретний апаратний виріб, а не під клас машин.
  3. Ієрархія абстракцій — від бізнес-логіки до фізичного рівня.

Формально під цей опис можна підвести майже будь-яке ПЗ. Відмінність embedded у тому, що воно відповідає йому найпростішим способом, без натяжок.

Дві топології

Практично всі embedded-системи зводяться до однієї з двох конфігурацій.

Топологія A — bare-metal.

Application (бізнес-логіка)
        ↓
HAL (Hardware Abstraction Layer)
        ↓
Hardware

Ви берете мікроконтролер (STM32, Atmel, NXP), відкриваєте IDE вендора, підключаєте його HAL-бібліотеку і пишете бізнес-логіку, яка смикає цю бібліотеку напряму. Підхід дуже поширений і фінансово доцільний для невеликих систем.

Топологія B — з операційною системою.

Application (бізнес-логіка)
        ↓
Middleware (високорівневі драйвери, сервіси)
        ↓
Operating System (як правило, Linux-based)
        ↓
HAL / низькорівневі драйвери
        ↓
Hardware

Застосовується там, де потрібні вища гнучкість, робота з абстрактно вищими рівнями периферії або перевикористання великих обсягів чужого коду. Типовий приклад — система на Raspberry Pi, де треба підняти Ethernet, Wi-Fi, тунельовані протоколи, поштовий чи веб-сервіс. Писати це з нуля економічно безглуздо: спершу піде половина життя на написання, друга — на виправлення власних помилок. Reusing тут не компроміс, а норма.

Топологія B — беззаперечний чемпіон у великих системах: automotive, aerospace, military, industrial engineering, тобто скрізь, де коду дуже багато.

Сфери застосування

Вбудовані системи поширилися з 1950-х років: military, industrial engineering (верстати, автоматизовані лінії), aerospace, automotive (ECU), home and office use. Підходи в усіх цих галузях плюс-мінус однакові — різниться лише ступінь строгості.

Ключовий наслідок

Обидві топології, попри всю різницю, закінчуються однаково: на піні мікросхеми з’являється електричний сигнал із певною напругою, частотою і формою фронтів. Embedded завжди виводить вас із логічного світу у фізичний. Саме з цього випливає весь зміст підрозділу 1.3.


1.3. Наслідок фізичності: безпека і тестування

Запитання, яке ставилося аудиторії

Які додаткові накладні витрати виникають при розробці ПЗ, що виконується на залізі? Куди інженерам і менеджменту треба дивитися найпильніше?

Відповідь: тестування.

Аргумент простий. Вбудована система ізольована. У топології A після деплою на залізо вона стає атомарним юнітом: дослідити її зсередини вже не можна, а якщо помилка виявилася після виготовлення партії плат — це прямі фінансові втрати. У топології B ситуація м’якша: залишається можливість runtime-діагностики, дебагу і навіть зміни бізнес-логіки після деплою. Це серйозна перевага таких систем — але, як буде показано нижче, вона ж є їхньою вразливістю.

Зробити якісне ПЗ — це не написати його. Це його протестувати.

Кейс К-1.1. Верстат і watchdog

Ви розробляєте систему керування верстатом. Оператор аварійно зупинив верстат і поліз руками виймати заготовку. У коді працює watchdog-таймер, який ви забули занулити. Чіп ребутнувся, система запустилася.

Наслідок — травма або втрата працездатності оператора, довічні зобов’язання роботодавця, і, окремо, ваша відповідальність як розробника. Помилка в одному рядку коду перетворилася на подію у фізичному світі.

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

Функційна безпека

Функційна безпека (functional safety) — властивість системи не створювати неприйнятного ризику внаслідок власної некоректної поведінки. Джерело проблеми тут — ненавмисна помилка: некомпетентність, брак часу, дефект, який не був виявлений на тестуванні й дійшов до деплою.

Наслідки ранжуються за тяжкістю — від простого malfunction (функція не відпрацьовує) через пошкодження компонентів до шансу травмування людини, високого шансу травмування, шансу загибелі й гарантованої загибелі.

Відповідно ранжуються і класи функційної безпеки. У шкалі ISO 26262 це рівні ASIL:

Рівень Зміст
QM Quality Management — достатньо звичайних процесів забезпечення якості
ASIL A найнижчий рівень вимог до безпеки
ASIL B
ASIL C
ASIL D найвищий рівень вимог

Чим вищий клас — тим вищі ставки й тим суворіші вимоги до процесу. Для кожного класу існують свої підходи до тестування.

ISO 26262 — фундаментальний стандарт, історично автомобільний, який згодом розгалузився в похідні редакції для industrial, aerospace, military, medical та інших галузей.

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

Кібербезпека

Кібербезпека відрізняється від функційної безпеки джерелом проблеми. Тут за подією стоїть зловмисник, який діє навмисно, щоб система поводилася не так, як задумано, або так, як потрібно йому.

Розрізнення принципове:

Функційна безпека Кібербезпека
Джерело помилка, недогляд, брак ресурсу навмисні дії людини
Характер випадковий цілеспрямований
Захист процес розробки, верифікація, тестування архітектура захисту, моніторинг, оновлення

Цікавий парадокс двох топологій:

  • Топологія A — складна в дебазі, негнучка, важка для тестування. Саме через негнучкість вона непогано захищена від зовнішнього втручання.
  • Топологія B — гнучка, дозволяє runtime-дебаг, runtime-зміну ПЗ. Саме тому вона вразливіша і є основною зоною інтересу для атак.

Обидві складові — функційна безпека і кібербезпека — є обов’язковими вимогами до розробки ПЗ відповідних класів і предметом окремих умов, які замовник виставляє виконавцю.

Точка входу в розробку

З чого починається правильна побудова системи, вибір підходів і архітектури?

Відповідь банальна і водночас принципова: з розмови з клієнтом. Розмови, яка обов’язково має бути формалізована у вигляді системних вимог і специфікацій (System Requirements).

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


1.4. З чого починається ІТ-бізнес

Ідея чи гроші

На запитання до аудиторії прозвучали дві відповіді: «з ідеї» і «з бажання заробляти гроші». Обидві правильні — але тільки разом.

  • Ідея без ресурсу залишається гарною темою для розмови за пивом.
  • Ресурс без ідеї — просто привід випити те пиво.

Ідея забезпечує революційний стрибок: вона робить те, що потім куплять. Приклади, наведені на лекції: поява персонального комп’ютера у форматі лептопа, яка вибила IBM із великого сегмента ринку; поява вдалої реалізації AI, яка зараз перебудовує цілі галузі. Ця логіка не обмежується бізнесом — під час війни інженерія так само забезпечує перевагу, і гроші не завжди здатні замінити ідею.

Гроші при цьому — не самоціль, а зручно вимірювана конвертація ресурсів.

Ланцюг «ідея → технологія → гроші»

В академічному середовищі ідея є в кожного. Кожен розвиває власну теорію, публікує статті, веде НДР. При цьому практично жодна з цих ідей не зробила своїх авторів заможними. Причин дві:

  1. Не було ресурсу, щоб довести ідею до розгорнутого стану.
  2. Ідея не була перетворена на технологію.

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

ідея → [ресурс] → технологія → [ринок] → гроші

Розрив на будь-якому кроці зупиняє весь ланцюг.

Дві моделі

Продуктова компанія. Ідея ваша або вашого компаньйона. Ви власними ресурсами доводите її до технології, набираєте штат, здатний відтворювати й розгортати продукт, захищаєте його від копіювання. Результат — інтелектуальна власність, яка належить вам.

Сервісна компанія. Ідея чужа. Її власник має гроші, вірить у неї і фінансує вас. Ви передаєте людські, технологічні й апаратні ресурси; він компенсує вам витрачений час грішми. Так працюють N-iX, GlobalLogic, SoftServe та інші. Це надання послуги з перетворення чужої ідеї на технологію для подальшої комерціалізації.

Мета в обох випадках однакова — виграш у конкурентній боротьбі.


1.5. Інтелектуальна власність і NDA

Два обмеження, які накладаються на вас у кожній із моделей.

Сервісна компанія

Золоте правило: IP залишається за клієнтом.

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

Наслідок, який варто усвідомити: власник сервісної компанії не є власником її розробок. Власники — клієнти цієї компанії.

NDA (Non-Disclosure Agreement) — угода про нерозголошення. Як учасник проєкту — розробник, тестувальник, менеджер — ви не маєте права розповідати про нього нікому, хто не має такого самого NDA. У межах компанії — можна, за межами — ні.

Продуктова компанія

Механіка та сама, змінюється лише коло осіб.

Категорія IP NDA
Власники, засновники, співвласники (записані в статуті) належить їм не підписують — на власний розсуд
Наймані працівники: директори, віцепрезиденти, менеджмент, інженери не мають підписують обов’язково

Приклад української продуктової компанії, наведений на лекції, — Ajax Systems.

Обмеження NDA на практиці

NDA працює, але не бездоганно. Показові ситуації:

  • Звільнений співробітник. Формально він під NDA, фактично він уже поза компанією. Робоче правило: обговорювати з ним лише ту стадію проєкту, у якій він був залучений.
  • Сім’я. Повна ізоляція інформації в побуті неможлива, і всі це розуміють.

Витік інформації йде завжди. Найкраще правило залишається неформальним і історичним: про роботу мовчать.


1.6. Кар’єрна траєкторія: рекомендація автора

Матеріал цього підрозділу — позиція автора, сформована на власному досвіді, зокрема в ролі hiring-менеджера. Це не галузева норма, а обґрунтована рекомендація.

Чому не варто починати зі свого бізнесу

Досвід накопичується через помилки. Розумна людина набиває ґулі за чужий кошт. Тому як точка входу рекомендується найм, а не власна справа.

Чому сервісна компанія

Порівняно з продуктовою, сервісна модель вигідніша як стартова:

  1. Продуктова компанія захищає свої інтереси значно жорсткіше.
  2. Сервісна компанія дає величезний асортимент проєктів, підходів, практик і методик. Проєкт закінчився — ви перейшли на наступний, потім ще на один. За кілька років ви бачите десяток різних конфігурацій замість однієї.

Правило двох років

Рекомендація: близько двох років на компанію, 1–2 проєкти, потім перехід.

Чому не менше. З погляду hiring-менеджера, який особисто співбесідує кандидатів і читає CV: у людину вклали гроші на hiring, потім на onboarding і навчання. Якщо вона йде через 6–12 місяців — інвестиція не відбилася. Це червоний прапорець у резюме.

Два роки виглядають нормально: приблизно 7 місяців onboarding і адаптації, далі півтора року продуктивної роботи. Інвестиція відбита, прибуток компанії принесений, досвід отриманий.

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

Траєкторія цілком

1. 2–3 компанії × 1–2 проєкти          ~4–6 років, junior → senior
   мета: побачити різні процеси, тули, сетапи команд

2. Довгий марафон: 1–2 проєкти, 4+ роки в одній компанії
   мета: пройти ПОВНИЙ цикл проєкту —
   як він заходить у компанію, стартує, вибудовується,
   виходить у сталий режим, завершується, як робиться handover

3. Рух назад по воронці
   delivery → lead → pre-sale
   мета: побачити, як компанія взагалі отримує клієнтів

4. Власний бізнес

Крок 3 варто пояснити окремо. Спершу ви бачите проєкт зсередини delivery. Потім треба дослідити точку, у якій lead переходить у delivery. Потім — як lead перетворюється на клієнта. І нарешті — як невідома компанія взагалі перетворюється на lead. Цим займаються Sales Management і Marketing Department, які будують цілу піраміду дій для конвертації.

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

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

Аргумент про горизонт

Ніхто не залишається інженером, менеджером чи директором вічно. Інтелектуальна форма з часом втрачається, і кар’єра закінчується. Тому рано чи пізно варто мати щось власне — бізнес, у якому ви господар і будуєте процеси за власним досвідом: що працює, а що ні; чого бракувало; що було зайвим.

Коли цей обсяг власних істин накопичився, є ресурси і є світла ідея — можна стартувати.


1.7. Ключові терміни

Термін Оригінал Визначення
Т-1.1 Вбудоване ПЗ Embedded software ПЗ, що виконується в наперед визначеному, апаратно обмеженому середовищі, спроєктованому під нього
Т-1.2 Рівень апаратної абстракції HAL, Hardware Abstraction Layer Шар, що приховує особливості конкретного заліза за уніфікованим програмним інтерфейсом
Т-1.3 Проміжне ПЗ Middleware Шар сервісів і високорівневих драйверів між застосунком та ОС
Т-1.4 Блок керування ECU, Electronic Control Unit Електронний обчислювальний вузол у складі транспортного засобу або машини
Т-1.5 Функційна безпека Functional safety Відсутність неприйнятного ризику внаслідок некоректної поведінки самої системи
Т-1.6 Клас функційної безпеки ASIL, QM / A / B / C / D Шкала вимог до безпеки за ISO 26262
Т-1.7 Кібербезпека Cybersecurity Захист від навмисних дій зловмисника
Т-1.8 Системні вимоги System Requirements Формалізований результат розмови з клієнтом; вихідна точка розробки
Т-1.9 Інтелектуальна власність IP, Intellectual Property Права на результат розробки
Т-1.10 Угода про нерозголошення NDA, Non-Disclosure Agreement Заборона розголошення інформації про проєкт
Т-1.11 Сервісна компанія Service company Реалізує чужу ідею за чужі гроші власними ресурсами; IP залишається клієнту
Т-1.12 Продуктова компанія Product company Реалізує власну ідею власними ресурсами; IP залишається у власників
Т-1.13 Критерій завершеності DoD, Definition of Done Умова, за якої роботу вважають виконаною
Т-1.14 Лід Lead Потенційний клієнт, який виявив інтерес, але ще не уклав угоди

1.8. Контрольні запитання

  • З-1.1. Сформулюйте три ознаки, за сукупністю яких ПЗ вважають вбудованим. Чому жодна з них окремо не є достатньою?
  • З-1.2. Опишіть дві типові топології embedded-системи. Для яких класів задач доцільна кожна з них і чому?
  • З-1.3. Чому тестування є основною статтею накладних витрат саме у вбудованих системах, а не в ПЗ загалом?
  • З-1.4. У чому принципова відмінність між функційною безпекою та кібербезпекою? Наведіть по одному прикладу відмови кожного типу.
  • З-1.5. Поясніть парадокс: чому гнучкіша архітектура з операційною системою є водночас зручнішою для розробника і вразливішою для атак?
  • З-1.6. Чому ідея сама по собі не приносить грошей? Опишіть повний ланцюг перетворення й назвіть, на якому кроці зупиняється більшість академічних розробок.
  • З-1.7. Хто є власником інтелектуальної власності в сервісній компанії і хто — у продуктовій? Заповніть таблицю для всіх категорій учасників.
  • З-1.8. Чому термін «компенсація» точніший за «зарплату» в контексті сервісної моделі?
  • З-1.9. Обґрунтуйте правило двох років з погляду hiring-менеджера. Які витрати компанія несе на нового співробітника?
  • З-1.10. Чому автор рекомендує рухатися по воронці у зворотному напрямку — від delivery до pre-sale, а не навпаки?

1.9. Примітки редактора

Розбіжності між усним мовленням на занятті й усталеною термінологією. Виправлені в тексті конспекту; фіксуються тут для звірки.

  1. NDA. На занятті прозвучало «Not Discussion Agreement». Коректно — Non-Disclosure Agreement.
  2. ECU. Прозвучало «Electrical Computing Unit». Коректно — Electronic Control Unit.
  3. SoC. Прозвучало «System of Uncrystal» (ймовірно, дефект транскрибування «System on Crystal»). Усталений термін — System on Chip.
  4. Найнижчий клас ASIL. Прозвучало «Quality Assurance». У ISO 26262 цей рівень позначається QM — Quality Management.
  5. RFQ. У наступному занятті розшифровано як «Request for Clarification or Quantity». Коректно — Request for Quotation. Виправлено в Р2.
  6. Кібербезпека. На занятті названо лише ISO 26262 як стандарт функційної безпеки; аналогічний профільний стандарт для кібербезпеки в automotive — ISO/SAE 21434. Варто додати явно, оскільки далі в курсі це знадобиться.
  7. Datування галузі. Твердження «поширення з 1950-х» подано як приблизний орієнтир. Для видання варто уточнити з конкретними віхами.

Матеріал, свідомо вилучений: організаційні оголошення (повітряна тривога, перерви, доступи до чату курсу й Google Drive), імена студентів у репліках з аудиторії, обговорення розміру груп у режимі реального часу, домовленості про індивідуальні зустрічі.

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