- •Життєвий цикл програмного забезпечення. Характеристика стадій життєвого циклу програмного забезпечення.
- •Основні поняття та підрозділи програмування.
- •Підходи щодо потрібних знань для програмування. Класи інструментальних засобів для мов програмування.
- •Платформи програмування. Архітектури обчислювальних систем.
- •Транслятор. Види трансляторів.
- •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.
12. Топологічна специфіка методологій програмування.
Методологія структурного імперативного програмування – підхід, що полягає в заданні хорошої топології імперативних програм, орієнтований на зменшення загальних затрат на розробку ПО.
Підхід базується на 2 принципах:
-
Послідовна декомпозиція алгоритму вирішення задачі зверху вниз
-
Використання структурного програмування
Методи:
-
Алгоритмічної декомпозиції зверху вниз – покрокова деталізація постановки задачі починаючи з більш загальної задачі
-
Модульної організації частин програми – розбиття програми на спеціальні компоненти – модулі
-
Структурного кодування – використання трьох основних керуючих конструкцій
Основна відмінність від класичної імперативної методології – структурність програм та використання трьох способах композиції операторів: послідовності 2 і більше операторів, дихотомічного вибору та повторенні
Клас задач відповідає класу задач імперативного програмування
13. Реалізаційна специфіка методологій програмування.
-
Методологія імперативного паралельного програмування
Підхід, в якому пропонується використання явних конструкцій для паралельного виконання вибраних частин програм.
Методи:
-
Синхронізації виконуваного коду – полягає в використанні спеціальних атомічних операцій для реалізації взаємодії між паралельно виконуючимися фрагментами програми.
Язикові підходи до програмування паралельних обчислювальних систем
-
Програмування на паралельній мові програмування (Ada)
-
Програмування на розповсюджених мовах, які розширені мовними розпаралелюючими конструкціями (C++, Pascal)
-
Програмування з додатковими вказаннями компілятору на рівні мов прагм
-
Програмування на розповсюджених мовах з використання комунікаціонних бібліотек та інтерфейсів для організаї між процесорної взаємодії.
-
Застосування засобів автоматичного розпаралелення послідовних програм такими інструментами, як компілятори
Мови: Algol-68, Concurrent Pascal, Modula-2, CSP, Edison, Ada, Occam, Concurrent Prolog, Linda, Oblig
-
Методологія логічного паралельного програмування
Логічне програмування допускає природнє паралельну реалізацію . Одною з найбільш поширених мов є Concurrent Prolog
Змінні даної мови мають ряд особливостей
-
Уніфікація захищеної змінної з незмінним термом призупиняється і тим самим призупиняє певний процес
-
Якщо змінну, яку чекає якийсь процес встановити рівною якомусь незмінному терму , то можна відновити цей процес
-
Одна і та ж змінна може бути захищеною з точки зору одного процесу і звичайною змінною з точки зору іншого
14. Генеалогія мов програмування
<wiki source>Генеалогія - родознавство, родовід, походження. </wiki>
Вплив мов одна на одну безсумнівний. Цей вплив обумовлено тим, що деякі фахівці брали участь у створенні декількох мов, і тим, що нові ідеї, з'являючись в одній мові, потім підтримувалися і розвивалися в інших. Існують цілі сімейства мов. Мабуть, найбільш чисельною є лінія алголоподібних мов, ведуча початок від Алгол-60, що з'явилась в 1960 році, зараз вже не використовується, але вплинула на весь подальший розвиток.