- •Інженерія програмного забезпечення
- •Загальні вимоги до програмного забезпечення
- •Процеси життєвого циклу програмного забезпечення
- •Керування процесом проектування програмного забезпечення
- •Прототипування програмних систем.
- •Архітектурне проектування програмних систем
- •Архітектура розподілених систем
- •Проектування систем реального часу
- •Об‘єктно-орієнтоване проектування програмних систем.
- •Візуальне проектування об‘єктно-орієнтованих систем
- •Динамічні моделі об‘єктно-орієнтованих систем
- •Моделі реалізації об‘єктно-орієнтованих програмних систем
- •Проектування інтерфейсу користувача
- •Тестування програм та систем
- •Структурне тестування програмного забезпечення.
- •Методи та засоби автоматизації тестування програмного забезпення
- •Системне програмування
- •Дати оцінку основним правилам автоматичного перетворення типів.
- •Розкрити сутність адресної арифметики при роботі з вказівниками.
- •Обґрунтувати алгоритм та представити програмний код для реалізації програми, що сумує з 0 по 3 біт першого числа та з 3 по 6 біт другого числа.
- •Розкрийте поняття програмна модель мікропроцесора.
- •Проаналізувати типи даних в мові асемблер.
- •Проаналізувати особливості роботи із масивами в мові асемблер.
- •Проаналізувати структуру програми мовами програмування з родини асемблерів(синтаксис ассемблера).
- •Організувати на асемблері ехе-програму, щоб перекодувати символи строки шляхом додавання до літери строки кодів символів таблиці(Код мовою Asembler).
- •Організувати ехе-програму , щоб перекодувати символи з однієї таблиці в іншу(код мовою асемблера).
- •Організація баз даних
- •Моделі даних: ієрархічна, мережева, реляційна, об‘єктно-реляційна, нереляційна.
- •NoSql або постреляційні бази даних
- •Реляційна модель даних. Операції реляційної алгебри.
- •Нормалізація відношень при проектування реляційної моделі.
- •Поняття первинних ключів. Роль функціональних залежностей. Зовнішні та батьківські ключі.
- •Нормалізація відношень: перша, друга та третя нормальні форми
- •Визначення другої нормальної форми. Правило приведення. Повна функціональна залежність.
- •Визначення третьої нормальної форми. Правило приведення. Транзитивна залежність.
- •Семантичне моделювання та когнітивний аспект.
- •Проектування баз даних: концептуальне, логічне, фізичне
- •Модель «сутність-зв‘язок» або er-модель
- •Нормалізація даних в er-моделі
- •Case-засоби проектування баз даних.
- •Мова маніпулювання даними sql. Побудова запитів.
- •Адміністрування даних. Засоби підтримки цілісності баз даних
Проектування систем реального часу
Системи реального часу відрізняються від інших типів програмних систем. Їхнє коректне функціонування залежить від здатності системи реагувати на події через заданий (як правило, короткий) інтервал часу. Ось як можна визначити систему реального часу:
Система реального часу - це програмна система, правильне функціонування якої залежить від результатів її роботи та від періоду часу, протягом якого отримано результат. "М'яка" система реального часу - це система, в якій операції видаляються, якщо протягом певного інтервалу часу не видано результату. "Жорстка" система реального часу – це система, операції якої стають некоректними, тобто. виробляється сигнал про помилку, якщо протягом певного проміжку часу результат не виданий.
Систему реального часу можна розглядати як систему "стимул-відгук". При отриманні певного вхідного стимулу (вхідного сигналу) система генерує пов'язаний з ним відгук (відповідь або відповідь сигнал). Отже, поведінку системи реального часу можна визначити за допомогою списку вхідних сигналів, одержуваних системою, пов'язаних з ними сигналів у відповідь (відгуків) і інтервалу часу, протягом якого система повинна відреагувати на вхідний сигнал.
Вхідні сигнали поділяються на два класи:
1. Періодичні сигнали, що відбуваються через визначені інтервали часу. Наприклад, система перевіряє датчик кожні 50 мілісекунд, і робить дії (реагує) залежно від значень, отриманих від датчика (стимулу).
2. Аперіодичні сигнали відбуваються нерегулярно. Прикладом аперіодичного сигналу може бути переривання, яке виробляється після завершення передачі вхід/вихід та розміщення даних у буфері обміну.
У системах реального часу періодичні вхідні сигнали зазвичай генеруються сенсорами (датчиками), що взаємодіють із системою. Вони надають інформацію про стан зовнішнього оточення системи. Системні відгуки (відповідні сигнали) направляються групі виконавчих механізмів, що керують апаратними пристроями, які потім впливають на оточення системи. Аперіодичні вхідні сигнали можуть генеруватися і детекторами, і виконавчими механізмами. Як правило, аперіодичні сигнали означають виняткові ситуації, наприклад, помилки в роботі апаратури.
Системи реального часу повинні реагувати на вхідні сигнали, що відбуваються у різні моменти часу. Отже, архітектуру такої системи необхідно організувати так, щоб управління переходило до відповідного оброблювача якнайшвидше після отримання вхідного сигналу. У послідовних програмах такий механізм передачі керування неможливий. Тому зазвичай системи реального часу проектують як безліч паралельних процесів, що взаємодіють. Частина системи - програма, що керує, часто звана диспетчером, - управляє всіма процесами.
Більшість моделей "стимул-відгук" систем реального часу зводяться до узагальненої архітектурної моделі, що складається із трьох типів процесів. До кожного типу сенсора є процес управління сенсором; обчислювальний процес визначає необхідний сигнал у відповідь на отриманий системою вхідний сигнал; процеси управління виконавчими механізмами керують діями цих механізмів. Така модель дозволяє швидко зібрати дані з усіх наявних сенсорів (до того, як відбудеться наступне введення даних), обробити їх і отримати сигнал у відповідь від відповідного виконавчого механізму.