Рефераты. Информационная система менеджера по работе с клиентами

Таблица 4. Перечень таблиц, хранящих результирующую информацию

№п/п

Наименование таблицы

Поля таблицы

1.

Заказ

Номер_п/п

№_продавца

№_клиента

2.

Данные накладной

№_накладной

Дата

Выдать

Основание

Получатель

Сдатчик

2.2 Описание и обоснование входных и выходных данных

Данные о перечне форм входной информации находятся в таблице 5.

Таблица 5. Перечень форм ввода входной информации.

№ п/п

Название формы проекта

Номер рисунка

Примечания

1.

2.

Главная (продать)

Главная (приход материалов)

Рисунок 2

Рисунок 3

(Приложение 2)

(Приложение 2)

Данные о перечне форм формирования выходной информации находятся в таблице 6.

Таблица 6. Перечень форм формирования выходной информации.

№ п/п

Название формы проекта

Номер рисунка

Примечания

1.

Главная (продать)

Рисунок 4

(Приложение 2)

Данные о перечне форм формирования отчетов находятся в таблице 7.

Таблица 7. Перечень форм формирования отчетов.

№ п/п

Название формы проекта

Номер рисунка

Примечания

1.

2.

Накладная

Прайс-лист

Рисунок 5

Рисунок 6

(Приложение 2)

(Приложение 2)

Схема взаимосвязи программных модулей и информационных хранилищ находится в: (Приложение 3) Рисунок. 7.

2.3 Информационная модель и ее описание

Проведя анализ предметной области путем изучения вышеперечисленной информации, были выявлены следующие внешние сущности:

Ш Клиенты, осуществляющие заказ;

Ш Поставщики, осуществляющие поставку услуг на склад;

Ш Менеджер по работе с клиентами осуществляющий регистрацию данных клиента и сохранение данных о заказе;

Ш Администратор осуществляющий контроль за правами доступа к программе.

Потоки данных представлены в виде схемы и подробного словесного описания: (Приложение 4).

На этапе анализа необходимо провести подробное исследование: будущих функциональных возможностей разрабатываемой системы; информации, необходимой для их выполнения. Поэтому особое внимание было уделено полноте информации и поиску противоречивой, дублирующей или неиспользуемой информации. После того как была проведена нормализация таблицы "Заказ" и "Перечень", они были объединены в одну - "Заказ"

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

1. Услуги:

Ш Номер_п/п;

Ш Наименование;

Ш К-во;

Ш Закупочная_ Цена;

Ш Цена_продажи;

Ш №_накладной.

2. Продавцы:

Ш Номер_п/п;

Ш ФИО;

Ш Адрес;

Ш Телефон;

Ш Пароль.

3. Клиенты:

Ш Номер_п/п;

Ш ФИО;

Ш Адрес;

Ш Телефон.

4. Заказ:

Ш Номер_п/п;

Ш №_продавца;

Ш №_клиента;

Ш №_накладной;

Ш №_услуги;

Ш Количество;

Ш Сумма.

5. Данные накладной:

Ш Сдатчик;

Ш Получатель;

Ш Основание;

Ш Выдать;

Ш Дата;

Ш №_накладной.

В результате полученная модель данных графически представлена в виде инфологической модели, представленной в виде рисунка 8: (Приложение 5).

На основе разработанной инфологической модели строится датологическая модель данных. Наиболее приемлемой для дальнейшей разработки является реляционная модель данных представленная в виде рисунка 9: (Приложение 6).

2.4 Описание и обоснование выбора состава технических и программных средств

Существующее техническое оснащение: персональный компьютер класса Pentium IV, принтер марки Canon 100. Программное обеспечение - совокупность программ для реализации целей и задач информационной системы, а также нормального функционирования комплекса технических средств. В состав программного обеспечения входят общесистемные и специальные программные продукты. К общесистемному программному обеспечению относятся комплексы программ, ориентированных на пользователей и предназначенных для типовых задач обработки информации. Информационное обеспечение, реально существующее на рабочем - операционная система Windows ХР и Microsoft Office. В связи с этим тип файлов базы данных был выбран .mdb (MS Access).

Сама информационная система реализована в среде разработки приложений Delphi. В основе идеологии Delphi лежит технология визуального проектирования и методология объектно-ориентированного программирования. Для представления программ в Delphi используется разработанный Borland язык Object Pascal, в основе которого лежит Turbo Pascal.

В основе Delphi лежит концепция быстрого создания приложений (RAD -Rapid Application Development). Основной составляющей среды быстрого создания приложений является технология, получившая название Two Ways Tools. Это значит, что при размещении или изменении компонента в какой-либо форме, соответствующая программа автоматически дополняется и модифицируется. И наоборот, все изменения, которые вносятся в программу при разработке приложения, автоматически отражаются на функциональных свойствах компонентов формы.

Среда разработки приложений Delphi предоставляет программисту широкие возможности создания интерфейса пользователя и большой выбор компонентов, входящих в стандартный набор, с помощью которых можно создавать приложения достаточно высокого уровня сложности. Среда программирования обладает всеми возможностями современных систем управления базами данных и имеет встроенную поддержку языка структурированных запросов SQL.

2.5 Описание алгоритма программы

Схемы загрузки форм представлены в виде рисунка 10. (Приложение 7).

Алгоритм работы программы представлен в виде блок-схемы, демонстрирующей кнопки вызова форм.

После запуска файла Ritual.exe на экране выводится форма Проверка прав (блок 2), которая через элемент MaskEdit предлагает ввести пароль. На форме находятся несколько вкладок:

- "Продать" (блок 5) на этой вкладке выполняются все действия связанные с оформлением заказа. Также на этой вкладке можно добавить нового клиента фирмы и сохранить данные накладной. На вкладке находится кнопка "Печать накладной" (блок 6), при помощи которой можно попасть на форму "Накладная" (блок 7);

- "Приход материалов" (блок 8) позволяет фиксировать приход материалов на склад;

- "Пароль" (блок 9) осуществляет редактировать пароль доступа к программе;

Так же на форме главная находятся 2 кнопки:

- "Справка" (блок 10) активирует форму "Справка" (блок 11) на которой можно просмотреть справку по работе с программой. Возврат на форму "Главная" осуществляется путем нажатия кнопки "На главную" (блок 12);

- "Выход" (блок 13) осуществляет закрытие программы.

Блок - схема программы представлена в Приложении 8.

2.6 Описание функциональных точек

В проекте используется 5 форм, 13 невизуальных компонентов и процедуры обработки событий, которые в совокупности предназначены для автоматизации обслуживания клиентов фирмы, оказывающей ритуальные услуги. Все невизуальные компоненты находятся на форме "DataModule1". Форма "DataModule1" представлена в виде рисунка 12 (приложение 9).

Каждый из этих компонентов выполняет свою определённую функцию. Например, компоненты с названиями: Klient_Table1, Uslugi_Table2, Zakaz_Table1, ProdavetsTable1, Nakladn_Table1, ADOTable1 используются для подключения таблиц из базы данных.

Компоненты: Klient, Uslugi, Zakaz, Prodavets, Nakladn, DataSource1- используются для вывода информации из базы данных в таблицы.

Основные процедуры обработки событий:

Файл Glavnaya.pas.

1. procedure TGlavnaya_.Button1Click - процедура добавления нового клиента фирмы;

procedure TGlavnaya_.Button1Click(Sender: TObject);

begin

DBEdit1.ReadOnly:=false;// активация поля ввода

DBEdit2.ReadOnly:=false;// активация поля ввода

DBEdit3.ReadOnly:=false; // активация поля ввода

Button3.Enabled:=true; //активация кнопки

Button4.Enabled:=true;// активация кнопки

Button1.Enabled:=false;// деактивация кнопки

Button2.Enabled:=false;// деактивация кнопки

Button6.Enabled:=false; // деактивация кнопки

Button7.Enabled:=false; // деактивация кнопки

DBEdit1.SetFocus; // Установка курсора

DataModule1.Klient_Table1.Insert; //Добавление записи

end;

2. procedure TGlavnaya_.Button3Click - процедура сохранения данных;

procedure TGlavnaya_.Button3Click(Sender: TObject);

begin

if (DBEdit1.Text='') or (DBEdit2.Text='') or (DBEdit3.Text='')

then

begin

ShowMessage('Заполните все поля'); // вывод сообщения

DBEdit1.SetFocus;// установка курсора

end

else

begin

Button3.Enabled:=false; // деактивация кнопки

Button4.Enabled:=false; // деактивация кнопки

Button1.Enabled:=true; // активация кнопки

Button2.Enabled:=true; // активация кнопки

Button6.Enabled:=true; // активация кнопки

Button7.Enabled:=true; // активация кнопки

DataModule1.Klient_Table1.Post; // Сохранение записи

DBEdit1.ReadOnly:=true; // деактивация поля ввода

DBEdit2.ReadOnly:=true; // деактивация поля ввода

DBEdit3.ReadOnly:=true; // деактивация поля ввода

end;

end;

3. procedure TGlavnaya_.Button4Click - процедура нажатия кнопки "Отмена";

procedure TGlavnaya_.Button4Click(Sender: TObject);

begin

Button3.Enabled:=false; // деактивация кнопки

Button4.Enabled:=false; // деактивация кнопки

Button1.Enabled:=true; // активация кнопки

Button2.Enabled:=true; // активация кнопки

Button6.Enabled:=true; // активация кнопки

Button7.Enabled:=true; // активация кнопки

DataModule1.Klient_Table1.Cancel; // отмена

DBEdit1.ReadOnly:=true;// деактивация поля ввода

DBEdit2.ReadOnly:=true; // деактивация поля ввода

DBEdit3.ReadOnly:=true; // деактивация поля ввода

end;

4. procedure TGlavnaya_.Button7Click - процедура перехода к предыдущей записи в таблице

procedure TGlavnaya_.Button7Click(Sender: TObject);

begin

DataModule1.Klient_Table1.Prior;// переход к предыдущей записи

end;

5. procedure TGlavnaya_.Button9Click - процедура создания отчета

procedure TGlavnaya_.Button9Click(Sender: TObject);

begin

Otch_Nakladnaya_.QRLabel9.Caption:='Товарный чек';// присвоение полю значения

Otch_Nakladnaya_.QRLabel26.Caption:=DBEdit1.Text; // присвоение полю значения

Otch_Nakladnaya_.QRLabel27.Caption:=DBEdit1.Text;// присвоение полю значения

Otch_Nakladnaya_.QuickRep1.Preview;// просмотр отчета

end;

6. procedure TGlavnaya_.Button21Click - Процедура сохранения поступившего товара

procedure TGlavnaya_.Button21Click(Sender: TObject);

begin

if (Edit1.Text='') or (Edit1.Text='0')

then

ShowMessage('Введите колличество принятого товара')

Else

begin

DBText1.Caption:=IntToStr((strtoint(Edit1.Text))+(strtoint(DBText1.Caption)));

DataModule1.Uslugi_Table2.FieldByName('К-во').AsString:=DBText1.Caption;;

Edit1.Text:='0';

DataModule1.Uslugi_Table2.Post; // сохранение данных

Button13.Enabled:=true; // активация кнопки

Button14.Enabled:=true; // активация кнопки

Button10.Enabled:=true; // активация кнопки

Button15.Enabled:=true; // активация кнопки

Button21.Visible:=false; // скрытие кнопки

Button21.Enabled:=false; // деактивация кнопки

Button11.Visible:=true; // отображение кнопки

Button11.Enabled:=false; // деактивация кнопки

Button12.Enabled:=false; // деактивация кнопки

Edit1.ReadOnly:=true; // деактивация поля ввода

end;

end;

7. procedure TGlavnaya_.Button11Click - Процедура расчета цены продажи товара

procedure TGlavnaya_.Button11Click(Sender: TObject);

begin

if (DBEdit7.Text='') or (Edit1.Text='') or (DBEdit11.Text='')

or (Edit2.Text='')

then

ShowMessage('Заполните все поля') // Вывод сообщения

Else

begin

DBText1.Caption:=Edit1.Text; // перенос значения

DataModule1.Uslugi_Table2.FieldByName('К-во').AsString:=DBText1.Caption;;

Edit1.Text:='0';

Edit3.Text:=IntToStr(((strtoint(DBEdit11.Text))* (strtoint(Edit2.Text))) div (strtoint('100')) );

DBEdit9.Text:=IntToStr((strtoint(Edit3.Text))+(strtoint(DBEdit11.Text)));

DataModule1.Uslugi_Table2.Post;

Button13.Enabled:=true; //активация кнопки

Button14.Enabled:=true; //активация кнопки

Button10.Enabled:=true; //активация кнопки

Button15.Enabled:=true; //активация кнопки

Button21.Visible:=true; // отображение кнопки

Button21.Enabled:=false; //деактивация кнопки

Button11.Visible:=false; // скрытие кнопки

Button11.Enabled:=false; //деактивация кнопки

Button12.Enabled:=false; //деактивация кнопки

DBEdit7.Enabled:=false; //деактивация поля ввода

Edit1.ReadOnly:=true; //деактивация поля ввода

DBEdit11.ReadOnly:=true; //деактивация поля ввода

Edit2.ReadOnly:=true; //деактивация поля ввода

end;

end;

8. procedure TGlavnaya_.Button8Click - процедура выбора услуг из списка

procedure TGlavnaya_.Button8Click(Sender: TObject);

begin

Edit4.Text:=InputBox('Ввод данных','Введите количество товара','1'); // проверка колличества товара

if StrToInt(Edit4.Text)>DataModule1.Uslugi_Table2.FieldByName('К-во').AsInteger then

begin

ShowMessage('Товара не хватает, введите меньшее число!'); // вывод сообщения

Button8.Click; // нажатие кнопки

end

else

begin

//Изменение колличества товара

DataModule1.Uslugi_Table2.Edit;// изменение записи

DataModule1.Uslugi_Table2.FieldByName('№_накладной').AsString:=DBEdit4.Text;

DataModule1.Uslugi_Table2.FieldByName('К-во').AsInteger:=DataModule1.Uslugi_Table2.FieldByName('К-во').AsInteger-StrToInt(Edit4.Text);

DataModule1.Uslugi_Table2.Post;// сохранение записи

Edit5.Text:=IntToStr(StrToInt(Edit4.Text) * StrToInt(DBEdit5 .Text));

//Заполнение таблици заказ

DataModule1.Zakaz_Table1.Insert;

DataModule1.Zakaz_Table1.FieldByName('№_продавца').AsString:='1';

DataModule1.Zakaz_Table1.FieldByName('№_клиента').AsString:=DataModule1.Klient_Table1.FieldByName('Номер_п/п').AsString;

DataModule1.Zakaz_Table1.FieldByName('№_услуги').AsString:=DataModule1.Uslugi_Table2.FieldByName('Номер_п/п').AsString;

DataModule1.Zakaz_Table1.FieldByName('№_накладной').AsString:=DBEdit4.Text;

DataModule1.Zakaz_Table1.FieldByName('Колличество').AsString:=Edit4.Text;

DataModule1.Zakaz_Table1.FieldByName('Сумма').AsString:=Edit5.Text;

DataModule1.Zakaz_Table1.Post;

Button9.Enabled:=true;

///////////////////////////////////////////////////////

DataModule1.ADOTable1.Active:=false;

DataModule1.ADOTable1.Active:=true;

DataModule1.ADOTable1.Filtered:=False; //Деактивация фильтра

DataModule1.ADOTable1.Filter:='№_накладной='+Edit6.Text;// //Задание фильтра

DataModule1.ADOTable1.Filtered:=True; //Активация фильтра

end;

End;

Файл Zastavka.pas

1. procedure TZastavka_.Button1Click - процедура проверки правильности ввода пароля.

procedure TZastavka_.Button1Click(Sender: TObject);

begin

if MaskEdit1.Text='' then // проверка заполненности полей

begin

ShowMessage('Введите пароль'); // вывод сообщения

MaskEdit1.SetFocus end else

if MaskEdit1.Text<>DataModule1.ProdavetsTable1.FieldByName('Пароль').AsString then // проверка пароля

begin

ShowMessage('Ошибочный пароль'); // вывод сообщения

MaskEdit1.Clear; // очистка поля ввода

MaskEdit1.SetFocus end else // установка курсора

begin

MaskEdit1.Clear; // очистка поля ввода

Zastavka_.Hide; // скрытие формы

Glavnaya_.Show; // отображение формы

end;

end;

3. РУКОВОДСТВО ОПЕРАТОРА

3.1 Назначение программы

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

3.2 Условия выполнения программы

Для внедрения программы "Ритуал" и её нормального функционирования необходимо наличие следующей материальной базы: персональный компьютер со следующими системными требованиями:

Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.