- •Інженерія програмного забезпечення
- •Загальні вимоги до програмного забезпечення
- •Процеси життєвого циклу програмного забезпечення
- •Керування процесом проектування програмного забезпечення
- •Прототипування програмних систем.
- •Архітектурне проектування програмних систем
- •Архітектура розподілених систем
- •Проектування систем реального часу
- •Об‘єктно-орієнтоване проектування програмних систем.
- •Візуальне проектування об‘єктно-орієнтованих систем
- •Динамічні моделі об‘єктно-орієнтованих систем
- •Моделі реалізації об‘єктно-орієнтованих програмних систем
- •Проектування інтерфейсу користувача
- •Тестування програм та систем
- •Структурне тестування програмного забезпечення.
- •Методи та засоби автоматизації тестування програмного забезпення
- •Системне програмування
- •Дати оцінку основним правилам автоматичного перетворення типів.
- •Розкрити сутність адресної арифметики при роботі з вказівниками.
- •Обґрунтувати алгоритм та представити програмний код для реалізації програми, що сумує з 0 по 3 біт першого числа та з 3 по 6 біт другого числа.
- •Розкрийте поняття програмна модель мікропроцесора.
- •Проаналізувати типи даних в мові асемблер.
- •Проаналізувати особливості роботи із масивами в мові асемблер.
- •Проаналізувати структуру програми мовами програмування з родини асемблерів(синтаксис ассемблера).
- •Організувати на асемблері ехе-програму, щоб перекодувати символи строки шляхом додавання до літери строки кодів символів таблиці(Код мовою Asembler).
- •Організувати ехе-програму , щоб перекодувати символи з однієї таблиці в іншу(код мовою асемблера).
- •Організація баз даних
- •Моделі даних: ієрархічна, мережева, реляційна, об‘єктно-реляційна, нереляційна.
- •NoSql або постреляційні бази даних
- •Реляційна модель даних. Операції реляційної алгебри.
- •Нормалізація відношень при проектування реляційної моделі.
- •Поняття первинних ключів. Роль функціональних залежностей. Зовнішні та батьківські ключі.
- •Нормалізація відношень: перша, друга та третя нормальні форми
- •Визначення другої нормальної форми. Правило приведення. Повна функціональна залежність.
- •Визначення третьої нормальної форми. Правило приведення. Транзитивна залежність.
- •Семантичне моделювання та когнітивний аспект.
- •Проектування баз даних: концептуальне, логічне, фізичне
- •Модель «сутність-зв‘язок» або er-модель
- •Нормалізація даних в er-моделі
- •Case-засоби проектування баз даних.
- •Мова маніпулювання даними sql. Побудова запитів.
- •Адміністрування даних. Засоби підтримки цілісності баз даних
Візуальне проектування об‘єктно-орієнтованих систем
Моделі аналізу і проектування об’єктно-орієнтованих програмних систем створюються мовами візуального моделювання.
Натепер розрізняють три покоління мов візуального моделювання. Перше покоління утворювалася 10 мовами, чисельність другого покоління вже перевищила 50 мов. Ідея уніфікації привела до появи мов третього покоління. Як стандартну мову третього покоління взято Unified Modeling Language (UML), що створювався в 1994–1997 рр. Г. Бучем, Дж. Рамбо, І. Джекобсоном.
UML – стандартна мова для написання моделей аналізу, проектування і реалізації об’єктно-орієнтованих програмних систем, яку можна використовувати для візуалізації, специфікації, конструювання і документування результатів програмних проектів. Моделі, що створюються за допомогою цієї мови, транслюються безпосередньо в текст мовами програмування Java, C++, Visual Basic, Ada 95, Object Pascal і навіть у таблиці для реляційної бази даних, підтримуються технології COM, DDL (Data Definition Language), можуть генеруватися схеми ORACLE, SQL та здійснювати зворотне проектування.
Словник UML утворюють три різновиди структурних блоків: предмети, відношення, діаграми.
Базовими об’єктно-орієнтованими структурними блоками UML є предмети, які використовуються для написання моделей. Є чотири різновиди предметів: структурні, поводження, груповані та пояснювальні.
Базовими структурними блоками, що використовуються для створення UML-моделей, є відношення. Розрізнюють чотири їх типи:
Залежність-семантичне відношення між двома предметами, у якому зміна в одному предметі (незалежному) може впливати на семантику іншого предмета (залежного)
Асоціація - структурне відношення, яке описує набір зв’язків, що з’єднує об’єкти
Узагальнення-відношення спеціалізації–узагальнення, у якому об’єкти спеціалізованого елемента (нащадка, дочки) можуть замінювати об’єкти узагальненого елемента (предка, батька). Інакше кажучи, нащадок розділяє структуру і поводження батька
Реалізація-семантичне відношення між класифікаторами, де один класифікатор визначає завдання, що інший класифікатор зобов’язується виконувати
Діаграма графічне зображення множини елементів, які мають вигляд зв’язного графу з вершин (предметів) і дуг (відношень). Їх набір візуалізує систему з різних точок зору, потім вони відображаються в програмну систему. Зазвичай діаграма дає неповне подання елементів, які складають систему. UML включає в себе десять видів діаграм: діаграма класів, діаграма об‘єктів, діаграма прецедентів, діаграма взаємодії, діаграма послідовності, діаграма кооперації, діаграма схем станів, діагрма діяльності, компонентна діаграма, діаграма розміщення.
Статичні моделі об’єктно-орієнтованих програмних систем забезпечують подання структури систем у термінах базових структурних блоків і їх відношень. Статичність цих моделей полягає в тому, що в них не показується динаміка змін системи в часі. Разом з тим варто розуміти, що ці моделі містять не лише структурні описи, але й опис операцій, що реалізовують задане поводження системи. Основним засобом для подання статичних моделей є діаграми класів. Вершини діаграм класів навантажені класами, а дуги (ребра) – їх відношенням. Діаграми використовуються:
під час аналізу для указання ролей і обов’язків сутностей, які забезпечують поводження системи;
у ході проектування для фіксації структури класів, які формують системну архітектуру.