Разработка информационной системы "Магазин электротоваров" с использованием клиент-серверной технологии

Автор работы: Пользователь скрыл имя, 24 Сентября 2013 в 01:39, курсовая работа

Описание работы

Клиент-серверная СУБД позволяет обмениваться клиенту и серверу минимально необходимыми объёмами информации. При этом основная вычислительная нагрузка ложится на сервер. Клиент может выполнять функции предварительной обработки перед передачей информации серверу, но в основном его функции заключаются в организации доступа пользователя к серверу.
К целям и задачам проекта можно отнести:
закрепление практических навыков программирования, полученных на лабораторных занятиях;
углубление теоретических и практических знаний в области методологии и программирования и разработки приложений баз данных;
развитие навыков самостоятельного планирования и выполнение научно-исследовательской работы;
получение опыта сбора и обработки исходного материала, анализа научно-технической литературы, справочников, стандартов и технической документации

Содержание работы

Введение ………………………………………………………………………….3
Проектирование информационной системы .………………………….....4
Проектирование информационного обеспечения ……………………..4
Выбор СУБД ……………………………………………….……...4
Системный анализ предметной области …………………………..4
Инфологическое проектирование БД ……………………………...5
Даталогическое проектирование БД ………………………...…….5
Проектирование программного обеспечения ………………………….7
Выбор инструментальных средств для создания ПО……………..7
Определение задач решаемых информационной системой………8
Разработка информационной системы……………………………………9
Разработка информационного обеспечения ….………………………...9
Физическое проектирование БД……………...…………………….9
Программирование на стороне SQL-сервера……………………..10
Разработка программного обеспечения ..……...………………………12
Создание Win-приложения .……………………………………….12
Создание Web-приложения ..……………...………………………16
Тестирование информационной системы .…………...…………………20
Пользовательский интерфейс ……………………..………………….20
Интерфейс Win-приложения…………………...………………….20
Интерфейс Web-приложения…………...…………………………23
Заключение……………………………………………………………………….27
Список использованных источников …..…………………………

Файлы: 1 файл

Моя курсовая.docx

— 60.83 Кб (Скачать файл)

2. РАЗРАБОТКА  ИНФОРМАЦИОННОЙ СИСТЕМЫ     

2.1. Разработка информационного обеспечения     

2.1.1. Физическое проектирование БД     

Для разработки самой базы данных откроем утилиту IBExpert. С ее помощью создадим базу данных с параметрами как на рисунке 3     

Рисунок 3. Создание БД Firebierd     

Далее необходимо создать таблицы базы данных. Но прежде чем приступить непосредственно к созданию таблиц необходимо сначала создать домены, в которых будут указаны характеристики полей. Все созданные домены указаны на рисунке 4. 

Рисунок 4. Созданные домены    

Далее создадим таблицы базы данных. Благодаря тому, что были созданы домены нет необходимости указывать все характеристики полей в таблицах, достаточно только указать домен, которому будет принадлежать данное поле.      

Рисунок 5. Создание таблицы базы данных    

После того как были созданы все таблицы, необходимо задать ограничения для таблиц: первичные и внешние ключи.  На рисунке 6 приведен пример внешних ключей для таблицы «Заказы»      

Рисунок 6. Внешние ключи    

После этого необходимо только заполнить разработанные таблицы.

2.1.2. Программирование  на стороне SQL-сервера    

После создания непосредственно создании базы данных необходимо создать представления, хранимые процедуры и триггеры, необходимые  для ведения базы.      

Просмотры (представления) позволяют  возвращать наборы данных, удовлетворяющие  нужды конкретных пользователей  или групп. После создания просмотра  с ним можно обращаться точно  так же, как и с обычной таблицей. Просмотр может строиться на базе одной или нескольких таблиц, или  даже на основе других просмотров. 

Рисунок 7. Создание представления БД

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

Существует два типа хранимых процедур:

1.  Процедуры выборки в качестве результата своей работы возвращают набор данных либо сообщение об ошибке. Пример приведен на рисунке 8.

2.  Выполняемые процедуры осуществляют с базой данных какое-либо действие. Пример приведен на рисунке 9 

Рисунок 8. Процедура на выборку  
     

Рисунок 9. Выполняемая процедура     

Триггер является функцией, выполняющейся при вставке, изменении или удалении записи.  

Рисунок 10. Пример создания триггера

2.2. Разработка программного обеспечения

2.2.1. Создание win-приложения     

Любое windows-приложение имеет форму с размещенными на ней различными компонентами, при помощи которых определяется внешний вид приложения. Для этих компонентов можно создавать обработчики событий, определять свойства, которые и будут определять функциональность приложения.     

Помимо  визуальных компонентов существуют и не визуальные, которые не размещаются на форме, но при их помощи осуществляются задачи к примеру доступа к базе данных.  

Рисунок 11. Не визуальные компоненты разработанного приложения    

Компоненты InterBase eXpress (IBX) предназначены для работы с сервером Firebird или InterBase, используя InterBase AРI. Используя данные компоненты, можно получать данные, вносить в них изменения, управлять транзакциями, получать сведения о базе данных, отслеживать состояние процессов выполнения запросов.     

На  рисунке можно увидеть следующие компоненты: IBDataBase, которые осуществляет подключение к БД, IBTransaction, который будет управлять транзакциями, компоненты IBTable, IBQuery, IBStoredProc, при помощи которых происходит вызов представлений и процедур.      

Рисунок 12. Настройка компонента IBDataBase1    

Далее приведем изображение формы, на которой размещены все необходимые компоненты 

Рисунок 13. Форма с размещенными на ней компонентами    

Необходимо задать свойства компонента DBGrid1, в котором будет отображаться информация базы данных.     

Рисунок 14. Свойства компонента DBGrid1    

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

void __fastcall TForm1::Button1Click(TObject *Sender)     

{    

LabeledEdit5->Text="";    

DataModule2->IBStoredProc1->ParamByName("fio")->AsString=LabeledEdit1->Text;     

DataModule2->IBStoredProc1->ParamByName("nomer_pasporta")->AsString=LabeledEdit2->Text;     

DataModule2->IBStoredProc1->ParamByName("adres")->AsString=LabeledEdit3->Text;     

DataModule2->IBStoredProc1->ParamByName("telefon")->AsString=LabeledEdit4->Text;     

DataModule2->IBStoredProc1->Prepare();    

DataModule2->IBStoredProc1->ExecProc();    

DataModule2->IBTable1->Close();    

DataModule2->IBTable1->Open();    

}    

Подобным  образом создается доступ ко всем представлениям и хранимым процедурам, расположенным в базе данных. В результате было разработано приложение, главное окно которого отображено на рисунке 13.

2.2.2. Создание web-приложения     

Для создания web-приложения необходим определиться с его интерфейсом. Было решено придерживаться стиля как изображено на рисунке 15. 

Рисунок 15. Главная страница web-приложения     

Для создания любого приложения необходимо сначала создать его модульную схему, на которой будут отображены все страницы приложения. Данная схема представлена на рисунке 16.  
     

Рисунок 16. Модульная схема web-приложения      

Структура приложение следующая: на главной странице располагаются  ссылки для просмотра данных из таблиц БД, на каждой странице находятся ссылки, позволяющие производить редактирование данных выбранной таблицы, а также  осуществлять поиск и фильтрацию информации. На рисунке  16 представлена схема расположения всех страниц приложения. В таблице 16 приведено название некоторых из них на примере страницы клиенты. Основные страницы – просмотр, форма для добавление, добавление, изменение, удаление, поиск и фильтрация данных о клиентах.  
  
  
     

Таблица 1    

Описание  страниц приложения

Название

Назначение

Index.html

Главная страница

Klienti.php

Информация  о клиента

Sotrudniki.php

Информация  о сотрудниках

Tovari.php

Информация  о товарах

Zakazi.php

Информация  о заказах

Sozdatel.рhp

Информация о создателе

Ins_kl.html

Форма для добавления клиента

Ins_kl.php

Файл для  осуществления добавления

Upd_kl.php

Изменение данных о клиенте

Del_kl.php

Удаление данных о клиенте

Search_kl.php

Поиск клиента

Filtr_kl.php

Фильтрация  клиентов


 
     

Для осуществления доступа  к базе данных Firebird в языке PHP существует специальный набор функций. Некоторые из них используются в данной работе. Например для вывода таблицы из БД в PHP необходимо разместить следующий программный код:     

<?php    

$sort=$_POST['sort'];    

include_once("connect.php");    

if($sort) $query="select * from $sort";     

else $query="select * from klient";    

$result=ibase_query($query);    

echo '<table class=tab width=100% align=center cellspacing=0 cellpadding=0>';    

echo '<tr><th width=50><b>№</b></th>'.     

'<th><b>ФИО</b></th>'.     

'<th><b>Паспорт</b></th>'.     

'<th><b>Адрес</b></th>'.     

'<th><b>Телефон</b></th>'.     

'<th width=16></th>'.    

'<th width=16></th></tr>';    

$i=0;    

while($row = ibase_fetch_row($result))    

{$i++;    

if($i%2==1){    

$col='white';}    

if($i%2==0){    

$col='#e6e6e6';}    

echo "<tr bgcolor=$col><td class=nya><b>$row[0]</b></td>     

<td class=nya>$row[1]</td>    

<td class=nya>$row[2]</td>    

<td class=nya>$row[3]</td>    

<td class=nya>$row[4]</td>    

<td class=nya width=20> <a href='upd_kl.php?up=$row[0]'><img src='images/up.png' border=0 alt='Изменить'></a></td>     

<td class=nya width=20> <a href='del_kl.php?del=$row[0]'><img src='images/del.png' border=0 alt='Удалить'></a></td></tr>";} ?>  
 

3. ТЕСТИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ 

3.1. Пользовательский  интерфейс

3.1.1. Интерфейс win-приложения     

Win-приложение имеет довольно простой и интуитивноо понятный интерфейс. При добавлении информации необходимо заполнить расположенные на форме поля. Пример показан на рисунке 16. 

Рисунок 17. Добавление информации     

В разработанном приложении для изменения информации в базе данных необходимо выделить запись, в которой необходимо произвести изменения и заполнить изменяемые поля. В большинстве таблиц изменять можно лишь некоторые из полей. Как например в таблице клиенты изменяемыми являются поля «Адрес» и «телефон», так как другая информация является более постоянной. Это сделано для избегания ошибок в программе и базе данных.    

Также в программе можно производить сортировку по различным полям. В таблице «Клиенты» наиболее подходящим полем для сортировки является поле «ФИО». Результат изменения и сортировки данных приведен на рисунке 

Рисунок 18. Результат изменения и сортировки данных    

Для удаления информации необходимо выделить запись и щелкнуть кнопку «Удалить». Например удалим только что добавленную запись 

Рисунок 19. Результат удаления данных    

Также может осуществляться поиск клиентов по фамилии. Для этого необходимо заполнить соответствующее поле. 

Рисунок 20. Поиск информации в БД    

Также можно осуществлять фильтрацию. Например вывести данные о клиентах, фамилии которых начинаются с букв А-М. 

Рисунок 21. Фильтрация данных     

Также в разработанной программе можно  создавать электронные отчеты. Его  можно просмотреть либо распечатать. 

Рисунок 22. Создание электронного отчета     

3.1.2. Интерфейс web-приложения     

Используя web-приложение также можно осуществлять доступ к БД. Результат вывода и сортировки данных изображен на рисунке 23. 

Рисунок 23. Вывод отсортированных данных     

Для добавления записи в таблицу необходимо нажать на кнпоку «Добавить клиента». Тогда появляется следующая форма.     

Рисунок 24. Добавление клиента     

После подтверждения добавления можно просмотреть все записи. Как видно из рисунка 25 запись была добавлена. 

Рисунок 25. Успешное добавление клиента    

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

Рисунок 26. Форма для изменения данных о клиенте    

После подтверждения изменений проверим сохранились ли они. 

Рисунок 27. Успешное изменение данных     

Для удаления данных необходимо щелкнуть на кнопку с изображением красного крестика возле соответствующей записи.      

Рисунок 28. Удаление информации из БД    

Для осуществления поиска клиентов по фамилии необходимо ввести критерий для поиска в соответствующее поле и нажать кнопку «Найти». Например усли ввести критерием поиска «Кра» появится следующий результат. 

Рисунок 29. Поиск клиентов      

ЗАКЛЮЧЕНИЕ      

В результате выполнения данной работы были закреплены практические навыки по работе с СУБД Firebird, использование языка PHP, навыки работы с средой Borland C++ Builder. В данной работе конечно же нельзя было обойтись без навыков полученных в ранее изучаемых предметах.  Результаты работы говорят о том, что поставленные цели были достигнуты, а задачи выполнены.     

Было  разработано два приложения, которые осуществляют доступ к одной и той же базе данных, в которой хранится информация о клиентах, сотрудниках, товара и заказах в магазине электротоваров. Оба приложения разработаны с использованием клиент-серверной технологии и могу работать одновременно с разных компьютеров, подключенных к одной локальной и глобальной вычислительной сети.     

В результате выполнения курсового проекта приобретены навыки работы с учебной, справочной  и методической литературой, что помогло в выполнении практической части курсовой работы.     

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Хелен Борри «Firebird: руководство разработчика баз данных» изд. «БХВ-Петербург» 2006 г. - 1105 с.
  2. Архангельский А. Я. C++Builder 6 Справочное пособие. Книга 2. Классы и компоненты. – М.: Бином-Пресс, 2004г. – 528с.
  3. Хомоненко А. Д., Ададуров С. Е.  Работа с базами данных в C++ Builder. — СПб.: БХВ-Петербург,  2006.—496 с: ил.
  4. В.М. Михелёв. «Базы данных и СУБД» – Белгород: Издательство БелГУ, 2007. – 200 с.

 

  
     

ПРИЛОЖЕНИЕ 1. ЛИСТИНГ ДЛЯ СОЗДАНИЯ БД

Создание  таблицы «Товары»

CREATE GENERATOR GEN_TOVARI_ID; 

CREATE TABLE TOVARI (   

ID_TOVARA    D_KLUCH NOT NULL /* D_KLUCH = INTEGER NOT NULL CHECK (VALUE>=0) */,   

NAIM_TOVARA  D_NN_30 /* D_NN_30 = VARCHAR(30) NOT NULL */,   

ID_TIPA_TOV  D_KLUCH /* D_KLUCH = INTEGER NOT NULL CHECK (VALUE>=0) */,   

CENA_TOV     D_CENA /* D_CENA = DECIMAL(15,2) NOT NULL */,   

ID_FIRMI     D_KLUCH /* D_KLUCH = INTEGER NOT NULL CHECK (VALUE>=0) */,   

KOLVO_TOV    NEW_DOMAIN /* NEW_DOMAIN = INTEGER DEFAULT 1 */

); 

ALTER TABLE TOVARI ADD CONSTRAINT PK_TOVARI PRIMARY KEY (ID_TOVARA); 

ALTER TABLE TOVARI ADD CONSTRAINT FK_TOVARI_1 FOREIGN KEY (ID_TIPA_TOV) REFERENCES TIPI_TOVARA (ID_TIPA_TOV) ON UPDATE CASCADE;

ALTER TABLE TOVARI ADD CONSTRAINT FK_TOVARI_2 FOREIGN KEY (ID_FIRMI) REFERENCES FIRMI (ID_FIRMI) ON UPDATE CASCADE;  
 

CREATE INDEX "_IDX1" ON TOVARI (NAIM_TOVARA); 

Представление для вывода информации о товарах

CREATE VIEW TOVAR(   

"Номер",   

"Наименование",   

"Тип",   

"Фирма",   

"Цена",   

Информация о работе Разработка информационной системы "Магазин электротоваров" с использованием клиент-серверной технологии