Розробка автоматизованої системи з програмування

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 27.04.2011
Размер файла 2,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

#include "Unit1.h"

#include "Unit2.h"

#include "Unit3.h"

#include "Unit4.h"

#include "Unit5.h"

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

#include "Unit1.h"

#include "Unit2.h"

2.1.3 Створення програми

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

- елементи Edit - для внесення текстів;

- елементи label - для створення підказок на екрані;

- елемент меню - для створення меню роботи з формами;

- елементи SpeedButton - для створення управління командами згідно завданню дипломної роботи.

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

void __fastcall TForm1::N2Click(TObject *Sender)

{

Form2->Show();

Form1->Table1->Active=true;

Form1->Table1->Edit();

Form1->Table1->Post();

}

де описується дія при введені і нових записів в базу даних в формі звірів та казкових персонажів. Особливо необхідно врахувати, що зміни даних проводяться тільки в оперативній пам'яті, а для збереження їх в файлах таблиць необхідно виконати функцію пересилки даних Post().

В процесі програмування вигляду екрану при виконанні конкретних дій програмуємо за допомогою властивості Visible, переключаючи його в true або false видимість елементів.

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

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

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

В цьому коді реалізован пошук,при якому записи шукаються одночасно в двох таблицях за допомогою вух запитів,які об'єднанні ключовим словом UNION,який застосовується для об'єднання запитів:

:

void __fastcall TForm1::Button4Click(TObject *Sender)

{

Edit1->Text=Edit1->Text.SubString(1,1).UpperCase()+Edit1->Text.SubString(2,Edit1->Text.Length()).LowerCase();

Form1->Query3->SQL->Clear(); // Очищеня запиту

Form1->Query3->SQL->Add("SELECT * FROM Animals WHERE Name='"+Form1->Edit1->Text+"' UNION SELECT * FROM Fairy WHERE Name='"+Form1->Edit1->Text+"'"); // Пошук одразу в двох таблицях

Form1->Query3->Active=true;

Form4->Label1->Caption = (Query3Name->AsString);

Form4->Label2->Caption = (Query3Amount->AsString);

Form4->Label3->Caption = (Query3Average->AsString);

Form4->Label8->Caption = (Query3Total->AsString);

if(Form4->Label1->Caption == "") // Якщо поле вводу пошуку пусте

{

Application->MessageBox("Запись не найдена","Обишка",MB_OK);

Edit1->Clear();

}

else Form4->Visible=true;

}

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

void __fastcall TForm2::Button8Click(TObject *Sender)

{

Table1->Edit();

DBEdit1->Text=Edit3->Text.SubString(1,1).UpperCase()+Edit3->Text.SubString(2,Edit3->Text.Length()).LowerCase(); //розрахунок середньої ціни костюма

Table1->Post(); //Зберегти

CheckBox1->Checked=false;

Table1->Edit(); // Відкрити таблицю для редагування

}

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

void __fastcall TForm3::Button5Click(TObject *Sender)

{

if (Table1->RecordCount==0){

Application->MessageBox("Нечего удалять","Ошибка!",MB_OK);

}

else if(Application->MessageBox("Вы действительно хотите удалить запись?","Удаление",MB_YESNO)==mrYes){

Table1->Delete(); // Функція видалення запису із бази даних

}

так і вікно повідомлень:

Рисунок 2.21 Попередження при видаленні запису з бази даних.

Після програмування форм і подій на формах всі елементи доступу до даних переводимо в неактивний режим, наприклад Table2->Active=false;, а візуальні елементи переводимо в невидимий режим, наприклад DBGrid1->Visible =false;, що впорядковує доступ до даних та вигляд екрану в різних режимах.

2.1.4 Налагодження програми

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

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

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

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

Оператор - це первинна синтаксична одиниця в програмі. Більшість компіляторів виконують деяку оптимізацію на цьому рівні.

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

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

Процедури - це оператори, що містять цілі підпрограми або функції. Оптимізація на цьому рівні взагалі не виконується компіляторами для PC.

Оптимізуючі перетворення можуть бути залежними або незалежними від архітектури комп'ютера. Процес компіляції комп'ютерної програми включає дві основних дії: синтаксичний/семантичний аналіз і генерацію коду. Синтаксичний/семантичний аналіз істотно залежить від граматики і специфічний для мови. Генерація коду є загальною і прекрасно може бути використана для підтримки першої стадії для будь-якої кількості мов програмування.

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

Існують різні методи машинно-залежної і машинно-незалежної оптимізації коду. Вони можуть застосовуватися на усіх синтаксичних рівнях. Одним з найпростіших методів є "розмноження констант". При його застосуванні будь-яке посилання на константне значення заміняється самим значенням.

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

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

Виділення загальних підвиразів звичайно відбувається у середині оператора або блоку.

2.2 Інструкція програміста

Найменування програми - “База даних карнавальних костюмів”.

Програма написана на мові програмування C++ в середовищі Borland C++ Builder 6.0.

Для роботи програми необхідно встановити двигун бази даних DBE(Database engine).

Цей двигун вже включений в інсталяціонному файлі “Костюми.msi”,за допомогою якого встановлюється програма на жорсткий диск.

Програма містить 6 модулів:

- головний, який являє собою сам інтерфейс програми з її меню(1 форма)

- модулі по вводу та виводу інформації про звірів та казкових персонажів(2 та 3 форма);

- модуль виведення результату пошуку костюмів(4 форма);

- модуль вводу та виводу інформації про прокат(5 форма);

- модуль виводу розрахунку прибутку від прокату(6 форма);

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

Опис функцій приведені в тексті коду програми

Головний запускний файл програми Costumes.exe, який створюється при компіляції програми.

Файл проекту програми - Project1.bpr, який надає можливість в майбутньому на доробку програми з метою розширення її можливостей не врахованих в даному проекті.

2.3 Інструкція оператора

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

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

Рисунок 2.22 - Головна форма програми.

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

Рисунок 2.23 Форма для вводу/виводу інформації про казкових персонажів.

Для того щоб додати запис в базу даних треба виконати такі дії:

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

- Для того щоб редагувати запис в базі даних треба:

Натиснути кнопку на форми “Редактировать”. Внести кількість придбаних костюмів та їхню ціну. При потребі змінити назву костюма - встановити прапорець “Изменить только наименование”. Кнопка “Очистить” слугує для очищення полів вводу від тексту. Для виходу в головне меню натискаємо кнопку «Назад».

Аналогічно формується база даних звірів:

Рисунок 2.4 Форма для вводу/виводу інформації про звірів.

Рисунок 2.25 Форма виводу результату пошуку костюмів по базі даних

Для пошуку інформації про потрібний костюм треба:

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

Для вводу інформації про прокат та розрахунку прибутку підприємства за певний час використовується форма 5:

Рисунок 2.26 Форма для вводу та виводу інформації про прокат.

Для створення запису в формі про прокат треба:

Нажати кнопку “Добавить”. Ввести найменування костюму який здавався у прокат,кількість цих костюмів та ціну за їх прокат. Дата здачі костюма у прокат задається автоматично,але при потребі можна виставити свою дату натиснувши прапорець “Свою дату” і ввести свою дату. Потім натиснути кнопку “Сохранить”. При потребі можна очистити заповнені поля кнопкою “Очистить поля”.

Для пошуку костюмів які здавались у прокат та підрахунку прибутку за їх прокат за певний відрізок часу треба:

Заповнити поле “Год”. При потребі заповнити поле “Месяц” та “День”. Потім натиснути пошук. Виведуться тільки ті записи в таблиці,які відповідають введеним полям “Год”,“Месяц” та “День”. Також,щоб підрахувати прибуток за певний відрізок часу треба виконати ті ж самі дії попередньо нажавши на прапорець “Подсчет”. Виведеться форма підрахунку прибутку зданих костюмів за певний час:

Рисунок 2.27 Форма підрахунку костюмів та грошей за певний відрізок часу.

Для виходу в головне меню натискаємо кнопку «Назад».

Для виходу з програми натискаємо кнопку “Выход”.

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

Размещено на Allbest.ru


Подобные документы

  • Методика розробки компілятору з вхідної мови програмування Pascal, оболонка, якого розроблена в середовищі програмування Borland C під операційну систему Windows. Блок-схема програми. Розробка оптимізатора та генератора коду. Тестування компілятора.

    курсовая работа [218,6 K], добавлен 04.06.2011

  • Розгляд особливостей мови програмування С++: основні можливості, характеристика функцій. Аналіз файлів з вхідними даними. Використання похідних класів як ефективний засіб об’єктно-орієнтованого програмування. Способи роздруківки графічного вирішення.

    курсовая работа [510,9 K], добавлен 14.03.2013

  • Медична інформаційно-аналітична система "Емсімед". Аналіз програмних, апаратних засобів. Архітектурне проектування автоматизованої системи обліку медичних інструментів. Опис структурної та логічної схеми. Вибір мови програмування, керівництво користувача.

    дипломная работа [2,9 M], добавлен 26.07.2013

  • Дослідження класифікації автоматизованих інформаційних систем. Обґрунтування вибору мови і системи програмування. Програмне забезпечення та опис компонентів середовища. Інтерфейс програмного комплексу. Розрахунок повної собівартості програмного продукту.

    дипломная работа [584,1 K], добавлен 26.06.2015

  • Розробка програми для тренування швидкого десяти пальцевого набору тексту на клавіатурі за допомогою класів, які будуть містити в собі параметри об’єктів та їх методи. Аналіз об'єкту програмування. Основні принципи об'єктно-орієнтованого програмування.

    курсовая работа [1,8 M], добавлен 18.05.2017

  • Широкі можливості по використанню комп'ютерних навчальних систем. Розробка навчальної системи мультимедійного посібника з дисципліни "Інформатика і ОТ" на тему "Особливості мови програмування С++. Вказівники". Вимоги до розробки навчальної програми.

    курсовая работа [2,9 M], добавлен 23.11.2010

  • Аналіз особливостей мови програмування Java та середовища Android Studio. Розробка програмного забезпечення для якісного та ефективного вивчення іноземних слів. Побудова базових алгоритмів і структури даних. Вибір мови програмування, реалізація програми.

    курсовая работа [335,3 K], добавлен 11.01.2015

  • Модель аналізу-синтезу компіляції. Формальний опис вхідної мови програмування. Вибір технології програмування, проектування таблиць транслятора та вибір структур даних. Опис програми реалізації лексичного аналізатора. Розробка дерев граматичного розбору.

    курсовая работа [75,8 K], добавлен 26.12.2009

  • Особливості редагування за допомогою текстового редактора NotePad вхідного файлу. C++ як універсальна мова програмування, знайомство с функціями. Характеристика графічних засобів мови С. Аналіз основних понять об’єктно-орієнтованого програмування.

    курсовая работа [123,3 K], добавлен 14.03.2013

  • Об’єктно-орієнтоване програмування мовою С++. Основні принципи об’єктно-орієнтованого програмування. Розробка класів з використанням технології візуального програмування. Розробка класу classProgressBar. Базовий клас font. Методи тестування програми.

    курсовая работа [211,3 K], добавлен 19.08.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.