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