Реферат: Проектування та розробка засобами Delphi 5 програмного забезпечення “Автоматизоване робоче місце менеджера
Для одержання при трансляції програм з малим коефіцієнтом розширення (тобто ефективно використовують пам'ять і продуктивність реалізуючих ЕОМ), необхідно здійснювати оптимізацію програм з використанням наступних методів: уведення у вхідну мову засобів, що дозволяють програмісту здійснювати найбільш ефективний запис програм чи давати транслятору вказівки про методи оптимізації; введення обмежень на використання погано програмувальних конструкцій вхідної мови для конкретних ЕОМ чи складання інструкцій програмісту по застосуванню мови з метою одержання оптимальних програм, зокрема по включенню послідовності операторів мови більш низького рівня; включення оптимізаційних блоків у транслятори. Автоматичні машинно-незалежні методи оптимізації включають: локальні, проведені в межах оператора (лінійної ділянки програми; глобальні, потребуючі побудови графа програми й організації його перегляду по тим чи іншим ознакам, іменам перемінних).
Комплексування містить у собі організацію взаємодії за інформацією і керуванням при складанні комплексу програм з окремих програмних модулів, розроблювальних незалежно.
Комплексування за інформацією здійснюється через глобальну пам'ять перемінних і констант із єдиною ідентифікацією величин у всіх програмах.
У загальному випадку комплексування приводить до необхідності перетрансляції чи частини всіх програм після присвоєння їм нових початкових адрес, що є дуже трудомістким процесом, що вимагає контролю правильності результатів цієї процедури. Щоб уникнути перетрансляції, застосовуються абсолютні і відносні методи.
При абсолютних методах коректування програм виробляється з використанням вставок. У програму вставляються команди переходу до вставки, що містить команди зміни програми і команду повернення.
Відносні методи застосовуються з записом інформації в пам'ять команд, що істотно спрощує проблему взаємного розташування програм. Конкретно це втілено в методах завантаження об'єктних програм з редагуванням зв'язків. Редагуванню піддаються команди внутрішніх і зовнішніх передач чи керування команди, що використовують глобальні перемінні і мітки.
Автономна пересунення програм може бути доповнена взаємної пересуненням. Для цього передача керування на інші програми здійснюється через масиви виклику, що містять початкові адреси програм (у програмі використовуються команди передачі керування по вмісту чи пам'яті регістрів), або команди передачі керування на входи програм (у програмі використовуються команди безпосередньої передачі керування). При зміні взаємного розташування програм змінюється тільки вміст масивів виклику, а в самих програмах не виробляється редагування зовнішніх зв'язків.
Найбільш ощадливим методом взаємодії програм по керуванню є метод безпосередньої передачі керування на вхід викликуваної програми. У цьому випадку при зміні взаємного розташування програм потрібно обов'язкове редагування команд передачі керування викликуваній чи програмі адресних констант.
1.5 Методи завантаження модулів.
Методи завантаження істотно впливають на час реалізації завантаження, що має особливо велике значення при роботі в діалоговому режимі. Після коректування програми в загальному випадку потрібно зробити перезавантаження всіх програм з редагуванням внутрішніх і зовнішніх зв'язків.
Завантаження модулів може відбуватися по декількох стратегіях:
у порядку їхнього збереження в бібліотеці;
у послідовності заздалегідь привласнених їм номерів;
відповідно до ієрархії підпорядкованості.
1.6 Засоби автоматизації розробки програм.
Завдання трансляції полягає в аналізі розробленого програмістом вхідного тексту програми, записаного мовою програмування, його контролі і перетворенні у вихідний текст, яким може бути або програма для реалізуючої ЕОМ, або проміжна мова. Система трансляційних засобів складається з взаємозалежних трансляторів з кожної мови програмування. Така система дозволяє виключити дублювання функцій і компонент трансляторів з мов нижніх рівнів у трансляторах з мов верхнього рівня. Для одержання малого розширення програм вимагаються транслятори з алгоритмічних мов програмування, що мають багатопросмотровую структуру.
Транслятор з алгоритмічної мови вирішує наступні задачі:
лексичний контроль проводиться при першому перегляді тексту, при цьому виконується ряд інших функцій транслятора, зв'язаних з виділеними в процесі синтаксичного аналізу конструкціями мови, - складання списку глобальних перемінних, міток і ін.;
розподіл пам'яті локальних перемінних програмних модулів виробляється транслятором по фіксованій для реалізуючої ЕОМ логіку з використанням типу, довжини і розмірності масиву, зазначених в описі перемінних; організація локальної пам'яті значною мірою визначається структурою ПЕОМ і залежить від способів адресації, наявності апаратної вибірки перемінного числа бітів, системи модифікації і т.д.;
семантичний контроль використання величин у різних конструкціях програми здійснюється після того, як визначені характеристики усіх величин, застосовуваних у програмі (локальних і глобальних перемінних, констант);
оптимізація програм проводиться по тексту вхідною мовою чи проміжною мовою, структура якого пристосована для рішення даної задачі;
генератор команд формує машинну команду з її складових, інформація про які отримана в результаті трансляції програми; будь-яка машинна команда може бути представлена як сукупність полів: код операції, операнд, база, індексація, ознаки типу адресації, ознаки умов;
завантажник, використовуючи редактор зв'язків, робить комплексування або всі об'єктні модулі, що містяться в бібліотеці, або частини модулів, що підлягають налагодженню.
Результатом трансляції програм є модуль. Модулі складаються з керуючої й інформаційної частин.
Керуюча частина містить дані, що використовуються завантажником для редагування і завантаження програми (початкова адреса трансляції, словники переміщень і зовнішніх імен, різні ознаки, що характеризують структуру програми і методи завантаження).
Інформаційна частина містить програму модуля в кодах реалізуючої ЕОМ у формі, необхідної для роботи завантажника.
Існують наступні типи модулів: абсолютний - інформаційна частина модуля набудована на те місце пам'яті, де він буде виповнюватися; об'єктний - результат трансляції програми, у керуючій частині містить інформацію, по якій її інформаційна частина редагується по внутрішніх і зовнішніх зв'язках; завантажувальний - результат об'єднання декількох об'єктних модулів в один модуль, готовий до виконання.
2. Опис програми “Price for Print”
2.1 Короткий опис підприємства де буде експлуатуватися програма.
Дана програма була розроблена спеціально для підприємства “Cross Print”, на якому я проходив виробничу практику. Це підприємство займається випуском друкарської продукції (брошур, буклетів, книг). Швидко зростаючі потреби підприємства і кількість клієнтів змушує його впроваджувати в процес своєї роботи нові технології такі як розробка автоматизованих систем, автоматизованих робочих місць (АРМ) із прикладним програмним забезпеченням.
Програма “Price for Print” покликана прискорити роботу менеджера з продажу підприємства “Cross Print” тобто фактично автоматизувати його роботу.
2.2 Інтерфейс програми.