Смекни!
smekni.com

Проектування та розробка засобами Delphi 5 програмного забезпечення “Автоматизоване робоче місце менеджера (стр. 2 из 3)

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

1.2 Етапи розробки програм.

Етап розробки програм включає:

методичні документи, що містять правила:

запису програм на мовах програмування;

організації взаємодії програм;

розміщення різних частин програми в пам'яті реалізуючої ЕОМ;

специфікації вимог на програмні модулі, що дозволяє визначити структуру, функції модуля і його зв'язок з іншими модулями ПС, специфікація модуля містить:

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

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

функції модуля;

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

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

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

Після виконання процедур запису програми в бібліотеку про проводиться контроль вихідного тексту для виявлення помилок, зв'язаних з порушенням правил розробки програм.

1.3 Методи контролю програм.

Контроль складається в перевірці вхідної програми на відповідність деяким формальним правилам; він підрозділяється на лексичний, синтаксичний і семантичний.

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

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

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

Методи розміщення перемінних використовуються з застосуванням щільного упакування в пам'яті багаторозрядних ЕОМ. Використовуються такі способи розміщення при який апаратна вибірка реалізується мінімальним числом чи команд за найменший час.

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

1.4 Методи оптимізації програм.

Для одержання при трансляції програм з малим коефіцієнтом розширення (тобто ефективно використовують пам'ять і продуктивність реалізуючих ЕОМ), необхідно здійснювати оптимізацію програм з використанням наступних методів: уведення у вхідну мову засобів, що дозволяють програмісту здійснювати найбільш ефективний запис програм чи давати транслятору вказівки про методи оптимізації; введення обмежень на використання погано програмувальних конструкцій вхідної мови для конкретних ЕОМ чи складання інструкцій програмісту по застосуванню мови з метою одержання оптимальних програм, зокрема по включенню послідовності операторів мови більш низького рівня; включення оптимізаційних блоків у транслятори. Автоматичні машинно-незалежні методи оптимізації включають: локальні, проведені в межах оператора (лінійної ділянки програми; глобальні, потребуючі побудови графа програми й організації його перегляду по тим чи іншим ознакам, іменам перемінних).

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

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

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

При абсолютних методах коректування програм виробляється з використанням вставок. У програму вставляються команди переходу до вставки, що містить команди зміни програми і команду повернення.

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

Автономна пересунення програм може бути доповнена взаємної пересуненням. Для цього передача керування на інші програми здійснюється через масиви виклику, що містять початкові адреси програм (у програмі використовуються команди передачі керування по вмісту чи пам'яті регістрів), або команди передачі керування на входи програм (у програмі використовуються команди безпосередньої передачі керування). При зміні взаємного розташування програм змінюється тільки вміст масивів виклику, а в самих програмах не виробляється редагування зовнішніх зв'язків.

Найбільш ощадливим методом взаємодії програм по керуванню є метод безпосередньої передачі керування на вхід викликуваної програми. У цьому випадку при зміні взаємного розташування програм потрібно обов'язкове редагування команд передачі керування викликуваній чи програмі адресних констант.

1.5 Методи завантаження модулів.

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

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

у порядку їхнього збереження в бібліотеці;

у послідовності заздалегідь привласнених їм номерів;

відповідно до ієрархії підпорядкованості.

1.6 Засоби автоматизації розробки програм.

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

Транслятор з алгоритмічної мови вирішує наступні задачі:

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

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

семантичний контроль використання величин у різних конструкціях програми здійснюється після того, як визначені характеристики усіх величин, застосовуваних у програмі (локальних і глобальних перемінних, констант);

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

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

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

Результатом трансляції програм є модуль. Модулі складаються з керуючої й інформаційної частин.

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