|
||||||||||||
|
||||||||||||
|
|||||||||
МЕНЮ
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА - РЕФЕРАТЫ - Разработка приложения ведения базы данных торговой фирмы для WindowsРазработка приложения ведения базы данных торговой фирмы для Windows1 Оглавление Введение 1. Разработка эскизного и технического проектов программы 1.1 Назначение и область применения 1.2 Технические характеристики 1.2.1 Постановка задачи 1.2.2 Организация входных и выходных данных 1.2.3 Выбор состава технических и программных средств 2. Разработка рабочего проекта 2.1 Разработка программы 2.2 Спецификация программы 2.3 Текст программы 2.4 Описание программы 2.5 Тестирование 3. Внедрение Заключение Глоссарий Список использованных источников Приложение А Введение При решении задач организовывать обработку структурированной информации, хранящейся на жестком диске, приходится очень часто. Например, это требуется при составлении всевозможных каталогов, списков сотрудников, прейскурантов, описей товаров на складе, наборов документов и во множестве других случаев. Практически все современные крупные программные системы активно работают с данными, хранящимися на периферийных устройствах.1 Обычно такие системы имеют дело с большими объемами информации, имеющей достаточно сложную структуру. Классическими примерами информационных систем являются банковские системы, системы резервирования авиационных и железнодорожных билетов, мест в гостиницах, автоматизированные системы управления предприятиями и т.д. В наше время информационные технологии играют огромную роль в различных сферах жизни общества. Поэтому для повышения эффективности деятельности человека по обработке экономической информации необходимо правильное и рациональное использование информационных технологий, которые позволяют собирать, хранить и обрабатывать различную информацию автоматически, что позволяет повысить трудоспособность и эффективность работы. В данной работе я постарался отобразить один из вариантов использования баз данных (БД) в системах управления предприятиями. Целью данной работы является разработка приложения ведения БД торговой фирмы для Windows. 1. Разработка эскизного и технического проектов программы 1.1 Назначение и область применения Назначение - справочная информация. Область применения - в торговле, для ведения учета работы продавцов. 1.2 Технические характеристики 1.2.1 Постановка задачи Создайте программу ведения базы данных торговой фирмы. Программа включает в себя: формирование и корректирование файлов данных; расчет комиссионного вознаграждения сотрудников фирмы. Файл данных о продавце включает его имя и фамилию, табельный номер, дату поступления на работу. Торговая фирма выплачивает продавцам комиссионное вознаграждение в размере 5%, если товара продано на сумму менее 1000 долл. в день, и 6%, если выручка составляет 1000 долл./день и выше. Продавцы, проработавшие в фирме более 10 лет, получают комиссионные на 1% больше. Сумма выручки за день для каждого продавца вводится с клавиатуры ЭВМ. Организуйте вывод общих итогов по сумме выручки и сумме комиссионного вознаграждения за месяц. База данных представляет собой диалоговое окно с пользователем. Программа должна обеспечивать хранение, редактирование данных продавцов и содержать поля: Фамилия и имя, Табельный номер, год приема на работу и выручка в день. Вся информация записывается в отдельный файл Base.txt. Программа представлена в виде таблицы. Для того чтобы добавить данные в таблицу необходимо выбрать в меню «Продавец - Добавить». Для изменения данных пункт в меню «Продавец - Редактировать». Удаление меню «Продавец - Удалить». Чтобы вывести отчет об; Общем доходе за этот месяц, Комиссионных выплатах, Доходов с вычетом комиссионных выплат и Дней в этом месяце - необходимо выбрать в главном меню пункт «Отчет». Для того чтобы данные, которые били добавленные в таблицу или изменены в ней, надо сохранить, то выберите в главном меню пункт «Файл - Сохранить». Чтобы выйти из программы можно нажать на крестик в правом верхнем углу, или в главном меню нажать пункт «Файл - Выход». 1.2.2 Организация входных и выходных данных В программе используются следующие переменные, в которых хранятся входные и выходные данные: god: integer; - Нынешний год; year: integer; - Год приема на работу; dohod: integer; - Доход за месяц; summ:integer; - Общий доход за этот месяц; kom:integer; - Комиссионные выплаты; z:integer; - Доход с вычетом комиссионных выплат; days:integer; - Дней в этом месяце; i,j,k:integer; - Вспомогательные переменные. 1.2.3 Выбор состава технических и программных средств В последнее время резко возрос интерес к программированию. Это связано с развитием и внедрением в повседневную жизнь информационно-коммуникационных технологий. Если человек имеет дело с компьютером, то рано или поздно у него возникает желание, а иногда и необходимость, программировать. Среди пользователей персональных компьютеров в настоящее время наиболее популярно семейство операционных систем Windows и, естественно, что тот, кто собирается программировать, стремится писать программы, которые будут работать в этих системах. Несколько лет назад рядовому программисту оставалось только мечтать о создании собственных программ, работающих в среде Windows, т. к. единственным средством разработки был Borland C++ for Windows, явно ориентированный на профессионалов, обладающих серьезными знаниями и опытом.2 Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую "быструю разработку", среди которых можно выделить Borland Delphi и Microsoft Visual Basic. В основе систем быстрой разработки (RAD-систем, Rapid Application Development -- среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий. Производительность программиста при использовании RAD-систем -- фантастическая. Среда программирования - Delphi - весьма быстрая и удобная для разработки приложений различного назначения для Windows.2 Для нормальной работы программы необходим IBM совместимый компьютер с тактовой частотой процессора не ниже 144МГц и выше, оперативной памятью 16 Мб, жесткий диск объемом не менее 500Мб. 2. Разработка рабочего проекта 2.1 Разработка программы С точки зрения пользователя, база данных -- это программа, которая обеспечивает работу с информацией. При запуске такой программы на экране, как правило, появляется таблица, просматривая которую пользователь может найти интересующие его сведения. Если система позволяет, то он может внести изменения в базу данных: добавить новую информацию или удалить ненужную. С точки зрения программиста, база данных -- это набор файлов, содержащих информацию. Разрабатывая базу данных для пользователя, программист создает программу, которая обеспечивает работу с файлами данных. В настоящее время существует достаточно большое количество программных систем, позволяющих создавать и использовать локальные (dBASE, FoxPro, Access, Paradox) и удаленные (Interbase, Oracle, Sysbase, Infomix, Microsoft SQL Server) базы данных. В состав Delphi входят компоненты, позволяющие создавать программы работы с файлами данных, созданными различными системами: от SE до Infomix и Oracle. Delphi также позволяет программисту, используя утилиту Borland Database Desktop, создавать файлы баз данных в различных форматах.4 2.2 Спецификация программы База данных -- это набор однородной, как правило, упорядоченной по некоторому критерию, информации. База данных может быть представлена в "бумажном" или в компьютерном виде. Типичным примером "бумажной" базы данных является каталог библиотеки -- набор бумажных карточек, содержащих информацию о книгах. Информация в этой базе однородная (содержит сведения только о книгах) и упорядоченная (карточки расставлены, например, в соответствии с алфавитным порядком фамилий авторов). Следует обратить внимание, что каждая запись состоит из одинаковых полей. Некоторые поля могут быть не заполнены, однако они все равно присутствуют в записи. На бумаге базу данных удобно представить в виде таблицы. Каждая строка таблицы соответствует записи, а ячейка таблицы -- полю. При этом заголовок столбца таблицы -- это имя поля, а номер строки таблицы -- номер записи. Информацию компьютерных баз данных обычно выводят на экран в виде таблиц. Таблицы физически хранится в отдельном файле. В простейшем случае источником информации для программы, работающей с базой данных, может быть вся таблица. Однако, как правило, пользователя интересует не вся информация, находящаяся в базе данных, а только какая-то ее часть. Он выбирает и просматривает только некоторые, удовлетворяющие его запросу записи. Поэтому в модель базы данных помимо таблицы, представляющей собой всю базу данных, было введено понятие запроса, являющегося выборкой, т. е. группой записей базы данных. База данных -- это набор файлов (таблиц), в которых находится информация. Как правило, база данных состоит из нескольких таблиц, которые размещают в одном каталоге. Каталог для новой базы данных создается обычным образом, например, при помощи Проводника. 2.3 Текст программы unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, Menus, StdCtrls; type TForm1 = class(TForm) sg: TStringGrid; mm: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; N8: TMenuItem; N9: TMenuItem; N10: TMenuItem; N11: TMenuItem; procedure FormCreate(Sender: TObject); procedure N2Click(Sender: TObject); //Процедура нажатия пункта в главнам меню Фаил-Сохранить procedure N3Click(Sender: TObject); //Процедура нажатия пункта в главнам меню Фаил-Загрузить procedure N5Click(Sender: TObject); //Процедура нажатия пункта в главнам меню Файл-Выход procedure N7Click(Sender: TObject); //Процедура нажатия пункта в главнам меню Продавец-Добавить procedure N8Click(Sender: TObject); //Процедура нажатия пункта в главнам меню Продавец-Удалить procedure N9Click(Sender: TObject); //Процедура нажатия пункта в главнам меню Продавец-Редактировать procedure N10Click(Sender: TObject); //Процедура нажатия пункта в главнам меню Отчет procedure N11Click(Sender: TObject); //Процедура нажатия пункта в главнам меню О программе private { Private declarations } public { Public declarations } Procedure LoadBD; // Загрузка Базы Procedure SaveBD; // Сохранение Базы end; var Form1: TForm1; God: integer; // Нынешний год implementation uses Unit2, Unit3; {$R *.dfm} function CalcComiss(index:integer):integer; // Подсчет комиссионных // по номеру продавца в таблице var year,dohod:integer; begin Result:=0; // Изначально комиссионные = 0 with form1.sg do begin year:=StrToInt(Cells[2,index]); // Узнаем год приема на работу Dohod:=StrToInt(Cells[3,index]); // И средний доход за день end; if god-year>=10 then // Если продавец работает 10 лет и больше Result:=Result+1; // Добавляем 1% if Dohod>=1000 then // Если еще и продает на сумму 1000 или больше Result:=Result+6 else // то добавляем 6% Result:=Result+5; // Если же нет, то 5% end; procedure TForm1.SaveBD; var I:integer; s:TStringList; begin S:=TStringList.Create; // Создаем Список строк for i:=1 to sg.RowCount-2 do // Проходим по всей таблице begin {Переносим в список данные из таблицы} S.Add(Sg.Cells[0,i]); S.Add(Sg.Cells[1,i]); S.Add(Sg.Cells[2,i]); S.Add(Sg.Cells[3,i]); end; S.SaveToFile('Base.txt'); // Сохраняем S.Free; // Очищаем память end; procedure Tform1.LoadBD; // Загрузка базы var I:integer; s:TstringList; begin sg.RowCount:=2; S:=TStringList.Create; // Создаем в памяти Список строк S.LoadFromFile('Base.txt'); // Загружаем в него файл с базой For i:=0 to S.Count div 4 -1 do // Организуем цикл загрузки 4х данных // для каждого продавца begin sg.RowCount:=sg.RowCount+1; // Увеличиваем таблицу на 1 пункт {Помещаем в таблицу данные} sg.Cells[0, sg.RowCount-2]:=S[i*4]; sg.Cells[1, sg.RowCount-2]:=S[i*4+1]; sg.Cells[2, sg.RowCount-2]:=S[i*4+2]; sg.Cells[3, sg.RowCount-2]:=S[i*4+3]; sg.Cells[4, sg.RowCount-2]:=IntToStr(CalcComiss(sg.RowCount-2)); end; S.Free; // Очищаем память от уже ненужного файла end; procedure TForm1.FormCreate(Sender: TObject); begin {Заполняем заголовок таблицы} sg.Cells[0,0]:='Фамилия и имя продавца'; sg.Cells[1,0]:='Табельный номер'; sg.Cells[2,0]:='Год приема на работу'; sg.Cells[3,0]:='Выручка $ за день'; sg.Cells[4,0]:='% комиссионных'; God:=StrToInt(Copy(DateToStr(Date),7,4)); // Узнаем нынешний год LoadBD; // Загружаем базу с диска end; procedure TForm1.N5Click(Sender: TObject); begin close; // Выход end; procedure TForm1.N8Click(Sender: TObject); var i, j:integer; begin {Удаление продавца из списка, все следующие за ним продавцы, просто поднимаются на ячейку выше} if sg.Selection.Top<>sg.RowCount-1 then begin for i:=sg.Selection.Top+1 to sg.RowCount-1 do for j:=0 to 4 do sg.Cells[j,i-1]:=sg.Cells[j,i]; sg.RowCount:=sg.RowCount-1; end; end; procedure TForm1.N2Click(Sender: TObject); begin LoadBd; // Загружаем базу с диска end; procedure TForm1.N3Click(Sender: TObject); begin SaveBD; //Сохраняем end; procedure TForm1.N10Click(Sender: TObject); begin Form3.ShowModal; end; procedure TForm1.N7Click(Sender: TObject); var I:integer; begin {Открываем окно "Добавить" и в случае нажатия на кнопку Ok, добавляем продавца в таблицу} Form2.Caption:='Добавить'; for i:=1 to 4 do // Цикл очистки полей ввода TEdit(Form2.FindComponent('Edit'+IntToStr(i))).text:=''; if form2.showmodal=mrOk then begin sg.RowCount:=sg.RowCount+1; // Увеличиваем таблицу на 1 пункт {Помещаем в таблицу данные} sg.Cells[0, sg.RowCount-2]:=Form2.Edit1.Text; sg.Cells[1, sg.RowCount-2]:=Form2.Edit2.Text; sg.Cells[2, sg.RowCount-2]:=Form2.Edit3.Text; sg.Cells[3, sg.RowCount-2]:=Form2.Edit4.Text; sg.Cells[4, sg.RowCount-2]:=IntToStr(CalcComiss(sg.RowCount-2)); end; end; procedure TForm1.N9Click(Sender: TObject); var i:integer; begin if sg.Selection.Top<>sg.RowCount-1 then begin Form2.Caption:='Редактировать'; for i:=1 to 4 do TEdit(Form2.FindComponent('Edit'+IntToStr(i))).text:=sg.cells[i-1,sg.selection.top]; if form2.showmodal=mrOk then begin {Помещаем в таблицу данные} sg.Cells[0, sg.selection.top]:=Form2.Edit1.Text; sg.Cells[1, sg.selection.top]:=Form2.Edit2.Text; sg.Cells[2, sg.selection.top]:=Form2.Edit3.Text; sg.Cells[3, sg.selection.top]:=Form2.Edit4.Text; sg.Cells[4, sg.selection.top]:=IntToStr(CalcComiss(sg.selection.top)); end; end; end; procedure TForm1.N11Click(Sender: TObject); var summ:integer; //Общий доход за этот месяц kom:integer; //Комиссионные выплаты z:integer; //Доход с вычетом комиссионных выплат days:integer; //Дней в этом месяце i,j,k:integer; //Вспомогательные переменные begin case StrToInt(copy(DateToStr(Date),4,2)) of //Проверяем какой щас месяц 1,3,5,7,8,10,12:days:=31; // если месяц 1,3,5,7,8,10,12 то дней в месяце 31 2: days:=28; // если месяц 2 то дней в месяце 28 else days:=30; // иначе в месяце 30 дней end; summ:=0; //Общим доходам за этот месяц присваеваем ноль kom:=0; //Комиссионным выплатам присваеваем ноль z:=0; //Доходам с вычетом комиссионных выплат присваеваем ноль for i:=1 to sg.RowCount-2 do begin j:=calccomiss(i); k:=strtoint(sg.cells[3,i])*days; j:=Trunc((j / 100)*K); //"Trunc" - целая часть числа kom:=kom+j; //считаем Комиссионные выплаты z:=z+k-j; //считаем Доход с вычетом комиссионных выплат summ:=summ+k; // считаем Общий доход за этот месяц end; showmessage('Общий доход за этот месяц: '+inttostr(summ)+#13#10+'Комиссионные выплаты: '+inttostr(kom)+#13#10+'Доход с вычетом комиссионных выплат: '+inttostr(z)+#13#10+'Дней в этом месяце: ' +inttostr(days)); end; end. Рисунок 1- Таблица ведения базы данных торговой фирмы 2.4 Описание программы 1) Общие сведения. Программа написана в среде программирования Delphi. Для запуска программы необходима операционная система Windows 98, NT, 2000, Me, XP. Программа не предназначена для работы в DOS. 2) Функциональное назначение. Программа может использоваться на различных торговых точках с небольшим количеством продавцов. 3) Используемые технические средства (минимальные требования). Рекомендуемые системные требования: процессор Pentium-133 и выше, ОЗУ 16Мб, место на диске не меньше 4Мб. 4) Вызов и загрузка. Исполняемый файл программы - Basa.exe. В родительском каталоге программы также содержится файл БД - Base.txt. Запустить программу можно пользуясь стандартным приложением для Windows «проводник» или через «Мой компьютер», просмотрев содержимое диска. 5) Входные данные. Входные данные представляют собой фамилию и имя, табельный номер, год приема на работу, и выручку продавца в день. 6) Выходные данные. Выходные данные выводятся на экран компонентом StringGrid. 2.5 Тестирование Тестирование было проведено на примере Базы Данных в каталоге A:\База данных\Base.txt (см. Приложение А). В базу данных было произведено введение данных о продавцах. Всего было введено 20 строк с Фамилиями и Именами, Табельным номером, Годом приема на работу и Выручки за день. Все данные были введены в случайном порядке. В результате ввода все продавцы, которые имели выручку больше 1000 долларов в день или проработали более 10 лет, получают 6% комиссионных, а остальные 5% комиссионных (по условию задачи). В результате был произведен подсчет данных и программа вывела отчет об общих доходах за этот месяц, комиссионных выплатах, доходах с вычетом комиссионных выплат и дней в этом месяце, все данные были верны. Программа без затруднений вывела все результаты. 3. Внедрение 1) Условия выполнения программы. Для выполнения программы необходим IBM совместимый компьютер с процессором 133МГц и выше, ОЗУ объемом не менее 16Мб и стандартным набором внутренних и внешних устройств. Программное обеспечение - ОС Windows 95 и более поздние версии Windows. 2) Выполнение программы. Для того чтобы запустить программу на панели управления щелкните кнопкой мыши кнопку Пуск. Выберете в развернувшимся меню пункт Программы->проводник. В проводнике выберете нужный каталог с файлом Basa.exe и дважды щелкните по нему левой кнопкой мыши. Программа запустится. На экране вы увидите окно программы (рис. 2). Рисунок 2- Окно программы База Данных Для добавления в таблицу данных необходимо нажать в главном меню пункт «Продавец - Добавить» (Рис.3). Рисунок 3- Меню для: добавления, удаления, редактирования - строки в таблице Появится диалоговое окно Добавить (рис.4). В этом окне необходимо ввести Имя и фамилию, Табельный номер - цифрами, Год приема на работу - цифрами, Сумма продаж за день - цифрами, затем нажать на кнопку «Ок», если хотите добавить, а если нет то кнопку «Нет». Рисунок 4- Окно добавить Если вы нажали «Ок» то в таблице появится строчка с данными которые вы набрали (Рис. 5). Рисунок 5- Так выглядит таблица после добавления в ней строчки Чтобы сохранить данные в текстовом файле, нужно в главном меня выбрать пункт «Файл - Сохранить». Если вы вынесли изменения в таблицу но не сохраняли их, вы можете вернуть документ в исходное состояние, так как он выглядел перед открытием, то вам необходимо в главном меня выбрать пункт «Файл - Загрузить». (Рис.6). Рисунок 6- Меню Файл: сохранить, загрузить, выход Чтобы вывести отчет, в главном меню программы необходимо выбрать пункт «Отчет». На экране появится диалоговое окно, в котором вы увидите отчет о: общим доходам за этот месяц, комиссионным выплатам, доходе с вычетом комиссионных выплат и дней в этом месяце. Это окошко вы можете видеть на Рис.7. Рисунок 7- Окно - отчет В программе я сделал свой пункт в главном меню «О программе». Нажав на него, вы можете видеть мою информацию: название института, мою фамилию и имя, номер группы и год когда была сделана программа. Рисунок 8- Окно - О программе Для выхода из программы База Данных можно нажать на крестик, а можно нажать на пункт, в главном меню 11, «Файл - Выход» (Рис. 6). Заключение Я разработал программу ведения баз данных для торговой фирмы. С помощью моей программы можно без затруднений и специальных знаний вести базу данных, которая позволяет делать все необходимые операции по учету сотрудников. То есть добавлять, изменять, обновлять, удалять и просматривать все имеющиеся и вводимые данные. Кнопочная форма позволяет просматривать отчеты об общей выручке в текущем месяце, комиссионных выплатах и доходах с учетом комиссионных выплат. На примере моей программы ведения базы данных для торговой фирмы, я предоставил к рассмотрению функции и возможности написания подобных программ при помощи Delphi. Эта программа достаточно проста и удобна в обращении. Я считаю, что моя написанная мною программа в практическом применении удобна и достаточно эффективна. Все зависит от пользователя, объема располагаемых им знаний и умения ими воспользоваться. Говоря о себе могу сказать, что эта программа имеет много полезных функций и опыт полученный при ее разработке и написании в дальнейшем мне очень пригодится. Глоссарий
Список использованных источников 1. Архангельский А.Я. «Приемы программирования в Delphi».: Издательство «Бином-Пресс» 2006г. -944 стр. -ISBN 5-9518-0145-1 2. С.И. Бобровский «Delphi 7 Учебный курс».: Издательство «Питер» 2004. - 736 с. - ISBN 5-8046-0086-9 3.Г.В. Галисеев «Компоненты в Delphi 7».: Издательство «Вильямс» 2004г. - 624стр. -ISBN 5-8459-0555-9 4. А. Шкрыль «Delphi.Народные советы».: Издательство BHV-СПБ 2007г. - 400стр. - ISBN 5-9775-0047-5 5. Культин Н.Б. «Основы программирования в Delphi 7».: Издательство BHV- СПБ. 2008г. - 480 с. -ISBN 978-5-9775-0235-1 6. Культин Н.Б. Программирование на Object Pascal в Delphi 5.Самоучитель.:Издательство BHV-СПБ. - 464стр. -ISBN 5-8206-0079-7 7. Лабзина Т.А. Алгоритмические языки и программирование Юнита 5. Издательство НОУ СГУ, 1999. 8. Е.Марков «Программирование в Delphi 7».:Издательство BHV-СПБ. 2003г. -784стр. -ISBN 5-94157-116-X 9. В.Кадлец «Delphi. Книга рецептов. Практические примеры, трюки и секреты».: Издательство «Наука и техника». 2006г. - 384стр. - ISBN 80-251-0017-0 10. Фаронов В.В. «Delphi 2005. Разработка приложений для баз данных и Интернета».: Издательство «Питер». 2006г. - 608стр. - ISBN 5-469-01191-7 11. Анатолий Хомоненко «Delphi 7. Наиболее полное руководство».: Издательство: BHV - Санкт - Петербург, 2006 г.-1216 стр.-ISBN 5-94157-267 12. Дмитрий Осипов «Delphi. Профессиональное программирование».: Издательство: Символ-Плюс, 2006 г.-1056 стр.-ISBN 5-93286-074-Х Приложение А База данных на которой проводилось тестирование
|
РЕКЛАМА
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА | ||
© 2010 |