- •1. Основні ознаки розподілених програмних систем.
- •2. Характеристики розподілених систем, що впливають на продуктивність обчислень.
- •3. Характеристики розподілених систем, що впливають на надійність обчислень.
- •4. Характеристики розподілених систем, що впливають на економію ресурсів.
- •6. Недоліки розподілених систем, що пов’язані з їх використанням.
- •7. У чому полягає складність розробки розподілених систем?
- •8. Основні види архітектур розподілених систем.
- •9. Особливості архітектури клієнт/сервер.
- •10. Види архітектур клієнт/сервер та галузі їх застосування.
- •11. Особливості застосування архітектури Клієнт / сервер на Основі тонкого клієнта.
- •12. Особливості застосування архітектури Клієнт / сервер на Основі Товстого клієнта.
- •13. Особлівості багаторівневої архітектури Клієнт / сервер.
- •14. Характеристики архітектури розподіленіх об'єктів.
- •15. Основні Переваги архітектури розподіленіх об'єктів.
- •16. Основні недолікі архітектури розподіленіх об'єктів.
- •17. Характеристика систем реального часу.
- •18. Класифікація систем реального часу за типами вхідніх сігналів.
- •19. Особливості проектування систем реального часу.
- •20. Засоба підвіщення продуктівності систем реального часу.
- •21. Моделі систем реального часу.
- •22. Вимоги до засобів програмування систем реального часу.
- •23. Керуючі компоненти систем реального часу.
- •24. Компоненти, що підвищують надійність систем реального часу.
- •25. Особливості керування процесами в системах реального часу.
- •26. Види інтерфейсів користувача та їх особливості.
- •27. Переваги та недоліки графічного інтерфейсу користувача.
- •28. Особливості проектування інтерфейсу користувача.
- •29. Основні засади проектування інтерфейсу користувача.
- •31 Основні види взаємодії користувача і програми та сфери їх застосування.
- •32 Недоліки та переваги основних видів взаємодії користувача з програмою.
- •33 Способи подання інформації користувачу.
- •34 Основні правила використання кольору в інтерфейсах користувача.
- •35 Засоби інтерфейсу спрямовані на підтримку користувача.
- •36 Основні види документації для користувачів програмних систем.
- •37 Основні складові надійності програмних систем.
- •38 Обґрунтування потреби у високонадійних програмних системах.
- •39 Поняття критичної системи.
- •40 Основні типи критичних систем.
- •41. Основні джерела відмов та підходи до проектування критичних систем.
- •42. Основні підходи для підвищення безвідмовності систем.
- •43. Рівні безпечності програмних систем.
- •44. Способи підвищення безпечності програмних систем.
- •45. Типи пошкоджень систем, що викликаються зовнішніми чинниками.
- •46. Засоби підвищення захищеності програмних систем.
- •47 Основні підходи до проектування надійного програмного забезпечення.
- •48 Основні вимоги до розробки безвідмовного програмного забезпечення.
- •49. Конструкції мов програмування, що потенційно можуть призвести помилок.
- •50. Методи програмування, що потенційно можуть призвести до помилок.
- •51. Укривання даних, як спосіб підвищення надійності програмування.
- •52. Технологічні заходи мінімізації числа відмов у програмних системах.
- •53. У проблемі безвідмовності виділяють чотири аспекти.
- •54. Існує два підходи, що використовуються для розробки пз, стійкого до збоїв.
- •55. Обробка виключень в мовах програмування як засіб підвищення надійності.
- •56.Основні типи виявлення збоїв у програмних системах.
- •57. Способи локалізації помилок та пошкоджень даних в програмах.
- •58. Види стійких до відмов архітектур.
- •59. Основні підходи до створення стійкого до відмов програмного забезпечення.
- •60. Шляхи досягнення відмінностей між різними версіями програмного забезпечення. Досягти відмінності між різними версіями пз можна також такими способами:
53. У проблемі безвідмовності виділяють чотири аспекти.
Виявлення помилок і збоїв. Система повинна виявляти стан "збою", який може призвести до її відмови.
Локалізація збоїв. Визначення тієї частини системи, в якій виникли збої.
Відновлення системи. Після виникнення збою система повинна повернутися в працездатний стан. Цього можна досягти виправленням стану збою (пряме усунення помилки) або поверненням системи до "безпечного" стану (ретроспективне усунення помилки).
Усунення причин збоїв. Система модифікується таким чином, щоб збої не поновлювалися. У багатьох випадках збої програмного забезпечення проявляються короткочасно, оскільки виникають через специфічні комбінації даних на вході системи. Так як нормальне функціонування системи відновлюється відразу після усунення збою, немає необхідності в негайному усуненні причин збоїв. У цьому полягає важлива відмінність збоїв програмного забезпечення від несправності апаратних засобів.
54. Існує два підходи, що використовуються для розробки пз, стійкого до збоїв.
Безпечне програмування. Це такий метод розробки програм, при якому програмісти допускають, що в їхніх програмах можуть бути невиявлені помилки або протиріччя. В процесі зміни програми для перевірки стану системи включаються надлишкові коди, щоб гарантувати, що зміни несуперечливі. Якщо суперечності виявлені, від змін відмовляються або стан відновлюється до відомого коректного стану.
Відмовостійкі системні архітектури. Це архітектури апаратних і програмних засобів, що забезпечують стійкість до збоїв. Такі архітектури включають резервування апаратних і програмних засобів і мають блок аналізу збоїв, який виявляє і усуває помилки.
55. Обробка виключень в мовах програмування як засіб підвищення надійності.
Винятком (або виключної ситуацією) називається ситуація, коли під час виконання програми виникають помилки або непередбачені події. Прикладами виняткових ситуацій можуть бути збій в електроживленні системи, спроба доступу до неіснуючих елементів даних, числові переповнення, зникнення значущого розряду і т.д. Виняткові ситуації можуть бути викликані недосконалістю програмного забезпечення або устаткування. Коли виникає виняткова ситуація, вона повинна контролюватися і управлятися системою. Це можна зробити безпосередньо всередині самої програми або шляхом передачі управління механізму обробки виключень.
У мовах програмування, таких як С, щоб виявити виняткову ситуацію і передати управління програмою обробки виняткових ситуацій, використовується оператор умовного переходу if. Такому підходу супроводжують дві проблеми.
Винятки можуть відбуватися в різних точках програми, і один і той же виняток може відбутися в різних місцях. Це означає, що в програмі має бути контроль за великою кількістю виняткових ситуацій. Це збільшує розмір програми, ускладнює її і робить більш важкою для розуміння, що підвищує ймовірність появи в ній помилок.
Коли виняткова ситуація виникає в послідовності вкладених функцій або викликають процедур, не існує простого способу передати її від однієї функції до іншої, оскільки управління передається через послідовність процедур. Розгляньте ситуацію, показану на рис. 18.2, де функція А викликає функцію В, яка, в свою чергу, викликає функцію С. Якщо виняткова ситуація станеться під час виконання функції С, то це може зробити неможливим виконання функції В. У цьому випадку необхідний негайне повернення від функції В до функції А з повідомленням, що робота функції В завершилася невірно і що відбулася виняткова ситуація.
Рис. 666 Виняткова ситуація в послідовності вкладених функцій.
Якщо мова програмування має конструкції, що підтримують обробку виняткових ситуацій, то додаткові умовні оператори для перевірки виняткових ситуацій не знадобляться. Для цього мова програмування повинна підтримувати спеціальний вбудований тип даних (часто званий Exception (Виняток)) і повинні бути оголошені різні виняткові ситуації цього типу. Коли відбувається виняткова ситуація, генерується сигнал про виняткову ситуації і управління передається обробнику винятків. Підпрограма обробника визначає виключення і застосовує відповідні дії для його обробки.
У мовах Ada, C + + і Java передбачені спеціальні засоби обробки виняткових ситуацій. У мові Java нові типи виняткових ситуацій можна оголосити шляхом розширення вбудованого класу
Exception. Для повідомлення про виняткову ситуації в мові Java використовується оператор throw (переміщати). Програма обробки виняткових ситуацій визначається ключовим словом catch (захоплення), за яким слідує програмний блок, що обробляє виключення.
