Автоматизована система Комп’ютерної фірми

Автор работы: Пользователь скрыл имя, 21 Октября 2013 в 21:30, дипломная работа

Краткое описание

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

Содержание

Вступ 4
1 Сучасні технології розробки інформаційних систем. 7
1.1 Поняття штучного інтелекту. 7
1.2 Проблема штучного інтелекту 11
1.3 Поняття інформаційної системи. 13
1.4 Поняття бази даних. 14
1.5 Класифікація АІС. 18
1.1. Інформаційні системи та засоби їх створення 21
1.1.2. Зовнішній рівень проектування. 22
1.1.3. Інфологічний рівень проектування. 23
1.1.4. Нормалізація відносин. 25
1.1.5. Діаграма „Сутність-зв'язок”. 27
1.2. Проблеми автоматизації в інформаційних системах. 29
1.2.1. Причини переходу до використання СУБД 30
2 Проетування автоматизованої системи. 32
2.1. Проектування інформаційної бази 32
2.2. Аналіз предметної області. 33
2.3. Проектування діалогового режиму обробки даних- 36
3 Програмно-технічна реалізація системи. 38
3.1.Структура системи. 38
3.2. Постановка задач в DELPHI 40
3.3. Основні компоненти для роботи з базами даних в DELPHI 43
3.3.1. Компонент TTable 43
3.3.2. Компонент TDBGrid 47
3.3.3. Компонент TDBLookup 48
3.4. Особливості реалізації інформаційної системи. 50
3.5. Робота з формами системи. 51
Висновок 61
Список використаної літератури: 62
Додатки 63
Додаток 1. Модуль головної форми F 63
Додаток 2. Модуль форми занесення даних про клієнтів FKD 72
Додаток 3. Модуль форми зміни даних про клієнтів FKD 74
Додаток 4. Модуль форми занесення даних про товар FT1 76
Додаток 5. Модуль форми пошуку даних FР 79
Додаток 6. Модуль форми продажу товару FZ1 84
Додаток 7. Модуль форми ремонту товару FZ2 87
Додаток 8. Модуль форми завантаження програми 90

Прикрепленные файлы: 1 файл

Бакалаврська.doc

— 1.12 Мб (Скачать документ)

 

 

Рис.17 „Форма про систему”.

 

Рис.18 „Форма про автора”.


 

 

 

 

Рис.19 „Повідомлення при виході з системи”.

При виході з система, необхідно  натиснути кнопку „Вихід” в пукті меню або на панелі інструментів. Після натискання кнопки – з’явиться повідомлення про підтвердження (Рис.19) після чого програма закриється.

 

Висновок

 

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

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

Розроблена інформаційна система  за допомогою використання мови програмування Delphi 5.0 з «не стандартних » компонент, дозволяє легко вводити будь-які дані, що стосуться обліку індивідуальних відомостей та інших для подальшого аналізу, зберігання та редагування.

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

Список використаної літератури:

1. Кондзюба С.П., Громов В.Н. Базы данных и приложения. – К: Издательство «ДиаСофт», 2001. – 592 с.

2. Ерёмина Н.В. Проектирование БД. – К: КНЕУ, 1998. – 204 с.

3. Атре Ш. Структурный подход к организации баз данных. – М.: Финансы и статистика, 1983. – 320 с.

     4.Бойко В.В., Савинков В.М. Проектирование баз данных инфо-рмационных систем. – М.: Финансы и статистика, 1989. – 351 с.

5.         Дейт К. Руководство по реляционной СУБД DB2. – М.: Финансы и статистика, 1988. – 320 с.

  1. Джексон Г. Проектирование реляционных баз данных для использования с микроЭВМ. -М.: Мир, 1991. – 252 с.
  2. Кириллов В.В. Структуризованный язык запросов (SQL). – СПб.: ИТМО, 1994. – 80 с.
  3. Мартин Дж. Планирование развития автоматизированных систем. – М.: Финансы и статистика, 1984. – 196 с.
  4. Мейер М. Теория реляционных баз данных. – М.: Мир, 1987. – 608 с.
  5. Тиори Т., Фрай Дж. Проектирование структур баз данных. В 2 кн., – М.: Мир, 1985. Кн. 1. – 287 с.: Кн. 2. – 320 с.
  6. Ульман Дж. Базы данных на Паскале. – М.: Машиностроение, 1990. – 386 с.
  7. Хаббард Дж. Автоматизированное проектирование баз данных. – М.: Мир, 1984. – 294 с.
  8. С. М. Шалютин “Искусственный интеллект”, М.: Мысль, 1985
  9. А. Эндрю “Искусственный интеллект”, М.: Мир, 1985
  10. Н. Винер “Кибернетика”, М.: Наука, 1983
  11. Г. Клаус “Кибернетика и философия”, М.: Иностранная литература, 1963

Додатки

Додаток 1. Модуль головної форми F

 

unit UF;

 

interface

 

uses {підключаються використовувані модулі}

  Windows, Messages, SysUtils, Classes;

 

type

 

  TF = class(TForm)

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    .....................

    RzSpacer4: TRzSpacer;

    procedure N24Click(Sender: TObject);

    procedure N2Click(Sender: TObject);

    procedure N4Click(Sender: TObject);

    procedure N25Click(Sender: TObject);

    procedure N7Click(Sender: TObject);

    procedure N8Click(Sender: TObject);

    procedure N12Click(Sender: TObject);

    procedure N18Click(Sender: TObject);

    procedure N19Click(Sender: TObject);

    procedure N10Click(Sender: TObject);

    procedure N15Click(Sender: TObject);

    procedure N14Click(Sender: TObject);

    procedure N23Click(Sender: TObject);

    procedure N22Click(Sender: TObject);

    procedure N29Click(Sender: TObject);

    procedure BtnNewClick(Sender: TObject);

    procedure BtnNew1Click(Sender: TObject);

   procedure BtnNew2Click(Sender: TObject);

    procedure BtnNew3Click(Sender: TObject);

    procedure BtnExitClick(Sender: TObject);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure BtnNew5Click(Sender: TObject);

    procedure N26Click(Sender: TObject);

    procedure BtnUpOneLevelClick(Sender: TObject);

 

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  F: TF;

 

implementation

 

uses UK, UT, UZ, Uz1, Uz2, Ualias, UP, Ua, Uinfo;

 

{$R *.DFM}

 

procedure TF.N24Click(Sender: TObject);

begin

// видає повідомлення для  підтвердження виходу

if messagedlg('Ви дійсно хочете вийти з програми?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then

halt; // повний вихід з програми

end;

 

procedure TF.N2Click(Sender: TObject);

begin

// підключення форми

fk.showmodal; 

end;

 

procedure TF.N4Click(Sender: TObject);

begin

FT.showmodal;

end;

 

procedure TF.N25Click(Sender: TObject);

begin

fz.showmodal;

end;

 

procedure TF.N7Click(Sender: TObject);

begin

fz1.showmodal;

end;

 

procedure TF.N8Click(Sender: TObject);

begin

fz2.showmodal;

end;

 

 

procedure TF.N12Click(Sender: TObject);

begin

// перевіряє чи є файл  звіту

if FileExists('klient.FRF') Then

      begin

   // загружає файл  звіту

       alias.frReport1.LoadFromFile('klient.FRF');

       alias.frReport1.PrepareReport;

       alias.frReport1.ShowPreparedReport;

      end

// якщо немає файлу то  відключає

     else alias.frReport1.DesignReport;

end;

 

procedure TF.N18Click(Sender: TObject);

begin

if FileExists('Garantiya.frf') Then

      begin

       alias.frReport3.LoadFromFile('Garantiya.frf');

       alias.frReport3.PrepareReport;

       alias.frReport3.ShowPreparedReport;

      end

     else alias.frReport3.DesignReport;

end;

 

procedure TF.N19Click(Sender: TObject);

begin

// якщо запис в базі  „Продаж” то формує звіт по продажу

if fz.DBEdit1.Text='Продаж' then

  begin

    if FileExists('Prodag.FRF') Then

      begin

       alias.frReport2.LoadFromFile('Prodag.FRF');

       alias.frReport2.PrepareReport;

       alias.frReport2.ShowPreparedReport;

      end

     else alias.frReport2.DesignReport;

  end;

// якщо запис в базі  „Ремонт” то формує звіт по ремонту

if fz.DBEdit1.Text='Ремонт' then

  begin

    if FileExists('Remont.FRF') Then

      begin

       alias.frReport2.LoadFromFile('Remont.FRF');

       alias.frReport2.PrepareReport;

       alias.frReport2.ShowPreparedReport;

      end

     else alias.frReport2.DesignReport;

  end;

end;

 

procedure TF.N10Click(Sender: TObject);

begin

 if FileExists('osk.FRF') Then

      begin

       alias.frReport4.LoadFromFile('osk.FRF');

       alias.frReport4.PrepareReport;

       alias.frReport4.ShowPreparedReport;

      end

     else alias.frReport4.DesignReport;

end;

 

procedure TF.N15Click(Sender: TObject);

begin

if FileExists('prays.FRF') Then

      begin

       alias.frReport5.LoadFromFile('prays.FRF');

       alias.frReport5.PrepareReport;

       alias.frReport5.ShowPreparedReport;

      end

     else alias.frReport5.DesignReport;

end;

 

procedure TF.N14Click(Sender: TObject);

begin

fp.showmodal;

end;

 

procedure TF.N23Click(Sender: TObject);

begin

a.showmodal;

end;

 

 

 

 

procedure TF.N22Click(Sender: TObject);

begin

finfo.showmodal;

end;

 

procedure TF.N29Click(Sender: TObject);

begin

// процедура, яка показує  при натисканні кнопки панель RzToolbar

 f.N29.Checked:=true;

f.N26.Checked:=false;

f.RzToolbar1.Visible:=true;

end;

 

procedure TF.BtnNewClick(Sender: TObject);

begin

fk.showmodal;

end;

 

procedure TF.BtnNew1Click(Sender: TObject);

begin

FT.showmodal;

end;

 

procedure TF.BtnNew2Click(Sender: TObject);

begin

fz.showmodal;

end;

 

procedure TF.BtnNew3Click(Sender: TObject);

begin

fp.showmodal;

end;

 

procedure TF.BtnExitClick(Sender: TObject);

begin

if messagedlg('Ви дійсно хочете вийти з програми?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then

halt;

end;

 

 

 

 

 

 

procedure TF.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if messagedlg('Ви дійсно хочете вийти з програми?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then

halt;

end;

 

procedure TF.BtnNew5Click(Sender: TObject);

begin

if FileExists('prays.FRF') Then

      begin

       alias.frReport5.LoadFromFile('prays.FRF');

       alias.frReport5.PrepareReport;

       alias.frReport5.ShowPreparedReport;

      end

     else alias.frReport5.DesignReport;

end;

 

procedure TF.N26Click(Sender: TObject);

begin

// процедура, яка ховає при натисканні кнопки панель RzToolbar

 f.N29.Checked:=false;

f.N26.Checked:=true;

f.RzToolbar1.Visible:=false;

end;

 

procedure TF.BtnUpOneLevelClick(Sender: TObject);

begin

// процедура, яка ховає при натисканні кнопки панель RzToolbar

 f.N29.Checked:=false;

f.N26.Checked:=true;

f.RzToolbar1.Visible:=false;

end;

 

end.

 

 

 

 

 

 

 

 

Додаток 2. Модуль  форми занесення даних про клієнтів FKD

 

unit UKD;

 

interface

 

uses

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

  StdCtrls, Buttons;

 

type

  TFKD = class(TForm)

    Label1: TLabel;

     .....................

    Edit4: TEdit;

    SpeedButton1: TSpeedButton;

    SpeedButton2: TSpeedButton;

    procedure SpeedButton2Click(Sender: TObject);

    procedure FormActivate(Sender: TObject);

    procedure SpeedButton1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FKD: TFKD;

 

implementation

 

uses Ualias;

 

{$R *.DFM}

 

procedure TFKD.SpeedButton2Click(Sender: TObject);

begin

// закриття форми

fkd.Close;

end;

 

procedure TFKD.FormActivate(Sender: TObject);

begin

// очищаєм компоненти TEdit від тексту

fkd.Edit1.Text:='';

fkd.Edit2.Text:='';

fkd.Edit3.Text:='';

fkd.Edit4.Text:='';

end;

 

procedure TFKD.SpeedButton1Click(Sender: TObject);

begin

// відкриваєм базу для  занесення даних

alias.Klient.Insert;

// для відповідного поля  в базі присвоюємо відповідний  текст з компонентів TEdit

alias.Klient.FieldByName('name').AsString:=fkd.Edit2.Text;

alias.Klient.FieldByName('kod').AsInteger:=StrToInt(fkd.Edit1.Text);

alias.Klient.FieldByName('tel').AsInteger:=StrToInt(fkd.Edit3.Text);

alias.Klient.FieldByName('adres').AsString:=fkd.Edit4.Text;

// закриваєм базу і зберігаєм  в ній дані.

// процедура Cancel закриває без зберігання

alias.Klient.Post;

fkd.Close;

end;

 

end.

Додаток 3. Модуль  форми зміни даних про клієнтів FKD

 

unit UKZ;

 

interface

 

uses

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

  Buttons, StdCtrls;

 

type

  TFKZ = class(TForm)

    Label1: TLabel;

    .....................

    Edit4: TEdit;

    SpeedButton1: TSpeedButton;

    SpeedButton2: TSpeedButton;

 

    procedure SpeedButton2Click(Sender: TObject);

    procedure SpeedButton1Click(Sender: TObject);

    procedure FormActivate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FKZ: TFKZ;

 

implementation

 

uses Ualias, UKD;

 

{$R *.DFM}

 

procedure TFKZ.SpeedButton2Click(Sender: TObject);

begin

fkz.Close;

end;

 

procedure TFKZ.SpeedButton1Click(Sender: TObject);

begin

// відкриваєм базу для редагування даних

alias.Klient.Edit;

alias.Klient.FieldByName('name').AsString:=fkz.Edit2.Text;

alias.Klient.FieldByName('kod').AsInteger:=StrToInt(fkz.Edit1.Text);

alias.Klient.FieldByName('tel').AsInteger:=StrToInt(fkz.Edit3.Text);

alias.Klient.FieldByName('adres').AsString:=fkz.Edit4.Text;

alias.Klient.Post;

fkz.Close;

end;

 

procedure TFKZ.FormActivate(Sender: TObject);

begin

// при запуску форми  автоматично присвоює відповідний текст з полів бази

// функція IntToStr переводить числове значення в текстове

// функція StrToInt переводить текстове значення в числове

fkz.Edit2.Text:=alias.Klient.FieldByName('name').AsString;

fkz.Edit1.Text:=IntToStr(alias.Klient.FieldByName('kod').AsInteger);

fkz.Edit3.Text:=IntToStr(alias.Klient.FieldByName('tel').AsInteger);

fkz.Edit4.Text:=alias.Klient.FieldByName('adres').AsString;

end;

end.

Додаток 4. Модуль  форми занесення даних про товар FT1

 

unit UT1;

 

interface

 

uses

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

  ToolEdit, CurrEdit, StdCtrls, Mask, Buttons, ExtCtrls, RzEdit;

 

type

  TFT1 = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    MaskEdit1: TMaskEdit;

    Edit1: TEdit;

    CurrencyEdit1: TCurrencyEdit;

    RzNumericEdit1: TRzNumericEdit;

    Edit2: TEdit;

    Edit3: TEdit;

    Panel1: TPanel;

    SpeedButton1: TSpeedButton;

    SpeedButton2: TSpeedButton;

   Label7: TLabel;

    RzNumericEdit2: TRzNumericEdit;

    procedure FormActivate(Sender: TObject);

    procedure SpeedButton1Click(Sender: TObject);

    procedure SpeedButton2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FT1: TFT1;

 

implementation

 

uses Ualias;

 

{$R *.DFM}

 

 

 

 

procedure TFT1.FormActivate(Sender: TObject);

begin

ft1.MaskEdit1.Text:='';

ft1.Edit1.Text:='';

ft1.CurrencyEdit1.Value:=0;

ft1.RzNumericEdit1.Value:=0;

ft1.RzNumericEdit2.Value:=0;

ft1.Edit2.Text:='';

ft1.Edit3.Text:='';

end;

 

procedure TFT1.SpeedButton1Click(Sender: TObject);

var a:Extended;

begin

// обраховує загальну ціну  товару (ціна за одиницю*на кількість)

a:=ft1.CurrencyEdit1.Value*ft1.RzNumericEdit1.Value;

alias.Tovar.Append;

alias.Tovar.FieldByName('kodt').AsInteger:=StrToInt(ft1.MaskEdit1.text);

alias.Tovar.FieldByName('namet').AsString:=ft1.Edit1.Text;

alias.Tovar.FieldByName('cinaz1').AsCurrency:=ft1.CurrencyEdit1.Value;

alias.Tovar.FieldByName('kl').AsCurrency:=ft1.RzNumericEdit1.Value;

alias.Tovar.FieldByName('vurt').AsString:=ft1.Edit2.Text;

alias.Tovar.FieldByName('prum').AsString:=ft1.Edit3.Text;

alias.Tovar.FieldByName('cinat').AsCurrency:=a;

alias.Tovar.FieldByName('gar').AsCurrency:=ft1.RzNumericEdit2.Value;

alias.Tovar.Post;

ft1.Close;

end;

 

procedure TFT1.SpeedButton2Click(Sender: TObject);

begin

ft1.Close;

end;

 

end.

 

Додаток 5. Модуль  форми пошуку даних FР

 

unit UP;

 

interface

 

uses

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

  StdCtrls, Grids, DBGrids, ExtCtrls, Buttons, DBCtrls, Mask;

 

type

  TFP = class(TForm)

    GroupBox1: TGroupBox;

    DBGrid1: TDBGrid;

    GroupBox2: TGroupBox;

    .....................

    DBText10: TDBText;

    DBEdit1: TDBEdit;

    procedure SpeedButton3Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure RadioGroup1Click(Sender: TObject);

    procedure SpeedButton1Click(Sender: TObject);

    procedure SpeedButton2Click(Sender: TObject);

    procedure RadioGroup2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FP: TFP;

 

implementation

 

uses Ualias;

 

{$R *.DFM}

 

procedure TFP.SpeedButton3Click(Sender: TObject);

begin

fp.Close;

end;

 

procedure TFP.FormCreate(Sender: TObject);

begin

fp.Edit1.Text:='';

// задаються опції для  фільтрації бази 

alias.Zamovl.FilterOptions:=[];

// відключаєм фільтрацію

alias.Zamovl.Filtered:=false;

end;

 

procedure TFP.RadioGroup1Click(Sender: TObject);

begin

case fp.RadioGroup1.ItemIndex of

// виводить записи тільки  по продажу   

:0 begin

  // робимо активною DBGrid

       fp.FocusControl(fp.DBGrid1);

// відключаєм фільтрацію

       alias.Zamovl.Filtered:=false;

// включаєм фільтрацію

       alias.Zamovl.Filtered:=true;

// фільтрує по заданому запису в Edit2

       alias.Zamovl.Filter:=fp.Edit2.Text;

       end;

// виводить записи тільки  по ремонту   

    1: begin

       fp.FocusControl(fp.DBGrid1);

       alias.Zamovl.Filtered:=false;

       alias.Zamovl.Filtered:=true;

Информация о работе Автоматизована система Комп’ютерної фірми