Программирование учета перевозок в карьере горно-обогатительного комбината

Программное обеспечение для диспетчерских станций карьеров по добыче полезных ископаемых. Описание технологий и языков программирования, используемых при разработке программы. Технические и программные средства. Описание логической структуры программы.

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

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

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

DM.DSetBrig1.Close;

DM.DSetBrig1.Open;

frMap.Disp.Text:=dm.DSetDisp.Fields[0].Value;

showmessage('Замена диспетчера' + dm.DSetBrig1.Fields[7].Value + 'диспетчером' + dm.DSetDisp.Fields[1].Value);

end;

procedure TFrBrig.BitBtn1Click(Sender: TObject);

begin

if EditNumBrig.Text<>''then begin

frMap.Disp.Text:=dm.DSetDisp.Fields[0].Value;

frMap.brig.Text:=editnumbrig.Text;

{showmessage(dm.DSetBrig1.Fields[4].Value);

showmessage(dm.DSetBrig1.Fields[7].Value);

showmessage(dm.DSetDisp.Fields[1].Value);}

showmessage('Выполнена замена бригады на текущую смену. Диспетчер: ' + editdisp.text + ' бригада № ' + EditNumBrig.Text);

end

else

Application.MessageBox('Не выбрана бригада','Назначение диспетчера',MB_ICONERROR)

end;

procedure TFrBrig.FormActivate(Sender: TObject);

begin

dm.DSetDisp2.Close;

dm.DSetDisp2.Parameters[0].Value:=StrToInt(FrMap.Disp.Text);

dm.DSetDisp2.Open;

end;

end.

unit gok_dcar

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Unit1, StdCtrls, Buttons, Grids, DBGrids, DBCtrls;

type

TFrDCar = class(TForm)

GridDCar: TDBGrid;

BitBtnDCarYes: TBitBtn;

BitBtn1: TBitBtn;

LookupCBDriver: TDBLookupComboBox;

LookupCBCar: TDBLookupComboBox;

Label11: TLabel;

Label12: TLabel;

Button1: TButton;

procedure BitBtnDCarYesClick(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FrDCar: TFrDCar;

implementation

{$R *.dfm}

uses gok_move;

procedure TFrDCar.BitBtnDCarYesClick(Sender: TObject);

begin

if Application.MessageBox('Подтвердить данное назначение на текущую смену?','Назначение водителей',MB_YESNO+MB_ICONQUESTION)=IDNO then exit;

end;

procedure TFrDCar.BitBtn1Click(Sender: TObject);

begin

DM.DSetDCar.Edit;

DM.DSetDCar.Fields[2].Value:=dm.DSetDrForSp.Fields[0].Value;

DM.DSetDCar.Post;

DM.DSetDCar.Close;

DM.DSetDCar.Open;

end;

procedure TFrDCar.Button1Click(Sender: TObject);

begin

DM.DSetDCar.Edit;

DM.DSetDCar.Fields[1].Value:=dm.DSetCar.Fields[0].Value;

DM.DSetDCar.Post;

DM.DSetDCar.Close;

DM.DSetDCar.Open;

end;

end.

unit Reports

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Mask, DBCtrlsEh, Unit1, DBCtrls, ExtCtrls, Buttons;

type

TFrReports = class(TForm)

LookupCBDisp: TDBLookupComboBox;

LookupCBCar: TDBLookupComboBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Label4: TLabel;

Panel1: TPanel;

Panel2: TPanel;

Label5: TLabel;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

BitBtn6: TBitBtn;

BitBtn7: TBitBtn;

BitBtn8: TBitBtn;

Panel3: TPanel;

Label6: TLabel;

Panel4: TPanel;

Label8: TLabel;

Button1: TButton;

Button2: TButton;

Label9: TLabel;

MaskEdit1: TMaskEdit;

Label10: TLabel;

Label11: TLabel;

MaskEdit2: TMaskEdit;

BitBtn11: TBitBtn;

Button3: TButton;

Button4: TButton;

Panel5: TPanel;

Label7: TLabel;

BitBtn9: TBitBtn;

procedure Button1Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure BitBtn6Click(Sender: TObject);

procedure BitBtn8Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure BitBtn11Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FrReports: TFrReports;

implementation

uses Rep1, Rep2,Rep4, Rep5, Rep6, graf1, graf2, unit2, graffuel;

{$R *.dfm}

procedure TFrReports.Button1Click(Sender: TObject);

begin

dm.DSRep1.Close;

dm.DSRep1.Parameters[0].Value:=dm.DSetShift.Fields[0].Value;

dm.DSRep1.Parameters[1].Value:=dm.DSetCar.Fields[0].Value;

dm.DSRep1.Open;

FrRep1.Show;

FrRep1.frxReport1.ShowReport;

//showmessage(dm.DSetCar.Fields[0].Value);

//FrRep1.frxReport1.Print;

end;

procedure TFrReports.BitBtn1Click(Sender: TObject);

begin

dm.DSRep1.Close;

dm.DSRep1.Parameters[0].Value:=dm.DSetShift.Fields[0].Value;

dm.DSRep1.Parameters[1].Value:=dm.DSetCar.Fields[0].Value;

dm.DSRep1.Open;

FrRep1.Show;

FrRep1.frxReport1.ShowReport;

end;

procedure TFrReports.BitBtn2Click(Sender: TObject);

begin

dm.DSRep1.Close;

dm.DSRep1.Parameters[0].Value:=dm.DSetShift.Fields[0].Value;

dm.DSRep1.Parameters[1].Value:=dm.DSetCar.Fields[0].Value;

dm.DSRep1.Open;

FrRep1.Show;

FrRep1.frxReport1.Print;

end;

procedure TFrReports.BitBtn3Click(Sender: TObject);

begin

dm.DSetRep2.Close;

dm.DSetRep2.Parameters[0].Value:=dm.DSetShift.Fields[0].Value;

dm.DSetRep2.Open;

FrRep2.Show;

FrRep2.frxReport2.ShowReport;

end;

procedure TFrReports.BitBtn4Click(Sender: TObject);

begin

dm.DSetRep2.Close;

dm.DSetRep2.Parameters[0].Value:=dm.DSetShift.Fields[0].Value;

dm.DSetRep2.Open;

FrRep2.Show;

FrRep2.frxReport2.Print;

end;

procedure TFrReports.BitBtn6Click(Sender: TObject);

begin

dm.DSetRep4.Close;

dm.DSetRep4.Parameters[0].Value:=dm.DSetShift.Fields[0].Value;

dm.DSetRep4.Open;

FrRep4.Show;

FrRep4.frxReport4.ShowReport;

end;

procedure TFrReports.BitBtn8Click(Sender: TObject);

begin

dm.DelQueryRep5.ExecSQL;

dm.AddQueryRep5.Parameters[0].Value:=dm.DSetShift.Fields[0].Value;

dm.AddQueryRep5.ExecSQL;

dm.DSetRep5.Close;

//dm.DSetRep5.Parameters[0].Value:=dm.DSetShift.Fields[0].Value;

dm.DSetRep5.Open;

FrRep5.Show;

FrRep5.frxReport5.ShowReport;

end;

procedure TFrReports.Button2Click(Sender: TObject);

begin

if (MaskEdit1.text <>'01.09.11') then

Application.MessageBox('Неправильно указан период','Итоговые отчеты',MB_ICONERROR)

else

FrGraf1.Show;

end;

procedure TFrReports.BitBtn11Click(Sender: TObject);

begin

dm.DelQueryRep5.ExecSQL;

dm.AddQueryRep5.Parameters[0].Value:=dm.DSetShift.Fields[0].Value;

dm.AddQueryRep5.ExecSQL;

dm.DSetRep6.Close;

//dm.DSetRep5.Parameters[0].Value:=dm.DSetShift.Fields[0].Value;

dm.DSetRep6.Open;

frRep6.Show;

FrRep6.frxReport5.ShowReport;

end;

procedure TFrReports.Button3Click(Sender: TObject);

begin

if (MaskEdit1.text <>'01.09.11')then

Application.MessageBox('Неправильно указан период','Итоговые отчеты',MB_ICONERROR)

else

FrGraf2.Show;

end;

procedure TFrReports.Button4Click(Sender: TObject);

begin

dm.DSetGrafFuel.Close;

dm.DSetGrafFuel.Parameters[0].Value:=dm.DSetShift.Fields[0].Value;

dm.DSetGrafFuel.Parameters[1].Value:=dm.DSetCar.Fields[0].Value;

dm.DSetGrafFuel.Open;

FrGrafFuel.Show;

end;

end.

Тексты SQL-запросов

Формирование данных для полей со списком «Пользователь» и «Диспетчер»

SELECT tWorkers.CodeWorker, [WorkerSurname] & " " & Left([WorkerName],1) & "." & " " & Left([WorkerPatronymic],1) & "." AS FIO, tWorkers.WorkerPass

FROM tWorkers

WHERE (((tWorkers.WorkerDisp)=True));

Формирование данных для поля со списком «Водители»

SELECT tWorkers.CodeWorker, [WorkerSurname] & " " & Left([WorkerName],1) & "." & " " & Left([WorkerPatronymic],1) & "." AS FIO, tWorkers.WorkerPass

FROM tWorkers

WHERE (((tWorkers.WorkerDisp)=False));

Формирование данных для поля со списком «Машины»

SELECT tCars.CodeCar, tCars!CarModel & " " & tCars!CarNumberIn AS PP

FROM tCars INNER JOIN tCarType ON tCars.CodeCarType = tCarType.CodeCarType

WHERE (((tCarType.CarTypeFlgEks)=False))

Формирование данных для формы «Экскаваторы»

SELECT tCars.CodeCar, tCars!CarModel & "-" & tCars!CarNumberIn AS PP, tCars.CarFileSP, tCars.CarFilePR, tCars.CarFileRP

FROM tCars INNER JOIN tCarType ON tCars.CodeCarType = tCarType.CodeCarType

WHERE (((tCarType.CodeCarType)=2));

Формирование данных для формы «Назначение на смену»

SELECT tDCar.*, tCars!CarModel & " " & tCars!CarNumberIn AS CarM, [WorkerSurname] & " " & tWorkers!WorkerName & " " & tWorkers!WorkerPatronymic AS FIO, tWorkers.WorkerTabNum

FROM (tDCar INNER JOIN tWorkers ON tDCar.CodeWorker = tWorkers.CodeWorker) INNER JOIN tCars ON tDCar.CodeCar = tCars.CodeCar

WHERE (((tCars.CodeCarType)<>2) AND ((tWorkers.WorkerDisp)=False));

Добавление данных о сотрудниках и машинах, работающих в данную смену

INSERT INTO tDriverCar ( CodeShift, CodeCar, CodeWorker, CodeWorker2 )

SELECT Forms!FrDo!spshift AS Shift, tDcar2.CodeCar, tDcar2.CodeWorker, tDcar2.CodeWorker2

FROM tDcar2

WHERE (((tDcar2.DCar2Brig)=:b));

Добавление данных о рейсах машин

INSERT INTO tTrip ( CodeShift, CodeCar, CodeCarPP, CodeUnload, TripTimeBegin, TripTimeEnd, TripMass, TripDistance, TripCounterFuel, TripFuel, TripPathTime )

SELECT Forms!FrDo!spshift AS smena, Forms!FrDo!spcar AS car, Forms!FrDo!speks AS pp, Forms!FrDo!sppr AS pr, IIf((Round(Forms!FrDo!fplusbegin,0)+Minute([TripTimeEnd]))>=60,Hour([TripTimeEnd])+1 & ":" & Minute([TripTimeEnd])+Round(Forms!FrDo!fplusbegin,0)-60,Hour([TripTimeEnd]) & ":" & Minute([TripTimeEnd])+Round(Forms!FrDo!fplusbegin,0)) AS timebegin, IIf((Round(Forms!FrDo!fpathtime,1)+Forms!FrDo!fplusbegin+Minute([TripTimeEnd]))>=60,Hour([TripTimeEnd])+1 & ":" & Minute([TripTimeEnd])+Round(Forms!FrDo!fpathtime,1)+Forms!FrDo!fplusbegin-60,Hour([TripTimeEnd]) & ":" & Minute([TripTimeEnd])+Round(Forms!FrDo!fpathtime,1)+Forms!FrDo!fplusbegin) AS timeend, tCars!CarGP AS gp, Forms!FrDo!fdist AS dist, Round(tTrip!TripCounterFuel-(tCars!CarFuel/100*Forms!FrDo!fdist),1) AS fuel, Round(tCars!CarFuel/100*Forms!FrDo!fdist,2) AS rashod, Round(Forms!FrDo!fpathtime,1) AS pathtime

FROM tCarType INNER JOIN (tTrip INNER JOIN tCars ON tTrip.CodeCar = tCars.CodeCar) ON tCarType.CodeCarType = tCars.CodeCarType

WHERE (((tTrip.CodeTrip)=GetLastTrip()));

Обновление данных в таблице Ttrip (Рейсы машин)

UPDATE tTrip INNER JOIN tCars ON tTrip.CodeCarPP = tCars.CodeCar SET tTrip.CodeBurdenType = IIf(tCars!CarDob,1,2);

Формирование данных для отчета о рейсах машин

SELECT tTrip.CodeTrip, tTrip.TripTimeBegin, tTrip.TripTimeEnd, tCars.CarModel, tCars.CarNumberIn, tCars_1!CarModel & " " & tCars_1!CarNumberIn AS PP, tShift.ShiftDate, tShift.ShiftNum, tBurdenType.BurdenTypeName, tWorkers_1!WorkerName & " " & tWorkers_1!WorkerSurname AS Disp, tWorkers!WorkerSurname & " " & tWorkers!WorkerName & " " & tWorkers!WorkerPatronymic AS Driver, tWorkers.WorkerTabNum, tUnloading.UnloadName, tTrip.TripPathTime, tTrip.TripDistance, tTrip.TripCounterFuel

FROM ((((((tTrip INNER JOIN tBurdenType ON tTrip.CodeBurdenType=tBurdenType.CodeBurdenType) INNER JOIN tCars ON tTrip.CodeCar=tCars.CodeCar) INNER JOIN tCars AS tCars_1 ON tTrip.CodeCarPP=tCars_1.CodeCar) INNER JOIN (tDriverCar INNER JOIN tShift ON tDriverCar.CodeShift=tShift.CodeShift) ON (tTrip.CodeShift=tDriverCar.CodeShift) AND (tCars.CodeCar=tDriverCar.CodeCar)) INNER JOIN tWorkers AS tWorkers_1 ON tDriverCar.CodeWorker2=tWorkers_1.CodeWorker) INNER JOIN tWorkers ON tDriverCar.CodeWorker=tWorkers.CodeWorker) INNER JOIN tUnloading ON tTrip.CodeUnload=tUnloading.CodeUnload

GROUP BY tTrip.CodeTrip, tTrip.TripTimeBegin, tTrip.TripTimeEnd, tCars.CarModel, tCars.CarNumberIn, tCars_1!CarModel & " " & tCars_1!CarNumberIn, tShift.ShiftDate, tShift.ShiftNum, tBurdenType.BurdenTypeName, tWorkers_1!WorkerName & " " & tWorkers_1!WorkerSurname, tWorkers!WorkerSurname & " " & tWorkers!WorkerName & " " & tWorkers!WorkerPatronymic, tWorkers.WorkerTabNum, tUnloading.UnloadName, tTrip.TripPathTime, tTrip.TripDistance, tTrip.TripCounterFuel, tTrip.CodeShift, tTrip.CodeCar

HAVING (((tTrip.CodeShift)=:s) And ((tTrip.CodeCar)=:c))

ORDER BY tTrip.CodeTrip;

Формирование данных для отчета о работе машин

SELECT tCars.CarModel, tCars.CarNumberIn, tShift.ShiftDate, tShift.ShiftNum, tWorkers_1!WorkerName & " " & tWorkers_1!WorkerSurname AS Disp, tWorkers!WorkerSurname & " " & tWorkers!WorkerName & " " & tWorkers!WorkerPatronymic AS Driver, Sum(tTrip.TripPathTime) AS [Sum-TripPathTime], Sum(tTrip.TripDistance) AS [Sum-TripDistance], Sum(tTrip.TripFuel) AS [Sum-TripFuel], tCars.CarGP, Count(tTrip.CodeTrip) AS [Count-CodeTrip], First(tTrip.TripTimeBegin) AS [First-TripTimeBegin], Last(tTrip.TripTimeEnd) AS [Last-TripTimeEnd], tBurdenType.BurdenTypeName, tWorkers.WorkerTabNum, Sum(tTrip.TripMass) AS [Sum-TripMass]

FROM (((((tTrip INNER JOIN tBurdenType ON tTrip.CodeBurdenType = tBurdenType.CodeBurdenType) INNER JOIN tCars ON tTrip.CodeCar = tCars.CodeCar) INNER JOIN tCars AS tCars_1 ON tTrip.CodeCarPP = tCars_1.CodeCar) INNER JOIN (tDriverCar INNER JOIN tShift ON tDriverCar.CodeShift = tShift.CodeShift) ON (tCars.CodeCar = tDriverCar.CodeCar) AND (tTrip.CodeShift = tDriverCar.CodeShift)) INNER JOIN tWorkers AS tWorkers_1 ON tDriverCar.CodeWorker2 = tWorkers_1.CodeWorker) INNER JOIN tWorkers ON tDriverCar.CodeWorker = tWorkers.CodeWorker

GROUP BY tCars.CarModel, tCars.CarNumberIn, tShift.ShiftDate, tShift.ShiftNum, tWorkers_1!WorkerName & " " & tWorkers_1!WorkerSurname, tWorkers!WorkerSurname & " " & tWorkers!WorkerName & " " & tWorkers!WorkerPatronymic, tCars.CarGP, tBurdenType.BurdenTypeName, tWorkers.WorkerTabNum, tTrip.CodeShift

HAVING (((tTrip.CodeShift)=:s));

Формирование данных для отчета о транспортных расстояниях

SELECT tUnloading.UnloadName, tCars!CarModel & " " & tCars!CarNumberIn AS PP, Sum(tTrip.TripDistance) AS [Sum-TripDistance], Count(tTrip.CodeTrip) AS [Count-CodeTrip], Min(tTrip.TripDistance) AS [Min-TripDistance], Max(tTrip.TripDistance) AS [Max-TripDistance], Avg(tTrip.TripDistance) AS [Avg-TripDistance], tWorkers!WorkerName & " " & tWorkers!WorkerSurname AS Disp, tShift.ShiftDate, tShift.ShiftNum

FROM ((((tTrip INNER JOIN tUnloading ON tTrip.CodeUnload = tUnloading.CodeUnload) INNER JOIN tCars ON tTrip.CodeCarPP = tCars.CodeCar) INNER JOIN tDriverCar ON (tTrip.CodeShift = tDriverCar.CodeShift) AND (tTrip.CodeCar = tDriverCar.CodeCar)) INNER JOIN tWorkers ON tDriverCar.CodeWorker2 = tWorkers.CodeWorker) INNER JOIN tShift ON tTrip.CodeShift = tShift.CodeShift

GROUP BY tUnloading.UnloadName, tCars!CarModel & " " & tCars!CarNumberIn, tWorkers!WorkerName & " " & tWorkers!WorkerSurname, tShift.ShiftDate, tShift.ShiftNum, tTrip.CodeShift

HAVING (((tTrip.CodeShift)=:s));

Формирование данных для отчета по экскаваторам

INSERT INTO tDSetRep5 ( PP, CountTrip, Disp, ShiftDate, ShiftNum, BurdenTypeName, CarGP )

SELECT tCars!CarModel & " " & tCars!CarNumberIn AS PP, Count(tTrip.CodeTrip) AS [Count-CodeTrip], tWorkers!WorkerName & " " & tWorkers!WorkerSurname AS Disp, tShift.ShiftDate, tShift.ShiftNum, tBurdenType.BurdenTypeName, Sum(tTrip.TripMass) AS [Sum-TripMass]

FROM ((((((tTrip INNER JOIN tUnloading ON tTrip.CodeUnload = tUnloading.CodeUnload) INNER JOIN tCars ON tTrip.CodeCarPP = tCars.CodeCar) INNER JOIN tDriverCar ON (tTrip.CodeShift = tDriverCar.CodeShift) AND (tTrip.CodeCar = tDriverCar.CodeCar)) INNER JOIN tWorkers ON tDriverCar.CodeWorker2 = tWorkers.CodeWorker) INNER JOIN tShift ON tTrip.CodeShift = tShift.CodeShift) INNER JOIN tBurdenType ON tTrip.CodeBurdenType = tBurdenType.CodeBurdenType) INNER JOIN tCars AS tCars_1 ON tTrip.CodeCar = tCars_1.CodeCar

GROUP BY tCars!CarModel & " " & tCars!CarNumberIn, tWorkers!WorkerName & " " & tWorkers!WorkerSurname, tShift.ShiftDate, tShift.ShiftNum, tBurdenType.BurdenTypeName, tTrip.CodeShift

HAVING (((tTrip.CodeShift)=:s);

SELECT tDSetRep5.Disp, tDSetRep5.PP, Round(tDSetRep5!CarGP,2) AS massa, Sum(tDSetRep5.CountTrip) AS [Sum-CountTrip], tDSetRep5.ShiftDate, tDSetRep5.ShiftNum, tDSetRep5.BurdenTypeName

FROM tDSetRep5

GROUP BY tDSetRep5.Disp, tDSetRep5.PP, Round(tDSetRep5!CarGP,2), tDSetRep5.ShiftDate, tDSetRep5.ShiftNum, tDSetRep5.BurdenTypeName;

Формирование данных для отчета по горным массам

SELECT tDSetRep5.Disp, Sum(Round(tDSetRep5!CarGP,2)) AS massa, Sum(tDSetRep5.CountTrip) AS [Sum-CountTrip], tDSetRep5.ShiftDate, tDSetRep5.ShiftNum, tDSetRep5.BurdenTypeName

FROM tDSetRep5

GROUP BY tDSetRep5.Disp, tDSetRep5.ShiftDate, tDSetRep5.ShiftNum, tDSetRep5.BurdenTypeName;

Полный текст программы можно просмотреть на прилагаемом к дипломному проекту лазерном диске.

Приложение В

ОТЗЫВ

на бакалаврскую работу

“Програмування обліку перевезень у кар'єрі гірничо-збагачувального комбінату”

студента группы КНітC-14-1 Кормича Руслана Игоревича

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

Актуальность разработанной системы определяется насущной потребностью перехода украинских предприятий на максимальное использование местных полезных ископаемых, таких как уголь, руда и др. Это позволит предприятиям менее зависеть от внешних поставок.

По сравнению с существующими в Украине аналогами разработанное программное обеспечение имеет простой и понятный, удобный в использовании интерфейс и сравнительно небольшую стоимость.

Тема бакалаврской работы непосредственно связана с объектом деятельности бакалавра направления 6.050101 Компъютерные науки - проектированием и разработкой информационных систем.

Приложение разработано на языке Object Pascal в среде Delphi 2010 с использованием языка структурированных запросов SQL и СУБД Firebird 2.5

Практическая значимость данного программного продукта заключается в возможности своевременного решения задач оперативного управления работой карьера, что позволяет минимизировать расход энергоресурсов и добиться повышения производительности труда и улучшения качества работы.

Работоспособность представленной программы подтверждена отладочными испытаниями и тестированием программы.

Оформление пояснительной записки к дипломному проекту выполнено в целом соответственно стандартам на программную документацию.

Дипломный проект выполнен достаточно самостоятельно и заслуживает оценки «хорошо».

Руководитель дипломного проекта

профессор _____ _________ Слесарев В.В.

Приложение Г

РЕЦЕНЗИЯ

на бакалаврскую работу

“Програмування обліку перевезень у кар'єрі гірничо-збагачувального комбінату”

студента группы КНітC-14-1 Кормича Руслана Игоревича

Горнодобывающая промышленность является одной из самых энергозатратных отраслей народного хозяйства. В настоящее время одной из наиболее острых проблем является экономия энергетических ресурсов в различных отраслях промышленности. Представленная в данном дипломном проекте система учета перевозок руды и вскрышных пород, являющаяся частью системы управления всего карьера ГОК, будет способствовать оптимизации энергозатрат, повышению производительности труда и улучшения качества работы.

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

Приложение разработано на языке Object Pascal в среде Delphi 2010 с использованием языка структурированных запросов SQL и СУБД Firebird 2.5

Считаю задание и содержание дипломного проекта в основном соответствующим для проверки степени подготовленности Кормича Р.И. по направлению 6.050101 Компъютерные науки.

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

Качество оформления дипломного проекта можно признать хорошим, так как он сопровождается достаточным количеством рисунков (19) с содержательными подписями к ним, и 10 таблицами. В работе присутствуют заключительные выводы. Оформление программной документации в целом соответствует ЕСПД.

Уровень теоретической и практической подготовки автора, логика и стиль изложения материала в целом соответствует квалификационным требованиям.

Исходя из вышесказанного, дипломный проект Кормича Р.И. заслуживает оценки «хорошо» и присуждения автору квалификации инженера-программиста.

Рецензент: ____________________

_______________________________ __________________

Список прилагаемых к квалификационной работе файлов

на носителе информации (CD-R)

1. Prog_GOK.rar - архив с исходными кодами приложения и базой данных.

2. Presentation.pptx - презентация.

3. Diplom.docx - текст пояснительной записки.

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


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

  • Область применения системы учета перевозок в карьере горно-обогатительного комбината. Функциональное назначение, описание логической структуры программы, пользовательского интерфейса, языков программирования, используемых при разработке программы.

    дипломная работа [3,0 M], добавлен 21.12.2016

  • Обзор средств программирования. Описание и свойства языка Delphi. Основания для разработки, ее назначение, предъявляемые требования, стадии разработки. Описание схемы основного модуля, процедур, программы. Используемые технические и программные средства.

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

  • Описание логической и модульной структуры разрабатываемой программы, используемые в данном процессе основные технические средства. Организация хранения данных в программе, проектирование интерфейса. Тестирование и отладка, листинг готовой программы.

    курсовая работа [494,5 K], добавлен 20.06.2012

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

    курсовая работа [427,4 K], добавлен 10.10.2015

  • Создание программы для обработки информации об объектах предметной области "Бытовая техника" в среде визуального программирования C++. Иерархия родственных классов. Описание логической структуры программы. Реализация файлового ввода/вывода данных.

    курсовая работа [711,4 K], добавлен 27.07.2014

  • Средства программирования, описание языка С++. Назначение программы, требования к документации. Стадии разработки, виды испытаний. Используемые технические, программные средства. Вызов и загрузка, входные и выходные данные. Программа и методика испытаний.

    контрольная работа [205,3 K], добавлен 23.07.2013

  • Характеристика основных функций и состава программного обеспечения. Понятие компьютерной программы и операционной системы. Система и языки программирования. Утилиты - программные средства контроля ПК, используемые для проверки его работоспособности.

    презентация [481,3 K], добавлен 29.11.2012

  • Назначение и область применения, технические характеристики, постановка задачи, описание алгоритма и организация входных и выходных данных для программы. Разработка, описание логической структуры, используемые технические средства и условия выполнения.

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

  • Особенности и суть языков программирования, способы их задания, цепочки символов и операции над ними. Классификация языков и грамматик, форма Бэкуса-Наура. Определение и свойства регулярных выражений, конечные автоматы и грамматики, описание программы.

    курсовая работа [231,5 K], добавлен 23.06.2011

  • Обеспечение универсальности функций тестирования при разработке программы для тестирования студентов. Бесплатное программное обеспечение. Анализ выбора среды программирования. Особенности среды Delphi и СУБД MySQL. Описание алгоритма и блок-схемы.

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

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