Телефонный справочник поликлиники. Курсовая работа (т). Информационное обеспечение, программирование.

Телефонный справочник поликлиники. Курсовая работа (т). Информационное обеспечение, программирование.




🛑 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻


























































Информационное обеспечение, программирование

Вы можете узнать стоимость помощи в написании студенческой работы.


Помощь в написании работы, которую точно примут!

Похожие работы на - Телефонный справочник поликлиники
Нужна качественная работа без плагиата?

Не нашел материал для своей работы?


Поможем написать качественную работу Без плагиата!

1. Проектирование ИС
«телефонный справочник поликлиники»




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


Данные об пациентах, заносимых в
базу данных информационной системы должны соответствовать следующим параметрам:


Данные о докторах должны
соответствовать следующим параметрам:


Информация о городах должна
соотвествовать следующим параметрам:


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


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


С информационной системой «Телефонный
справочник поликлиники» должны иметь возможность работать сотрудники
поликлиники и пациенты.




В реляционной модели все данные
представляются как факты о сущностях и связях. Между сущностями определяются
функциональные связи.


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


Связь - это функциональная
зависимость между сущностями.


Каждая сущность обладает атрибутами.


Атрибут - это свойство объекта,
характеризующее его экземпляр.


Общепринятым видом графического
изображения реляционной модели данных является ER-диаграмма. На такой диаграмме
сущности (таблицы) изображаются прямоугольниками, возможно, соединенными между
собой линиями (связями). Такое графическое представление облегчает восприятие
структуры базы данных по сравнению с текстовым описанием.- CASE-средство для
проектирования и документирования баз данных, которое позволяет создавать,
документировать и сопровождать базы данных, хранилища и витрины данных. Модели
данных помогают визуализировать структуру данных, обеспечивая эффективный
процесс организации, управления и администрирования таких аспектов деятельности
предприятия, как уровень сложности данных, технологий баз данных и среды
развертывания.ERwin позволяет управлять данными в процессе корпоративных
изменений, а также в условиях стремительно изменяющихся технологий.позволяет
наглядно отображать сложные структуры данных. Удобная в использовании
графическая среда упрощает разработку базы данных и автоматизирует множество
трудоемких задач, уменьшая сроки создания высококачественных и
высокопроизводительных транзакционных баз данных и хранилищ данных.


Диаграмма ERwin строится из трех
основных блоков - сущностей, атрибутов и связей. Если рассматривать диаграмму
как графическое представление правил предметной области, то сущности и атрибуты
являются существительными, а связи - глаголами.


В ERwin существуют два уровня
представления и моделирования - логический и физический. Логический уровень
означает прямое отображение фактов из реальной жизни. На логическом уровне не
рассматривается использование конкретной СУБД, не определяются типы данных
(например, целое или вещественное число) и не определяются индексы для таблиц.


Целевая СУБД, имена объектов и типы
данных, индексы составляют второй (физический) уровень модели ERwin. ERwin
предоставляет возможности создавать и управлять этими двумя различными уровнями
представления одной диаграммы (модели), равно как и иметь много вариантов
отображения на каждом уровне.


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


Сущность - это логическое понятие.
Сущности соответствует таблица в реальной СУБД. В ERwin сущность визуально
представляет три основных вида информации:


· 
атрибуты, составляющие первичный ключ;


· 
тип сущности (независимая / зависимая).


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


1.
Каждый атрибут каждой сущности обладает уникальным именем.


2.
Сущность может обладать любым количеством атрибутов.


3.
При идентифицирующем отношении сущность «потомок» наследует
атрибут и / или атрибуты, составляющие первичный ключ сущности «родителя».


На основе выше описанных данных, с
помощью программного CASE средства ERwin построена модель, представленная на рисунке 1.




Рисунок 1. Логическая модель БД
«телефонный справочник поликлиники»




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





Рисунок 2. Физическая модель БД
«телефонный справочник поликлиники»







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




2.1 Программирование на
стороне сервера SQL




2.1.1 Разработка таблиц
удаленной базы данных


Для создания базы данных
используется утилита IBExpert. Чтобы создать новую базу данных, нужно запустить
утилиту IBExpert и выбрать в меню Базы данных пункт «Создать базу». Затем
требуется установить соединение с сервером, как показано на рисунке 3. В поле
Файл БД указываются имя файла базы данных и путь до него. В поле Размер
страницы БД указывается количество страниц, содержащихся в файле базы данных.




После того как создана база данных,
ее необходимо зарегистрировать. Окно регистрации базы данных «Телефонный
справочник поликлиники» представлено на рисунке 4.







Домен - это глобальное в рамках
данной базы данных определение поля, которое может применяться в операторах
создания и модификации таблиц вместо типа данных для поля[4].


Целесообразно применение доменов,
если множество таблиц базы данных содержит идентичное описание полей .


Прежде чем приступить к созданию
доменов, нужно описать типы полей базы данных на основе ее логической и
физической моделей, представленных на рисунке 1 и рисунке 2. Типы данных полей
таблиц базы данных «Телефонный справочник поликлиники» представлены в таблице
1.




Таблица 1. Типы данных полей таблиц
базы данных «Телефонный справочник поликлиники»




На основе данных таблицы 1,
составлена таблица 2, в которой представлены типы доменов базы данных
«Телефонный справочник поликлиники»




Таблица 2. Типы доменов базы данных
«Телефонный справочник поликлиники»




После этого можно приступить к
программированию доменов. Результат создания домена D_PRICE базы данных «Телефонный
справочник поликлиники» с использованием утилиты IBExpert показан на рисунке 5.




Рисунок 5. Создание домена VREMYA с использованием
утилиты IBExpert


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




Рисунок. 6. Домены базы данных
«Телефонный справочник поликлиники»




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


Средствами IBExpert создается таблица PACIENT, в которой будут
храниться данные пациентах. SQL-скрипт на создание таблицы имеет вид:


Индексы существенно ускоряют процесс
поиска и упорядочивание записей таблицы [1].


Сервер Firebird автоматически
создает уникальный индекс при создании ограничений PRIMARY KEY и UNIQUE для
столбца или группы столбцов.


На рисунке 7 приведен индекс PK_PACIENT в таблице PACIENT по полю ID_VRACHA для базы данных
«Телефонный справочник поликлиники» созданный с использованием утилиты IBExpert.




Рисунок 7. Индекс PK_PACIENT в таблице PACIENT по полю ID_VRACHA


Генератор - это специальный объект
базы данных, который генерирует уникальные последовательные числа [3].


Генераторы в БД «Телефонный
справочник поликлиники» будут использоваться для автоматического заполнения
поля (полей), входящих в первичный ключ.


На рисунке 8 приведены все
генераторы БД «Телефонный справочник поликлиники».




Рисунок 8. Генераторы БД «Телефонный
справочник поликлиники»




В базе данных будут использованы
триггеры before insert, которые предназначены для реализации автоинкрементных
первичных ключей. На рисунке 9 показано как создается триггер для организации
автоинкрементного поля ID в таблице PACIENT с использование утилиты IBExpert.




Рисунок 9. Создание триггера в
таблице PACIENT с использование утилиты IBExpert




2.1.2 Разработка
бизнес-логики на стороне SQL -сервера


SQL-скрипт на cоздание представления VIEW_PACIENT для просмотра данных таблицы, выводятся два поля: ID_VRACHA, ID_GOROD, ID_DIAGNOZ:


CREATE
VIEW VIEW_PACIENT (,,,,_,,_)pacient.id, pacient.fio, pacient.vozrast,
vrachi.fio, gorod.name, pacient.telefon, diagnoz.namepacient, vrachi, gorod,
diagnozpacient.id_vracha=vrachi.id and pacient.id_gorod=gorod.id and
pacient.id_diagnoz=diagnoz.id.




Хранимая процедура представляет
собой подпрограмму, расположенную на сервере и вызываемую из приложения
клиента[6].


Процедуры
необходимые в БД представлены в таблице 3.




Таблица 3. Название и назначение
хранимых процедур БД «Железнодорожный вокзал»




Исключения
представляют собой именованное сообщение об ошибке. В базе данных «Телефонный
справочник поликлиники» предусмотрено одна исключительная ситуация, которые
продемонстрированы в таблице на рисунке 10.




Рисунок 10. Исключения БД
«Телефонный справочник поликлиники»




2.2 Программирование на
стороне клиента




.2.1 Разработка windows -приложения


Создадим новый проект, затем
создадим DataModule (по умолчанию DataModule2) на котором будем размещать все невидимые компоненты для доступа
и работы с БД. Далее поместим на форму компонент IBDatabase1 и IBTransaction1, настроим
компонент IBDatabase1 как показано на рисунке (Рис. 11), но это в случае если база
данных располагается на локальном компьютере.







Рис. 11. Окно настройки соединения
БД на локальном компьютере




В случае если БД располагается на
удаленном сервере, то настройка будет другая (Рис. 12):




Рис. 12. Окно настройки соединения с
БД на сервере




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


Создадим интерфейс по своему вкусу,
но сточки зрения хорошей и удобной функциональности (Рис. 13).







Рис. 13. Окно приложения с таблицей
Пациент




Для того чтобы получить доступ к
таблице поместим на DataModule2 DBGrid, IBQuery, DataSource.


Настроим следующие свойства у
компонентов:




DataBase=IBDataBase1;>ttViev=true;=
VIEW_PACIENT;=true.


DataSource=
DataModule2->DataSource4







Добавление реализуем через созданную
ранее хранимую процедуру на добавление: ADD_PACIENT, для этого поместим на DataModule2 компонент IBStoredProc1 и настроим у него
следующие свойства:


Для удобства добавления создадим все
компоненты на главной форме (Рис. 15).




Рис. 15 Окно добавления информации в
таблицу «Пациент»




В процессе работы мы заполняем все
данные в поля (Рис. 16), какой пациент и нажимаем кнопку «Добавить», запись
будет добавлена в таблицу БД.







Рис. 16. Окно добавления записей в
таблицу «Пациент»




Теперь посмотрим, что новая запись
была добавлена (Рис. 17):




Рис. 17. Окно приложения. Информация
добавлена в табилцу




Обновление информации реализуем так
же через хранимую процедуру созданную ранее, процедуру на обновление, для этого
поместим на DataModule2 компонент IBStoredProc2 и настроим у него следующие свойства:


Для удобства обновления создадим на
главной форме все компоненты, чтобы их было удобней редактировать (Рис. 18).







Рис. 18. Окно обновления информации
в таблице Пациент




Затем в обработчике события OnClick кнопки обновить
пропишем следующий код:




DataModule2->IBStoredProc11->ParamByName
(«ID»)->AsString=Form1->Edit23->Text;->IBStoredProc11->ParamByName
(«FIO»)->AsString=Form1->Edit20->Text;->IBStoredProc11->ParamByName
(«VOZRAST»)->AsString=Form1->Edit21->Text;->IBStoredProc11->ParamByName
(«ID_VRACHA»)->AsString=Form1->DBEdit2->Text;->IBStoredProc11->ParamByName
(«ID_GOROD»)->AsString=Form1->DBEdit3->Text;->IBStoredProc11->ParamByName
(«TELEFON»)->AsString=Form1->Edit22->Text;->IBStoredProc11->ParamByName
(«ID_DIAGNOZ»)->AsString=Form1->DBEdit5->Text;->IBStoredProc11->Prepare();->IBStoredProc11->ExecProc();->IBTable4->Active=false;->IBTable4->Active=true;




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


Для удаления информации мы будем
использовать запрос на удаление DEL_PACIENT для этого помещаем в датамодуль компонент IBStoredProc3 и указываем процедуру
использования базы данных.


В обработчике события OnClick кнопки удалить
пропишеммследующий код:




DataModule2->IBStoredProc12->ParamByName
(«ID»)->AsString=Form1->Edit27->Text;->IBStoredProc12->Prepare();->IBStoredProc12->ExecProc();->IBTable4->Active=false;->IBTable4->Active=true;


Рис. 20. Удаление записи из таблицы
Пациент. Выделение записи





Нажимаем кнопку удалить и видим
результат, запись удалена (Рис. 21).




Рис. 21. Окно приложения. Запись
удалена




Для реализации поиска, поместим на
форму компонент Edit. В обработчике события OnChange пропишем следующий код:


TLocateOptions
LO;->IBTable4->Locate («FIO», Edit24->Text,
LO<IBTable4->Active=false;->IBTable4->Filtered=false;->IBTable4->Filter=«FIO>='
«+Edit25->Text+» 'and FIO<=' «+Edit26->Text+» '»;2->IBTable4->Filtered=true;




Вся фильтрация данных будет
производиться по полю «Ф.И.О.» и будут показаны те записи диапазон которых был
введен (Рис. 23).




Рис. 23. Окно приложения. Фильтрация
данных




После ввода диапазона показываемых
записей от буквы «А» до «Я», нажимаем на кнопку «Фильтровать» и программа
показывает необходимые записижно, чтобы вернуться в исходный вид, нужно
конечное значения поставить букву «Я», соответственно будут показаны все записи
этого диапазона (все записи таблицы).




Для реализации сортировки в
обработчике события OnTitleClick компонента DBGrid пропишем следующий код:


DataModule2->IBTable4->Active=false;->IBTable4->IndexFieldNames=Column->FieldName;


DataModule2->IBTable4->Active=true;


По сути этот код будет передавать в
свойство IndexFieldNames компонента IBTable4 название столбцов (физическое) и по ним будет произведена
сортировка.




Рис. 24. Окно
приложения. Сортировка данных




Чтобы начать проектирование
приложения, необходимо создать новый проект из приложений php на настроенном
топсервере.


2.3.2 Получение доступа
к данным (отображение данных)


Пример проектирования Web - приложения для работы
с БД с использованием технологии php разберём на примере таблицы Пациент.


Изначально у нас открывается index.html слева в меню
отображаются ссылки на сущности:




Рис. 26. Главная страница Web - приложения
«Телефонный справочник поликилинки»




Для того, чтобы отобразить сущность
на странице прописываем определённый код в файле view_pacient


В результате получается следующее
отображение:







Рис. 27. Отображения таблицы
«Пациент» в приложении




Добавление будет осуществляться
через созданную ранее хранимую процедуру: ADD_PACIENT. Для этого вызовим
процедуру в коде при помощи команды EXECUTE PROCEDURE.


Создадим html приложение форму для
ввода (рисунок 28).




Рис. 28. Форма добавления информации
в таблицу «Пациент»




Рассмотрим как работает вставка.
Сначала щелкаем по кнопке «Добавить» перед нами появляется форма, которую мы
заполняем (Рис. 29).





Рис. 29. Заполнение формы для
добавления информации в таблицу «Пациент»




Нажимаем кнопку «Добавить запись» и
просматриваем результат (Рис. 30).




Рис. 30. Результат добавления записи
в таблицу «Пациент»




Обновление информации мы будет
осуществляться так же через хранимую процедуру UPD_PACIENT


Для ввода новой информации создадим
форму в html файле, которая будет вызывать запрос на обновление. После
выполнения программы она выглядит следующим образом:







Рис. 31. Форма обновления информации
в таблицу «Пациент»




Рассмотрим как работает процесс
обновления информации.


Вводим новую информацию и
обязательно указываем код записи (ID) которую нужно обновить (Рис. 32).




Рис. 32. Заполнение формы для
обновления информации в таблице «Ученик»




Нажимаем кнопку «Обновить запись» и
видим результат (Рис. 33).




Рис. 33. Результат обновления записи
в таблице «Пациент»





Для реализации удаления информации
используем процедуру на удаление DEL_UCHENIK
Рис. 34. Форма ввода номера записи
для ее удаления из таблицы «Пациент»




Рассмотрим как работает процесс
удаления информации. Чтобы удалить какую либо строку из таблицы, нужно ввести
ее код (идентификатор) (Рис. 35).




Рис. 35. Ввод номера записи для
удаления.




После ввода нажимаем кнопку
«Удалить» и видим результат, строка удалена (Рис. 36).







Рис. 36. Запись из таблицы «Пациент»
удалена




Для реализации сортировки создадим php приложение с простым sql запросом на сортировку ORDER BY




Рис. 37. Ссылка сортировки записей в
таблице «Пациент»







В результате выполнения курсового
проектирования был разработан программный код для реализации ИС «Телефонный
справочник поликлиники». Были закреплены и углублены теоретические знания и
приобретены практические навыки в области разработки информационной системы,
основанной на клиент - серверной технологии, а так же изучены некоторые аспекты
объектно-ориентированного программирования языка C++.


При оформлении курсовой работы были
получены навыки оформления программной документации в соответствии с
требованиями БелГУ, а также большой практический опыт работы в Borland C++ Builder 6, РСУБД Firebird, InterBase eXpress
(IBX). Теоретические сведения были закреплены практическими занятиями.







телефонный
справочник сервер поликлиника


1.     Архангельский А.Я. Программирование в С++Builder 6. - М.:
БИНОМ, 2005. -1152 с., ил.


2.     Борри Х. Firebird: руководство разработчика баз данных: Пер. с англ. - СПб.:
БХВ-Петербург, 2006, - 1104 с.: ил.


.       Кузьменко Д. Генераторы и их использование. - М, 2005.


4.     Послед Б.С. Borland C++ Builder 6.
Разработка приложений баз данных - СПб.: ООО «ДиаСофтЮП», 2003
-320 с.


5.     Сорокин А.В. Разработка баз данных. - СПб.: Питер, 2005 -
477 с: ил.


6.     Хомоненко А.Д. Работа с базами данных С++Builder. - СПб.:BHV - Санкт - Петербург,
2005. - 400 с., ил.








Похожие работы на - Телефонный справочник поликлиники Курсовая работа (т). Информационное обеспечение, программирование.
Реферат по теме Инертность молодежной политики как угроза безопасности и будущему России
Реферат На Тему Абиогенез
Реферат На Тему Организационная Структура Системы Музыкального Образования В Ссср
Реферат по теме Эпоха И.В.Сталина
Реферат: Сортовая устойчивость крупноплодной садовой земляники к вредителям и болезням
Доклад: Кадровая деятельность ГУ МЧС России по Алтайскому краю
Влияние Общественного Мнения На Человека Сочинение
Реферат На Тему Экономическая Политика М. Тэтчер
Реферат: Chargaff Erwin Essay Research Paper Erwin ChargaffErwin
Реферат по теме История православных храмов города-курорта Анапа
История Моей Семьи Эссе Для Университета
Қазақстанның Тарихи Орындары Эссе
Сочинение Зайчик И Заботливый Мальчик
Внешнеэкономическая Деятельность России Реферат
Контрольная работа по теме Татуировка и пирсинг
Дипломная работа: Разработка стратегии позиционирования турфирмы на региональном рынке
Дипломная работа по теме Анализ показателей, характеризующих состояние и использование основных фондов ООО 'Инжстрой'
Практическая Работа На Тему Расчет Показателей Двигателя Ямз-240б
Реферат по теме Дискуссии о Великой Отечественной войне в российском обществе
Сочинение На Тему Повести Детство
Похожие работы на - Погрузчики TOYOTA
Реферат: Women In Wwii Essay Research Paper World
Курсовая работа: Анализ предпринимательского риска

Report Page