Файл: Общие положения (дерево функций и сценарий диалога).pdf
Добавлен: 17.06.2023
Просмотров: 248
Скачиваний: 3
СОДЕРЖАНИЕ
1.1. Выбор комплекса задач автоматизации.
1.2. Характеристика существующих бизнес – процессов.
1.3. Характеристика документооборота, возникающего при решении задачи.
1.4. Обоснование проектных решений по информационному обеспечению.
1.5. Обоснование проектных решений по программному обеспечению.
2.1. Информационная модель и её описание.
2.2. Характеристика нормативно-справочной, входной и оперативной информации.
2.3. Характеристика результатной информации.
2.4. Общие положения (дерево функций и сценарий диалога).
2.5. Характеристика базы данных.
2.6. Структурная схема пакета (дерево вызова программных модулей).
2.7 Описание программных модулей.
В ходе выполнения данной курсовой работы были достигнуты все поставленные цели. Выявлены особенности формирования потоков данных. Выполнено проектирование функциональных особенностей системы. Построены диаграммы взаимодействия, классов, коммуникаций деятельности, программная система обработки данных.
Была проведена автоматизация операций учета товаров посредством внедрения базы данных. Предложенный проект автоматизации помог минимизировать всю рутинную работу, потери информации, скорость решения текущих проблем возросла в несколько раз.
Так как интеграция информационных систем во все сферы жизни увеличивается с каждым днем, то актуально становится разработка подобных баз данных. При этом разработчик должен учитывать то, что наиболее простые БД могут быть подвержены избыточности, но при этом нельзя и увлекаться делением БД на много составных таблиц. Также современные средства дружественного интерфейса позволяют разработать интуитивно понятные приложения, что является одним из основных требований заказчика. При создании БД необходимо принять во внимание область, для которой разрабатывается база данных. Например, при формировании БД для магазина, разработчик должен ориентировать её в первую очередь на продажу.
Список литературы
- Borland Builder C++. Освой самостоятельно. – СПб.: Питер, 2005. – 702 с.
- Агеев М.И., Алик В.П., Марков И.Ю. Библиотека алгоритмов: справочное пособие. Вып. 3. – М: Сов. Радио, 1978. – 128 с.
- Архангельский А.Я. C++Builder. Работа с документами Excel. – М.: Бином-Пресс, 2009. – 480 с.
- Беднарский, В.В. Техобслуживание и ремонт автомобилей. – Ростов-н/Д.: Феникс, 2008. – 448 с.
- Вальпа О. Borland C++ Builder. Экспресс-курс (+CD). – М.: БХВ-Петербург, 2006. – 224 с.
- Карпов Б., Баранова Т. С++. Специальный справочник. – 2-е изд. – СПб.: Питер, 2005. – 381 с.
- Кетков Ю., Кетков А. Практика программирования: Visual Basic, C++ Builder, Delphi. Самоучитель. – СПб.: БХВ-Петербург, 2002. – 464 с.
- Кормен Т, Лейзер Ч. Алгоритмы. Построение и анализ. – М.: Наука, 2000. – 896 с.
- Красиков И.В., Красикова И.Е. Алгоритмы. Просто как дважды два. – М.: Эксмо, 2006. – 256 с.
- Культин Н.Б. С/С++ в задачах и примерах. – СПб.: БХВ-Петербург, 2006. – 288 с.
- Культин Н.Б. Самоучитель С++ Builder. – СПб.: БХВ-Петербург, 2005. – 320 с.
- Окулов С.М. Программирование в алгоритмах. – М.: БИНОМ. Лаборатория знаний, 2002. – 341 с.
- Пахомов Б. C/C++ и Borland C++ Builder для начинающих. – М.: БХВ-Петербург, 2005. – 630 с.
- Пахомов Б. Interbase и С++Builder на примерах (+CD-ROM). – М.: БХВ-Петербург, 2006. – 288 с.
- Федоренко Ю.П. Алгоритмы и программы на C++ Builder (+ CD-ROM). – М.: ДМК Пресс, 2010. – 544 с.
- Холзнер С. Visual C++ 6. Учебный курс. – СПб.: Питер, 2006. – 570 с.
Листинг программного кода проекта:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit8.h"
//#include "Excel_2K_SRVR.h"
#include "utilcls.h"
#include "sysvari.h"
#include "ComObj.hpp"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm8 *Form8;
//---------------------------------------------------------------------------
__fastcall TForm8::TForm8(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm8::BitBtn1Click(TObject *Sender)
{
Variant app = CreateOleObject("Excel.Application");
Variant wbs = app.OlePropertyGet("Workbooks");
//Variant wb = wbs.OleFunction("Open", "E:\\Файлы \\test.xls");
Variant wb = wbs.OleFunction("Open", "test.xls");
Variant wss = wb.OlePropertyGet("Worksheets");
Variant ws = wss.OlePropertyGet("Item", 1);
//выгрузка данных
ADOQuery1->First();
int r,c;
r=1;
c=0;
while(!ADOQuery1->Eof)
{
Variant cell = ws.OlePropertyGet("Cells", r + 1, c + 1);
cell.OlePropertySet("Value",WideString(ADOQuery1->FieldByName("Nomer")->AsString));
cell = ws.OlePropertyGet("Cells", r + 1, c + 2);
cell.OlePropertySet("Value", WideString(ADOQuery1->FieldByName("Data_form")->AsString));
cell = ws.OlePropertyGet("Cells", r + 1, c + 3);
cell.OlePropertySet("Value", WideString(ADOQuery1->FieldByName("Data_wait")->AsString));
cell = ws.OlePropertyGet("Cells", r + 1, c + 4);
cell.OlePropertySet("Value", WideString(ADOQuery1->FieldByName("Data_dost")->AsString));
cell = ws.OlePropertyGet("Cells", r + 1, c + 5);
cell.OlePropertySet("Value", WideString(ADOQuery1->FieldByName("postavch.naimenov")->AsString));
cell = ws.OlePropertyGet("Cells", r + 1, c + 6);
cell.OlePropertySet("Value", WideString(ADOQuery1->FieldByName("klient.naimenov")->AsString));
cell = ws.OlePropertyGet("Cells", r + 1, c + 7);
cell.OlePropertySet("Value", WideString(ADOQuery1->FieldByName("avtoz.naimenov")->AsString));
cell = ws.OlePropertyGet("Cells", r + 1, c + 8);
cell.OlePropertySet("Value", WideString(ADOQuery1->FieldByName("cena")->AsString));
r++;
ADOQuery1->Next();
}
wb.OleProcedure("Save");
app.OleProcedure("Quit");
ShowMessage("Запись в Excel выполнено успешно!");
}
//---------------------------------------------------------------------------
void __fastcall TForm8::FormCreate(TObject *Sender)
{
DBGrid1->Columns->Items[0]->Width=30;
DBGrid1->Columns->Items[1]->Width=40;
DBGrid1->Columns->Items[2]->Width=65;
DBGrid1->Columns->Items[3]->Width=65;
DBGrid1->Columns->Items[4]->Width=65;
DBGrid1->Columns->Items[5]->Width=200;
DBGrid1->Columns->Items[6]->Width=150;
DBGrid1->Columns->Items[7]->Width=200;
DBGrid1->Columns->Items[8]->Width=100;
}
//---------------------------------------------------------------------------
void __fastcall TForm8::Button1Click(TObject *Sender)
{
ADOQuery1->Close();
ADOQuery1->Open();
ADOQuery1->ExecSQL();
DBGrid1->Columns->Items[0]->Width=30;
DBGrid1->Columns->Items[1]->Width=40;
DBGrid1->Columns->Items[2]->Width=65;
DBGrid1->Columns->Items[3]->Width=65;
DBGrid1->Columns->Items[4]->Width=65;
DBGrid1->Columns->Items[5]->Width=200;
DBGrid1->Columns->Items[6]->Width=150;
DBGrid1->Columns->Items[7]->Width=200;
DBGrid1->Columns->Items[8]->Width=100;
}
//---------------------------------------------------------------------------
void __fastcall TForm8::FormShow(TObject *Sender)
{
DBGrid1->DataSource->DataSet->Fields->Fields[0]->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm10::Button1Click(TObject *Sender)
{
AnsiString str,FIO;
Memo1->Clear();
Form9->ADOTable1->First();
for(int i=1;i<=Form9->ADOTable1->RecordCount;i++)
{
//поиск клиента
FIO="";
Form1->ADOTable3->First();
for(int j=1;j<=Form1->ADOTable3->RecordCount;j++)
{
if(Form1->ADOTable3->FieldByName("Kod")->AsInteger==Form9->ADOTable1->FieldByName("KodKlient")->AsInteger)
FIO=Form1->ADOTable3->FieldByName("Naimenov")->AsString;
Form1->ADOTable3->Next();
}
if(((CheckBox1->Checked)&&(Form9->ADOTable1->FieldByName("Auto")->AsString==ComboBox1->Text))||
((CheckBox2->Checked)&&(FIO==ComboBox2->Text))||
((CheckBox3->Checked)&&(Form9->ADOTable1->FieldByName("Date1")->AsString.Pos(DateTimePicker1->Date.DateString())>0))||
((!CheckBox1->Checked)&&(!CheckBox2->Checked)&&(!CheckBox3->Checked))
)
//главное условие отбора
{
Memo1->Lines->Add("--------------------------------------------------------");
Memo1->Lines->Add("ФИО клиента: "+FIO);
Memo1->Lines->Add("Последнее обращение клиента: "+Form9->ADOTable1->FieldByName("Date1")->AsString);
if((Form9->ADOTable1->FieldByName("Probeg")->AsFloat-Form9->ADOTable1->FieldByName("lT1")->AsFloat)>Form9->ADOTable1->FieldByName("TO1")->AsFloat)
{
//нужно на ТО1
Memo1->Lines->Add("Превышение пробега ТО1!! Необходим сервис! // "+FloatToStr(Form9->ADOTable1->FieldByName("lT1")->AsFloat-Form9->ADOTable1->FieldByName("Probeg")->AsFloat));
}
else
{
//до ТО1 осталось
Memo1->Lines->Add("До прохождения ТО1 осталось: "+FloatToStr(Form9->ADOTable1->FieldByName("TO1")->AsFloat-(Form9->ADOTable1->FieldByName("Probeg")->AsFloat-Form9->ADOTable1->FieldByName("lT1")->AsFloat))+ " км");
}
if((Form9->ADOTable1->FieldByName("Probeg")->AsFloat-Form9->ADOTable1->FieldByName("lT2")->AsFloat)>Form9->ADOTable1->FieldByName("TO2")->AsFloat)
{
//нужно на ТО2
Memo1->Lines->Add("Превышение пробега ТО2! Необходим сервис! // "+FloatToStr(Form9->ADOTable1->FieldByName("Probeg")->AsFloat-Form9->ADOTable1->FieldByName("lT2")->AsFloat));
}
else
{
//до ТО2 осталось
Memo1->Lines->Add("До прохождения ТО2 осталось: "+FloatToStr(Form9->ADOTable1->FieldByName("TO2")->AsFloat-(Form9->ADOTable1->FieldByName("Probeg")->AsFloat-Form9->ADOTable1->FieldByName("lT2")->AsFloat))+ " км");
}
Memo1->Lines->Add("Записи о поломках: "+Form9->ADOTable1->FieldByName("Polomki")->AsString);
} //условие отбора
else {
}
Form9->ADOTable1->Next();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm10::CheckBox3Click(TObject *Sender)
{
if (DateTimePicker1->Enabled) {
DateTimePicker1->Enabled=false;
}
else DateTimePicker1->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm10::CheckBox2Click(TObject *Sender)
{
if (ComboBox2->Enabled) {
ComboBox2->Enabled=false;
}
else ComboBox2->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm10::CheckBox1Click(TObject *Sender)
{
if (ComboBox1->Enabled) {
ComboBox1->Enabled=false;
}
else ComboBox1->Enabled=true;
}
//---------------------------------------------------------------------------