Автор работы: Пользователь скрыл имя, 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
Список использованных источников …..…………………………
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. Используя данные компоненты, можно получать данные, вносить в них изменения, управлять транзакциями, получать сведения о базе данных, отслеживать состояние процессов выполнения запросов.
На рисунке можно увидеть
Рисунок 12. Настройка компонента IBDataBase1
Далее приведем изображение формы, на которой размещены все необходимые компоненты
Рисунок 13. Форма с размещенными на ней компонентами
Необходимо задать свойства компонента DBGrid1, в котором будет отображаться информация базы данных.
Рисунок 14. Свойства компонента DBGrid1
Но отображения данных на форме недостаточно, необходимо чтобы разрабатываемое приложение осуществляло полноценный доступ к базе, включая ее редактирование. Например для осуществления добавления информации в таблицу клиенты для командной кнопки необходимо создать обработчик события Click и поместить в него следующий программный код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
LabeledEdit5->Text="";
DataModule2->IBStoredProc1->
DataModule2->IBStoredProc1->
DataModule2->IBStoredProc1->
DataModule2->IBStoredProc1->
DataModule2->IBStoredProc1->
DataModule2->IBStoredProc1->
DataModule2->IBTable1->Close()
DataModule2->IBTable1->Open();
}
Подобным образом создается доступ ко всем представлениям и хранимым процедурам, расположенным в базе данных. В результате было разработано приложение, главное окно которого отображено на рисунке 13.
2.2.2. Создание web-приложения
Для создания web-приложения необходим определиться с его интерфейсом. Было решено придерживаться стиля как изображено на рисунке 15.
Рисунок 15. Главная страница web-приложения
Для создания любого приложения
необходимо сначала создать его модульную
схему, на которой будут отображены все
страницы приложения. Данная схема представлена
на рисунке 16.
Рисунок 16. Модульная схема web-
Структура приложение следующая:
на главной странице располагаются
ссылки для просмотра данных из таблиц
БД, на каждой странице находятся ссылки,
позволяющие производить
Таблица 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]'><
<td class=nya width=20> <a href='del_kl.php?del=$row[0]'>
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. ЛИСТИНГ ДЛЯ СОЗДАНИЯ БД
Создание таблицы «Товары»
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(
"Номер",
"Наименование",
"Тип",
"Фирма",
"Цена",