скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыКурсовая работа: Розробити прикладення "Вантажоперевезення"

Робота з програмою починається з відкриття файлу програми Borland C Builder 6 (рисунок 8).


Рисунок 8 – Відкриття програми

Перевірку програми здійснимо за допомогою тестових прикладів.

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

Таблиця 5- Текстовий приклад 1

п/п

Крок сценарію Очікуваний результат Отриманий результат Відмітка про проходження кроку сценарію (Так / Ні)
1 Запустити програму Повинна запуститися програма Програма запустилася Так

Продовження таблиці 5

п/п

Крок сценарію Очікуваний результат Отриманий результат Відмітка про проходження кроку сценарію (Так / Ні)
2 Відкрити форми з головного меню форми «Вантажо перевезення», або за допомогою кнопок, які містя-ться на цій формі, або за допомогою комбінацій клавіш: F1, F2, F3, F4 та F5 Повинні запуститися форми Відкрились форми Так
3 Додати/видалити запис на формах Після введення запису до строки і натиснення на навігаторі «Ö»/«-» запис вводиться/видаляється

Додається/

видаляється запис

Так
4 Пересування по записах за допо-могою навігатора, або за допомогою повзунка вгору / вниз Після натискання на відповідні кнопки в навігаторі, або повзунка вгору / вниз пересуваємося по записах Пересуваємося по записах Так

Відмітка о проходженні тесту: Пройдено.

Текстовий приклад 2: перевірка того, що на формах «Замовлення-Графік» та «Автомобіль-Графік» дані про тип вантажу, вартість вантажу, ПІБ власника авто, замовника будуть обиратися із випадаючого списку. Критерій проходження тесту: при натисненні на полі випадає список, що розкривається с записами, запис можна обирати, обрана запис додається до бази даних. Результат представлений в таблиці 6.


Таблиця 6 – Текстовий приклад 2

п/п

Крок сценарію Очікуваний результат Отриманий результат Відмітка про проходження кроку сценарію (Так / Ні)
1 Натиснути на поле «Тип вантажу» на формі «Замовлення-Графік» Повинен випасти список, що розкривається з відповідними записами з таблиці «Вантаж» Список, що розкривається випав с записами Так
2 Натиснути на поле «Вартість» на формі «Замовлення-Графік» Повинен випасти список, що розкривається з відповідними записами з таблиці «Вантаж» Список, що розкривається випав с записами Так
3 Натиснути на поле «ПІБ власника» на формі «Замовлення-Графік » Повинен випасти список, що розкривається з відповідними записами з таблиці «Автомобіль» Список, що розкривається випав с записами Так
4 Натиснути на поле «Замовник» на формі «Автомобіль-Графік» Повинен випасти список, що розкривається з відповідними записами з таблиці «Замовлення» Список, що розкривається випав с записами Так
5 Натиснути на поле «Тип вантажу» на формі «Автомобіль-Графік» Повинен випасти список, що розкривається з відповідними записами з таблиці «Вантаж» Список, що розкривається випав с записами Так

Текстовий приклад 3: перевірка того, що на формах «Автомобіль», «Вантаж», «Замовлення-Графік» та «Автомобіль-Графік» за допомогою відповідних кнопок відбувається пошук даних, фільтрація даних, сортування даних та по них формується звіт. Критерій проходження тесту: в вільне поле записуємо прізвище, фільтрація відбувається, формується звіт. Результат текстового прикладу 3 представлений в таблиці 7.


Таблиця 7 – Текстовий приклад 3

п/п

Крок сценарію Очікуваний результат Отриманий результат Відмітка про проходження кроку сценарія (Так/Ні)
1 На формі «Автомобіль» проводимо пошук прізвища держ номеру

При вводі тексту у поле для вводу, натисненні на один з

Переключателів, натисенні на кнопку «Пошук» курсор повинен перейти

шуканого власника або держ номеру залежно від положення переключателів.

При натисненні на кнопку курсор

переходить на шуканого власника або держ номеру.

Так
2  На формі «Замовлення-Графік» натискаємо на кнопку «Звіт» При натисненні на кнопку «Звіт» повинен відкритись звіт «Замовлення перевезень вантажу» у режимі попереднього перегляду Звіт відкривається при натисненні на кнопку «Звіт» Так
3 На формі «Замовлення-Графік» відфільтруємо записи При натисненні на кнопку «Фільтрувати» повинні залишитися записи на формі, що відповідають зазначеній у фільтрі даті

При натисненні на кнопку курсор

переходить на шуканого працівника

Так
4 На формі «Автомобіль-Графік» проводимо пошук держ номеру

При натисненні на кнопку «Пошук» курсор повинен перейти на

шуканий держ номер

При натисненні на кнопку курсор

переходить на шуканий держ номер

Так
5 На формі «Вантаж» проводимо пошук типу вантажу

При натисненні на кнопку «Пошук» курсор повинен перейти на

шуканий тип

При натисненні на кнопку курсор

переходить на шуканий тип

Так
6 На формі «Вантаж» проводимо сортування вартості При натисненні на кнопку «Сортувати » записи повинні відсортуватися по збільшуванню. При натисненні на кнопку записи сортуються по збільшуванню. Так

Відмітка о проходженні тестових прикладів 2 та 3: Пройдені.


2.2 Посібник користувача

2.2.1 Призначення програми

Дана програма призначена для введення записів в:

-          вантаж: тип вантажу, вартість перевезення, вартість страховки;

-          автомобіль: марка авто, модель авто, ПІБ власника, дата тех огляду, вартість страховки, держ номер;

-          замовлення: замовник, адреса, телефон, дата замовлення, кількість замовлення;

-          графік: дата відправлення, час відправлення, дата прибуття, час прибуття, кількість вантажу.

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

2.2.2 Виконання програми

Для роботи з автоматизованою системо «вантажоперевезення» необхідно запустити відповідну програму. Після запуску програми на екрані монітора з’явиться головне вікно програми «Вантажоперевезення» (рисунок 9).

Рисунок 9 – Головне вікно програми

Основні елементи графічного інтерфейсу програми:

Графічний інтерфейс складається з головного вікна та додаткових вікон. Головне вікно програми має панель меню, яке дозволяє переходити на форми для роботи з даними та має структуру: «Таблиці:», «Розробник», «Вихід». При цьому на формі містяться кнопки з назвами форм, за допомогою яких також можна переходити на форми програми. Також перехід на форми «Автомобіль», «Вантаж», «Замовлення-Графік», «Автомобіль-Графік», «Вантаж-Замовлення», «Розробник» можна здійснити за допомогою комбінацій клавіш F1, F2, F3, F4, F5 та F6 відповідно.

При виборі пункту меню «Таблиці: Автомобіль» або за допомогою комбінації клавіш F1, або при натисканні на кнопку «Автомобіль» відкривається відповідна форма (рисунок 10). На даній формі можемо вводити дані про автомобіль, видаляти, пересуватися по записах за допомогою навігатора, здійсняти пошук за прізвищем (рисунок 11) та за держ номером (рисунок 12).

Рисунок 10 – Вигляд форми «Працівник»

Рисунок 11 – Результат приблизного пошуку за прізвищем


Рисунок 12 – Результат приблизного пошуку за держ номером

Рисунок 13 – Вигляд форми «Вантаж»

При виборі пункту меню «Таблиці: Вантаж» або за допомогою комбінації клавіш F2, або при натисканні на кнопку «Вантаж» відкривається відповідна форма (рисунок 13). На даній формі можемо вводити дані про тип вантажу, вартість перевезення, вартість страховки, пересуватися по записах за допомогою навігатора. Також на формі маємо можливість здійсняти пошук за типом вантажу(рисунок 14) та сортувати за вартістю (рисунок 15) .

Рисунок 14 – Результат пошуку записів за типом


Рисунок 15 – Результат сортування записів за вартістю

При виборі пункту меню «Таблиці: Замовлення-Графік» або за допомогою комбінації клавіш F3, або при натисканні на кнопку «Замовлення-Графік» відкривається відповідна форма (рисунок 16). При цьому дані про тип вантажу, вартість ПІБ власника обираємо із випадаючого списку. На даній формі можемо вводити дані про замовника, видаляти, пересуватися по записах за допомогою навігатора, здійсняти фільтрацію за датою (рисунок 17).

Рисунок 16 – Вигляд форми «Замовлення-Графік»

Рисунок 17 – Вигляд форми після фільтрації «Замовлення-Графік»


При натисненні на кнопку «Звіт» формується документ «Замовлення перевезення вантажів» (рисунок 18). У цьому діалоговому вікні є можливість зберегти звіт у файл або відправити його на друк.

Рисунок 18 – Вигляд звіту «Замовлення перевезення вантажів»

При виборі пункту меню «Таблиці: Автомобіль-Графік» або за допомогою комбінації клавіш F4, або при натисканні на кнопку «Автомобіль-Графік» відкривається відповідна форма (рисунок 19). При цьому дані про тип вантажу та замовника обираємо із випадаючого списку. На даній формі можемо, пересуватися по записах за допомогою навігатора, здійсняти пошук за держ номером (рисунок 20).

Рисунок 19 – вигляд форми «Автомобіль-Графік»

Рисунок 20 – результат приблизного пошуку за держ номером


При виборі пункту меню «Таблиці: Вантаж-Замовлення» або за допомогою комбінації клавіш F5, або при натисканні на кнопку «Вантаж-Замовлення» відкривається відповідна форма (рисунок 21). На даній формі можемо вводити дані про замовника, видаляти, пересуватися по записах за допомогою навігатора.

Рисунок 21 – Вигляд форми «Вантаж-Замовлення»

При виборі пункту меню «Розробник» або при натисненні на кнопку «Розробник» відкривається форма, на якій відображена інформація про розробника програми (Рисунок 22).

Рисунок 22 – Вигляд форми «Розробник»

2.2.3 Повідомлення оператору

У програмі передбачені повідомлення оператору , який працює з програмою.

На головній формі передбачені спливаючи підказки: підказка «Вибрати форму Автомобіль» при наведенні курсору на кнопку з назвою «Автомобіль»; підказка «Вибрати форму Вантаж» при наведенні на кнопку «Вантаж»; підказка «Вибрати форму Замовлення-Графік» при наведенні на кнопку «Замовлення-Графік»; підказка «Вибрати форму Автомобіль-Графік» при наведенні на кнопку «Автомобіль-Графік» та підказка «Вибрати форму Вантаж-Замовлення» при наведенні курсору на кнопку «Вантаж-Замовлення».

На другій формі передбачені спливаючи підказки: підказка «Виберете що будемо шукати» при наведенні на кнопку «Пошук».

На третій формі передбачені підказки: підказка «Сортування за зростанням» при наведенні на кнопку «Сортувати».

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

вантажоперевезення програма інформаційний


ВИСНОВКИ

Під час написання курсового проекту я детальніше вивчила і отримала навички роботи в середовищі програмування Borland C + + Builder.

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

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

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

Під час написання програми вона була протестована. Всі помилки були виявлені і усунені під час тестування, тобто програма готова до використання.

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

Під час розробка курсового проекту я досягла всіх поставлених цілей на початку: закріпила знання дисципліни «Об'єктно-орієнтоване програмування», склала досить просту у використанні й працездатну автоматизовану систему. Закріпила навички роботи з текстовим редактором Word, навички оформлення звітів, навички розробки автоматизованих систем, а також роботи в середовищі об'єктно-орієнтованої мови програмування Borland C Builder.

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


ПЕРЕЛІК ВИКОРИСТОВАНИХ ДЖЕРЕЛ

- Архангельський А.Я. Програмування у C++ Builder –М.: Бином, 2003.– 1152 с.

- ДСТУ 3008-95. Документація. Звіти у сфері науки і техніки. Структура і правила оформлення. – К.: Держстандарт України, 1995. – 38 с.

- Чарли Калверт. Borland C++ Builder. Энциклопедия пользователя: Пер. с англ./ – К.: Издательство «ДиаСофт», 1997. – 848 с.

- Шамис В.А. Borland C++ Builder. Программирование на С++ без проблем – М.: “Нолидж”, 1997. – 266 с., с ил.


ДОДАТОК А

Вихідний код програми

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

//---------------------------------------------------------------------------

USEFORM("Unit1.cpp", Form1);

USEFORM("Unit2.cpp", Form2);

USEFORM("Unit3.cpp", Form3);

USEFORM("Unit4.cpp", Form4);

USEFORM("Unit5.cpp", Form5);

USEFORM("Unit6.cpp", DataModule6); /* TDataModule: File Type */

USEFORM("Unit7.cpp", Form7);

USEFORM("Unit8.cpp", Form8);

USEFORM("Unit9.cpp", Form9);

//---------------------------------------------------------------------------

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

 try

 {

 Application->Initialize();

 Application->CreateForm(__classid(TForm1), &Form1);

 Application->CreateForm(__classid(TForm2), &Form2);

 Application->CreateForm(__classid(TForm3), &Form3);

 Application->CreateForm(__classid(TForm4), &Form4);

 Application->CreateForm(__classid(TForm5), &Form5);

 Application->CreateForm(__classid(TDataModule6), &DataModule6);

 Application->CreateForm(__classid(TForm7), &Form7);

 Application->CreateForm(__classid(TForm8), &Form8);

 Application->CreateForm(__classid(TForm9), &Form9);

 Application->Run();

 }

 catch (Exception &exception)

 {

 Application->ShowException(&exception);

 }

 catch (...)

 {

 try

 {

 throw Exception("");

 }

 catch (Exception &exception)

 {

 Application->ShowException(&exception);

 }

 }

 return 0;

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "Unit2.h"

#include "Unit3.h"

#include "Unit4.h"

#include "Unit5.h"

#include "Unit6.h"

#include "Unit7.h"

#include "Unit8.h"

#include "Unit9.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

 : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N3Click(TObject *Sender)

{

Form2->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N5Click(TObject *Sender)

{

Form4->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N4Click(TObject *Sender)

{

Form3->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N6Click(TObject *Sender)

{

Form5->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N7Click(TObject *Sender)

{

 Form7->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N2Click(TObject *Sender)

{

Form1->Close();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Form2->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Form3->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Form4->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{

Form5->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)

{

Form7->Show();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N8Click(TObject *Sender)

{

 Form9->Show();

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit2.h"

#include "Unit1.h"

#include "Unit3.h"

#include "Unit4.h"

#include "Unit5.h"

#include "Unit6.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm2 *Form2;

//---------------------------------------------------------------------------

__fastcall TForm2::TForm2(TComponent* Owner)

 : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm2::Button1Click(TObject *Sender)

{

 if (RadioButton1->Checked){

DataModule6->Table1->IndexFieldNames = "Fio_vladelca";

DataModule6->Table1->FindNearest(ARRAYOFCONST((Edit1->Text)));

}

if (RadioButton2->Checked){

DataModule6->Table1->IndexFieldNames = "Gos_nomera";

DataModule6->Table1->FindNearest(ARRAYOFCONST((Edit1->Text)));

 }

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit3.h"

#include "Unit1.h"

#include "Unit2.h"

#include "Unit4.h"

#include "Unit5.h"

#include "Unit6.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm3 *Form3;

//---------------------------------------------------------------------------

__fastcall TForm3::TForm3(TComponent* Owner)

 : TForm(Owner)

{

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

void __fastcall TForm3::Button2Click(TObject *Sender)

{

 DataModule6->Table3->IndexFieldNames = "Tip_gruza";

DataModule6->Table3->FindNearest(ARRAYOFCONST((Edit2->Text)));

}

//---------------------------------------------------------------------------

void __fastcall TForm3::GroupBox1Click(TObject *Sender)

{

GroupBox1->ShowHint = true;

GroupBox1->Hint = "Пошук типу вантажу";

}

//---------------------------------------------------------------------------

void __fastcall TForm3::Button1Click(TObject *Sender)

{

DataModule6->Table3->Active = false;

DataModule6->Table3->IndexName = "index_stoimost";

DataModule6->Table3->Active = true;

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit4.h"

#include "Unit1.h"

#include "Unit2.h"

#include "Unit3.h"

#include "Unit5.h"

#include "Unit6.h"

#include "Unit8.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm4 *Form4;

//---------------------------------------------------------------------------

__fastcall TForm4::TForm4(TComponent* Owner)

 : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm4::Button1Click(TObject *Sender)

{

DataModule6->Table4->Filter="Data_zakaza='"+Edit1->Text+"'";

DataModule6->Table4->Filtered=True ;

}

//---------------------------------------------------------------------------

void __fastcall TForm4::Button2Click(TObject *Sender)

{

DataModule6->Table4->Filtered=False ;

}

//---------------------------------------------------------------------------

void __fastcall TForm4::Button3Click(TObject *Sender)

{

Form8->QuickRep1->Preview();

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit5.h"

#include "Unit1.h"

#include "Unit2.h"

#include "Unit3.h"

#include "Unit4.h"

#include "Unit6.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm5 *Form5;

//---------------------------------------------------------------------------

__fastcall TForm5::TForm5(TComponent* Owner)

 : TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm5::Button1Click(TObject *Sender)

{

DataModule6->Table1->IndexFieldNames = "Gos_nomera";

DataModule6->Table1->FindNearest(ARRAYOFCONST((Edit1->Text)));

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit6.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TDataModule6 *DataModule6;

//---------------------------------------------------------------------------

__fastcall TDataModule6::TDataModule6(TComponent* Owner)

 : TDataModule(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TDataModule6::Table4CalcFields(TDataSet *DataSet)

{

 DataModule6->Table4obsch_st->Value=DataModule6->Table3Stoim_perevozki->Value+DataModule6->Table5Kol_vo_gruza->Value;

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------


Страницы: 1, 2, 3


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.