База данных. Автосалон

Автор работы: Пользователь скрыл имя, 19 Января 2012 в 20:56, курсовая работа

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

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

Содержание работы

ВВЕДЕНИЕ 3
Моделирование базы данных автосалона на основе языка UML 5
Построение диаграмм классов 5
Построение диаграммы компонентов 6
Построение диаграмм развертывания ……………………………………………7
Построение диаграмм прецедентов ………………………………………………7
Построение диаграммы активности (деятельности)……………………………….….8
Построение диаграммы последовательностей ………………………………….10
Построение диаграммы кооперации …………………………………………….11
Построение диаграммы состояний ……………………………………………....12
Приложение А (скриншоты программы)…….……………..………………………13
Приложение Б (листинг программы)………………………………………………16
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ И ИСТОЧНИКОВ…………….35

Содержимое работы - 1 файл

Отчет по Курсовому пректу ИКС Божок,Орешкин.docx

— 492.07 Кб (Скачать файл)

    Рисунок 8.Диаграмма состояний. 
 
 

    Приложение  А. Скриншоты программы. 

    Программа написана в среде программирования RAD Studio Gode Gear 2009, и предназначена для производственно-технического отдела продаж автомобильного салона. Программа должна осуществлять управление данными об автомобилях принятых на реализацию автомобильным салоном, регистрировать характеристики автомобиля, осуществлять поиск в базе автомобилей по заданным критериям. Выводить на печать результаты поиска.

    Ниже  приведён общий вид программы.

У нас есть возможность  выбора страны-производителя

а так же возможность  выбора модели автомобиля:

 
 

Так же мы можем  воспользоваться SQL-запросами по таким параметрам как: цена, год и объём. Ниже приведены скриншоты поиска по цене: 

 
 

по году выпуска:

 

а так же по объёму:

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

Но прежде мы должны авторизоваться как администратор, т.е. ввести пароль:

 

Только после  того, как мы авторизовались, мы имеем  доступ к базе данных:

Тут мы можем  добавить в базу страну производителя, модель автомобиля, класс, год, объём и цену продаваемого автомобиля. А так же название салона-продавца и его адрес. Тут так же имеется возможность смены пароля, в случае, если пароль стал известен чужому лицу. Так же с клиентской части программы есть возможность экспорта списка автомобилей в файл Microsoft Office Excel:

 

 
 
 
 

Приложение Б. Листинг программы 

unit MainUnit; 

interface 

uses

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

  Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, Menus,Comobj; 

type

  TMainForm = class(TForm)

    DBGrid3: TDBGrid;

    DBGrid4: TDBGrid;

    ComboBox1: TComboBox;

    ComboBox2: TComboBox;

    Button1: TButton;

    GroupBox1: TGroupBox;

    DBGrid1: TDBGrid;

    Edit1: TEdit;

    Edit2: TEdit;

    Button2: TButton;

    Label1: TLabel;

    Label2: TLabel;

    Panel1: TPanel;

    Edit3: TEdit;

    Label3: TLabel;

    Label4: TLabel;

    Edit4: TEdit;

    Button3: TButton;

    Panel2: TPanel;

    Edit5: TEdit;

    Edit6: TEdit;

    Label5: TLabel;

    Label6: TLabel;

    Button4: TButton;

    Panel3: TPanel;

    Button5: TButton;

    Button6: TButton;

    Button7: TButton;

    Button8: TButton;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N2: TMenuItem;

    N3: TMenuItem;

    Excel1: TMenuItem;

    N4: TMenuItem;

    procedure ComboBox1Change(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure Button7Click(Sender: TObject);

    procedure Button8Click(Sender: TObject);

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

    procedure Button6Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure N2Click(Sender: TObject);

    procedure N4Click(Sender: TObject);

    procedure ExportDBGrid(toExcel: Boolean);

    procedure Excel1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  MainForm: TMainForm; 

implementation 

uses DataUnit, InUnit, ABOUT; 

{$R *.dfm} 

procedure TMainForm.Excel1Click(Sender: TObject);

begin

     ExportDBGrid(true);

end; 

procedure TMainForm.ExportDBGrid(toExcel: Boolean);

type TBookmark = Pointer;

var

   bm: TBookmark;

   col, row: Integer;

   sline: String;

   mem: TMemo;

   ExcelApp: Variant;

begin

  try

     Screen.Cursor := crHourglass;

     DBGrid1.DataSource.DataSet.DisableControls;

     bm := DBGrid1.DataSource.DataSet.GetBookmark;

     DBGrid1.DataSource.DataSet.First;

     if toExcel then

     begin

        ExcelApp := CreateOleObject('Excel.Application');

        ExcelApp.WorkBooks.Add();

        ExcelApp.WorkBooks[1].WorkSheets[1].Name := 'Grid Data';

     end;

     mem := TMemo.Create(Self);

     mem.Visible := false;

     mem.Parent := MainForm;

     mem.Clear;

     sline := '';

     for col := 0 to DBGrid1.FieldCount-1 do

        sline := sline + DBGrid1.Fields[col].DisplayLabel + #9;

     mem.Lines.Add(sline);

     for row := 0 to DBGrid1.DataSource.DataSet.RecordCount-1 do

     begin

        sline := '';

        for col := 0 to DBGrid1.FieldCount-1 do

          sline := sline + DBGrid1.Fields[col].AsString + #9;

        mem.Lines.Add(sline);

        DBGrid1.DataSource.DataSet.Next;

     end;

     mem.SelectAll;

     mem.CopyToClipboard;

     if toExcel then

     begin

        ExcelApp.Workbooks[1].WorkSheets['Grid Data'].Paste;

        ExcelApp.Visible := true;

     end;

     DBGrid1.DataSource.DataSet.GotoBookmark(bm);

     DBGrid1.DataSource.DataSet.FreeBookmark(bm);

     DBGrid1.DataSource.DataSet.EnableControls;

     Screen.Cursor := crDefault;

  except

     Application.MessageBox('Переполнение буфера!!! приложение будет закрыто!!!','Ошибка!!!');

  end;

end;

procedure TMainForm.Button1Click(Sender: TObject);

begin

     DBGrid1.Visible := false;

     DataModule1.StranaTable.Locate('Страна;Модель',VarArrayOf([Combobox1.Text,Combobox2.Text]),[]);

end; 

procedure TMainForm.Button2Click(Sender: TObject);

begin

     DBGrid1.Visible := true;

     DataModule1.SearchQuery.Active := false;

     DataModule1.SearchQuery.SQL.Clear;

     DataModule1.SearchQuery.SQL.Add('SELECT *');

     DataModule1.SearchQuery.SQL.Add('FROM Все');

     if Length(Edit1.Text) <> 0 then

        DataModule1.SearchQuery.SQL.Add('WHERE Цена$ >= '+ Edit1.Text);

     if Length(Edit2.Text) <> 0 then

        DataModule1.SearchQuery.SQL.Add('AND Цена$ <= '+ Edit2.Text);

     DataModule1.SearchQuery.Active := true;

end; 

procedure TMainForm.Button3Click(Sender: TObject);

begin

     DBGrid1.Visible := true;

     DataModule1.SearchQuery.Active := false;

     DataModule1.SearchQuery.SQL.Clear;

     DataModule1.SearchQuery.SQL.Add('SELECT *');

     DataModule1.SearchQuery.SQL.Add('FROM Все');

     if Length(Edit1.Text) <> 0 then

        DataModule1.SearchQuery.SQL.Add('WHERE Год >= '+ Edit4.Text);

     if Length(Edit2.Text) <> 0 then

        DataModule1.SearchQuery.SQL.Add('AND Год <= '+ Edit3.Text);

     DataModule1.SearchQuery.Active := true;

end; 

procedure TMainForm.Button4Click(Sender: TObject);

begin

     DBGrid1.Visible := true;

     DataModule1.SearchQuery.Active := false;

     DataModule1.SearchQuery.SQL.Clear;

     DataModule1.SearchQuery.SQL.Add('SELECT *');

     DataModule1.SearchQuery.SQL.Add('FROM Все');

     if Length(Edit1.Text) <> 0 then

        DataModule1.SearchQuery.SQL.Add('WHERE Объем >= '+ Edit6.Text);

     if Length(Edit2.Text) <> 0 then

        DataModule1.SearchQuery.SQL.Add('AND Объем <= '+ Edit5.Text);

     DataModule1.SearchQuery.Active := true;

end; 

procedure TMainForm.Button5Click(Sender: TObject);

begin

     MainForm.Hide;

     AboutForm.Show;

end; 

procedure TMainForm.Button6Click(Sender: TObject);

begin

     InForm.Show;

     MainForm.Hide;

end; 

procedure TMainForm.Button7Click(Sender: TObject);

begin

     DBGrid1.Visible := true;

     DataModule1.SearchQuery.Active := false;

     DataModule1.SearchQuery.SQL.Clear;

     DataModule1.SearchQuery.SQL.Add('SELECT *');

     DataModule1.SearchQuery.SQL.Add('FROM Все');

     DataModule1.SearchQuery.Active := true;

end; 

procedure TMainForm.Button8Click(Sender: TObject);

begin

     if Application.MessageBox('Вы уверены?','Внимание!!!', MB_OKCANCEL) = 1 then

        Application.Terminate;

end; 

procedure TMainForm.ComboBox1Change(Sender: TObject);

begin

     if Combobox1.ItemIndex = 0 then

     begin

          Combobox2.Items.Clear;

          Combobox2.Items.Add('Mitsubishi');

          Combobox2.Items.Add('Toyota');

     end;

     if Combobox1.ItemIndex = 1 then

     begin

          Combobox2.Items.Clear;

          Combobox2.Items.Add('Mersedes');

          Combobox2.Items.Add('Opel');

     end;

end; 

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

begin

     if Application.MessageBox('Вы уверены?','Внимание!!!', MB_OKCANCEL) = 1 then

        Application.Terminate ;

end; 

procedure TMainForm.N2Click(Sender: TObject);

begin

     Button8.Click;

Информация о работе База данных. Автосалон