Файл: Разработка приложения справочной службы регистратуры поликлиники.pdf
Добавлен: 28.03.2023
Просмотров: 2598
Скачиваний: 76
СОДЕРЖАНИЕ
Глава 1. Проектирование приложения «Регистратура поликлиники»
1.1 Моделирование предметной области
1.2 Проектирование структуры приложения
Глава 2. Разработка приложения «Регистратура поликлиники»
2.1 Выбор средств и методов разработки
2.3 Разработка интерфейса приложения
Рисунок 13. Форма «Карточки пациентов»
Кнопка «График работы» открывает соответствующую экранную форму для просмотра и выдачи справок клиентам о режиме работы врача, необходимого клиенту.
Для наглядности форма представлена в виде таблицы. Все поля заполняются из списков других таблиц-справочников, что сокращает время заполнения, предотвращает ошибки ручного набора и позволяет проводить мобильные замены (см. рисунок 14).
Кнопка «Талоны» вызывает экранную форму «Талон», позволяющую вводить, исправлять и удалять данные в таблице «Талон». Форма содержит шесть полей: «Номер» (талона), «Специализация», «Врач», «Кабинет», «Дата» (приема), «Время» (приема) и кнопку: «Добавить талон».
Рисунок 14. Форма «График работы»
Номер талона вводится вручную, так как количество талонов к каждому узкому специалисту меняется в зависимости от часов приема, операционных дней и т.п. Остальные поля заполняются из соответствующих списков таблиц-справочников. После заполнения всех талонов, можно их просмотреть и распечатать в отчете «Талон». Предоставленная форма позволяет легко изменять все данные, в случае изменения ситуации у врача (см. рисунок 15).
Рисунок 15. Форма «Талон»
Кнопка «Справочники» вызывает форму, состоящую из семи кнопок, которые открывают соответствующие вкладки таблиц-справочников в случае необходимости их просмотра или корректировки. Данные таблицы изменяются довольно редко, поэтому отдельные формы для исправления или добавления данных в эти таблицы не предусмотрены. Редактирование данных производится в таблицах и сохраняется нажатием кнопки: «Редактировать». На рисунке 16 представлена форма «Справочники». На рисунке 17 представлены примеры открытых вкладок формы.
Рисунок 16. Форма «Справочники»
Рисунок 17. Форма «Справочники» – примеры вкладок
Кнопка «Отчеты» в Главной форме открывает дополнительную форму содержащую четыре кнопки: «Отчет талонов», «Отчет графиков работы», «Отчет врачи» и «В главное меню» (см. рисунок 18).
Рисунок 18. Форма «Отчеты»
Нажатие данных кнопок вызывает соответствующие отчеты, которые можно просмотреть, сохранить в других форматах или распечатать. Примеры отчетов приводятся на рисунках 19-21.
Рисунок 19. Отчет «Талоны»
Рисунок 20. Отчет «Графики работы»
Рисунок 21. Отчет «Врачи»
Тестирование программного приложения «Регистратура поликлиники» завершено.
Заключение
Целью курсовой работы являлась разработка программного приложения справочной службы «Регистратура поликлиники», позволяющего автоматизировать деятельность регистратуры.
Данная цель была реализована посредством решения задач:
- проведено моделирование предметной области;
- выполнено проектирование структуры приложения;
- выполнено проектирование структуры базы данных;
- выбраны средства и методы разработки;
- разработана база данных приложения;
- разработан интерфейс приложения;
- проведено тестирование разработанного приложения.
На базе СУБД Microsoft Access и языка объектно-ориентированного программирования Embarcadero RAD Studio XE8 было разработано программное приложение «Регистратура поликлиники».
В состав приложения входят следующие объекты:
- блок авторизации обеспечивает защиту программного приложения;
- главная форма позволяет попасть на дополнительные формы «Справочники», «Карточки», «Талоны», «График работы» и «Отчеты»;
- форма «Справочники» включает кнопки: «Врачи», «Часы приема», «Время приема», «Специализация», «Номер стеллажа», «Номер кабинета»;
- форма «Карточка» позволяет зарегистрировать нового пациента;
- форма «Карточки пациентов» позволяет просмотреть данные на всех пациентов поликлиники;
- форма «Талон» предназначена для формирования талонов на прием к врачам для выдачи пациентам;
- форма «График работы» предназначена для просмотра и выдачи справок клиентам о режиме работы врача, необходимого клиенту;
- форма «Отчеты» предназначена для составления различных отчетов: «Отчет талонов», «Отчет графиков работы», «Отчет врачи».
Алгоритм работы приложения можно разделить на пять отдельных алгоритмов по сфере деятельности: выбор производится на Главной форме.
Алгоритм «Справочники» начинается с выбора справочника или возврата на Главную страницу. Если справочник выбран и просмотрен, то для каждого справочника нужно вновь осуществить выбор: возврат на Главную форму или редактирование справочника. После редактирования можно вернуться на Главную форму без сохранения или сохранить внесенные изменения. После сохранения можно вернуться на Главную форму или выйти из программы.
Алгоритм «Карточка» начинается с выбора: заполнение новой карточки или просмотр всех карточек пациентов. При заполнении карточки нового пациента, выбирается форма «Карточка» и заполняются данные, затем можно выбрать: вернуться на Главную форму без сохранения или сохранить. После сохранения также осуществляется выбор: выход из алгоритма «Карточка» или просмотр новой карточки в списке всех карточек.
Алгоритм «Талон» начинается с заполнения формы талона, затем можно выбрать: вернуться на Главную форму без сохранения или сохранить талон. После сохранения можно вернуться на Главную форму или выйти.
Алгоритм «График работы» – заполнения формы графика работы, выбор: вернуться на Главную форму без сохранения или сохранить график. После сохранения можно вернуться на Главную форму или выйти из программы.
Алгоритм «Отчеты» позволяет выбрать нужный отчет, просмотреть его и затем осуществить выбор: распечатать отчет, сохранить его в нужном формате или вернуться к выбору отчетов. После распечатки или сохранения нужного отчета можно вернуться на Главную форму или выйти из программы.
Цель курсовой работы достигнута – программное приложение «Регистратура поликлиники» на базе СУБД Microsoft Access и языка объектно-ориентированного программирования Embarcadero RAD Studio XE8 разработано.
Список использованной литературы
- Об информации, информационных технологиях и о защите информации [Текст]: Федеральный закон РФ от 27.07.2006 г. N 149-ФЗ (с изм. и доп., вступ. в силу с 06.07.2016). – М.: ФЗ. – 2016.
- Delphi. История языков программирования [Электронный ресурс] // Хабр [сайт]. URL: https://habr.com/ru/post/316492 (дата обращения: 30.11.2016).
- RAD Studio XE8 [Электронный ресурс] // Embarcadero [сайт]. URL: https://www.embarcadero.com/products/rad-studio (дата обращения: 20.11.2016).
- Баженова И.Ю., Основы проектирования приложений баз данных [Текст] / И.Ю. Баженова - М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. – 261 с.
- Базы данных [Электронный ресурс] // INTUIT [сайт]. URL: https://www.intuit.ru/studies/courses/74/74/info (дата обращения: 20.04.2020).
- Библиотека Delphi [Электронный ресурс] // Delphi INT [сайт]. URL: http://www.delphi.int.ru (дата обращения: 02.02.2020).
- Венделева, М.А. Информационные технологии в управлении. [Текст]: Учебное пособие для бакалавров / М.А. Венделева, Ю.В. Вертакова. – Люберцы: Юрайт, 2016. – 462 c.
- Выбор СУБД для Delphi-приложения [Электронный ресурс] // Хабр [сайт]. URL: https://habr.com/ru/post/311658 (дата обращения: 04.10.2016).
- Голицына О.Л., Основы проектирования баз данных. [Текст]: Учебное пособие / О.Л. Голицына - М.: Форум, 2016. – 416 с.
- Изучаем Delphi. О программировании и о Дельфи [Электронный ресурс] // SNK [сайт]. URL: http://www.snkey.com/books/delphi/ch1-1.html (дата обращения: 25.10.2015).
- Информационные системы в экономике: учебник для академического бакалавриата [Текст] / В.Н. Волкова, В.Н. Юрьев, С.В. Широкова, А.В. Логинова; под ред. В.Н. Волковой, В.Н. Юрьева. - М.: Издательство Юрайт, 2016. - 402 с.
- Информационные системы и технологии [Текст]: Научное издание. / Под ред. Ю.Ф. Тельнова. – М.: ЮНИТИ, 2016. – 303 c.
- Информационные системы и технологии в экономике и управлении: учебник для академического бакалавриата [Текст] / В.В. Трофимов [и др.]; под ред. В.В. Трофимова. - 4-е изд., перераб. и доп. - М.: Издательство Юрайт, 2016. - 542 с.
- Карминский А.М., Методология создания информационных систем [Текст] / А.М. Карминский - М.: Инфра-М, 2016. – 320 с.
- Ковязин, А. Разработка приложений и баз данных [Электронный ресурс] // OSP [сайт]. URL: https://www.osp.ru/winitpro/2019/03/13054895 (дата обращения: 13.03.2019).
- Корнеев, И.К. Информационные технологии в работе с документами [Текст]: Учебник / И.К. Корнеев. – М.: Проспект, 2016. – 304 c.
- Мартин, Р. К. Идеальный программист. Как стать профессионалом разработки ПО [Текст] / Р. К. Мартин. – СПб.: Питер, 2016. – 224 с.
- Мартин, Р. К. Чистый код. Создание, анализ и рефакторинг [Текст] / Р. К. Мартин. – СПб.: Питер, 2015. – 464 с.
- Осипов, Д. Delphi. Профессиональное программирование [Текст] / Д. Осипов. – СПб.: Символ-плюс, 2015. – 1056 c.
- Солонин, Е.Б. Современные методики и разработки информационных систем [Текст] / Е.Б. Солонин. – Екатеринбург.: УрФУ, 2015. – 44 c.
Приложение 1
Код приложения «Регистратура Поликлиники»
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.ComCtrls,
Vcl.Imaging.jpeg;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Image1: TImage;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses Unit2, Unit3, Unit4;
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show;
Form1.Visible:=false;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form4.Show;
Form1.Visible:=false;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form3.close;
end;
end.
unit Unit2;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Imaging.jpeg,
Vcl.ExtCtrls;
type
TForm2 = class(TForm)
Button2: TButton;
Button3: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Image1: TImage;
procedure Button6Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button5Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
uses Unit1, Unit5, Unit9, Unit8, Unit6, Unit7;
procedure TForm2.Button2Click(Sender: TObject);
begin
Form9.show;
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
Form8.show;
end;
procedure TForm2.Button5Click(Sender: TObject);
begin
Form5.show;
end;
procedure TForm2.Button6Click(Sender: TObject);
begin
Form1.Show;
Form2.Close;
end;
procedure TForm2.Button7Click(Sender: TObject);
begin
Form7.show;
end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.show;
Form2.visible:=false;
end;
end.
unit Unit3;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Imaging.jpeg, Vcl.ExtCtrls,
Vcl.StdCtrls, Vcl.Buttons;
type
TForm3 = class(TForm)
Image1: TImage;
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
uses Unit1;
procedure TForm3.Button1Click(Sender: TObject);
var pass: string;
begin
pass:='';
if (Edit1.Text=pass)
then
begin
Form1.Show;
Form3.Hide;
end
else MessageBox(0, 'Неверный пароль', 'Ошибка авторизации', MB_ICONWARNING or MB_OK);
end;
procedure TForm3.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13
then button1.Click;
end;
end.
unit Unit4;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Imaging.jpeg, Vcl.ExtCtrls,
Vcl.StdCtrls, Data.DB, Data.Win.ADODB;
type
TForm4 = class(TForm)
Image1: TImage;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button6: TButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button6Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
{$R *.dfm}
uses Unit1, Unit11, Unit12, Unit13;
procedure TForm4.Button2Click(Sender: TObject);
begin
Form13.frxReport1.ShowReport;
end;
procedure TForm4.Button3Click(Sender: TObject);
begin
Form12.frxReport1.ShowReport;
end;
procedure TForm4.Button4Click(Sender: TObject);
begin
Form11.frxReport1.ShowReport;
end;
procedure TForm4.Button6Click(Sender: TObject);
begin
Form1.Show;
Form4.Close;
end;
procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form1.show;
Form4.visible:=false;
end;
end.
unit Unit5;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Imaging.jpeg, Vcl.ExtCtrls, Data.DB,
Vcl.StdCtrls, Vcl.Grids, Vcl.DBGrids, Data.Win.ADODB;
type
TForm5 = class(TForm)
Image1: TImage;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button6: TButton;
Button7: TButton;
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOTable1: TADOTable;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
DBGrid4: TDBGrid;
DBGrid5: TDBGrid;
DBGrid6: TDBGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
begin
adotable1.active:=false;
adotable1.TableName:='часы_приема';
adotable1.active:=true;
dbgrid1.Hide;
dbgrid2.show;
dbgrid3.Hide;
dbgrid4.Hide;
dbgrid5.Hide;
dbgrid6.Hide;
Label2.Visible:=true;
Label1.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=false;
Label5.Visible:=false;
Label6.Visible:=false;
end;
procedure TForm5.Button2Click(Sender: TObject);
begin
adotable1.active:=false;
adotable1.TableName:='время_приема';
adotable1.active:=true;
dbgrid1.Hide;
dbgrid2.hide;
dbgrid3.show;
dbgrid4.Hide;
dbgrid5.Hide;
dbgrid6.Hide;
Label3.Visible:=true;
Label2.Visible:=false;
Label1.Visible:=false;
Label4.Visible:=false;
Label5.Visible:=false;
Label6.Visible:=false;
end;
procedure TForm5.Button3Click(Sender: TObject);
begin
adotable1.active:=false;
adotable1.TableName:='врачи';
adotable1.active:=true;
dbgrid1.show;
dbgrid2.hide;
dbgrid3.Hide;
dbgrid4.Hide;
dbgrid5.Hide;
dbgrid6.Hide;
Label1.Visible:=true;
Label2.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=false;
Label5.Visible:=false;
Label6.Visible:=false;
end;
procedure TForm5.Button4Click(Sender: TObject);
begin
adotable1.active:=false;
adotable1.TableName:='специализация';
adotable1.active:=true;
dbgrid1.hide;
dbgrid2.hide;
dbgrid3.Hide;
dbgrid4.Show;
dbgrid5.Hide;
dbgrid6.Hide;
Label4.Visible:=true;
Label2.Visible:=false;
Label3.Visible:=false;