Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
M1_1spLm.doc
Скачиваний:
1
Добавлен:
18.09.2019
Размер:
244.74 Кб
Скачать

2. Типова структура системних програм

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

Структура системної програми визначається, насамперед, типовими структурами даних. Для побудови системних i проблемних програм будемо використовувати принципи первинної побудови об`єктно-орієнто­ва­ної інформаційної моделі сфери досліджень i визначення мети у формі переліку необхідних для керування або прийняття рішень характеристик конкретного об'єкту, виходячи з гіпотези достатньої коректності наявної аналітичної моделі (специфікації) та початкових даних програмованої сфери досліджень. Узагальнена структура системної програми визначається типовими форматами вхідних, вихідних та внутрішніх даних.

За форматами вхідних даних можна відзначити:

  • програми, що обслуговують вхідні дані, обмежені лише форматами та взірцями структур без лінгвістичних обмежень;

  • програми, орієнтовані на введення та обробку вхідних даних за правилами та обмеженнями вхідної мови.

За прагматикою вхідні дані, що регламентуються мовами, можна класифікувати як:

  • директивні або командні, що визначають конкретні дії або процедури;

  • алгоритмічні, що визначають послідовність дій за базовими конструкціями;

  • специфiкацiйнi, що визначають формати, зв'язки або обмеження.

За форматами вихідних даних програми можна класифікувати на такі групи:

  • програми з виходом з обмеженнями та форматами, що регламентуються вихідними мовами, у тому числі мовами відтворення об'єктних та виконуваних модулів та зберігають інформацію про дії для розв'язання проблемних задач;

  • програми з інформаційним виходом на пристрої відображення та накопичення результатів у пристроях довгострокового зберігання даних;

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

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

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

З наведеного вище можна побудувати схему елементів узагальненої системної програми будь-якого типу:

  • аналіз вхідних даних та попередня перевірка їх коректності та припустимості або лексичний та синтаксичний аналіз у термінах програм реалізації мов керування та програмування;

  • побудова внутрішніх оперативних структур даних: таблиць, словників та керуючих структур, дані для яких одержуються на попередньому етапі;

  • еквівалентні або адекватні перетворення даних з однієї внутрішньої форми інформації до іншої форми, що виконуються на етапі експлуатації системних програм;

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

Схему побудови узагальненої програми реалізації вхідної комп’ютерної мови будь-якого типу складають:

  • лексичний аналіз, що будує оперативну інформаційну базу системної програми;

  • синтаксичний аналіз, що здійснює контроль відповідності даних правилам та обмеженням базової мови;

  • семантична обробка, що аналізує зміст відношень і формує цільові результати.

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

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

До раціональних програмних модулів висуваються наступні вимоги:

  • насамперед, важливо використовувати модульну реалізацію об’єктно-орієн­то­ва­­ного програмування, при якій кожний об’єкт або клас об’єктів включаються до одного модуля;

  • функціональні елементи або методи повинні групуватись так, щоб включати в модулі обробку однотипних даних;

  • до одного модуля повинно входити якого менше даних сторонніх типів.

Розробка системних програм та їх нових версій звичайно виконується на загальних засадах, але має наступні особливості:

  • можливість врахування специфікацій вимог для нової версії системної програми;

  • можливість розподілу вимог між окремими програмними модулями або службами ОС;

  • планування реалізації окремих груп функцій у послідовностях версій;

  • використання спеціальних комплексів для налагодження програм;

  • використання спеціальних наборів тестів для тестування просування проекту.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]