Главная страница

полеклиника. Диплом1. Автоматизированные информационные системы


Скачать 0.78 Mb.
НазваниеАвтоматизированные информационные системы
Анкорполеклиника
Дата04.11.2022
Размер0.78 Mb.
Формат файлаdocx
Имя файлаДиплом1.docx
ТипАнализ
#770104
страница2 из 4
1   2   3   4
Часть из сделанных изменений - цвет окна и его заголовок - видна сразу же, в рабочей среде Delphi, т.е. на этапе разработки. А вот изменения в системных кнопках, хотя и могут быть сделаны на данном этапе, визуально себя не проявляют. Поэтому, чтобы увидеть сразу все произошедшие изменения, запустим приложение на выполнение, нажав клавишу F9, и вы увидите, что не только цвет и заголовок окна изменились, но и кнопка "развернуть" стала неактивной (рис. 2.6).

Первое приложение после небольшой доработки

Примечание - [разработано автором]
Рис. 2.6. Первое приложение после небольшой доработки
Таким образом, мы ознакомились с ObjectInspector - одним из наиболее важных окон рабочей среды Delphi. Ну а чтобы завершить тему введения в проекты, попробуем сохранить наш проект на диске. Пусть это будет папка Project1, а сам проект мы назовем first. Для этого откройте диалог сохранения проекта (FileSaveprojectas) и выберите в нем нужную папку.

СОВЕТ

По умолчанию Delphi предлагает складывать все проекты в недра своей собственно директории в ProgramFiles. Но было бы гораздо лучше, если бы вы создали папку в другом, легко доступном месте, и назвали ее понятным для себя названием. Например, это может быть папка Work на диске C:.

А теперь внимание! Если вы сохраняете проект в первый раз, то Delphi предложит вам сначала сохранить не файл проекта, а все несохраненные рабочие файлы. В данном случае это будет программный файл формы. По умолчанию Delphi предложит назвать его unit1.pas, но лучше сразу взять за правило давать осмысленные имена все рабочим файлам. В частности, раз это окно - главное (и единственное) в нашем приложении, то назовем его файл main.pas. Таким образом будут сохранено сразу 2 файла - программный pas и файл формы dfm.

2.4 Типы проектов и депозитарий
Только что мы рассмотрели создание наиболее распространенного типа проекта - приложения Windows со стандартным графическим интерфейсом. Но на самом деле, возможности Delphi этим не ограничены, вы можете создавать приложения самого разнообразного характера, включая консольные (для текстового режима Windows), динамически подключаемые библиотеки (DLL), сервисы для Windows NT/2000/XP, межплатформенные приложения CLX (Delphi 6,7) или приложения для платформы Microsoft .NET (Delphi 8, 2005). Чтобы создать приложение определенного типа, следует из подменю FileNew выбрать пункт Other. Таким образом, откроется окно, позволяющее выбрать тип нового приложения или добавить какой-либо специфический модуль к существующему проекту (рис. 2.7).

Выбор нового приложения или модуля в Delphi 7

Примечание - [разработано автором]
Рис. 2.7. Выбор нового приложения или модуля в Delphi 7
Выбор вариантов тут весьма обширен, причем, помимо типовых модулей и классов приложений, присутствуют различные мастера, позволяющие упростить процесс создания того или иного модуля (Wizards), а так же специализированные стандартные формы вроде диалоговых окон или окна "О программе". Рассмотрим некоторые из них подробнее, для чего пройдемся по отдельным закладкам окна NewItems.
Начнем с закладки New. На ней представлены наиболее часто востребованные, по мнению разработчиков, варианты. И действительно, тут можно найти стандартное графическое Windows-приложение (Application), форму (Form), программный модуль (Unit), текстовое приложение командной строки (ConsoleApplication), и другие варианты, как-то DataModule (полезен для разработки баз данных), DLL Wizard, Component и т.д.
На закладках Forms и Dialogs моно найти ряд стандартных диалоговых окон и даже мастер по разработке диалогового окна.
Закладка Projects дает возможность начать проект того или иного типа, или даже воспользоваться мастером для создания многооконного приложения.
Чтобы создать элемент управления ActiveX или приложение для COM+, следует обратиться к шаблонам на закладке ActiveX. Ну а прочие закладки, в том числе IntraWeb, WebSnap и т.д., позволяют создавать специализированные приложения соответствующего типа или модули к ним. Их количество и названия зависят от версии Delphi и варианта поставки.
Но на самом деле, данное окно, по большому счету, подобно палитре компонент, с тем лишь исключением, что если палитра компонент являет собой представление VCL, то окно NewItems - во многом является отображением депозитария (ObjectRepository). В депозитарии хранятся заготовки форм и иных модулей, которые вы можете многократно использовать в своих проектах. При этом для того, чтобы поместить форму в депозитарий, достаточно воспользоваться ее контекстным меню и выбрать в нем пункт AddtoRepository.

2.5 Прочие средства IDE
На текущий момент мы уже рассмотрели такие составные части, предоставляемые интегрированной средой разработки Delphi, как главное окно вместе с его меню, окном выбора модулей и палитрой компонентов, и инспектора объектов. Теперь обратимся к такой важной части, как окно редактора кода. Следует отметить, что до появления графических средств разработки, подобных Delphi, еще во времена MS-DOS и ранних версий Windows, IDE для программирования как раз и состояли из редактора кода да самого компилятора. Таким образом, редактор кода - это наиболее характерный и устоявшийся элемент в любой среде разработки приложений.
Применительно ко всем современным версиям Delphi, редактор кода имеет все стандартные возможности редактирования текста (вроде работы с буфером обмена), а так же ряд особенностей, характерных для редакторов кода, а именно:
Редактор всегда работает с моноширинным шрифтом (т.е. все буквы имеют одинаковую ширину). Это необходимо, поскольку в противном случае было бы тяжело ориентироваться в коде программы;

Моноширинный режим позволяет использовать такой метод, как колоночную разбивку. Иначе говоря, копировать и перемещать можно не только отдельные слова или строки, но и вырезать, копировать и вставлять прямоугольные фрагменты текста;

Редактор постоянно отображает позицию курсора, т.е. в какой строке и колонке находится точка ввода;

Отсутствие автоматического переноса строк. Поскольку в программировании каждый символ, включая обрыв строки, что-то значит, то чтобы программисты не гадали, где в коде конец строки, а где автоматический перенос, такого режима правки нет в принципе. К тому же это мешало бы ориентироваться в номерах строк;

Подсветка синтаксиса выделяет ключевые слова и прочие специфические языковые конструкции;

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

Также предусмотрены такие функции, как автоподстановка кода по ключевым фразам, автозавершение кода и т.д.
При всем этом следует отметить, что практически все функции редактора, включая правила подсветки, сочетания горячих клавиш, поведение курсора, автоподстановка и т.д., гибко настраиваются. Для этого следует открыть окно свойств редактора (ToolsEditoroptions) и настроить параметры на свое усмотрение. Впрочем, если у вас еще не сложились какие-то предпочтения в работе с подобными редакторами, то можно этого и не делать - предлагаемые изначально настройки вполне удобны.
Что касается внешнего вида окна редактора, то в нем, при стандартных параметрах IDE, помимо области редактора кода имеется еще и проводник кода, упрощающего процесс навигации по файлу (рис. 2.8).
Окно редактора кода с проводником и загруженным файлом новой формы

Примечание - [разработано автором]
Рисунок 2.8. Окно редактора кода с проводником и загруженным файлом новой формы
Обратите внимание на то, что весь программный код файла main.pas, показанный в этом окне, был создан автоматически, равно как и код для файла проекта - first.dpr. Иначе говоря, всю работу по созданию базовых блоков приложения интегрированная среда Delphi делает за вас.
Завершая тему окна редактора, отметим, что для того, чтобы загрузить в него какой-либо произвольный файл, следует воспользоваться главным меню (FileOpen). При открытии проекта файлы открытых форм загружаются в него автоматически, а чтобы загрузить в него иные файл проекта, используйте кнопку ViewUnit (сочетание горячих клавиш - Ctrl+F12) на инструментальной панели View. Если же требуется загрузить как исходный код, так и саму форму, то воспользуйтесь находящейся по соседству кнопкой ViewForm (Shift+F12).
Ну и последнее не рассмотренное нами окно - ObjectTreeView, или окно дерева объектов, служит для просмотра иерархии элементов управления (кнопок, переключателей и т.п.) относительно формы. Т.е., если проводник кода упрощает процесс поиска того или иного компонента в исходном коде программы, то дерево объектов поможет быстрее сориентироваться в элементах, находящихся на форме.

3 ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ
3.1 Создание реляционная модель данных
Реляционная модель данных включает следующие компоненты:

  • Структурный аспект (составляющая) – данные в базе данных представляют собой набор отношений.

  • Аспект (составляющая) целостности – отношения (таблицы) отвечают определенным условиям целостности. Реляционная модель данных поддерживает декларативные ограничения целостности уровня домена (типа данных), уровня отношения и уровня базы данных.

  • Аспект (составляющая) обработки (манипулирования) – реляционная модель данных поддерживает операторы манипулирования отношениями (реляционная алгебра, реляционное исчисление).

В БД «Поликлиника» в таблицах «Учет работы», «Врачи», «Пациенты», «Специализации», «Смены» между атрибутами и первичным ключом наблюдается функциональная зависимость, так как значения ключа однозначно определяют значения остальных атрибутов в данных таблицах.
Таблица 3.1 – Функциональные зависимости между атрибутами

сущности «Врачи» [ Разработано автором ]

Наименование атрибутов

Функциональные зависимости

Id_vrасhа

FIO_vrасhа

Dаtа_rggestracii

Stоimоst_рriеmа




Примечание - [разработано автором]






Таблица 3.2 – Функциональные зависимости между атрибутами

сущности «Пациенты» [ Разработано автором ]

Наименование атрибутов

Функциональные зависимости

Id_расiеntа

FIO

Dаtа_rоgdеniа

Dоm_аdrеss




Примечание - [разработано автором]





Таблица 3.3 – Функциональные зависимости между атрибутами

сущности «Учет работы» [ Разработано автором ]

Наименование атрибутов

Функциональные зависимости

Id_smеni

Id_vrасhа

Id_расiеntа

Dеn_nеdеli




Примечание - [разработано автором]





Таблица 3.4 – Ключи [ Разработано автором ]

Таблица

Ключ

Врачи

Id_vrасhа

Пациенты

Id_расiеntа

Примечание - [разработано автором]





В базе данных «Поликлиника» проведена нормализация отношений:

Проанализировав таблицу «Врачи», можно сказать, что она находится в первой нормальной форме, так как она имеет первичный ключ, каждое поле таблицы представляет уникальный тип информации, все поля атомарны. Так же данная таблица находится и во 2НФ, так как она удовлетворяет условиям 1НФ, а так же я убедилась в том, что каждое поле функционально зависит от первичного ключа, который идентифицирует исходный объект таблицы. Таблица «Врачи» находится в 3НФ, так как она находится во 2НФ и не содержит транзитивных зависимостей, т. е. столбцы, не являющиеся ключевыми, зависят от первичного ключа таблицы и не зависят от всех остальных столбцов. Имеется возможность изменять значения любого поля (не входящего в первичный ключ) без воздействия на данные других полей.

Таблицы «Пациенты», «Учет работы», «Смены», «Специализации» аналогично таблице «Врачи» находятся во всех трех нормальных формах.

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

На этапе инфологического проектирования в ходе сбора информации о предметной области требуется выяснить:

  1. основные объекты предметной области (объекты, о которых должна храниться информация в БД);

  2. атрибуты объектов;

  3. связи между объектами;

  4. основные запросы к БД.


В проекте «Поликлиника» в соответствии с предметной областью были созданы следующие сущности:

  • «Врачи» – хранится информация о врачах;

  • «Пациенты» – хранится информация о пациентах;

  • «Инвалидность» – хранится информация степени инвалидности пациента;

  • «Беспокойство» – хранится информация о беспокойстве и недомогании больного .

Каждому объекту соответствуют свои атрибуты:

– Учет работы: код смены, код врача, код специализации, код пациента, день недели;

– Врачи: код врача, ФИО врача, стаж работы, дата рождения, стоимость приема;

– Пациенты: код пациента, ФИО, дата рождения, наименование населенного пункта, домашний адрес;

–Должность: код врача, ФИО врача, время работы.

3.2 Описание связей
В базе данных «Поликлиника» определены следующие отношения между таблицами:

Таблица 3.5 – Классификация связей



Родительская таблица

Дочерняя таблица

Ключи

Вид связи

1

Учет работы

Врачи

Id_vracha

Id_vracha

1:М

2

Учет работы

Пациенты

Id_pacienta

Id_pacienta

1:М

3

Учет работы

Должность

Id_dolhznost

Id_dolhznost

1:M

Примечание - [разработано автором]


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

На рисунке 3.1 ER-Диаграмма представлена инфологическая модель базы данных, на которой отображены все сущности БД, отношение между ними и атрибуты.

Примечание - [разработано автором]
Рисунок 3.1 – Инфологическая модель базы данных

3.3 Даталогическая модель
В этом разделе приводится состав таблиц БД. Для каждого поля таблицы указывается размер поля (количество символов), тип. Для первичных ключей необходимо ввести запрет неопределенных значений. Для остальных полей возможность запрета неопределенных значений определяется семантикой предметной области.

Таблица 2.6 – Состав таблицы «Должность»

Наименование атрибутов

Тип полей

NULL

Id_dolhznost

int

nchar(50)

Нет

Нет

Примечание - [разработано автором]








Таблица 2.7 – Состав таблицы «Врачи»

Наименование атрибутов

Тип полей

NULL

Id_vracha

FIO_vracha

Data_rogdenia

Stag_ raboti

Stoimost_priema

int

nchar(50)

Date

int

int

Нет

Нет

Нет

Нет

Нет

Примечание - [разработано автором]








Таблица 2.8 – Состав таблицы «Пациенты»

Наименование атрибутов

Тип полей

NULL

Id_pacienta

FIO

Data_rogdenia

Nasvanie_naspunkta

Dom_adress

int

nchar(50)

Date

int

int

Нет

Нет

Нет

Нет

Нет

Примечание –[разработано автором]








Таблица 2.9 – Состав таблицы «Улица»

Наименование атрибутов

Тип полей

NULL

Id_pacienta

Nasvanie

int

nchar(50)

Нет

Нет

Примечание - [разработано автором]








Таблица 2.10 – Состав таблицы «Учет работы»

Наименование атрибутов

Тип полей

NULL

Id_smeni

Id_vracha

Id_pacienta

Den_nedeli

int

int

int

nchar(50)

Нет

Нет

Нет

Нет

Примечание - [разработано автором]








На рисунке 3.2 приведена схема базы данных «Поликлиника»

Примечание - [разработано автором]
Рисунок 3.2 – Схема базы данных «Поликлиника» [ Разработано автором]
1   2   3   4


написать администратору сайта