Автор работы: Пользователь скрыл имя, 24 Июня 2014 в 02:49, курсовая работа
Цель выполнения курсовой работы:
Закрепление практических навыков разработки реляционных баз данных (БД), использование персональных компьютеров (ПК) и современных средств автоматизированной разработки моделей данных (МД) и систем управления базами данных (СУБД);
Получение углубленных знаний языка структурированных запросов (SQL), других языков программирования и технологии «клиент – сервер»;
Приобретение практических навыков самостоятельной разработки основных компонентов информационных компьютеризированных подсистем ( КП).
ВВЕДЕНИЕ
1 ПОСТАНОВКА ЗАДАЧИ
1.1 ОБСЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
1.2 ВЫХОДНАЯ ИНФОРМАЦИЯ
1.3 ВХОДНАЯ ИНФОРМАЦИЯ
1.4 ОПИСАНИЕ СИСТЕМ КЛАССИФИКАЦИИ И КОДИРОВАНИЯ
2 РАЗРАБОТКА БАЗЫ ДАННЫХ
2.1 РАЗРАБОТКА ЛОГИЧЕСКОЙ МОДЕЛИ ДАННЫХ
2.2 РАЗРАБОТКА ФИЗИЧЕСКОЙ МОДЕЛИ ДАННЫХ
2.3 РЕАЛИЗАЦИЯ БАЗЫ ДАННЫХ
3 ОРГАНИЗАЦИЯ ВЕДЕНИЯ ВХОДНЫХ ДАННЫХ
3.1 РАЗРАБОТКА ФОРМ ВВОДА
4. ОРГАНИЗАЦИЯ СЕТЕВОЙ РАБОТЫ
4.1 РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ ПРИЛОЖЕНИЯ
ВЫВОДЫ И РЕКОМЕНДАЦИИ
ПЕРЕЧЕНЬ ССЫЛОК
2.2 РАЗРАБОТКА ФИЗИЧЕСКОЙ МОДЕЛИ ДАННЫХ
2.3 РЕАЛИЗАЦИЯ БАЗЫ ДАННЫХ
В соответствии с физической моделью данных в СУБД MICROSOFT VISUAL FOXPRO создана база данных «database». Для создания БД разработана программа create.crg:
CREATE TABLE tBilet (Kod_Bileta INT(2) PRIMARY KEY, MatchID INT(4),Mesto INT(3),Stoimost float)
CREATE TABLE tTipMatcha (TipID INT(2) PRIMARY KEY,Nazvanie char,KfMatcha float)
CREATE TABLE tMatch (MatchID INT(4) PRIMARY KEY,Komanda1 INT(2),komanda2 INT(2), TipID INT(2),DataVremya datetime)
CREATE TABLE tKomanda1 (Komanda1 INT(3) PRIMARY KEY,Nazvanie char(30), KfKomandy float)
CREATE TABLE tKomanda2 (Komanda2 INT(3)PRIMARY KEY,Nazvanie char(30), KfKomandy float)
CREATE TABLE tMesto(mesto INT(3)PRIMARY KEY, nomermesta INT(3), kodsektora INT(3),ryad INT(2))
CREATE TABLE tSector (KodSektora INT(3) PRIMARY KEY, Koeff INT(2))
Структура таблиц
Рисунок 1.Таблица tbilet
Рисунок 2.Таблица ttipmatcha
Рисунок 3.Таблица tmatch
Рисунок 4.Таблица tmesto
Рисунок 5.Таблица tsector
Рисунок 6.Таблица tkomanda1
Рисунок 7.Таблица tkomanda2
ОРГАНИЗАЦИЯ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ
Для связей между таблицами была разработанна программа alter.prg
ALTER TABLE tMatch;
add foreign KEY TipID TAG TipID;
REFERENCES tTipMatcha TAG TipID;
ALTER TABLE tMatch;
add foreign KEY komanda1 TAG komanda1;
REFERENCES tKomanda1 TAG komanda1;
ALTER TABLE tMatch;
add foreign KEY Komanda2 TAG komanda2;
REFERENCES tkomanda2 TAG komanda2;
ALTER TABLE tBilet;
add foreign KEY matchid TAG matchid;
REFERENCES tMatch TAG matchid;
ALTER TABLE tBilet;
add foreign KEY mesto TAG mesto;
REFERENCES tMesto TAG mesto;
ALTER TABLE tMesto;
add foreign KEY kodsektora TAG kodsektora;
REFERENCES tSector TAG kodsektora;
В среде MS Visual fox pro разработана форма «tkomanda». Форма в режиме конструктора представлена на рисунке.
В среде MS Visual fox pro разработана форма «tBilet». Форма в режиме конструктора представлена на рисунке.
Для полей MatchID было разработанно локальное представление
SELECT Tmatch.matchid, Tkomanda1.nazvanie, Tkomanda2.nazvanie,;
Tmatch.datavremya;
FROM ;
database!tkomanda1 ;
INNER JOIN database!tmatch ;
ON Tkomanda1.komanda1 = Tmatch.komanda1 ;
INNER JOIN database!tkomanda2 ;
ON Tkomanda2.komanda2 = Tmatch.komanda2
Для поля место была разработанно локальное представление
SELECT Tsector.kodsektora, Tmesto.kodsektora, Tmesto.ryad,;
Tmesto.nomermesta, Tmesto.mesto;
FROM ;
DATABASE!TSECTOR ;
INNER JOIN DATABASE!TMESTO ;
ON Tsector.kodsektora = Tmesto.kodsektora
В среде MS Visual fox pro разработана форма «tMatch». Форма в режиме конструктора представлена на рисунке.
В среде MS Visual fox pro разработана форма «tMain». Форма в режиме конструктора представлена на рисунке.
4 ОРГАНИЗАЦИЯ СЕТЕВОЙ РАБОТЫ
Разработанное приложение удовлетворяет требованиям, предъявляемым к многопользовательскому приложению, и может быть использовано при работе в локальной компьютерной сети.
MySql – полноценная серверная СУБД.
MS Visual Fox Pro является сетевой СУБД, то есть она позволяет использовать приложение одновременно нескольким пользователям в сети. При этом все необходимые операции, связанные с защитой данных, с разрешением конфликтов при попытках нескольких пользователей обратиться к одним и тем же данным, Visual Fox Pro выполняет автоматически – для этого не требуется писать сложных программ. Для управления многопользовательским доступом к данным существует достаточно много средств пользовательского интерфейса. Но кроме этого, модели данных имеют возможности, необходимые для программного управления многопользовательским приложением.
Для организации общего доступа нескольким пользователям к базе данных необходимо предоставить совместный доступ к prg-файлу, содержащему как таблицы, так и остальные объекты, то есть собственно приложение.
Это обеспечит доступ нескольких пользователей ко всем объектам базы данных: таблицам, запросам, формам, отчетам, макросам, модулям. Для этого достаточно файл базы данных поместить в общую папку на файловом сервере или одной из рабочих станций. К этой папке должен быть обязательно открыт полный доступ всем пользователям приложения. Это связано с тем, что для реализации совместного доступа к файлу базы данных Visual Fox Pro создает специальный файл – файл блокировок. Он создается в той же папке, в которой находится совместно используемая база данных Visual Fox Pro. На рабочих станциях пользователей, работающих с приложением Visual Fox Pro, должна быть установлена либо полная, либо исполняемая версия Visual Fox Pro.
Поместив файл Access в общую папку, следует убедиться, что база данных будет открываться всеми пользователями в режиме общего доступа.
Необходимо отметить, что при такой организации доступа к приложению крайне высокие требования предъявляются к производительности рабочих станций пользователей и сети, так как между сетевым ресурсом и рабочими станциями будет осуществляться очень интенсивный обмен данными, что существенно увеличивает нагрузку на сеть.
Другим способом организации работы по сети является совместное использование только данных.
Поскольку в качестве хранилища данных используется MySql, приложение Visual Fox Pro не содержит объектов данных (back-end), а только остальные объекты – запросы, формы, отчеты, макросы и модули (front-end), можно установить копии файла объектов приложения на каждую рабочую станцию пользователей. В результате получается система с архитектурой клиент-сервер, представленная на рис.
Приложение с архитектурой файл-сервер
Данный способ организации совместного доступа обеспечивает более высокую производительность приложения по сравнению с тем способом, когда приложение полностью находится на файловом сервере, так как по сети будут передаваться только данные.
4.1 РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ ПРИЛОЖЕНИЯ
Существующие на сегодня методы тестирования программного обеспечения (ПО) не позволяют однозначно и полностью выявить все дефекты и установить корректность функционирования анализируемой программы, поэтому все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО.
Существует множество подходов к решению задачи тестирования ПО, но эффективное тестирование сложных программных продуктов – это процесс в высшей степени творческий, не сводящийся к следованию строгим и чётким процедурам или созданию таковых.
Качество программного обеспечения можно определить как совокупную характеристику исследуемого ПО с учётом следующих составляющих:
Используемая программная платформа (MS Visual Fox Pro), а также следование в процессе проектирования и разработки требованиям и рекомендациям, предъявляемым к приложениям БД, позволяет говорить о том, что разработанное программное обеспечение удовлетворяет большинству вышеприведенных характеристик. Практическое тестирование в режиме опробования подтверждает данное утверждение. В ходе тестовых испытаний проверены операции по работе со всеми таблицами БД (добавление, редактирование, удаление записей), построены и сверены все отчетные формы, проведена проверка всех User Interface (UI) форм, всех модулей приложения.
Выполнено ручное тестирование:
Результат тестирования по всем позициям позитивный.
ВЫВОДЫ И РЕКОМЕНДАЦИИ
В ходе выполнения курсовой работы закреплены на практике полученные знания и навыки алгоритмизации и программирования с использованием современной вычислительной техники. Разработана СУБД учета в продажи билетов.
Разработанная СУБД учета может быть рекомендована к применению на футбольных стадионах.
В дальнейшем система может быть расширена за счет добавления нового функционала, прежде всего новых отчетных форм. Для практического применения системы следует разработать подробную документацию для пользователей и администраторов. В качестве документации для разработчика может использоваться отчет по курсовой работе.
В случае необходимости может быть выполнена интеграция с применяемым в учреждениях специализированным ПО.
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ А
Создание таблиц и связи
CREATE TABLE tBilet (Kod_Bileta INT(2) PRIMARY KEY, MatchID INT(4),Mesto INT(3),Stoimost float)
CREATE TABLE tTipMatcha (TipID INT(2) PRIMARY KEY,Nazvanie char,KfMatcha float)
CREATE TABLE tMatch (MatchID INT(4) PRIMARY KEY,Komanda1 INT(2),komanda2 INT(2), TipID INT(2),DataVremya datetime)
CREATE TABLE tKomanda1 (Komanda1 INT(3) PRIMARY KEY,Nazvanie char(30), KfKomandy float)
CREATE TABLE tKomanda2 (Komanda2 INT(3)PRIMARY KEY,Nazvanie char(30), KfKomandy float)
CREATE TABLE tMesto(mesto INT(3)PRIMARY KEY, nomermesta INT(3), kodsektora INT(3),ryad INT(2))
CREATE TABLE tSector (KodSektora INT(3) PRIMARY KEY, Koeff INT(2))
ALTER TABLE tMatch;
add foreign KEY TipID TAG TipID;
REFERENCES tTipMatcha TAG TipID;
ALTER TABLE tMatch;
add foreign KEY komanda1 TAG komanda1;
REFERENCES tKomanda1 TAG komanda1;
ALTER TABLE tMatch;
add foreign KEY Komanda2 TAG komanda2;
REFERENCES tkomanda2 TAG komanda2;
ALTER TABLE tBilet;
add foreign KEY matchid TAG matchid;
REFERENCES tMatch TAG matchid;
ALTER TABLE tBilet;
add foreign KEY mesto TAG mesto;
REFERENCES tMesto TAG mesto;
ALTER TABLE tMesto;
add foreign KEY kodsektora TAG kodsektora;
REFERENCES tSector TAG kodsektora;
ПРИЛОЖЕНИЕ Б
Представления
SELECT Tmatch.matchid, Tkomanda1.nazvanie, Tkomanda2.nazvanie,;
Tmatch.datavremya;
FROM ;
database!tkomanda1 ;
INNER JOIN database!tmatch ;
ON Tkomanda1.komanda1 = Tmatch.komanda1 ;
INNER JOIN database!tkomanda2 ;
ON Tkomanda2.komanda2 = Tmatch.komanda2
SELECT Tsector.kodsektora, Tmesto.kodsektora, Tmesto.ryad,;
Tmesto.nomermesta, Tmesto.mesto;
FROM ;
DATABASE!TSECTOR ;
INNER JOIN DATABASE!TMESTO ;
ON Tsector.kodsektora = Tmesto.kodsektora