Таблица 6. Перечень форм формирования выходной информации.
Данные о перечне форм формирования отчетов находятся в таблице 7.
Таблица 7. Перечень форм формирования отчетов.
№п/п | Название формы проекта | Номер рисунка | Примечания |
1.2. | НакладнаяПрайс-лист | Рисунок 5Рисунок 6 | (Приложение 2)(Приложение 2) |
Схема взаимосвязи программных модулей и информационных хранилищ находится в: (Приложение 3) Рисунок. 7.
Проведя анализ предметной области путем изучения вышеперечисленной информации, были выявлены следующие внешние сущности:
-Клиенты, осуществляющие заказ;
-Поставщики, осуществляющие поставку услуг на склад;
-Менеджер по работе с клиентами осуществляющий регистрацию данных клиента и сохранение данных о заказе;
-Администратор осуществляющий контроль за правами доступа к программе.
Потоки данных представлены в виде схемы и подробного словесного описания: (Приложение 4).
На этапе анализа необходимо провести подробное исследование: будущих функциональных возможностей разрабатываемой системы; информации, необходимой для их выполнения. Поэтому особое внимание было уделено полноте информации и поиску противоречивой, дублирующей или неиспользуемой информации. После того как была проведена нормализация таблицы "Заказ" и "Перечень", они были объединены в одну – "Заказ"
Каждая сущность имеет большое количество атрибутов, но, проанализировав все требования к системе и проведя детализацию хранилищ данных, будущую модель можно представить в виде связанных между собой отношениями сущностей:
1. Услуги:
- Номер_п/п;
- Наименование;
- К-во;
- Закупочная_ Цена;
- Цена_продажи;
- №_накладной.
2. Продавцы:
- Номер_п/п;
- ФИО;
- Адрес;
- Телефон;
- Пароль.
3. Клиенты:
- Номер_п/п;
- ФИО;
- Адрес;
- Телефон.
4. Заказ:
- Номер_п/п;
- №_продавца;
- №_клиента;
- №_накладной;
- №_услуги;
- Количество;
- Сумма.
5. Данные накладной:
- Сдатчик;
- Получатель;
- Основание;
- Выдать;
- Дата;
- №_накладной.
В результате полученная модель данных графически представлена в виде инфологической модели, представленной в виде рисунка 8: (Приложение 5).
На основе разработанной инфологической модели строится датологическая модель данных. Наиболее приемлемой для дальнейшей разработки является реляционная модель данных представленная в виде рисунка 9: (Приложение 6).
Существующее техническое оснащение: персональный компьютер класса PentiumIV, принтер марки Canon 100. Программное обеспечение – совокупность программ для реализации целей и задач информационной системы, а также нормального функционирования комплекса технических средств. В состав программного обеспечения входят общесистемные и специальные программные продукты. К общесистемному программному обеспечению относятся комплексы программ, ориентированных на пользователей и предназначенных для типовых задач обработки информации. Информационное обеспечение, реально существующее на рабочем – операционная система Windows ХР и MicrosoftOffice. В связи с этим тип файлов базы данных был выбран .mdb (MSAccess).
Сама информационная система реализована в среде разработки приложений Delphi. В основе идеологии Delphi лежит технология визуального проектирования и методология объектно-ориентированного программирования. Для представления программ в Delphi используется разработанный Borland язык ObjectPascal, в основе которого лежит TurboPascal.
В основе Delphi лежит концепция быстрого создания приложений (RAD -RapidApplicationDevelopment). Основной составляющей среды быстрого создания приложений является технология, получившая название TwoWaysTools. Это значит, что при размещении или изменении компонента в какой-либо форме, соответствующая программа автоматически дополняется и модифицируется. И наоборот, все изменения, которые вносятся в программу при разработке приложения, автоматически отражаются на функциональных свойствах компонентов формы.
Среда разработки приложений Delphi предоставляет программисту широкие возможности создания интерфейса пользователя и большой выбор компонентов, входящих в стандартный набор, с помощью которых можно создавать приложения достаточно высокого уровня сложности.Среда программирования обладает всеми возможностями современных систем управления базами данных и имеет встроенную поддержку языка структурированных запросов SQL.
Схемы загрузки форм представлены в виде рисунка 10. (Приложение 7).
Алгоритм работы программы представлен в виде блок-схемы, демонстрирующей кнопки вызова форм.
После запуска файла Ritual.exe на экране выводится форма Проверка прав (блок 2), которая через элемент MaskEdit предлагает ввести пароль. На форме находятся несколько вкладок:
- "Продать" (блок 5) на этой вкладке выполняются все действия связанные с оформлением заказа. Также на этой вкладке можно добавить нового клиента фирмы и сохранить данные накладной. На вкладке находится кнопка "Печать накладной" (блок 6), при помощи которой можно попасть на форму "Накладная" (блок 7);
- "Приход материалов" (блок 8) позволяет фиксировать приход материалов на склад;
-"Пароль" (блок 9) осуществляет редактировать пароль доступа к программе;
Так же на форме главная находятся 2 кнопки:
-"Справка" (блок 10) активирует форму "Справка" (блок 11) на которой можно просмотреть справку по работе с программой. Возврат на форму "Главная" осуществляется путем нажатия кнопки "На главную" (блок 12);
- "Выход" (блок 13) осуществляет закрытие программы.
Блок – схема программы представлена в Приложении 8.
Каждый из этих компонентов выполняет свою определённую функцию. Например, компоненты с названиями: 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. procedureTGlavnaya_.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. procedureTGlavnaya_.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; // деактивациякнопки