- •Життєвий цикл програмного забезпечення. Характеристика стадій життєвого циклу програмного забезпечення.
- •Основні поняття та підрозділи програмування.
- •Підходи щодо потрібних знань для програмування. Класи інструментальних засобів для мов програмування.
- •Платформи програмування. Архітектури обчислювальних систем.
- •Транслятор. Види трансляторів.
- •7. Трансляція програмного коду. Етапи та фази.
- •8. Регулярні вирази: призначення і галузі застосування.
- •9. Методології і парадигми програмування. Моделі, що зумовили розвиток методологій.
- •10. Класифікація методологій програмування.
- •11. Ядра методологій програмування.
- •12. Топологічна специфіка методологій програмування.
- •13. Реалізаційна специфіка методологій програмування.
- •14. Генеалогія мов програмування
- •15. Особливості імперативних та об’єктно-орієнтованих мов програмування.
- •16. Особливості функціональних і логічних мов програмування.
- •17. Шаблонізатори: принцип застосування і призначення при створенні програмного забезпечення.
- •18. Основні поняття технології програмування.
- •19. Класичні технологічні процеси.
- •20 Перелічім, стандартні технологічні процеси створення Пз
- •22 Основні технологічні підходи поділяють на такі групи:
- •23 Технологія асинхронного обміну повідомленнями у клієнт-серверній архітектурі.
- •24 Поняття Стиль в програмуванні
- •25 Колективна розробка пз
- •Тестирование «черного ящика»
- •Тестирование «белого ящика»
- •45. Основні поняття розподілених обчислень.
- •46. Поняття про паралельне програмування.
- •47. Закон Амдала для розподілених систем та його наслідки.
- •48. Класифікація паралельних комп’ютерів і систем. Класифікація Шора
- •49. Принципи побудови паралельних обчислювальних систем. Обчислювальні мережі окремий випадок розподілених систем
- •Мультипроцесорні комп'ютери
- •Багатомашинні системи
- •Обчислювальні мережі
- •50. Концепція Grid.
15. Особливості імперативних та об’єктно-орієнтованих мов програмування.
Імперативне програмування — парадигма програмування, згідно з якою описується процес отримання результатів як послідовність інструкцій зміни стану програми.
Процедурне (імперативне) програмування є відображенням архітектури традиційних ЕОМ, яка була запропонована фон Нейманом в 1940-х роках. Теоретичною моделлю процедурного програмування служить алгоритмічна система під назвою Машина Тюрінга.
Програма на процедурній мові програмування складається з послідовності операторів (інструкцій), та виразів, які керують її виконанням. Типовими операторами є оператори присвоєння, вводу-виводу, керування та циклу.
Імперативні мови програмування протиставляються функціональним і логічним мовам програмування.
Об’єктно-орієнтоване програмування – методологія програмування, що ґрунтується на поданні програми у вигляді набору об’єктів, кожен з яких є екземпляром певного класу, а класи утворюють ієрархію наслідування.
Як випливає з означення, програма буде об’єктно-орієнованою тільки тоді, коли виконуються три основні вимоги: 1) як базові елементи використовуються об’єкти, а не алгоритми; 2) кожен об’єкт є екземпляром певного класу; 3) класи організовано ієрархічно.
До об’єктно-орієнованих мов програмування можна віднести Smalltalk, (чистий), C++, Object Pascal, CLOS, Java (гібридні), Ada (об’єктний).
16. Особливості функціональних і логічних мов програмування.
Функціональне та логічне програмування об'єднують у так звану парадигму декларативного програмування (від лат. declarativus - описовий), під якою розуміються спосіб і стиль програмування, в якому основним методом є опис деяких об'єктів без визначення послідовності дій. Тим самим декларативне програмування часто протиставляється імперативного.
Програма на функціональній мові складається з сукупності визначених функцій. Функції, в свою чергу, можуть викликати інші функції. Обчислення починається з виклику деякої функції. Чисте функціональне програмування не має присвоєнь та засобів передачі керування. Повторні обчислення здійснюються за допомогою рекурсії, яка є основним засобом функціонального програмування
Логічне програмування – вивчає методи і можливості, засновані на виведенні нових фактів з даних фактів згідно із заданими логічними правилами.
Функціональне програмування – LISP, Haskell, ML ...
Логічне програмування – Prolog, Mercury, Planner, Conniver, QLISP...
17. Шаблонізатори: принцип застосування і призначення при створенні програмного забезпечення.
Основною метою застосування шаблонізаторів є відмежування представлення даних від виконуваного коду (не плутати із концепцією шаблону проектування програмного забезпечення MVC). Найчастіше це необхідно для забезпечення можливості паралельної роботи програміста і дизайнера-верстальника, тому часто шаблонізатор є модулем CMS систем.
Шаблонізатор (web) – це програмне забезпечення, яке дозволяє використовувати html-шаблони для генерації кінцевих html-сторінок. Іншими словами, це програма, яка створена для того, щоб зробити розділення логіки представлення і бізнес-логіки більш зручним.
Найпростішу схему роботи шаблонізатора можна представити так: