Курсовые работы / ПРИС П _22
.pdfЗАКЛЮЧЕНИЕ
В ходе выполнения курсового проекта были закреплены теоретические знания,
полученные в процессе изучения курса «Проектирование информационных систем»,
приобретены практические навыки по данной дисциплине. Для этого была проанализирована предметная область – функционирование наркологического диспансера. Была построена функциональная модель бизнес-процессов по стандарту
IDEF0, и физическая и логическая модели данных «сущность-связь». На основе полученных результатов был осуществлен выбор структур таблиц базы данных с учетом вопросов, связанных с нормализацией баз, а затем и непосредственное создание их структуры.
Далее было разработано клиентское приложение с использованием файл-
серверной архитектуры, построено дерево модулей и схема взаимодействия модулей и массивов данных. Разработанное приложение протестировано в трех режимах нормальном, экстремальном и исключительном. В результате проведенного тестирования выявлена работоспособность программы.
Результатом курсового проекта стала информационная система для автоматизации учета платных услуг пациентов наркологического диспансера.
Все пункты технического задания реализованы, что свидетельствует о том, что все поставленные задачи решены, цель достигнута.
22
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1 Абрамов Г. В., Медведкова И. Е., Коробова Л. А. Проектирование информационных систем [электронный ресурс]. Воронеж, Воронежский Государственный университет инженерных технологий, 2012. 172 с. Режим доступа: http://biblioclub.ru/index.php?page=book_red&id=141626&sr=1
2 Вендров А. М. Проектирование программного обеспечения экономических информационных систем: Учебник для студентов вузов М. : Финансы и статистика, 2013. 352 с.
3 Иванова Г.С. Программирование: учебник для вузов по направлению 230100 «Информатика и вычислительная техника» - 2-е изд. М.: КНОРУС, 2013. 425 с.
4 Проектирование информационных систем [Электронный ресурс]: Режим доступа: URL http://www.kgau.ru/istiki/umk/pis/pis.htm
5 Вендров А. М. Современные технологии анализа и проектирования информационных систем [Электронный ресурс] // Центр Информационных Технологий: Режим доступа: URL http://www.citmgu.ru/
6 Уткин В.Б., Балдин К.В. Информационные системы и технологии в экономике: Учебник для вузов. М. : ЮНИТИ-ДАНА, 2015. 336 с.
7 Аньшин В. М., Алешин А. В., Багратиони К. А. Управление проектами:
фундаментальный курс: учебник. М. : Высшая школа экономики, 2013. 624 с.
8 Хоменко А. Д. Базы данных. Учебник для вузов. М. : Синтег, 2012. 262 с.
9 Щелоков С.А. Разработка и создание баз данных средствами СУБД Access и SQL Server: практикум. Оренбург: ОГУ, 2014. 109 с.
10 Богданова С. В., Ермакова А. Н. Информационные технологии: учебное пособие для студентов вузов [электронный ресурс]: Ставрополь: Сервисшкола, 2014. 211 с. Режим доступа: http://biblioclub.ru/index.php?page=book_red&id=277476&sr=1
11 Дарахвелидзе П. Г. Программирование в Delphi 7. Спб. : БХВ-Петербург, 2013. 784 с.
12 Беломойцев Д. Е., Волосатова Т. М., Радионов С. В. Основные методы криптографической обработки данных: учебное пособие. М. : Изд. МГТУ им. Н.Э.
23
Баумана (Московский государственный технический университет имени Н.Э.
Баумана), 2014. 76 с.
13 Гусятников В. Н. Безруков А. И. Стандартизация и разработка программных систем. [Электронный ресурс]: Электрон. текстовые дан. СПб. : Лань, 2012. Режим доступа: URL http://e.lanbook.com/ books/element.php?pl1_id=5321
14 Дарахвелидзе П. Г. Программирование в Delphi 7. Спб. : БХВ-Петербург, 2013. 784 с.
15 Нечаев Д. Ю., Чекмарев Ю. В. Надежность информационных систем
[электронный ресурс]: учебное пособие. М. : Изд. «ДМК Пресс» 2012. 64 с. Режим доступа: http://e.lanbook.com/books/element.php?pl1_id=3030
16 Осипов Д.Л. Базы данных и Delphi. Спб. : БХВ-Петербург, 2011. 854 с.
17 Нечаев Д. Ю., Чекмарев Ю. В. Надежность информационных систем
[электронный ресурс]: учебное пособие. М. : Изд. «ДМК Пресс» 2012. 64 с. Режим доступа: http://e.lanbook.com/books/element.php?pl1_id=3030
24
ПРИЛОЖЕНИЕ А
Модель бизнес-процессов предметной области по стандарту IDEF0
Рисунок А.1 – Верхний блок диаграммы бизнес-процессов IDEF0
Рисунок А.2 – Декомпозиция блока «Автоматизация учета платных услуг наркологического диспансера»
25
Рисунок А.3 – Декомпозиция блока «Ввод и редактирование данных»
Рисунок А.4 – Декомпозиция блока «Работа с сервисными функциями»
26
Рисунок А.5 – Декомпозиция блока «Аналитическая обработка данных»
27
ПРИЛОЖЕНИЕ Б
Описание таблиц базы данных
Таблица Б.1 – Описание свойств полей таблицы Users
Имя поля |
Тип данных |
Размер |
Обязательное |
Индексированное |
Комментарий |
|
|
поля |
поле |
поле |
|
id_user |
Счетчик |
Длинное |
Да |
Да (Совпадения |
Ключевое поле |
|
|
целое |
|
не допускаются) |
|
Login |
Текстовый |
50 |
Да |
Нет |
Имя |
|
|
|
|
|
пользователя |
Pass |
Текстовый |
50 |
Да |
Нет |
Пароль |
Таблица Б.2 – Описание свойств полей таблицы Diag
Имя поля |
Тип данных |
Размер |
Обязательное |
Индексированное |
Комментарий |
|
|
поля |
поле |
поле |
|
d_id |
Счетчик |
Длинное |
Да |
Да (Совпадения |
Ключевое поле |
|
|
целое |
|
не допускаются) |
|
d_shifr |
Числовой |
Длинное |
Нет |
Нет |
Шифр диагноза |
|
|
целое |
|
|
|
d_name |
Текстовый |
50 |
Нет |
Нет |
Наименование |
|
|
|
|
|
диагноза |
EDIT |
Логический |
- |
- |
Нет |
Метка занятости |
Таблица Б.3 – Описание свойств полей таблицы Personal
Имя поля |
Тип данных |
Размер |
Обязательное |
Индексированное |
Комментарий |
|
|
|
поля |
поле |
поле |
|
|
per_id |
Счетчик |
Длинное |
Да |
Да (Совпадения |
Ключевое поле |
|
|
|
целое |
|
не допускаются) |
|
|
per_fio |
Текстовый |
50 |
Нет |
Нет |
ФИО работника |
|
|
|
|
|
|
|
|
per_ulsuga |
Числовой |
Длинное |
Нет |
Нет |
Услуга, |
которую |
|
|
целое |
|
|
он |
может |
|
|
|
|
|
оказыывать |
|
EDIT |
Логический |
- |
- |
Нет |
Метка занятости |
28
Таблица Б.4 – Описание свойств полей таблицы Pacienti
Имя поля |
Тип данных |
Размер |
Обязательное |
Индексированное |
Комментарий |
|
|
|
поля |
поле |
поле |
|
|
p_id |
Счетчик |
Длинное |
Да |
Да (Совпадения |
Ключевое поле |
|
|
|
целое |
|
не допускаются) |
|
|
p_fam |
Текстовый |
50 |
Нет |
Нет |
Фамилия |
|
|
|
|
|
|
пациента |
|
p_name |
Текстовый |
50 |
Нет |
Нет |
Имя паиента |
|
|
|
|
|
|
|
|
p_otch |
Текстовый |
50 |
Нет |
Нет |
Отчество |
|
|
|
|
|
|
пациента |
|
p_foto |
Текстовый |
50 |
Нет |
Нет |
Наименование |
|
|
|
|
|
|
фотографии |
|
p_birthday |
Дата и время |
- |
Нет |
Нет |
Дата рождения |
|
|
|
|
|
|
|
|
p_pol |
Текстовый |
50 |
Нет |
Нет |
Пол |
|
|
|
|
|
|
|
|
p_address |
Текстовый |
50 |
Нет |
Нет |
Адрес |
|
|
|
|
|
|
|
|
p_tel |
Числовой |
Длинное |
Нет |
Нет |
Телефон |
для |
|
|
целое |
|
|
связи |
|
p_work |
Текстовый |
50 |
Нет |
Нет |
Работает/нет |
|
|
|
|
|
|
|
|
p_datebegi |
Дата и время |
- |
Нет |
Нет |
Дата поставки на |
|
n |
|
|
|
|
учет |
|
p_dateend |
Дата и время |
- |
Нет |
Нет |
Дата снятия с |
|
|
|
|
|
|
учета |
|
EDIT |
Логический |
- |
- |
Нет |
Метка занятости |
Таблица Б.5 – Описание свойств полей таблицы Preiskurant
Имя поля |
Тип данных |
Размер |
Обязательное |
Индексированное |
Комментарий |
|
|
поля |
поле |
поле |
|
pr_id |
Счетчик |
Длинное |
Да |
Да (Совпадения |
Ключевое поле |
|
|
целое |
|
не допускаются) |
|
pr_name |
Числовой |
Длинное |
Нет |
Нет |
Наименование |
|
|
целое |
|
|
|
pr_cena |
Числовой |
Длинное |
Нет |
Нет |
Цена |
|
|
целое |
|
|
|
pr_day |
Дата/время |
- |
Нет |
Нет |
Дата |
|
|
|
|
|
|
EDIT |
Логический |
- |
- |
Нет |
Метка занятости |
29
Таблица Б.6 – Описание свойств полей таблицы Sprvki
Имя поля |
Тип данных |
Размер |
Обязательное |
Индексированное |
Комментарий |
|
|
поля |
поле |
поле |
|
s_id |
Счетчик |
Длинное |
Да |
Да (Совпадения |
Ключевое поле |
|
|
целое |
|
не допускаются) |
|
s_fam |
Числовой |
Длинное |
Нет |
Нет |
Фамилия |
|
|
целое |
|
|
пациента |
s_nomer |
Числовой |
Длинное |
Нет |
Нет |
Номер справки |
|
|
целое |
|
|
|
s_date |
Дата/время |
- |
Нет |
Нет |
Дата выдачи |
|
|
|
|
|
|
s_stoim |
Числовой |
Длинное |
Нет |
Нет |
Стоимость |
|
|
целое |
|
|
услуги |
s_vrach |
Числовой |
Длинное |
Нет |
Нет |
ФИО врача |
|
|
целое |
|
|
|
EDIT |
Логический |
- |
- |
Нет |
Метка занятости |
Таблица Б.7 – Описание свойств полей таблицы Soed
Имя поля |
Тип данных |
Размер |
Обязательное |
Индексированное |
Комментарий |
|
|
поля |
поле |
поле |
|
p_id |
Счетчик |
Длинное |
Да |
Да (Совпадения |
Ключевое поле |
|
|
целое |
|
не допускаются) |
|
d_id |
Числовой |
Длинное |
Да |
Да |
Код |
|
|
целое |
|
|
туроператора |
30
ПРИЛОЖЕНИЕ В
Текст программы
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, ExtCtrls, ComObj, IniFiles, StdCtrls, jpeg;
type
TFrmMain = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem; StatusBar1: TStatusBar; Timer1: TTimer;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem; OpenDialog1: TOpenDialog; Image1: TImage;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
Button1: TButton;
Button2: TButton;
N19: TMenuItem;
N20: TMenuItem;
procedure N2Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure N8Click(Sender: TObject); procedure N11Click(Sender: TObject); procedure N10Click(Sender: TObject); procedure N9Click(Sender: TObject);
procedure CompactDatabase_JRO (DatabaseName: string;DestDatabaseName: string = ''; Password: string = '');
procedure N3Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure N12Click(Sender: TObject); procedure N13Click(Sender: TObject); procedure N14Click(Sender: TObject); procedure N20Click(Sender: TObject); procedure N15Click(Sender: TObject); procedure N16Click(Sender: TObject); procedure N17Click(Sender: TObject); procedure N18Click(Sender: TObject); procedure N19Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
FrmMain: TFrmMain;
implementation
uses About, DataModule, change_password, ChUser, authorization, Pacient,
Diag, Spravki, Preiskurant, Rep1, Rep2, Rep3, Rep4, Rep5, Rep6, Rep7;
{$R *.dfm}
procedure TFrmMain.CompactDatabase_JRO(DatabaseName:
string;
DestDatabaseName: string = ''; Password: string = '');
Const
Provider = 'Provider=Microsoft.Jet.OLEDB.4.0;'; Var
TempName : Array[0..MAX_PATH] of Char; TempPath : String;
Name : String; Src,Dest : WideString; V : Variant;
begin
F:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'Options.ini')
;
DBPath:=F.ReadString('Section_DBPath','Path', ''); try
Src := Provider + 'Data Source='+DBPath+DatabaseName; if DestDatabaseName<>'' then
Name:=DBPath+DestDatabaseName else
begin TempPath:=ExtractFilePath(DatabaseName);
if TempPath='' Then TempPath:=GetCurrentDir;
GetTempFileName(PChar(TempPath),'mdb',0,TempName);
Name:=StrPas(TempName);
end;
DeleteFile(PChar(Name));
Dest := Provider + 'Data Source=' +Name; if Password<>'' then
begin
Src := Src + ';Jet OLEDB:Database Password=' +
Password;
Dest := Dest + ';Jet OLEDB:Database Password=' +
Password;
end;
V:=CreateOleObject('jro.JetEngine'); try
V.CompactDatabase(Src,Dest); finally
V:=0;
end;
if DestDatabaseName='' then begin
DeleteFile(PChar(DatabaseName));
RenameFile(Name,DatabaseName);
end;
if V=0 then
Showmessage('Резевное копирование выполнено.'); except
on E: Exception do ShowMessage(e.message); end;
end;
procedure TFrmMain.N2Click(Sender: TObject); begin
Application.Terminate;
end;
procedure TFrmMain.Timer1Timer(Sender: TObject); begin
31