Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Всі відповіді СП.docx
Скачиваний:
10
Добавлен:
28.01.2023
Размер:
217.28 Кб
Скачать

Зміст

1. Інженерія програмного забезпечення 2

1.1 Загальні вимоги до програмного забезпечення 2

1.2 Процеси життєвого циклу програмного забезпечення 3

1.3 Керування процесом проектування програмного забезпечення 4

1.4 Прототипування програмних систем. 4

1.5 Архітектурне проектування програмних систем 5

1.6 Архітектура розподілених систем 6

1.7 Проектування систем реального часу 7

1.8 Об‘єктно-орієнтоване проектування програмних систем. 7

1.9 Візуальне проектування об‘єктно-орієнтованих систем 8

1.10 Динамічні моделі об‘єктно-орієнтованих систем 9

1.11 Моделі реалізації об‘єктно-орієнтованих програмних систем 9

1.12 Проектування інтерфейсу користувача 10

1.13 Тестування програм та систем 11

1.14 Структурне тестування програмного забезпечення. 11

1.15 Методи та засоби автоматизації тестування програмного забезпення 12

2. Системне програмування 13

2.1 Дати оцінку основним правилам автоматичного перетворення типів. 13

2.2 Проаналізувати роботу з масивами вказівників і багатовимірними масивами в мові С++. 14

2.3 Розкрити сутність адресної арифметики при роботі з вказівниками. 15

2.4 Проаналізувати можливості динамічного виділення пам’яті під масиви в мові С++. 16

2.5 Проаналізувати роботу з класами пам’яті в мові С++. 17

2.6 Обгрунтувати алгоритм та представити програмний код для розміщення чотирьох однобайтових змінних у змінній типу int (код мовою С++) 18

2.7 Обґрунтувати алгоритм та представити програмний код для реалізації програми, що сумує з 0 по 3 біт першого числа та з 3 по 6 біт другого числа. 19

2.8 Обгрунтувати алгоритм та представити програмний код для реалізації заповнення рядку випадковими значеннями (від -50 до 50) і розробити функцію, що виконує таку обробку символьного рядку: підрахувати кількість сусідніх елементів з однаковими значеннями. При реалізації забороняється користуватися функціями бібліотек мови С++(код мовою С++) 20

2.9 Розкрийте поняття програмна модель мікропроцесора. 21

2.10 Проаналізувати типи даних в мові асемблер. 22

2.11 Проаналізувати особливості роботи із масивами в мові асемблер. 24

2.12 Проаналізувати структуру програми мовами програмування з родини асемблерів(синтаксис ассемблера). 25

2.13 Організувати на асемблері ехе-програму, щоб перекодувати символи строки шляхом додавання до літери строки кодів символів таблиці(Код мовою Asembler). 26

2.14 Організувати ехе-програму , щоб перекодувати символи з однієї таблиці в іншу(код мовою асемблера). 27

2.15 Обгрунтувати алгоритм та представити програмний код для реалізації на асемблері ехе-програму, щоб перекодувати символи строки шляход додавання до літер випадкового симвому(код мовою асемблер) 29

3. Організація баз даних 32

3.1 Моделі даних: ієрархічна, мережева, реляційна, об‘єктно-реляційна, нереляційна. 32

3.2 NoSQL або постреляційні бази даних 32

3.3 Реляційна модель даних. Операції реляційної алгебри. 33

3.4 Нормалізація відношень при проектування реляційної моделі. 33

3.5 Поняття первинних ключів. Роль функціональних залежностей. Зовнішні та батьківські ключі. 34

3.6 Нормалізація відношень: перша, друга та третя нормальні форми 35

3.7 Визначення другої нормальної форми. Правило приведення. Повна функціональна залежність. 35

3.8 Визначення третьої нормальної форми. Правило приведення. Транзитивна залежність. 36

3.9 Семантичне моделювання та когнітивний аспект. 37

3.10 Проектування баз даних: концептуальне, логічне, фізичне 37

3.11 Модель «сутність-зв‘язок» або ER-модель 38

3.12 Нормалізація даних в ER-моделі 39

3.13 CASE-засоби проектування баз даних. 39

3.14 Мова маніпулювання даними SQL. Побудова запитів. 40

3.15 Адміністрування даних. Засоби підтримки цілісності баз даних 41

  1. Інженерія програмного забезпечення

    1. Загальні вимоги до програмного забезпечення

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

Термін вимоги до програмної системи трактується по-різному. У деяких випадках під вимогами розуміють високорівневі узагальнені твердження про функціональні можливості й обмеження системи. Інший крайній випадок – деталізований математичний формальний опис системних функцій.

Проблеми, що виникають у процесі розроблення вимог, спричиняються відсутністю чіткого розуміння розбіжності між різними рівнями вимог. Щоб розрізнити вимоги різних рівнів, використовують терміни користувацькі вимоги для позначення високорівневих узагальнених вимог і системні вимоги для деталізованого опису виконуваних системою функцій. Крім вимог цих двох рівнів, застосовується більш деталізований опис системи  проектна специфікація на систему, яка є «містком» між етапами розроблення вимог і проектування системи. Наведемо такі визначення.

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

2. Системні вимоги – деталізований опис системних функцій і обмежень, що іноді називають функціональною специфікацією.

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

Вимоги до програмної системи часто класифікуються як функціональні, нефункціональні та вимоги предметної галузі.

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

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

3. Вимоги предметної галузі характеризують сферу експлуатації системи. Ці вимоги можуть бути функціональними і нефункціональними

Специфікація функціональних вимог повинна бути комплексною і несуперечливою. Комплексність – це опис (визначення) всіх системних сервісів. Несуперечність означає відсутність несумісних і взаємовиключних визначень сервісів.

Нефункціональні вимоги безпосередньо не стосуються функцій, виконуваних системою. Вони пов’язані з інтеграційними властивостями системи, до яких належать надійність, час відповіді або розмір системи. Крім того, нефункціональні вимоги можуть визначати обмеження на систему, наприклад на пропускну здатність пристроїв уведення-виведення, або формати даних, використовуваних у системному інтерфейсі.

Вимоги предметної галузі відображають умови, у яких буде експлуатуватися програмна система. Їх можна подати у вигляді:  нових функціональних вимог;  обмежень уже сформульованих функціональних вимог;  указівок до виконання обчислень системою. Ці вимоги дуже важливі, оскільки відображають ту предметну галузь, де буде використовуватися система, що проектується. Невиконання вимог предметної галузі може призвести до виходу системи з ладу