В последние годы на первый план выдвигается новая отрасль — информационная индустрия, связанная с производством технических средств, методов, технологий для производства новых знаний. Эта индустрия тесно связана с развитием компьютерных технологий.
Изменятся весь уклад жизни, система ценностей: возрастает значимость культурного досуга, возрастает спрос на знания, от человека требуется способность к интеллектуальному труду и творчеству.
В результате появились противоречия между ограниченными возможностями человека по восприятию и переработке информации и существующими массивами хранящейся и передаваемой информации. Возникло большое число избыточной информации, в которой иногда трудно сориентироваться и выбрать нужные сведения. Для решения подобных проблем применяются автоматизированные базы данных.
База данных (БД) — это некоторый набор данных, организованный по определенным правилам и имеющий определенную структуру. Другими словами база данных это хранилище данных. Базой данных можно считать не только таблицы, индексирующие файлы со знаниями разных форматов, но и сами эти файлы, потому, что они являются не типизированными хранилищами знаний в такой базе данных. БД могут применяться как вспомогательное средство, позволяющее реализовать какую-то полезную функцию.
Целью данной курсовой работы является разработка базы данных поликлиники, а также приложения, которое будет взаимодействовать с данной базой.
Проектирование базы будет проводиться на основе кроссплатформенной системы управления базами данных (СУБД) Firebird (FirebirdSQL) и ее GUI-оболочка — IBExpert. Для взаимодействия с созданной базой, будет разработано приложение на базе интегрированной среды Microsoft Visual Studio 2012.
Для реализации поставленной цели необходимо сформулировать определенные задачи по рассмотрению программ-аналогов, выявлению методики проектирования и на основе структурирования полученного материала создание своего собственного приложения.
1. Анализ технического задания
Целью данной курсовой работы является разработка базы данных поликлиники. Для выполнения курсовой работы будет использоваться система управления базами данных FireBird и среда программирования Visual Studio.
Из указанной цели вытекает следующий ряд задач:
- Ознакомиться с характеристикой и организацией работы поликлиники;
- Провести обзор программ-аналогов;
Ознакомиться с понятием база данных, изучить ее
Целью данной курсовой работы является изучить мотивацию персонала на предприятии
... персонала сопровождается столь же большим многообразием точек зрения на их природу. Целью данной курсовой работы является изучить мотивацию персонала на предприятии. Для достижения поставленной цели требуется решить ... равновесие. Прием пищи удовлетворяет голод, встреча с друзьями способствуют восполнению дефицита в общении. Целями в этих случаях являются пища и получение признания от других людей. ...
Ознакомиться со средствами среды программирования;
- Спроектировать базу данных, отвечающую теме курсовой работы;
- Написать код программы;
- Протестировать созданный программный продукт, при выявлении ошибок устранить их;
- Написать руководства к созданному программному продукту;
- Сделать заключение о проделанной работе.
1 Анализ предметной области
Областью применения базы данных является поликлиника.
Поликлиника — это многопрофильное лечебно-профилактическое учреждение, призванное оказывать медицинскую помощь населению на догоспитальном этапе. Основной задачей поликлиники является оказание квалифицированной специализированной медицинской помощи населению.
В поликлинике ведут прием врачи разных специальностей.
Врач — человек, использующий свои навыки, знания и опыт в предупреждении и лечении заболеваний, поддержании нормальной жизнедеятельности организма человека.
Основные врачи поликлиники:
— Терапевт — врач-специалист, получивший подготовку по диагностике, профилактике и лечению заболеваний внутренних органов и систем. Для лечения патологических процессов, он использует лекарственные и физиотерапевтические методики, хирургия им не применяется.
— Хирург — врач, отчетливо знающий топографию внутренних органов и тканей человека, обученный диагностировать травматические, инфекционные и неинфекционные патологии хирургическими методами и лечить заболевания посредством оперативного устранения причины.
- Невролог. Занимается диагностикой и лечением болезней, связанных с нервной системой.
- Отоларинголог — врач, в задачи которого входит постановка диагноза и лечение по проблемам горла, ушей и носа.
- Офтальмолог — врач, занимающийся постановкой диагноза и лечением заболеваний глаз.
- Травматолог — врач-специалист, который занимается лечением различных травм как таковых, так и их последствий.
- Акушер-гинеколог — врач-специалист, получивший специальную подготовку по вопросам акушерства и гинекологии, профилактики и лечения гинекологической патологии и т.п.
- Уролог — врач, специализирующийся на выявлении, лечении и профилактике заболеваний мочеполовой системы.
- Инфекционист — это врач, который изучает особенности возникновения, механизмы развития и клиническую картину инфекционных заболеваний,
- Онколог — врач, занимающийся диагностикой и лечением опухолей различного вида.
- Гастроэнтеролог.
Занимается лечением болезней, связанных с пищеварительной системой. Именно этот специалист лечит такие, распространённые на сегодняшний день, болезни, как гастрит и язва
- Кардиолог. Занимается лечением различных заболеваний сердца, а также сосудов. Изучая кардиологию как науку, он овладевает всеми методиками диагностики, помогающими в постановке верного диагноза.
- Эндокринолог это медицинский специалист, который отвечает за диагностические и лечебные мероприятия, относящиеся к эндокринной системе.
- Стоматолог — это специалист, специализирующийся на выявлении, лечении, профилактике и косметологической коррекции ротовой полости человека.
Процесс оказания помощи пациенту базируется на двух основных этапах:
Работа медицинской сестры процедурного кабинета поликлиники ЛПУ ...
... нагрузка в процедурном кабинете за последние 3 года остается стабильной, что отражает высокую организацию работы поликлиники, грамотное планирование диспансеризации трудоспособного населения. Анализ качества работы специалиста Я, Сукаева Татьяна Геннадьевна, процедурная медицинская сестра поликлиники ...
- диагностический — выявление на раннем этапе изменений физиологических систем организма (нервной, сердечно-сосудистой и т.д.).
На данном этапе врач ставит диагноз пациенту;
- лечебно-профилактический — восстановление ослабленных или нарушенных систем организма. На данном этапе назначается лечение.
Пациент — это физическое лицо, обратившееся за медицинской помощью, находящееся под медицинским наблюдением либо получающее медицинскую помощь.
Объем диагностических и лечебных мероприятий для конкретного пациента в условиях поликлиники определяется лечащим врачом.
Любая организация нуждается в своевременном доступе к информации. Ценность информации в современном мире очень высока. Роль распорядителей информации в современном мире чаще всего выполняют базы данных. Базы данных обеспечивают надежное хранение информации в структурированном виде и своевременный доступ к ней. Практически любая современная организация нуждается в базе данных, удовлетворяющей те или иные потребности по хранению, управлению и администрированию данных.
Так как темой нашего курсового проекта является разработка базы данных поликлиники, то можно сделать вывод о том, что конечным результатом проведенной работы будет приложение «помощник» для сотрудника, работающего в соответствующей сфере
Программный продукт данного типа активно распространяется, имеет свой уровень безопасности и конфиденциальности. В настоящее время, запросы на усовершенствование и автоматизацию растут в геометрической прогрессии и требуют к себе особой четкости исполнения.
Для достижения поставленной цели нашей курсовой работы, разработки приложения базы данных поликлиники определим набор функций, которыми будет обладать готовая программа:
- защита данных;
- занесение данных о пациенте, специалисте, диагнозах, специальностях и кабинетах в клиентскую базу;
- хранение истории болезни пациентов.
Так как приложение создается для широкой аудитории, требуется, чтобы оно было достаточно простым в использование и понимании. Поэтому навигация по приложению должна быть интуитивно понятна. Если же в течение работы приложения, по причине пользователя случается какая-либо ошибка, то приложение должно адекватно реагировать на данные ошибки и не завершаться аварийно. В некоторых случаях, следует предусмотреть защиту от некорректного ввода данных.
Рассмотрим программу «Учет пациентов». Программа для учета пациентов поможет создать базу данных посетителей клиники, результатов обследований и медицинских заключений. Она проста в использовании и удобна для всех сотрудников клиники. Данная программа устанавливается на жесткий диск пользователем и может работать только с данными, которые локально сохранены на ПК или на любом другом носителе.
Все хранимые пакеты данных, которые находящиеся в программе, строго засекречены. Это обуславливается тем, что большинство информации является персональной, доступ к которой должен быть конфиденциален.
Рисунок 1 — Администрирование программы «Учет пациентов»
Так как разрабатываемая нами БД также будет работать с персональными данными пациентов и специалистов, следует задуматься о хранимой информации и ввести параметр администрирования.
Проектирование базы данных «Автовокзал»
... выбрать модель базы данных. В данной курсовой работе требуется разработать приложение для работы с базой данных "Автостанция", система ... данных, называется составной единицей информации. На основе последних можно составить входные и выходные документы базы данных ... базу данных. УТВЕРЖДАЮ Главный диспетчер _____________ Петров А. В. РАСПИСАНИЕ РЕЙСА № Номер рейса Дата отправления Пункт отправления Пункт ...
- Строка названия;
- 2 — Панель меню;
- 3 — Панель вкладок;
- 4 — Таблица базы данных
Рисунок 2 — Главное окно программы «Учет пациентов»
Для дальнейшей работы с проектируемой базой данных поликлиники необходимо дать приложению название, чтобы пользователь знал, с каким программным продуктом он имеет дело. В программе «Учет пациентов» данное сведение о программном продукте показывает строка названия (Рис.2 — Пункт 1).
Ниже строки названия расположена строка меню (Рис.2 — Пункт 2).
Сама программа представляет собой приложение с множеством вкладок (Рис.2 — Пункт 3), на каждой из которых расположена определенная таблица («Пациенты», «Сотрудники» и т.д.).
Изучив программу-аналог, заметим, что она полностью состоит из таблиц (Рис.2 — Пункт 4).
Табличная форма, одна из наиболее привлекательных (наглядных) форм восприятия информации, поэтому приходим к выводу, что в проектирование своей программы нами также будет использован реляционный (табличный) тип БД (Реляционная база данных — это совокупность взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определенного типа).
Все таблицы программы подвержены редактированию данных в них, а именно: добавлению, удалению и редактированию. Заметим, что данные операции реализованы с помощью кнопок «Добавить» (Рис.3 — Пункт 1), «Изменить» (Рис.3 — Пункт 2) и «Удалить» (Рис.3 — Пункт 3).
В создаваемом приложении вышеописанные операции стоит реализовать аналогичным способом.
- Кнопка «Добавить»;
- 2 — Кнопка «Изменить»;
- 3 — Кнопка «Удалить»
Рисунок 3 — Блок клавиш для работы с таблицей
Следует упомянуть, что в программе реализован расширенный поиск. Если требуется найти конкретного сотрудника, то имеются поля, в которых задаются критерии для более точного поиска (Рис.4).
Рисунок 4 — Поиск программы «Учет пациентов»
3 Обзор средств решения поставленной задачи
Для решения поставленной задачи будет использоваться платформа .NET Framework.
Проанализировав предстоящую работу, в качестве среды разработки будет использоваться Microsoft Visual Studio Ultimate 2012, которая включает в себя функции, позволяющие полностью контролировать и упрощать все этапы разработки приложения, выполнять его отладку и тестирование. Также данная среда разработки позволяет использовать визуальный конструктор, что очень важно для написания программы. Microsoft Visual Studio Ultimate 2012 подходит для создания различных приложений, в том числе и разработке базы данных поликлиники.
Данную программу можно реализовать на любом объектно-ориентированном языке программирования. Одним из наиболее распространенных на сегодня объектно-ориентированных языков программирования является C#. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр).
Принципиально важным отличием языка программирования C# от предшественников является изначальная ориентация на безопасность кода (что особенно заметно в сравнении с языками C и C++).
Расширенная поддержка объектно-ориентированного программирования выгодно отличает язык программирования C# от целого ряда предшественников. Объединение лучших идей современных языков программирования (Java, C++, VisualBasic и др.) делает язык C# не просто суммой их достоинств, а языком программирования нового поколения.
В качестве базовой системы управления базами данных было решено использовать Firebird. Firebird (FirebirdSQL) — это наиболее распространенная система управления базами данных. Данная система управления базами данных (СУБД) основана на платформе Borland InterBase 6.0. Несмотря на малый размер установщика, СУБД Firebird содержит все функции, необходимые для работы. Ее мощности достаточно, чтобы обеспечивать поддержку малых и гигантских баз данных. Программа относится к открытому типу программного обеспечения, это означает, что ее к ее исходному коду имеется открытый доступ. Каждый может вносить изменения в ее код, тем самым модифицируя СУБД.
Для использования системы управления базами данных Firebird не требуется регистрация или покупка лицензии, она свободно распространяется.
Среди характеристик выделяются следующие:
- совместимость со всеми популярными операционными системами. Версия для ОС Windows способна работать в качестве сервиса или в виде обычного приложения;
- программу можно использовать сразу после установки, которая осуществляется в автоматическом режиме;
- возможность расширения функционала СУБД за счет внешних пользовательских функций;
- компактный установщик упрощает распространение;
- поддержка триггеров, хранимых процедур;
- поддержка ограничений баз данных в виде ссылочной целостности;
- способность обрабатывать записи различных версий, без ограничений для соседних;
- для создания триггеров и хранимых процедур используется процедурный язык SQL;
- практически отсутствует необходимость в обслуживании системными администраторами;
- осуществление резервного копирования без остановки сервера, поддержка инкрементного копирования;
- наличие возможности сохранения баз данных на съемные носители и компакт-диски с пометкой «только для чтения»;
- поддержка большинства кодировок, включая Unicode.
Для работы с данными, которые содержаться в БД, будет использоваться язык программирования SQL, применяемый для создания, модификации и управления данными в реляционной базе данных.
В качестве инструмента администрирования мы будем использовать среду IBExpert. Данная программа является одним из лучших средств администрирования СУБД и является совершенно бесплатной.
Для установки соединения клиентского приложения с БД, будет использоваться ADO.NET (ActiveX Data Object для .NET).
.NET — это набор классов, предоставляющих службы доступа к данным программистам, которые используют платформу .NET Framework. ADO.NET имеет богатый набор компонентов для создания распределенных приложений, совместно использующих данные. Это неотъемлемая часть платформы .NET Framework, которая предоставляет доступ к реляционным данным, XML-данным и данным приложений. ADO.NET удовлетворяет различные потребности разработчиков, включая создание клиентских приложений баз данных.
4 Вывод по анализу технического задания
В ходе анализа технического задания было выяснено, что база данных поликлиники будет создаваться для того, чтобы автоматизировать работу организации и избавить ее сотрудников от многих рутинных процессов, а именно:
- от учета большого количества данных о пациентах, их истории болезни, диагнозах, специалистах и кабинетах, в которых специалисты ведут прием, а также специальностях сотрудников поликлиники;
- поиска среди большого количества данных.
Исходя из выше описанного, готовая программа должна удовлетворять следующим требованиям:
вход в приложение с помощью логина и пароля:
- занесение данных о пациенте, специалисте, диагнозах, специальностях и кабинетах в клиентскую базу;
- добавление, удаление и редактирование данных БД;
- хранение истории болезни пациентов;
- поиск по таблице БД;
- защиту от некорректного ввода данных с выводом сообщения об ошибке;
- программа должна иметь удобный и интуитивно понятный интерфейс.
Для дальнейшего проектирования и создания приложения нам следует подробнее изучить выбранную нами среду разработки, построить блок-схемы частей, из которых будет состоять наша программа, продумать дальнейший алгоритм работы. Также требуется разработать интерфейс клиентского приложения для БД. После этого следует программная реализация описанных выше алгоритмов и функций приложения. Написав программный код и создав интерфейсную часть нашего приложения и необходимые базы, протестировать все возможности программы на возникновение ошибок. При выявлении ошибок устранить их. И в заключении необходимо написать вывод по проделанной работе.
2. Проектирование структуры базы данных
Проектирование базы данных — процесс создания схемы базы данных и определения необходимых ограничений целостности.
Основные задачи:
- обеспечение хранения в базе данных всей необходимой информации;
- возможность получения данных по всем необходимым запросам;
- сокращение избыточности и дублирования данных;
- обеспечение целостности базы данных.
Разработка курсового проекта будет базироваться на реляционной базе данных.
Для реляционных баз данных используется процесс, называемый нормализацией. На каждом этапе нормализации таблицы приводятся к виду, который называется нормальной формой.
Существует шесть нормальных форм, пять из которых так и называются: первая, вторая, третья, четвертая, пятая нормальная форма, а также форма Бойса-Кодда, лежащая между третьей и четвертой.
Основные свойства нормальных форм состоят в
каждая следующая нормальная форма в некотором смысле лучше предыдущей нормальной формы;
- при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются.
При разработке структуры базы данных будут использованы первые три нормальные формы.
Первая нормальная форма (1НФ).
Основным правилом первой нормальной формы является необходимость неделимости значения в каждом поле (столбце) строки — атомарность значений.
Каждая строка должна быть уникальна, поэтому для нее определяется первичный ключ. Первичный ключ — это атрибут или группа атрибутов, которые единственным образом идентифицируют каждую строку в столбце, т.е. первичный ключ не может повторяться в пределах таблицы и служит идентификатором записи.
Таблица 1
Название таблицы |
Ключевое поле таблицы |
PACIENT VRACH DIAGNOZ CABINET SPECIALNOST SOST_ZDOR TRUD_STATUS IST_BOLEZNI |
PACIENT_ID VRACH_ID DIAGNOZ_ID CABINET_ID SPECIALNOST_ID SOST_ID TRUD_ID IST_ID |
Для приведения данных таблицы PACIENT в 1НФ разбиваем поле Ф.И.О. пациента на такие составные части как фамилия, имя и отчество, поле адрес на город, улица, дом и квартира. В таблице VRACH поле Ф.И.О. врача разбиваем на такие поля как фамилия, имя и отчество. Приводя таблицу IST_BOLEZNI к 1НФ, разбиваем поле таблицы дата на 2 поля: дата посещения и дата выписки. Таблицы IST_BOLEZNI и VRACH дополняем имеющимися данными из других таблиц.
Рисунок 5 — Приведение таблиц к 1НФ
Вторая нормальная форма (2НФ) требует, чтобы все поля таблицы зависели от первичного ключа, т.е., чтобы первичный ключ однозначно определял запись и не был избыточен, а поля, зависящие от части первичного ключа, должны быть выведены в составе отдельных таблиц.
Во избежание избыточного дублирования данных таблицы IST_BOLEZNI указываемые данные о пациенте (пол, дата рождения, адрес проживания и место работы) сгруппированы в еще одну таблицу PACIENT.
Рисунок 6 — Предотвращение избыточного дублирования данных
Третья нормальная форма (3НФ).
3НФ схожа по логике с 2НФ, но с некоторым отличием. Если 2 форма ликвидирует зависимости неключевых полей от части ключа, то третья нормальная форма исключает зависимость неключевых полей от других неключевых полей.
Нормализация несет с собой немало преимуществ. Очевидно, что в нормализованной базе данных уменьшается вероятность возникновения ошибок, она занимает меньше места на жестком диске и т.д.
Для того чтобы пользователям базы данных поликлиники не пришлось многократно вводить одни и те же данные, например, название диагноза или специальность врача, были созданы дополнительные таблицы DIAGNOZ, CABINET, SPECIALNOST, SOST_ZDOR и TRUD STATUS.
Рисунок 7 — Дочерние таблицы, таблицы VRACH
Рисунок 8 — Дочерние таблицы, таблицы IST_BOLEZNI
После создания таблиц в базе данных необходимо предоставить приложению средства, с помощью которых можно будет при необходимости объединять сведения. Это осуществляется путем создания общих полей в связанных таблицах и настройки отношений между таблицами. Как правило, общими полями в связанных таблицах являются поля, имеющие первичный ключ. Первичный ключ используется для связывания таблицы с внешними ключами в других таблицах. Внешний ключ — это одно или несколько полей (столбцов) в таблице, содержащих ссылку на поле или поля первичного ключа в другой таблице. Внешний ключ определяет способ объединения таблиц. Из двух логически связанных таблиц одну называют таблицей первичного ключа или главной таблицей, а другую таблицей внешнего ключа или подчиненной таблицей. СУБД позволяют сопоставить родственные записи из обеих таблиц и совместно вывести их в форме, отчете или запросе.
Таблица IST_BOLEZNI связана с таблицами PACIENT, VRACH, DIAGNOZ, CABINET, SOST_ZDOR с помощью первичных ключей PACIENT_ID, VRACH_ID, DIAGNOZ_ID, CABINET_ID, SOST_ID и полей PACIENT_ID, VRACH_ID, DIAGNOZ_ID, CABINET_ID, SOST_ID таблицы IST_BOLEZNI, которые являются внешними ключами.
Рисунок 9 — Связи таблицы IST_BOLEZNI
Таблица VRACH связана с таблицами CABINET, SPECIALNOST, IST_BOLEZNI, TRUD_STATUS.
Рисунок 10 — Связи таблицы VRACH
Физическая модель базы данных содержит все детали, необходимые конкретной СУБД для создания базы данных: наименование таблиц и столбцов, типы данных, определения первичных и внешних ключей и т.п.
Рисунок 11 — ER-диаграмма проектируемой базы данных (физическая модель)
3. Проектирование структуры программы и базовых алгоритмов
Для представления принципа работы программы ниже приведена ее структурная схема.
Рисунок 12 — Структурная схема программы
1 Блок «Защита»
Рисунок 13 — Блок «Защита». Шаблон интерфейса
Рисунок 14 — Блок-схема блока «Защита»
Блок-схема блока «Защита» демонстрирует структуру первичного окна приложения. Смысл данного блока состоит в сохранении конфиденциальности и целостности данных, которые хранятся в программе.
2 Блок «Главное окно программы»
Блок «Главное окно программы» в свою очередь делится на подблоки: «Диагноз», «Кабинет», «Специальность», «Специалисты», «Пациенты» и «История болезни».
Рисунок 15 — Блок «Главное окно приложения». Шаблон интерфейса
Рассмотрим более подробно подблок «Специалисты».
Рисунок 16 — Подблок «Специалисты». Шаблон интерфейса
Удаление специалиста из базы данных будет происходить путем выбора специалиста в списке и нажатия на кнопку:
Рисунок 17 — Блок-схема алгоритма удаления специалиста из БД
Добавление специалиста в базу данных:
Рисунок 18 — Блок-схема алгоритма добавления специалиста в БД
Добавление специалиста будет также происходить путем нажатия на кнопку в окне «Специалисты».
В результате специалист добавляется в базу данных и отображается в таблице формы «Специалисты».
Редактирование данных о специалисте:
Рисунок 19 — Блок-схема алгоритма редактирования данных о специалисте
В результате происходит редактирование данных о специалисте. После подтверждения изменений они отображаются в новом состоянии в таблице.
В приложении стоит реализовать поиск. В данном случае, поиск будет осуществляться только лишь по таблице специалистов.
Рисунок 20 — Блок схема алгоритма поиска
Подблоки «Диагноз», «Кабинет», «Специальность», «Пациенты» и «История болезни» будут реализованы аналогичным образом.
После того как была проанализирована структура всего приложения, были разработаны проекты интерфейса и блок-схемы алгоритмов, следует приступить непосредственно к их программной реализации.
4. Программная реализация разработанной
Разработка базы данных поликлиники будет производиться посредством Windows Forms и технологии ADO.NET.
Взаимодействие с БД Firebird, как и с любым другим источником данных на платформе .NET, осуществляется через соответствующий провайдер (поставщик данных).
Поскольку провайдер Firebird не входит в состав базовых классов программной платформы, то его необходимо подключить к проекту отдельно.
После подключения библиотеки провайдера в проект необходимо включить пространство имен содержащее набор классов для работы с БД Firebird:FirebirdSql.Data.FirebirdClient;Forms — это технология интеллектуальных клиентов для .NET Framework. Она представляет собой набор управляемых библиотек, упрощающих выполнение стандартных задач.
В Windows Forms форма — это видимая поверхность, на которой выводится информация для пользователя. Обычно приложение Windows Forms строится путем помещения элементов управления на форму и написания кода для реагирования на действия пользователя, такие как щелчки мыши или нажатия клавиш. Элемент управления — это отдельный элемент пользовательского интерфейса, предназначенный для отображения или ввода данных.
Согласно разработанному проекту интерфейса (Рис. 13) блок «Защита» имеет следующий вид:
- Строка названия;
- 2,3 — Компоненты Label;4 — Поле для ввода логина;
- 5 — Поле для ввода пароля;
- 6 — Кнопка входа в программу
Рисунок 21 — Стартовое окно приложения
На форму «Вход» наложены такие элементы управления, как: Button (представляет элемент управления «кнопка Windows»), Label (представляет стандартную метку Windows) и PictureBox (предоставляет элемент управления графическим окном Windows для отображения рисунка).
После ввода логина и пароля в соответствующие поля необходимо нажат кнопку «Вход» и данное событие при помощи алгоритма программно обрабатывается.
Листинг события при нажатии кнопки «Вход»:void button1_Click(object sender, EventArgs e)
{ (a == «123» & b == «123»)
{ = 123; ();
} (Password != 123)
{ result = MessageBox.Show(«Вход не выполнен. Проверте правильность ввода данных и попробуйте снова.», «Системное сообщение», MessageBoxButtons.OK, MessageBoxIcon.Error);
- } .Clear();
- = 0;
}
Главное окно приложения согласно проекту имеет вид:
Рисунок 22 — Интерфейс главного окна приложения
Главное окно приложения представляет собой своего рода механизм управления, с помощью которого можно получить доступ к информации, хранящейся в базе данных поликлиники. Данная форма представляет собой набор клавиш, которые переключают пользователя на необходимые ему данные.
Используя кнопку «Пациенты», которая находится на основной форме, перейдем к окну, интерфейс которого представлен на рисунке 23.
Рисунок 23 — Интерфейс формы «Пациенты»
Интерфейс данного окна напоминает визуальную оболочку предыдущей формы, но находясь в этом окне, пользователь не имеет возможности сразу перейти к просмотру других таблиц базы, ему придется вернуться к главной форме приложения.
Главным элементом формы «Пациенты» является таблица, хранящая информацию о пациентах поликлиники. Таблица реализована через компонент DataGridView (предоставляет мощный и гибкий способ отображения данных в табличном формате) и является точной копией базы IBExpert. Данные таблицы можно удалять, редактировать, а так же добавлять новые. Все происходящие изменения в таблице будут скопированы в базу.
Листинг редактирования данных:void button3_Click(object sender, EventArgs e)
{connectionString = new FbConnectionStringBuilder();.Database = «D:\\POLIKLINIKA.FDB»;.UserID = «SYSDBA»; .Password = «masterkey»; .Role = «»; .Dialect = 3; .Charset = «NONE»; connection = new FbConnection(connectionString.ToString()); .Open(); id = Convert.ToInt32(dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString()); command = new FbCommand(«update pacient set pacient_familiya = ‘» + pACIENT_FAMILIYATextBox.Text + «‘, pacient_name = ‘» + pACIENT_NAMETextBox.Text + «‘, pacient_otchestvo = ‘» + pACIENT_OTCHESTVOTextBox.Text + «‘,pol = ‘» + pOLTextBox.Text + «‘, date_rod = ‘» + dATE_RODTextBox.Text + «‘, gorod = ‘» + gORODTextBox.Text + «‘, ulica = ‘» + uLICATextBox.Text + «‘, dom = ‘» + dOMTextBox.Text + «‘, kvartira = ‘» + kVARTIRATextBox.Text + «‘, mesto_raboti = ‘» + mESTORABOTITextBox.Text + «‘,connection); adapter = new FbDataAdapter(); .ExecuteNonQuery(); .Fill(this.dataSet1.PACIENT);.Close(); .Dispose();
}
При нажатии на кнопку «Добавить» происходит добавление нового пациента в базу. Добавленный пациент так же отобразится и в таблице формы.
Листинг добавления данных:void button1_Click(object sender, EventArgs e)
{connectionString = new FbConnectionStringBuilder(); .Database = «E:\\POLIKLINIKA.FDB»;.UserID = «SYSDBA»;.Password = «masterkey»;.Role = «»; .Dialect = 3; .Charset = «NONE»;connection = new FbConnection(connectionString.ToString());(); .Open(); .Update(dataSet1.PACIENT); .AcceptChanges();.Close();.Dispose();
}
Если мы решим удалить какую-либо информацию, то она удалится и в базе. Удаляемые данные восстановлению не подлежат.
Листинг удаления данных:void button2_Click(object sender, EventArgs e)
{
{ connectionString = new FbConnectionStringBuilder(); .Database = «D:\\POLIKLINIKA.FDB»; .UserID = «SYSDBA»; .Password = «masterkey»; .Role = «»; .Dialect = 3; .Charset = «NONE»; connection = new FbConnection(connectionString.ToString()); adapter = new FbDataAdapter(); (DataGridViewRow row in dataGridView1.SelectedRows)
{ name = Convert.ToString(dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString());result = MessageBox.Show(«Удалить пациента №» + name, «Удаление пациента», MessageBoxButtons.YesNo, MessageBoxIcon.Question); (result == DialogResult.Yes)
{id = Convert.ToInt32(dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString()); .Rows.Remove(row);sql = «delete from IST_BOLEZNI where PACIENT_ID = » + id; sql1 = «delete from PACIENT where PACIENT_ID = » + id; .Open(); .DeleteCommand = connection.CreateCommand(); .DeleteCommand.CommandText = sql; .DeleteCommand.ExecuteNonQuery(); .Show(«Пациент удален»); .DeleteCommand = connection.CreateCommand(); .DeleteCommand.CommandText = sql1; .DeleteCommand.ExecuteNonQuery(); .Refresh(); .Show(«Пациент удален из базы»);
}
} .Close(); .Dispose();
}
{ .Show(«Во время удаления произошла ошибка», «Ошибка», MessageBoxButtons.OK, MessageBoxIcon.Error); .Fill(this.dataSet1.DOGOVOR);
}
}
Для упрощения работы с многочисленными данными реализована такая функция, как «Поиск».
Рисунок 24 — Реализация поиска
Листинг организации поиска:void button4_Click(object sender, EventArgs e)
{ poisk = false; (int i = 0; i < dataGridView1.RowCount; i++)
{ .Rows[i].Selected = false; (int c = 0; c < dataGridView1.ColumnCount; c++)
{ (dataGridView1.Rows[i].Cells[c].Value != null)(dataGridView1.Rows[i].Cells[c].Value.ToString().ToUpper().Contains(textBox1.Text.ToUpper()))
{ .Rows[i].Selected = true; = true; ;
}
}
} (poisk != true)
{ .Show(«По запросу: » + textBox1.Text + » ничего не найдено!\n Убедитесь в правильности искомых данных ввода!», «Внимание!», MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Завершить работу с выбранной ранее таблицей базы, можно нажав на привычную клавишу в виде крестика (правый верхний угол).
Для того чтобы избежать случайного выхода, программа выведет пользователю сообщение с подтверждением о выходе. Данная возможность реализована для того чтобы избежать случайной потери данных и результата работы в программе.
Реализация поиска, добавления, удаления и редактирования данных для таблиц «Диагноз», «Кабинет», «Специальность», «Специалисты» и «История болезни» реализованы аналогичным способом.
5. Руководство программиста
Руководство программиста содержит все сведения, необходимые для сопровождения программы. При необходимости, программист может изменить, дополнить или усовершенствовать программу путем внесения поправок в код программы.
Приложение «Поликлиника» была разработана в универсальной среде программирования Microsoft Visual Studio 2012 на языке программирования С# на основе спроектированной базы данных в Firebird 2.5 (IBExpert).
Недостатком является то, что на предыдущих версиях Visual Studio файл проекта открываться не будет в связи с изменением структуры хранения файла.
Для запуска приложения необходимо следующее:
- операционная система Windows;
- GUI-оболочка для работы с БД IBExpert;
- СУБД Firebird 2.5;
- библиотека FirebirdSql.Data.FirebirdClient-5.5.0.0;
- библиотека Firebird_DDEX_Provider 3.0.0.0;
- интегрированная среда программирования Microsoft Visual Studio;
- оперативная память не менее 64 Мб;
- жесткий диск емкостью не менее 1 Гб;
- устройство ввода: клавиатура и мышь;
- устройство вывода: монитор.
Данная программа тестировалась на компьютере с ОС Microsoft Window 10, процессором Intel Core i3 (два ядра, два потока, 1,70 ГГц, 1024 Кбайт L2).
Следовательно, почти все современные компьютеры удовлетворяют требованиям данного приложения.
6. Руководство пользователя
Пользователи могут работать с БД, используя клиентское приложение. Приложение разработано в Miсrоsоft Visuаl Studio 2012 на языке программирования С#.
Требования к системе для работы приложения:
- операционная система Windows;
- оперативная память не менее 64 Мб;
- жесткий диск емкостью не менее 1 Гб;
- устройство ввода: клавиатура и мышь;
- устройство вывода: монитор.
Приложение имеет в себе следующие возможности:
- защита данных от несанкцианированного доступа;
- таблицы «Диагноз», «Кабинет», «Специальность», «Специалисты», «Пациенты» и «История болезни».
А так же добавление, удаление и редактирование данных в них;
- поиск в рамках одной таблицы.
Правила пользования приложением:
- Вход в приложение
Для запуска программы необходимо открыть файл «Poliklinika.exe». После того, как приложение было запущено на экране появляется окно «Вход», где требуется ввести логин и пароль. После ввода логина и пароля нажимается кнопка «Вход» и предоставляется доступ к ресурсам базы данных поликлиники.
- Работа в приложении
Авторизовавшись в системе, перед вами откроется главное окно, которое включает в себя панель из клавиш. Приложение содержит в себе данные о пациентах поликлиники, специалистах, работающих в ней, и истории болезни пациентов. Для того, чтобы перейти к необходимым в данный момент данным необходимо щелкнуть по клавише с соответствующим названием «Диагноз», «Кабинет», «Специальность», «Специалисты», «Пациенты» или «История болезни». В открывшемся окне отобразится вся информация по интересующим вас данным.
Предположим, нам необходимо просмотреть всех специалистов, работающих в поликлинике. Для этого мы нажимаем на клавишу «Специалисты». В нижней части окна отобразится таблица с данными обо всех специалистах, которые на данный момент работают в поликлинике. Для того, чтобы произвести любую операцию над записью, необходимо выбрать ее в таблице. Если специалист по какой-либо причине был уволен, все данные о нем можно удалить, нажав на клавишу «Удалить».
Для того, чтобы изменить запись в таблице, ее нужно также выделить в таблице. Все данные переместятся в поля редактирования, где их можно изменить. После того, как были произведены изменения над записью, нажмите на клавишу «Редактировать». Измененные данные переместятся в таблицу и сохранятся.
Для добавления нового специалиста необходимо ввести данные о нем в поля редактирования, а затем нажать на клавишу «Добавить». Устроившийся на работу специалист перенесется в таблицу и сохранится.
Для удобства пользования приложением в программе реализован поиск. В поле поиска с помощью клавиатуры осуществляется ввод искомого параметра и нажимается кнопка «Поиск» чуть ниже поля поиска. Все совпадения по заданному параметру отобразятся в таблице.
Завершить работу с выбранной ранее таблицей базы, можно нажав на привычную клавишу в виде крестика (правый верхний угол).
Для того чтобы избежать случайного выхода, программа выведет пользователю сообщение с подтверждением о выходе. Данная возможность реализована для того чтобы избежать случайной потери данных и результата работы в программе.
Для выхода из приложения необходимо нажать крестик, находящийся в правом верхнем углу главного окна. Приложение попросит подтвердить выбранное действие. Это необходимо чтобы избежать ошибочный выход из программы. Приняв ответ, приложение завершит свою работу.
7. Результаты тестирования созданного программного продукта
Одним из важнейших этапов создания программного продукта является его тестирование и отладка.
Отладка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки.
Важным этапом процесса отладки является тестирование программы, т.е. испытание ее путем введения теста — определенного набора исходных данных, для которого результат работы отдельных блоков или программы в целом известен заранее. Тестирование позволяет выявить скрытые и явные недостатки программы, либо убедиться в ее пригодности для применения.
В результате тестирования созданного приложения возник ряд проблем:
Ввод некорректных данных в поля и выпадающие списки
Данная проблема заключалась в том, что при вводе, например, в поле «Квартира» таблицы «Пациент» пользователь мог вводить любые символы, отличные от цифр. Для нормального отображения данных, для ввода которых необходимы лишь цифры, ввод символов был ограничен.
Листинг решения проблемы:void kVARTIRATextBox_KeyPress(object sender, KeyPressEventArgs e)
{nom = e.KeyChar;
- (!Char.IsDigit(nom) && (nom != 8))
{.Handled = true;
}
}
Проблемы ввода в элемент comboBoх (выпадающий список) был решена путем изменения значения свойства DropDownStyle с DropDown на DropDownList. Это значит, что доступен лишь выбор данных, редактирование или добавление запрещено.
Войти в приложение, просмотреть, добавить, редактировать или удалить данные мог любой пользователь.
Для предотвращения несанкционированного доступа к данным приложения вход в программу возможен только после ввода логина и пароля, вводимый пароль скрывается символом *.
Рисунок 25 — Параметры защиты
Избежание ошибочного выхода из приложения
Проводя долгое время над какой-либо работой, бывает очень обидно за потраченное время, если из-за своей усталости или по каким-либо другим причинам вы случайно закрываете приложение и теряете весь свой результат.
Для выхода из приложения необходимо нажать крестик, находящийся в правом верхнем углу главного окна. Приложение попросит подтвердить выбранное действие. Это необходимо чтобы избежать ошибочный выход из программы. Приняв ответ, приложение завершит свою работу.
Рисунок 26 — Подтверждение выхода из программы
Листинг решения проблемы:void Form1_FormClosing(object sender, FormClosingEventArgs e)
{(DialogResult.Yes == MessageBox.Show(«Вы действительно хотите выйти?»,
«Внимание!», MessageBoxButtons.YesNo , MessageBoxIcon.Exclamation));e.Cancel = true;
}
Трудоемкость работы с многочисленными данными
Данные, в меру использования БД, будут только нарастать, всегда будет потребность хранить все больше и больше информации. Однако, в конце концов наступает такой момент, когда база становится просто колоссальных размеров и работать с ней становится просто невозможно. Для упрощения работы с многочисленными данными реализована такая функция, как «Поиск».
Листинг решения проблемы:void button4_Click(object sender, EventArgs e)
{ poisk = false; (int i = 0; i < dataGridView1.RowCount; i++)
{ .Rows[i].Selected = false; (int c = 0; c < dataGridView1.ColumnCount; c++)
{ (dataGridView1.Rows[i].Cells[c].Value != null)(dataGridView1.Rows[i].Cells[c].Value.ToString().ToUpper().Contains(textBox1.Text.ToUpper()))
{ .Rows[i].Selected = true; = true; ;
}
}
} (poisk != true)
{ .Show(«По запросу: » + textBox1.Text + » ничего не найдено!\n Убедитесь в правильности искомых данных ввода!», «Внимание!», MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Заключение
При выполнении данного курсового проекта были углублены знания, полученные в ходе лекционных и практических занятий. Получены навыки самостоятельной работы по формализации поставленной задачи, программированию, тестированию и отладке созданной программы.
Разработанная в ходе выполнения курсового проекта база данных «Поликлиника» является актуальной на сегодняшний день и имеет большую практическую значимость. Она помогает в работе сотрудников поликлиники по сбору данных о самих сотрудниках и пациентах, истории болезни каждого пациента.
В результате выполнения данного курсового проекта были решены задачи, поставленные в начале работы. Была разработана структура базы данных, в программу были: защита от несанкционированного доступа к данным приложения, функции добавления, удаления и редактирования данных, а также функция поиска. При этом были учтены все требования, выдвинутые в начале выполнения данного проекта.
Разработанное приложение «Поликлиника» было подвержено тестированию и корректировке. Найденные ошибки были устранены. Приложение работает стабильно. При необходимости можно усовершенствовать приложения, внеся изменения в код программы.
Список использованной литературы
[Электронный ресурс]//URL: https://liarte.ru/kursovaya/baza-dannyih-poliklinika/
1. Александров А.А. Администрирование баз данных : учебное пособие [Электронный ресурс] Владим. Гос. Ун-т. — Владимир: 2013 — Режим доступа:
— Борри Хелен Firebird: руководство разработчика баз данных: пер. с англ / Борри Хелен — 2-е изд., испр.. — СПб.: БХВ-Петербург, 2007. — 1104с.
-Дунаев В.В. Базы данных. SQL для студента/ Дунаев В.В. — 2-е изд., доп. И перераб.. — СПб:БХВ-Петербург, 2007.-320с.
— MSDN — сеть разработчиков Microsoft [Электронный ресурс] — Режим Доступа: https://msdn.microsoft.com/ru-ru/default.aspx, свободный. — Загл. с экрана. — Яз. рус., англ