.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);beginDBEdit1.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);beginif (DBEdit1.Text='') or (DBEdit2.Text='') or (DBEdit3.Text='')thenbeginShowMessage('Заполните все поля'); // вывод сообщенияDBEdit1.SetFocus;// установка курсораendelsebeginButton3.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);beginButton3.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);beginDataModule1.Klient_Table1.Prior;// переход к предыдущей записиend;5. procedure TGlavnaya_.Button9Click - процедура создания отчетаprocedure TGlavnaya_.Button9Click(Sender: TObject);beginOtch_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);beginif (Edit1.Text='') or (Edit1.Text='0')thenShowMessage('Введите колличество принятого товара')ElsebeginDBText1.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);beginif (DBEdit7.Text='') or (Edit1.Text='') or (DBEdit11.Text='')or (Edit2.Text='')thenShowMessage('Заполните все поля') // Вывод сообщенияElsebeginDBText1.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);beginEdit4.Text:=InputBox('Ввод данных','Введите количество товара','1'); // проверка колличества товараif StrToInt(Edit4.Text)>DataModule1.Uslugi_Table2.FieldByName('К-во').AsInteger thenbeginShowMessage('Товара не хватает, введите меньшее число!'); // вывод сообщенияButton8.Click; // нажатие кнопкиendelsebegin//Изменение колличества товара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.pas1. procedure TZastavka_.Button1Click - процедура проверки правильности ввода пароля.procedure TZastavka_.Button1Click(Sender: TObject);beginif MaskEdit1.Text='' then // проверка заполненности полейbeginShowMessage('Введите пароль'); // вывод сообщенияMaskEdit1.SetFocus end elseif MaskEdit1.Text<>DataModule1.ProdavetsTable1.FieldByName('Пароль').AsString then // проверка пароляbeginShowMessage('Ошибочный пароль'); // вывод сообщенияMaskEdit1.Clear; // очистка поля вводаMaskEdit1.SetFocus end else // установка курсораbeginMaskEdit1.Clear; // очистка поля вводаZastavka_.Hide; // скрытие формыGlavnaya_.Show; // отображение формыend;end;3. РУКОВОДСТВО ОПЕРАТОРА3.1 Назначение программыИнформационная система предназначена для автоматизации рабочего места менеджера по работе с клиентами фирмы, оказывающей ритуальные услуги. То есть она позволяет многократно облегчить труд менеджера: уменьшить количество времени, занимаемое при оформлении различной документации, повысить скорость и качество обслуживания клиентов фирмы и своевременную выдачу накладной.3.2 Условия выполнения программы Для внедрения программы "Ритуал" и её нормального функционирования необходимо наличие следующей материальной базы: персональный компьютер со следующими системными требованиями: 1. IBM- совместимый процессор (Intel Pentium 1 и выше); 2. объем оперативной памяти не менее 64 МВ; 3. Свободное место на диске - 50 Мб и более; 4. CD-ROM; 5. Операционная система Windows 98 и выше; 6. монитор SVGA (рекомендуемая диагональ не менее 15 дюймов для комфортной работы с экранными формами) -- должен отвечать стандарту безопасности, иметь пониженную радиацию и построчное формирование изображения; 7. клавиатура, имеющая 101/102-клавишную раскладку русских и латинских символов; 8. манипулятор типа "мышь" 2-, 3-кнопочный совместимый по стандарту с Serial Mouse. Данная программа работает под управлением семейства операционных систем Windows. Также на компьютере должно быть установлено ПО MS Office(не ниже 2000). Установка данной программы осуществляется путем копирования файлов программы: Baza.mdb и Ritual.exe в папку созданную на любом из локальных дисков. 3.3 Выполнение программыДля установки информационной системы менеджера по работе с клиентами фирмы, оказывающей ритуальные услуги на персональный компьютер необходимо:1. Поместить диск с программой в привод CD-ROM;2. Скопировать на жесткий диск папку "Программа";3. Найти файл "База.mdb" находящийся в папке "Дистрибутив";4. Кликнуть контекстной клавишей мыши на данном файле и выбрать опцию "свойства";5. В открывшемся окне "Свойства" в разделе атрибуты снять галочку в свойстве "Только чтение".6. Нажать кнопку "OK".После выполнения всех выше указанных действий программа готова к работе.Запуск программы происходит путем запуска файла Ritual.exe. На экране появляется окно проверки прав доступа к программе. Окно проверки прав представлено в виде рисунка 13 (Приложение 10).Для перехода к главному окну программы необходимо ввести корректный пароль и нажать кнопку "Войти"На главной форме расположены три вкладки работы с системой и кнопка выхода из программы.Первой по умолчанию запускается вкладка "Продать"Вкладка "Продать" представлена в виде рисунка 14 (Приложение 10).Здесь можно распечатать прайс-лист с информацией об услугах и ценах, так же на этой вкладке осуществляется управление клиентами фирмы, заполнение данных накладной, и регистрируется новый заказ.При переходе на вкладку "Приход материалов", открывается доступ к редактированию информации о товаре, хранящемся на складе. На этой вкладке можно вводить информацию как о вновь поступившем товаре, так и изменять количество товара, уже имеющегося на складе. Вкладка "Приход материалов" представлена в виде рисунка 15 (Приложение 10).При переходе на вкладку "Пароль" становиться возможным изменить пароль доступа к программе, посредством нажатия кнопки "Изменить". Вкладка "Пароль" представлена в виде рисунка 16 (Приложение 10).Для выхода из программы необходимо нажать кнопку "Выход", расположенную в нижнем, левом углу окна.3.4 Сообщения операторуВ процессе работы с программой могут выводиться следующие сообщения.Если в процессе заполнения регистрации не были заполнены все текстовые поля или при занесении данных о покупателе на вкладке "Продать", то выводится сообщение:Если при входе в программу был введен не верный пароль, будет выведено следующее сообщение:При выборе количества товара большего, чем имеется на складе, на вкладке "Продать" выводится сообщение:ЗАКЛЮЧЕНИЕВ результате проведенной работы был выполнен разбор программы, взятой за основу для облегчения использования системы потенциальным работником фирмы по оказанию ритуальных услуг. Разработана схема потоков данных и проведено их описание. На основании подготовленной схемы потоков данных разработана концептуальная модель базы данных сущностей и датологическая модель базы данных. Проведена нормализация таблиц базы данных. С использованием возможностей по созданию проверочной схемы связей таблиц СУБД Access создана нормализованная схема данных.Произведен выбор системы программирования и разработаны формы пользовательского интерфейса и отчетов, основные невизуальные компоненты представлены в виде спецификаций. Наиболее загруженная форма имеет пояснительные выноски. Выполнена блок-схема загрузки форм программы с описанием основных функциональных кнопок.Разработана подробная инструкция пользователя с рисунками форм и текстового описания их применения в условиях эксплуатации.В результате проведенной работы была создана информационная система менеджера по работе с клиентами фирмы, оказывающей ритуальные услуги.Требования технического задания выполнены в полном объёме.ИСТОЧНИКИ, ИСПОЛЬЗОВАННЫЕ ПРИ РАЗРАБОТКЕ1. В. Понамарев "Базы данных в Delphi 7. Самоучитель", СПб.: Питер, 2003г.2. С.И.Бобровский "Delphi 7. Учебный курс", СПб.: Питер, 2005г.3. Электронный учебник "DelphiWorld", версия 5.0, 2002-2003г.4. Т.Карпова "Базы данных: модели, разработка, реализация", СПб.: Питер, 2001г.5. А.Я. Архангельский "Программирование в Delphi 7" - М, ООО "Бином-Пресс", 2005г. - 1152л. 6. Лекционный материал по предмету "Разработка и эксплуатация автоматизированных информационных систем"; 7. Электронный учебник "Delphi v6.0 Book"; 8. Электронный учебник "Delphi v7.0 Book"; 9. Гофман В.Э., Хомоменко А.Д. "Delphi 6" - СПб., БХВ-Петербург, 2002. - 1152л. 10. Статья 25 "Закон о защите прав потребителей". ПРИЛОЖЕНИЯПриложение 1.Рисунок 1: Типовая схема организации.Приложение 2Рисунок 2: Форма "Главная (продать)".Рисунок 3: Форма "Главная (приход материалов)".Рисунок 4: Форма "Главная (продать)".Рисунок 5: Форма "Накладная".Рисунок 6: Форма "Прайс-лист".Приложение 3.Рисунок 7: Схема взаимосвязи программных модулей и информационных хранилищ.Приложение 4.Запрос на проверку прав доступа к программе:1. Запрос менеджера по работе с клиентами в систему администрирования на проверку прав доступа к программе.2. Запрос системой администрирования в таблицу "Продавцы" на проверку правильности пароля.3. Информация из таблицы "Продавцы" в систему администрирования о правильности пароля.4. Информация менеджеру по работе с клиентами из системы администрирования о правах доступа к программе.Запрос на предоставление прайс-листа:5. Запрос от клиента менеджеру по работе с клиентами на предоставление прайс-листа.6. Запрос менеджера по работе с клиентами в систему формирования отчетов на предоставление прайс-листа.7. Запрос системой формирования отчетов в таблицу "Услуги" на формирование прайс-листа.8. Информация из таблицы "Услуги" в систему формирования отчетов о прайс-листе.9. Информация менеджеру по работе с клиентами о прайс-листе.10. Прайс-лист клиенту.Запрос на оформление покупки.11. Запрос клиента менеджеру по работе с клиентами на оформление покупки.12. Запрос менеджера по работе с клиентами в систему регистрации клиентов на сохранение информации.13. Запрос системой регистрации клиентов в таблицу "Клиенты" на сохранение информации.14. Информация из таблицы "Клиенты" в систему регистрации клиентов о сохранении данных о клиенте.15. Информации менеджеру по работе с клиентами из системы регистрации клиентов о сохранении данных о клиенте.16. Запрос менеджера по работе с клиентами в систему оформления продаж на оформление заказа.17. Запрос системой оформления продаж в таблицу "Услуги" на изменение количества услуги.18. Информация из таблицы "Услуги" в систему оформления продаж о изменении количества услуги.19. Запрос системой оформления продаж в таблицу "Заказ" на сохранение информации о заказе.20. Информация из таблицы "Заказ" в систему оформления продаж о сохранении информации о заказе.21. Запрос системой оформления продаж в таблицу "Данные накладной" на сохранение информации о накладной.22. Информация из таблицы "Данные накладной" в систему оформления продаж о сохранении информации.23. Информация менеджеру по работе с клиентами об оформлении заказа.Запрос на изменение пароля.24. Запрос от администратора менеджеру по работе с клиентами на изменение пароля.25. Запрос менеджера по работе с клиентами в систему администрирования на изменение пароля.26. Запрос системой администрирования в таблицу "Продавцы" на изменение пароля.27. Информация из таблицы "Продавцы" в систему администрирования о изменении пароля.28. Информация из системы администрирования менеджеру по работе с клиентами о изменении пароля.29. Информация администратору об изменении пароля.Запрос на получение накладной.30. Запрос менеджера по работе с клиентами в систему формирования отчетов на получение накладной.31. Запрос системой администрирования в таблицу "Данные накладной" на получение накладной.32. Информация в систему формирования отчетов о накладной.33. Информация менеджеру по работе с клиентами о накладной.34. Накладная клиенту.Приложение 5Рисунок 8: Инфологическая модель базы данных.Приложение 6.Рисунок 9: Датологическая модель базы данных.Приложение 7.Рисунок 10 Выбор кнопки "Войти".Рисунок 10 (продолжение): Выбор кнопки "Сохранить".Приложение 8.Рисунок 11: Блок-схема программы.Приложение 9Рисунок 12: Вид модуля данныхПриложение 10.Рисунок 13: Окно "Проверка прав".Рисунок 14: Вкладка "Продать"Рисунок 15: Вкладка "Приход материалов"Рисунок 16: Вкладка "Пароль"
Страницы: 1, 2
|