Программирование учета перевозок в карьере горно-обогатительного комбината
Программное обеспечение для диспетчерских станций карьеров по добыче полезных ископаемых. Описание технологий и языков программирования, используемых при разработке программы. Технические и программные средства. Описание логической структуры программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 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