Рисунок 14. Датологическая модель базы данных
1.2.4 Описание и обоснование выбора состава технических и программных средств
Для реализации базы данных была использована система управления базами данных MicrosoftOfficeAccess, входящая в состав стандартного набора MicrosoftOffice. MicrosoftOfficeAccess предоставляет методы удобного управления данными за счет упрощения создания и применения схем и таблиц стилей. MicrosoftAccess позволяет легко описывать и доставлять сложные, структурированные данные в любое или из любого приложения стандартным, совместимым способом. MicrosoftOfficeAccess имеет интерфейс, характерный для Windows-приложений и относится к системам, ориентированным на пользователя, что позволяет легко выполнять основные действия с базой данных, не прибегая к программированию. Данное программное обеспечение применяется для организаций с относительно небольшим объемом данных.
Сама информационная система реализована в среде разработки приложений Delphi. В основе идеологии Delphi лежит технология визуального проектирования и методология объектно-ориентированного программирования. Для представления программ в Delphi используется разработанный Borland язык ObjectPascal, в основе которого лежит TurboPascal.
В основе Delphi лежит концепция быстрого создания приложений (RAD -RapidApplicationDevelopment). Основной составляющей среды быстрого создания приложений является технология, получившая название TwoWaysTools. Это значит, что при размещении или изменении компонента в какой-либо форме, соответствующая программа автоматически дополняется и модифицируется. И наоборот, все изменения, которые вносятся в программу при разработке приложения, автоматически отражаются на функциональных свойствах компонентов формы.
Среда разработки приложений Delphi предоставляет программисту широкие возможности создания интерфейса пользователя и большой выбор компонентов, входящих в стандартный набор, с помощью которых можно создавать приложения достаточно высокого уровня сложности.Среда программирования обладает всеми возможностями современных систем управления базами данных и имеет встроенную поддержку языка структурированных запросов SQL.
Схемы загрузки форм представлены в виде рисунка (Рис.15).
Схема загрузки формы регистрация
Выбор кнопки "Продолжить".
Выбор кнопки "Товар".
Выбор кнопки "Добавить запись".
Выбор кнопки "Выход".
1.2.5 Описание алгоритма программы
Алгоритм работы программы представлен в виде блок-схемы, которая демонстрирует кнопки вызова форм. После запуска файла "Kompsalon.exe" на экране монитора выводится форма "Регистрация". Сначала на ней появляется заставка, с описанием темы дипломного проекта и информация о разработчике данного программного продукта, но через 5 секунд она пропадает. После чего появляются компоненты регистрации продавцов.
На форме "Регистрация" находится две кнопки:
"Выход", в соответствии с названием эта кнопка приводит к закрытию приложения;
"Продолжить", при нажатии на неё программа автоматически сверяет данные продавца, и если данные введены неправильно или не совпадают с данными имеющихся продавцов, то автоматически на форме (окне) программы появляется надпись: "Данные продавца неверны! Попробуйте повторить регистрацию".
Если же программа при нажатии на кнопку "Продолжить" введённые продавцом данные при заполнении регистрации, были успешно проняты, то запускается форма "Главная форма программы". Она является главной и на ней происходят все основные операции.
Сначала на ней появляются кнопки "Справка" и "Выход", а также раздел "Выбор таблицы", в котором, по сути объединены кнопки: "Продажа товара", "Товар", "Сотрудники", "Клиенты", "Продажи".
При нажатии на "Справка" - открывается форма "Справка". Здесь непосредственно представлено описание о разработчике программы и о работе с программой.
Кнопка "Выход", приводит к закрытию программы. При этом если же она будет нажата, программа спросит пользователя, хочет ли он выйти или нет.
Раздел "Выбор таблицы", состоит из нескольких кнопок, при нажатии на любую из них появляется подраздел, который содержит в себе такие основные элементы как: кнопки управления базой данных, непосредственно саму таблицу и окно поиска:
"Сотрудники", здесь предоставляется возможность редактировать, добавлять и удалять информацию о продавцах;
"Продажи", позволяет редактировать, добавлять и удалять информацию о продажах. Так же в этом разделе при помощи кнопки "Вывести на печать" можно вывести на печать список проданных товаров. Причём, благодаря функции поиска можно выводить не только всю информацию, но и ту, которая необходима.
"Клиенты", позволяет редактировать, добавлять и удалять информацию о клиентах (покупателях товара);
"Товар", позволяет редактировать, добавлять и удалять информацию о товаре. Здесь, так же расположена кнопка "Вывести список заканчивающегося товара", она выводит на печать тот товар, количество которого на складе осталось меньше десяти единиц;
"Продажа товара", в этом подразделе происходит выбор и продажа товара. При помощи функции поиска продавец без труда может найти необходимый клиенту (заказчику) товар и выбрать его, нажав на кнопку "Выбрать товар". При нажатии открывается форма (окно) "Серийный номер". На ней размещены кнопки "Отмена" и "Продолжить". Также она выводит информацию о количестве данного товара на складе и количестве уже выбранного товара, непосредственно здесь же происходит и запрос о выборе количества товара. Кнопка "Отмена" приводит к закрытию форы "Серийный номер", а при нажатии на "Продолжить" появляется текстовая область, в которую необходимо ввести серийный номер выбираемого изделия и опять нажать на "Продолжить". Как только введённое количество товара закончится (для каждого будет введён свой серийный номер) форма закроется. Одновременно с закрытием "Серийный номер" на форме "Главная форма программы" появляется таблица с выбранным товаром и подраздел "Выбор товара", в котором можно удалить выбранный товар, задать скидку как на один так и на весь на товар, отменить скидку как на один так и на весь товар.
Кнопка "Отменить продажу" приводит к отмене продажи, то есть происходит отмена продажи и очистка списка выбранного товара.
Кнопка "Закончить выбор" открывает раздел регистрации клиента (покупателя). Здесь можно ввести данные о новом покупателе, а можно выбрать из уже зарегистрированных. Кнопка "Отмена" возвращает к выбору товара, "Продолжить" приводит к показу информации о клиенте и продавце.
Далее появляется кнопка "Продать товар". При нажатии на неё происходит продажа выбранного товара. Появляется сообщение, которое говорит о том, что товар продан и выводится гарантийный талон.
Схема вызова форм программы представлена на рисунке (Рис.16).
Рисунок 16. Схема вызова форм программы
1.2.6 Описание функциональных точек
В проекте используется 8 форм, 29 невизуальных компонентов и 20 основных процедур обработки событий, которые в совокупности предназначены для автоматизации обслуживания клиентов компьютерного салона. Все невизуальные компоненты находятся на форме "DM". Форма "DM" представлена на рисунке (Рис. 17).
Каждый из этих компонентов выполняет свою определённую функцию. Например, компоненты с названиями: Tovar1, Prodavez, Klienti, Prodazi, ADOZacaz, ADOGart, FirmIzg, Reg1, ADOQTovar, ADOQSotrydniki, ADOQKlienti, ADOQZaprosProdazi, ADOQZViv, ADOQZacTovar, ADOQGaranti - используются для подключения таблиц из базы данных "Комп салон".
Компоненты: DSTovar1, DSKlienti, DSZacaz, DSProdavez, DSProdazi, DSGart, FirmIzg1, DSTovar, DSSotrydniki, DSQklienti, DSZaprosProdazi, DSViv, DSZacTovar – используются для вывода информации из базы данных в таблицы.
Рисунок 17. Форма "DM"
Reg2.pas
1. procedureEdit1KeyPress – процедура перехода между полями ввода по нажатию Enter
procedure TReg.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then //нажатие Enter
edit2.SetFocus;//Переход на следующую строку при нажатии Enter
end;
2. procedure TReg.BitBtn2Click – процедуранажатиянакнопкупродолжить
procedure TReg.BitBtn2Click(Sender: TObject);
var f:integer;
begin
if (edit1.text='') or (edit2.text='') or (edit3.text='') or (edit6.text='')then
begin //вывод соответствующего сообщния
messagedlg('ПОЖАЛУЙСТО ЗАПОЛНИТЕ ВСЕ ПОЛЯ!!! ',mterror,[mbok],0);
end else
begin
for f:=1 to DM.Reg1.RecordCount do
begin
if (edit1.text<>DM.Reg1.FieldByName('Фамилия').AsString) or (edit2.text<>DM.Reg1.FieldByName('Имя').AsString) or (edit3.text<>DM.Reg1.FieldByName('Отчество').AsString) or (edit6.text<>DM.Reg1.FieldByName('Пароль').AsString) then
begin
DM.Reg1.Next;//Переход к следующеё строке
Label1.Visible:=False;//Скрытие надписи
Label6.Visible:=True;//Появление надписи
end
else
begin
reg.Hide;//Закрытиеформы reg
Prodat11.Show;//Открытиеформы Prodat11
end;
3. procedureTReg.Timer1Timer – процедура скрытия заставки
procedure TReg.Timer1Timer(Sender: TObject);
begin
Panel1.Visible:=False;//Скрытиепанели
Reg.Caption:='Регистрация';//Задание заголовка формы
Label1.Visible:=True;//Появление надписи
Label2.Visible:=True;//Появление надписи
Label3.Visible:=True;//Появление надписи