Автор: Пользователь скрыл имя, 25 Марта 2013 в 20:42, дипломная работа
Целью данной работы является разработка модели программного продукта, который предназначен для автоматизации обработки заявок на обслуживание автомобилей. Данная модель должна рассчитывать предварительную стоимость на обслуживание и ремонт автомобилей и обрабатывать данные заявок, поступающих от клиентов.
Для достижения поставленной цели необходимо решить следующие задачи:
Выполнить технико-экономическую оценку объекта автоматизации.
Провести системный анализ, разработать схему документооборота.
Обосновать проектные решения по информационному и программному обеспечению комплекса задач.
I Aнaлитичeскaя чaсть 6
1.1 Тeхникo-экoнoмичeскaя хaрaктeристикa прeдмeтнoй oблaсти и прeдприятия. Aнaлиз дeятeльнoсти OOO «Aльфa-М» 6
1.1.1 Хaрaктeристикa OOO «Aльфa-М» и eгo дeятeльнoсти 6
1.1.3 Прoгрaммнaя и тeхничeскaя aрхитeктурa ИС OOO «Aльфa-М» 13
1.2 Хaрaктeристикa кoмплeксa зaдaч, зaдaчи и oбoснoвaниe нeoбхoдимoсти aвтoмaтизaции 14
1.2.1 Выбoр кoмплeксa зaдaч aвтoмaтизaции и хaрaктeристикa сущeствующих бизнeс прoцeссoв 14
1.2.2 Oпрeдeлeниe мeстa прoeктируeмoй зaдaчи в кoмплeксe зaдaч и ee oписaниe 23
1.2.3 Oбoснoвaниe нeoбхoдимoсти испoльзoвaния вычислитeльнoй тeхники для рeшeния зaдaчи 27
1.2.4 Aнaлиз систeмы oбeспeчeния инфoрмaциoннoй бeзoпaснoсти и зaщиты инфoрмaции 31
1.3 Aнaлиз сущeствующих рaзрaбoтoк и выбoр стрaтeгии aвтoмaтизaции «КAК ДOЛЖНO БЫТЬ» 32
1.3.1 Aнaлиз сущeствующих рaзрaбoтoк для aвтoмaтизaции стaнций тeхничeскoгo oбслуживaния aвтoмoбилeй 32
1.3.2 Выбoр и oбoснoвaниe стрaтeгии aвтoмaтизaции стaнции тeхничeскoгo oбслуживaния aвтoмoбилeй OOO «Aльфa-М» 37
1.3.3 Выбoр и oбoснoвaниe спoсoбa рaзрaбoтки ИС для aвтoмaтизaции стaнции тeхничeскoгo oбслуживaния OOO «Aльфa-М» 40
1.4 Oбoснoвaниe прoeктных рeшeний 40
1.4.1 Oбoснoвaниe прoeктных рeшeний пo инфoрмaциoннoму oбeспeчeнию 40
1.4.2 Oбoснoвaниe прoeктных рeшeний пo прoгрaммнoму oбeспeчeнию 42
1.4.3 Oбoснoвaниe прoeктных рeшeний пo тeхничeскoму oбeспeчeнию 45
II Проектная часть 48
2.1 Разработка проекта автоматизации 48
2.1.1 Этапы жизненного цикла проекта автоматизации 48
2.1.2 Ожидаемые риски на этапах жизненного цикла и их описание 55
2.1.3 Организационно-правовые и программно-аппаратные средства обеспечения информационной безопасности и защиты информации 57
2.2 Информационное обеспечение задачи 58
2.2.1 Информационная модель и её описание 58
2.2.2 Характеристика нормативно-справочной, входной и оперативной информации 61
2.2.3 Характеристика результатной информации 68
III Обоснование экономической эффективности разработки базы данных для автоматизации станции технического обслуживания ООО «Альфа-М» 72
3.1 Выбор и обоснование методики расчёта экономической эффективности 72
3.2 Расчёт показателей экономической эффективности 77
Заключение 83
Приложение 1 85
Приложение 2 87
Приложение 3 96
Приложение 4 100
Приложение 5 102
Срок окупаемости затрат на внедрение программного продукта:
ТОК = 1 / 0,99 * 12 = 12,12 месяцев.
Таким образом, проект окупится за один год, с учетом затрат на этапе эксплуатации, рассчитанным на пять лет. Годовой экономический эффект составляет 1 229 350, 1 рублей.
Внедрение АС по обработке заявок экономически целесообразно, так как АС окупит себя за один год. И за время эксплуатации в течение пяти лет, даст прямой экономический эффект в размере 6 146 750,5 рублей.
Косвенный эффект автоматизации работы по обработке заявок сводится к увеличению количества аналитических показателей и повышению оперативности выполнения работ по ремонту и обслуживанию автомобилей.
В современных условиях поиск оптимального
решения проблемы организации интерфейса
взаимодействия приобретает характер
комплексной задачи, решение которой
существенно осложняется
Особый упор при внедрении данных задач, проектирование и разработка АИС следует, конечно, придавать современным CASE-средствам разработки программ, так как они наиболее оптимально позволяют проектировать решения в основе которых лежат, в первую очередь, требования к согласованному пользовательскому интерфейсу, каковым и является интерфейс Windows. Никакие продукты других фирм, доступные сегодня, не обеспечивают одновременную простоту использования, производительность и гибкость в такой степени, как Delphi. Этот язык заполнил брешь между языками 3-го и 4-го поколений, соединив их сильные стороны и создав мощную, и производительную среду разработки.
В данной дипломной работе была спроектирована автоматизированная система учета заявок ООО «АЛЬФА-М».
В ходе написания дипломной работы было выполнено следующее:
Спроектированная АС занимает минимум пространства и памяти при условии всех связей между данными. В нее легко можно вводить новые данные. База данных полностью удовлетворяет требованиям клиента, так как она удобна в использовании и выдает нужную информацию.
Все поставленные цели в результате выполнения работы достигнуты.
Листинг модуля Unit1.pas
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Image1: TImage;
BitBtn1: TBitBtn;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form3.Show;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Form4.Show;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Form5.Show;
end;
end.
Листинг модуля Unit2.pas
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, DB, DBTables, Grids, DBGrids, ExtCtrls;
type
TForm2 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
Label5: TLabel;
DBEdit5: TDBEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBMemo1: TDBMemo;
DataSource1: TDataSource;
Query1: TQuery;
Button1: TButton;
GroupBox2: TGroupBox;
DBNavigator1: TDBNavigator;
Button2: TButton;
Button3: TButton;
Button4: TButton;
GroupBox3: TGroupBox;
DBGrid1: TDBGrid;
Query2: TQuery;
DataSource2: TDataSource;
DataSource3: TDataSource;
Query3: TQuery;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
DBMemo2: TDBMemo;
DataSource4: TDataSource;
Table1: TTable;
DBNavigator2: TDBNavigator;
Button5: TButton;
GroupBox4: TGroupBox;
Table2: TTable;
DBEdit15: TDBEdit;
DataSource5: TDataSource;
DBEdit16: TDBEdit;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
DBEdit19: TDBEdit;
DBEdit20: TDBEdit;
DBEdit21: TDBEdit;
DBEdit22: TDBEdit;
DBMemo3: TDBMemo;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
GroupBox5: TGroupBox;
DBNavigator3: TDBNavigator;
Button10: TButton;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Button11: TButton;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.FormShow(Sender: TObject);
begin
Query1.Open;
Query2.Open;
Query3.Open;
Table1.Open;
Table1.Open;
GroupBox3.Visible:=True;
GroupBox4.Visible:=False;
DBEdit1.Visible:=True;
DBEdit2.Visible:=True;
DBEdit3.Visible:=True;
DBEdit4.Visible:=True;
DBEdit5.Visible:=True;
DBEdit6.Visible:=True;
DBEdit7.Visible:=True;
DBMemo1.Visible:=True;
DBNavigator1.Visible:=True;
DBEdit8.Visible:=False;
DBEdit9.Visible:=False;
DBEdit10.Visible:=False;
DBEdit11.Visible:=False;
DBEdit12.Visible:=False;
DBEdit13.Visible:=False;
DBEdit14.Visible:=False;
DBMemo2.Visible:=False;
DBNavigator2.Visible:=False;
end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Query1.Close;
Query2.Close;
Query3.Close;
Table1.Close;
Table2.Close;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
Table1.Insert;
DBEdit1.Visible:=False;
DBEdit2.Visible:=False;
DBEdit3.Visible:=False;
DBEdit4.Visible:=False;
DBEdit5.Visible:=False;
DBEdit6.Visible:=False;
DBEdit7.Visible:=False;
DBMemo1.Visible:=False;
DBNavigator1.Visible:=False;
DBEdit8.Visible:=True;
DBEdit9.Visible:=True;
DBEdit10.Visible:=True;
DBEdit11.Visible:=True;
DBEdit12.Visible:=True;
DBEdit13.Visible:=True;
DBEdit14.Visible:=True;
DBMemo2.Visible:=True;
DBNavigator2.Visible:=True;
end;
procedure TForm2.Button4Click(Sender: TObject);
begin
Table1.Post;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
Table1.Edit;
DBEdit1.Visible:=False;
DBEdit2.Visible:=False;
DBEdit3.Visible:=False;
DBEdit4.Visible:=False;
DBEdit5.Visible:=False;
DBEdit6.Visible:=False;
DBEdit7.Visible:=False;
DBMemo1.Visible:=False;
DBNavigator1.Visible:=False;
DBEdit8.Visible:=True;
DBEdit9.Visible:=True;
DBEdit10.Visible:=True;
DBEdit11.Visible:=True;
DBEdit12.Visible:=True;
DBEdit13.Visible:=True;
DBEdit14.Visible:=True;
DBMemo2.Visible:=True;
DBNavigator2.Visible:=True;
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
Table1.Delete;
DBEdit1.Visible:=False;
DBEdit2.Visible:=False;
DBEdit3.Visible:=False;
DBEdit4.Visible:=False;
DBEdit5.Visible:=False;
DBEdit6.Visible:=False;
DBEdit7.Visible:=False;
DBMemo1.Visible:=False;
DBNavigator1.Visible:=False;
DBEdit8.Visible:=True;
DBEdit9.Visible:=True;
DBEdit10.Visible:=True;
DBEdit11.Visible:=True;
DBEdit12.Visible:=True;
DBEdit13.Visible:=True;
DBEdit14.Visible:=True;
DBMemo2.Visible:=True;
DBNavigator2.Visible:=True;
end;
procedure TForm2.Button5Click(Sender: TObject);
begin
Table2.Active:=True;
GroupBox3.Visible:=False;
GroupBox4.Visible:=True;
end;
procedure TForm2.Button7Click(Sender: TObject);
begin
GroupBox3.Visible:=True;
GroupBox4.Visible:=False;
DBEdit1.Visible:=True;
DBEdit2.Visible:=True;
DBEdit3.Visible:=True;
DBEdit4.Visible:=True;
DBEdit5.Visible:=True;
DBEdit6.Visible:=True;
DBEdit7.Visible:=True;
DBMemo1.Visible:=True;
DBNavigator1.Visible:=True;
DBEdit8.Visible:=False;
DBEdit9.Visible:=False;
DBEdit10.Visible:=False;
DBEdit11.Visible:=False;
DBEdit12.Visible:=False;
DBEdit13.Visible:=False;
DBEdit14.Visible:=False;
DBMemo2.Visible:=False;
DBNavigator2.Visible:=False;
end;
procedure TForm2.Button9Click(Sender: TObject);
begin
Table2.Insert;
end;
procedure TForm2.Button8Click(Sender: TObject);
begin
Table2.Delete;
end;
procedure TForm2.Button10Click(Sender: TObject);
begin
Table2.Edit;
end;
procedure TForm2.Button6Click(Sender: TObject);
begin
Table2.Post;
end;
procedure TForm2.Button11Click(Sender: TObject);
begin
Form2.Close;
end;
end.
Листинг модуля Unit3.pas
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, DB, StdCtrls, Grids, DBGrids, DBTables, Mask,
DBCtrls;
type
TForm3 = class(TForm)
Image1: TImage;
DBGrid1: TDBGrid;
Label1: TLabel;
DataSource1: TDataSource;
DataSource2: TDataSource;
DBGrid2: TDBGrid;
Label2: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
Label3: TLabel;
Label4: TLabel;
Table1: TTable;
Table2: TTable;
Query1: TQuery;
Button1: TButton;
Label5: TLabel;
DataSource3: TDataSource;
DBNavigator1: TDBNavigator;
DBNavigator2: TDBNavigator;
Edit1: TEdit;
Panel1: TPanel;
Image2: TImage;
DataSource4: TDataSource;
Table3: TTable;
DBGrid3: TDBGrid;
Label6: TLabel;
DBGrid4: TDBGrid;
Label7: TLabel;
DataSource5: TDataSource;
Table4: TTable;
DBEdit5: TDBEdit;
Button2: TButton;
Button3: TButton;
DBEdit6: TDBEdit;
DBGrid5: TDBGrid;
DBGrid6: TDBGrid;
Button4: TButton;
Button5: TButton;