Информационная система мебельного магазина

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

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

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

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

IBQuery2.Open;

MainWND.IBTransaction1.Commit;

MainWND.UR;

end;

end;

end.

Unit4

unit Unit4;

interface

uses

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

Dialogs, ExtDlgs, ExtCtrls, StdCtrls, IdHashMessageDigest, DB,

IBCustomDataSet, IBQuery;

type

TAddMat = class(TForm)

EditMatAddName: TEdit;

Label1: TLabel;

EditMatAddMat: TEdit;

Label2: TLabel;

EditMatAddColor: TEdit;

Label3: TLabel;

EditMatAddImg: TEdit;

Label4: TLabel;

Button6: TButton;

ImageAddMat: TImage;

Button1: TButton;

Button2: TButton;

OpenPictureDialog1: TOpenPictureDialog;

DataSource1: TDataSource;

IBQuery1: TIBQuery;

procedure Button6Click(Sender: TObject);

procedure EditMatAddNameChange(Sender: TObject);

procedure EditMatAddColorChange(Sender: TObject);

procedure EditMatAddImgChange(Sender: TObject);

procedure EditMatAddMatChange(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

AddMat: TAddMat;

TMPSTR: string;

AMMode: integer;

implementation

uses Unit2, Unit1;

{$R *.dfm}

function md5(SourceString: string): string;

var

md5: TIdHashMessageDigest5;

begin

Result := '';

md5 := TIdHashMessageDigest5.Create;

try

Result := AnsiLowerCase(md5.HashStringAsHex(SourceString));

finally

FreeAndNil(md5);

end;

end;

procedure TAddMat.Button1Click(Sender: TObject);

begin

AddMat.Close;

end;

procedure TAddMat.Button2Click(Sender: TObject);

var

SQL: string;

begin

if AMMode = 0 then

begin

SQL :=

'INSERT INTO MAT(NAME,MAT,COLOR,IMG) VALUES(''' +

EditMatAddName.Text + ''',''' + EditMatAddMat.Text + ''',''' +

EditMatAddColor.Text + ''',''' + EditMatAddImg.Text + ''');';

IBQuery1.SQL.Clear;

IBQuery1.SQL.Text := SQL;

IBQuery1.Open;

MainWnd.IBTransaction1.Commit;

if NOT CopyFile(Pchar(TMPSTR), Pchar(EditMatAddImg.Text), false)

then

ShowMessage('Ошибка! Код ошибки: ' + IntToStr(GetLastError));

end

else

begin

SQL := 'UPDATE MAT SET NAME = ''' + EditMatAddName.Text + ''',

MAT =''' +

EditMatAddMat.Text + ''', COLOR = ''' + EditMatAddColor.Text +

''', IMG = ''' + EditMatAddImg.Text + ''' WHERE ID = '''

+IntToStr(AMMode) +''';';

IBQuery1.SQL.Clear;

IBQuery1.SQL.Text := SQL;

IBQuery1.Open;

MainWnd.IBTransaction1.Commit;

if NOT CopyFile(Pchar(TMPSTR), Pchar(EditMatAddImg.Text), false)

then

ShowMessage('Ошибка! Код ошибки: ' + IntToStr(GetLastError));

end;

EditMatAddName.Text := '';

EditMatAddMat.Text := '';

EditMatAddColor.Text := '';

EditMatAddImg.Text := '';

AddMat.Close;

end;

procedure TAddMat.Button6Click(Sender: TObject);

var

now: TDateTime;

begin

now := Time;

if OpenPictureDialog1.Execute then

begin

ImageAddMat.Picture.LoadFromFile(OpenPictureDialog1.FileName);

TMPSTR := OpenPictureDialog1.FileName;

EditMatAddImg.Text := 'images/mats/'+md5(DateToStr(now) +

TimeToStr(now)) + '.jpg';

end;

end;

procedure TAddMat.EditMatAddColorChange(Sender: TObject);

begin

if (EditMatAddName.Text <> '') AND (EditMatAddMat.Text <> '') AND

(EditMatAddColor.Text <> '') AND (EditMatAddImg.Text <> '') then

begin

Button2.Enabled := true;

end

else

begin

Button2.Enabled := false;

end;

end;

procedure TAddMat.EditMatAddImgChange(Sender: TObject);

begin

if (EditMatAddName.Text <> '') AND (EditMatAddMat.Text <> '') AND

(EditMatAddColor.Text <> '') AND (EditMatAddImg.Text <> '') then

begin

Button2.Enabled := true;

end

else

begin

Button2.Enabled := false;

end;

end;

procedure TAddMat.EditMatAddMatChange(Sender: TObject);

begin

if (EditMatAddName.Text <> '') AND (EditMatAddMat.Text <> '') AND

(EditMatAddColor.Text <> '') AND (EditMatAddImg.Text <> '') then

begin

Button2.Enabled := true;

end

else

begin

Button2.Enabled := false;

end;

end;

procedure TAddMat.EditMatAddNameChange(Sender: TObject);

begin

if (EditMatAddName.Text <> '') AND (EditMatAddMat.Text <> '') AND

(EditMatAddColor.Text <> '') AND (EditMatAddImg.Text <> '') then

begin

Button2.Enabled := true;

end

else

begin

Button2.Enabled := false;

end;

end;

procedure TAddMat.FormCreate(Sender: TObject);

begin

AMMode := 0;

end;

end.

Unit5

unit Unit5;

interface

uses

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

Dialogs, StdCtrls, DBCtrls, DB, IBCustomDataSet, IBQuery, dblookup;

type

TLogin = class(TForm)

Edit1: TEdit;

Label1: TLabel;

Label2: TLabel;

IBQuery1: TIBQuery;

DataSource1: TDataSource;

ComboBox1: TComboBox;

Button1: TButton;

Button2: TButton;

procedure FormCreate(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Login: TLogin;

implementation

uses Unit1;

{$R *.dfm}

procedure TLogin.Button1Click(Sender: TObject);

begin

login.Close;

end;

procedure TLogin.Button2Click(Sender: TObject);

begin

IBQuery1.First;

IBQuery1.MoveBy(ComboBox1.ItemIndex);

if IBQuery1.FieldByName('PASS').AsString = Edit1.Text then

begin

ShowMessage('Авторизация прошла успешно! Вы вошли с правами '+

IBQuery1.FieldByName('NAME').AsString);

if IBQuery1.FieldByName('SELECT_GOODS').AsInteger = 1 then

Unit1.MODE[1]:= true else Unit1.MODE[1]:= false;

if IBQuery1.FieldByName('SELECT_SALES').AsInteger = 1 then

Unit1.MODE[2]:= true else Unit1.MODE[2]:= false;

if IBQuery1.FieldByName('EDIT_GOODS').AsInteger = 1 then

Unit1.MODE[3]:= true else Unit1.MODE[3]:= false;

if IBQuery1.FieldByName('ADD_GOODS').AsInteger = 1 then

Unit1.MODE[4]:= true else Unit1.MODE[4]:= false;

if IBQuery1.FieldByName('SUPER').AsInteger = 1 then

Unit1.MODE[5]:= true else Unit1.MODE[5]:= false;

Unit1.MODENAME := IBQuery1.FieldByName('NAME').AsString;

Unit1.USERNAME := IBQuery1.FieldByName('FN')

.AsString + ' ' + IBQuery1.FieldByName('LN')

.AsString + ' ' + IBQuery1.FieldByName('PN').AsString;

MainWND.Button5.Caption:= 'Выход';

Unit1.IDUSER:= IBQuery1.FieldByName('ID').AsInteger;

Edit1.Clear;

Login.Close;

end

else

begin

ShowMessage('Пароль введен неверно, пожалуйста повторите ввод');

end;

end;

procedure TLogin.ComboBox1Change(Sender: TObject);

begin

Edit1.Clear;

end;

procedure TLogin.FormCreate(Sender: TObject);

var

i: byte;

t: string;

begin

with IBQuery1 do

begin

close;

SQL.Clear;

SQL.Add('SELECT

USERS.ID,FN,LN,PN,PASS,NAME,SELECT_GOODS,SELECT_SALES,'

+

'EDIT_GOODS,ADD_GOODS,SUPER FROM USERS,USER_TYPE

WHERE USERS.TYPE=USER_TYPE.ID');

Open;

end;

for i := 0 to IBQuery1.RecordCount do

begin

t := IBQuery1.FieldByName('FN')

.AsString + ' ' + IBQuery1.FieldByName('LN')

.AsString + ' ' + IBQuery1.FieldByName('PN').AsString;

ComboBox1.Items.Add(t);

IBQuery1.Next;

end;

ComboBox1.ItemIndex:=0;

end;

end.

Unit6

unit Unit6;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls;

type

TAboutR = class(TForm)

Label1: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label2: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Image1: TImage;

Image2: TImage;

Image3: TImage;

Image4: TImage;

Image5: TImage;

Button1: TButton;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

AboutR: TAboutR;

implementation

{$R *.dfm}

procedure TAboutR.Button1Click(Sender: TObject);

begin

AboutR.Close;

end;

procedure TAboutR.FormCreate(Sender: TObject);

begin

end;

end.

ПРИЛОЖЕНИЕ 3

Руководство пользователя

Программа разработана для менеджера баскетбольного клуба и позволяет ему:

Реализовать следующий функционал:

1. Хранить товары магазина:

· Просмотр списка товаров

· Поиск по названию

· Редактирование товара

· Загрузка изображений

· Присвоение материалов для товаров

· Структурирование по каталогам

2. Разграничивать доступ к функционалу:

· Возможность создания групп пользователей.

· Возможность настройки прав доступа для различных групп пользователей

· Возможность добавления новых пользователей

· Возможность редактирования групп пользователей, и сами пользователей

3. Управлять заказами:

· Просмотр заказов

· Редактирование заказа

· Редактирование позиции заказа

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

Рис. 10 - Окно программы при запуске

Поиск

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

· Для задания точносго поиска наобходимо просто ввести наименование искомого товара:

Рис. 11 - Результат ввода поискового запроса «Палермо»

· Если же необходимо задать только часть запроса, то неизвестные (неважные) части запроса можно заменить на символ процента - %:

Рис. 12 - Результат ввода поискового запроса «%CD»

Авторизация

Для входа в систему необходимо воспользоваться формой авторизации, которая доступна по клику на кнопке «Вход», расположенной в нижней части программы:

Рис. 13 - Расположение кнопки «Вход»

Рис. 14 - Форма авторизации

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

Рис. 15 - Пример нижней части прораммы

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

Рис. 16 - Пример отображени информации о правах пользователя

Следует заметить что после авторизации, кнопку в ниждей части экрана с надписью «Вход» , изменит свое значение на «Выход», и повторное нажатие на нее, позволит выйти из системы.

Редактирвоание списка товаров

Для редактрования товара, необходимо обладать соответствующими правами. При соблюдении данного условия будут отображены кнопки «Добавить», «Редактировать», «Удалить».

Рис. 17 - Кнопки редактирования списка товаров

При клике по кнопкам «Добавить» или «Редактировать», будет открыто универсально окно, из которого есть возможность добавлять и редкатировать Каталоги и Материалы.

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

Рис. 18 - Окно формы «Добавить»

Рис. 19 - Окно формы «Добавить каталог»

Рис. 20 - Окно формы «Добавить материал»

Интерфейс окон не вызывает вопросов даже у пользователей которые не имеют большого опыта работы на ЭВМ.

Администратирование

Вкладка «Пользователя и права» доступна только для пользоватеелй, которые имеют права на любые действия.

Рис. 21 - Вкладка «Польщователи и права»

В данной вкладке есть возможность редактирования пользователей, а так же групп пользователей:

Рис. 22 - Добавление нового пользователя

Рис. 23 - Добавление новой группы

Другое

Вкладки «Продажи» и «Диаграмма» доступны, при наличии соответствующих прав, и содержат в себе информацию об Совершенных заказах, и Диаграмма распределения цен на товары, соответственно:

Рис. 24 - Вкладка «Продажи»

Рис. 25 - Вкладка «Диаграмма»

Интерфейс последних двух вкладок минималистичен, и не вызывает никаих вопросов.

Спасибо за использование нашей программы.

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


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

  • Создание программного комплекса, обеспечивающего использование структурированной базы данных для компьютерного магазина. Язык программирования высокого уровня C++. Требования к составу и параметрам технических средств, к программной документации.

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

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

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

  • Разработка базы данных книжного магазина в среде программирования Delphi. Создание таблиц и их заполнение. Требования к составу и параметрам технических средств. База данных как набор файлов, содержащих информацию. Этапы создания приложения в Delphi.

    курсовая работа [803,6 K], добавлен 04.11.2012

  • Разработка системы управления базой данных "Структура ВУЗа". Требования к программе: функциональным характеристикам, надежности, эксплуатации, составу и параметрам технических средств. Требования к программной документации. Порядок контроля и приемки.

    курсовая работа [982,7 K], добавлен 08.06.2015

  • Создание базы данных при помощи СУБД, разработка собственного приложения. Информационно-логическая модель рекламного агентства. Структура реляционной базы данных в Access. Заполнение таблиц информацией. Структура приложения и взаимодействия форм.

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

  • Создание программного комплекса, обеспечивающего использование структурированной базы данных для компьютерного магазина. Использование языка программирования высокого уровня C++. Требования к составу и параметрам технических средств, стадии разработки.

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

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

    курсовая работа [2,3 M], добавлен 03.05.2015

  • Требования к составу и параметрам технических средств. Инфологическая (концептуальная) модель предметной области. Физическая и логическая модель базы данных. Создание структуры БД в СУБД MS ACCESS. Программирование приложения. Описание работы с системой.

    курсовая работа [572,2 K], добавлен 17.11.2014

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

    реферат [588,6 K], добавлен 03.06.2011

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

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

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