Министерство образования Республики Беларусь
Учреждение образования
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Факультет Компьютерных технологий
Кафедра проектирования информационных компьютерных систем
Дисциплина "Современные технологии проектирования информационных систем"
К защите допустить:
Руководитель курсовой работы _______________ А.В.Михалькевич 06.07.2025 |
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе
на тему
БГУИР КР 1-40 05 01-10 № 175 ПЗ
Студент | (подпись студента) |
Курсовая работа представлена на проверку 06.07.2025 ___________________ (подпись студента) |
2025
БГУИР КР 1-40 05 01-10 № 175 ПЗ, гр. 784371
, Сервер виртуальной поликлиники, Минск: БГУИР - 2025.
Пояснительная записка 3013632 с., 45 рис., 6 табл.
Ключевые слова:
Предмет Современные технологии проектирования информационных систем, А.В.Михалькевич
Понятие предметной области является одним из базовых понятий информатики и не имеет точного определения. Сущность предметной области является результатом абстрагирования реального объекта путем выделения и фиксации набора его свойств. Сущность является результатом абстрагирования реального объекта
При анализе предметной области принято выделять три этапа:
Этап анализа требований и информационных потребностей включает следующие задачи:
Выделим в курсовой работе предметную область.
Предметная область – система отображения графика работы врачей в поликлинике.
Задача – информационная поддержка деятельности поликлиники.
Задачи:
Проектируемая система должна осуществлять:
Предметная область обладает следующими особенностями:
Необходимость автоматизированного решения для поликлиники включает:
Для автоматизации поликлиники выбрано разграничение прав доступа в зависимости от роли пользователя. Система должна обеспечивать разделение прав доступа и быть реализована для тех категорий пользователей:
Планируемые функции системы:
Имеется программные продукты и сайты по ведению информации по поликлиникам.
1.2 Анализ существующей на рынке программных продуктов
Использование информационных технологий в работе поликлиник необходимо так как:
Одним из самым распространённым веб-приложением для поликлиник Беларуси является «талон бай» (рисунок 1.1). К особенностям системы можно отнести:
Рисунок 1.1 – Сайт «Талон бай»
Построению модели AS-IS предшествовало обследование деятельности поликлиники. Упомянутое включало в себя ознакомление с процессом составления графика работы врачей в поликлинике.
На основании полученной при этом информации была построена модель AS-IS в нотации IDEF0, показанная на рисунке 2.1 и представляющая собой «снимок» существующего положения дел.
Рисунок 1.1 – Контекстная диаграмма «Деятельность поликлиники (AS-IS)»
Данная контекстная диаграмма изображает функционирование системы в целом. Основная цель – это ведение учёта бронирования и оплаты комнат в гостиницах Контекстная диаграмма имеет следующие данные и объекты, связывающие между собой работы:
- стрелки входа – данные о поликлинике, информация о докторе, данные о специальностях врачей, данные о графике работы врача;
- стрелки выхода – прием на работу, информация о графике работы врачей, данные о враче в поликлинике;
- стрелки управления – положения о деятельности поликлиники, правила задания графиков работы врачей, правила трудоустройства врачей;
Разработанная контекстная диаграмма была разбита на 4 процесса:
На рисунке 2.2 показана декомпозиция процесса «Деятельность поликлиники (AS-IS)».
Рисунок 2.2 – Декомпозиция диаграммы «Деятельность поликлиники (AS-IS)»
Существенным недостатком модели AS-IS является:
Найденные в модели AS-IS недостатки исправляются путем создания модели TO-BE, то есть модели новой организации процессов деятельности поликлиники. Создание и внедрение системы приводит к изменению условий выполнения отдельных операций, структуры процессов и компании в целом. Это приводит к необходимости изменения системы правил, используемых в компании, модификации должностных инструкций сотрудников. Функциональная модель TO-BE позволяет уже на стадии проектирования будущей системы определить эти изменения. Применение функциональной модели TO-BE позволяет не только сократить сроки внедрения информационной системы, но также снизить риски, связанные с невосприимчивостью персонала к информационным технологиям.
С учетом сказанного была построена модель TO-BE, показанная на рисунках 2.3 – 2.4. На рисунке 2.3 представлен контекстный процесс «Деятельность поликлиник (TO-BE)».
Рисунок 2.3 – Контекстная диаграмма «Деятельность поликлиник (TO-BE)»
На рисунке 2.3 представлена декомпозиция контекстного процесса «Деятельность поликлиник (TO-BE)» на 4 процесса:
Все данные хранятся в единой базе данных поликлиник.
Рисунок 2.4 – Декомпозиция контекстной диаграммы «Деятельность поликлиник (TO-BE)»
Можно выделить следующие действующие лица:
Администратор – управляет пользователями системы (врачами), графиком работы врачей, специальностями врачей, поликлиниками.
Врач – сущность, которая может менять данные для входа и просматривать график работы.
Рисунок 3.1 – Главная диаграмма использования для администратора «Деятельность поликлиник»
Данная система включает в себя следующие варианты использования для администратора (рисунок 3.1):
1) аутентификация;
2) управление и просмотр информацией о пользователях системы:
- добавление информации о враче;
- блокировка врача;
- редактирование о враче;
- просмотр информации о выбранном враче;
- поиск врача по заданным параметрам;
- сортировка врачей.
3) управление информацией о графике работы:
- добавление графика работы для врача в базу данных;
- блокировка о графике работы из базы данных;
- редактирование информации о графике работы для врача;
4) управление информацией о поликлинике:
- регистрация новой поликлиники;
- блокировка поликлиники;
- редактирование поликлиники.
5) управление информацией о специальности:
- регистрация новой специальности;
- блокировка специальности;
- редактирование специальности.
Рисунок 3.2 – Главная диаграмма использования для зарегистрированного доктора «Деятельность поликлиник»
Система включает в себя следующие варианты использования для зарегистрированного доктора (рисунок 3.2):
1) аутентификация;
2) управление и просмотр личной информации и изменение логина/пароля.
3) просмотр информации о личном графике работы.
База данных должна содержать данные о ролях, пользователях, графике работы докторов, специализации врача, и реализована возможность редактирования, поиск, сортировка, удаления и добавления данных. В соответствии с предметной областью система строится с учётом следующих особенностей:
Проверка на вводимые данные: проверка на вводимые символы, на заполненное поле, на содержание определённого количества символов, на уникальность логина и правильность ввода данных для поиска;
Данные поликлинике и специализации врача должные выбирается из списка доступных вариантов;
Данные о зарегистрированном пользователе не удаляются, но могут изменяться.
Выделим базовые сущности этой предметной области (таблица 4.1-4.6):
Пользователь системы. Сущность содержит: личный номер, ФИО, дату рождения, адрес прописки, кантатные данные, данные для входа в систему, комментарий.
Поликлиника. Сущность содержит: идентификационный номер поликлиники, название, адрес.
Специальность врача. Сущность содержит: номер специальности, личный номер пользователя.
Рабочий график. Сущность содержит: номер доктора, кабинет, признак первой смены, признак четного дня месяца.
Роль. Сущность содержит: номер роли, название.
Таблица 4.1 - Схема отношения Роль (Role)
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
Идентификационный номер роли |
Id |
N(10) |
первичный ключ |
Наименование роли |
Name |
C(256) |
обязательное поле |
Описание |
Description |
C(Max) |
не обязательное поле |
Флаг блокировки |
IsActive |
B |
не обязательное поле, по умолчанию =1 |
Таблица 4.2 - Схема отношения Пользователь (User)
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
Идентификационный номер пользователя |
Id |
N(10) |
первичный ключ |
Идентификационный номер роли |
RoleInfoId |
N(10) |
внешний ключ (к Role) |
Логин пользователя |
UserName |
C(15) |
Обязательное поле от 5 до 15 символов |
Пароль пользователя |
Password |
C(12) |
Обязательное поле от 6 до 12 символов |
Фамилия |
FirstName |
C(30) |
обязательное поле от 3 до 30 символов |
Имя |
LastName |
C(30) |
обязательное поле от 2 до 30 символов |
Отчество |
SurName |
C(30) |
обязательное поле от 3 до 30 символов |
Контактный телефон |
PhoneNumber |
C(50) |
обязательное поле |
Электронная почта |
|
C(256) |
обязательное поле |
Почтовый индекс |
ZipCode |
С(8) |
обязательное поле |
Адрес проживания |
Address |
С(100) |
обязательное поле |
Дата регистрации |
DateRegistration |
D |
текущая дата, по умолчанию = GetDate() |
Дата последнего входа |
DateLogIn |
D |
не обязательное поле |
Флаг блокировки |
IsActive |
B |
не обязательное поле, по умолчанию =1 |
Таблица 4.3 - Схема отношения Поликлиника (Policlinic)
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
Идентификационный номер |
Id |
N(10) |
первичный ключ |
Название |
Name |
C(100) |
обязательное поле от 10 до 100 символов |
Адрес |
Address |
C(100) |
обязательное поле от 10 до 100 символов |
Статус |
IsActive |
B |
не обязательное поле, по умолчанию =1 |
Таблица 4.4 - Схема отношения Специальность (Position)
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
Идентификационный номер |
Id |
N(10) |
первичный ключ |
Название |
Name |
C(100) |
обязательное поле от 10 до 100 символов |
Статус |
IsActive |
B |
не обязательное поле, по умолчанию =1 |
Таблица 4.5 - Схема отношения Доктор (Personal)
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
Идентификационный номер сотрудника |
Id |
N(10) |
первичный ключ |
Номер поликлиники |
PoliclinicId |
N(10) |
Внешний ключ к Policlinic |
Номер специальности |
PositionId |
N(10) |
Внешний ключ к Posiotion |
Статус |
IsActive |
B |
не обязательное поле, по умолчанию =1 |
Таблица 4.6 - Схема отношения Расписание (Schedule)
Содержание поля |
Имя поля |
Тип, длина |
Примечания |
Идентификационный номер расписания |
Id |
N(10) |
первичный ключ |
Идентификационный номер врача |
PersonalId |
N(10) |
внешний ключ к Personal |
Кабинет |
Cabinet |
N(3) |
обязательное поле |
Статус |
IsActive |
B |
не обязательное поле, по умолчанию =1 |
Четное число месяца |
Even |
B |
не обязательное поле, по умолчанию =0 |
Признак первой смены |
IsFirstShift |
B |
не обязательное поле, по умолчанию =0 |
Физическая модель данных показана на рисунке 4.1:
Рисунок 4.1 – Физическая модель данных
Для разработки веб-приложений существует множество технологий и решений. Начиная с технологий по разработки сайтов с нуля, заканчивая системами управления содержимым.
ASP.NET MVC Framework реализует MVC паттерн и, тем самым, обеспечивает значительно улучшенное разделение концепций. На самом деле ASP.NET MVC реализует современный вариант MVC паттерна, который особенно хорошо подходит для веб приложений. Платформа ASP.NET MVC предлагает следующие преимущества:
Страницы, сгенерированные ASP.NET MVC, не содержат никаких данных View State, поэтому они могут быть в сотни килобайт меньше, чем обычные страницы, созданные при помощи ASP.NET Web Forms. Несмотря на современную широкополосную связь и быстрые подключения, эта экономия пропускной способности до сих пор чрезвычайно притягательна для конечных пользователей [9].
В качестве СУБД была выбрана SQL Server 2016, которая является не только быстрой и удобной в обращении, но и надежной.
SQL Server 2016 предоставляет графические инструменты, необходимые для проектирования, разработки, развертывания и администрирования реляционных баз данных, аналитических объектов, пакетов преобразования данных, топологий репликации, отчетов, серверов отчетов и серверов уведомлений. Кроме того, SQL Server 2016 включает программы командной строки, позволяющие выполнять из командной строки задачи администрирования. Основным инструментом администратора для взаимодействия с системой является среда управления SQL Server Management Studio.
SQL Server 2016 работает значительно быстрее прежних версий: на том же оборудовании запросы выполняются примерно на 25% быстрее, а при использовании некоторых новых средств SQL Server 2016 с обработкой в памяти выигрыш достигает 30 раз для OLTP-транзакций и 100 раз для запросов (данные Microsoft).
Разрабатываемое приложение является веб приложением «Сервер виртуальной поликлиники». Сайт обеспечивает простоту работу с данными, которые содержаться в базе данных. Приложение позволяет осуществлять добавление, редактирование, удаление, группировки, поиска разнообразной информации, а также служит средством ее просмотра и отображения. Для осуществления всех этих возможностей приложение было разработано в виде Web-приложения используя Framework ASP.NET MVC.
Данное приложение будет иметь модульную структуру с возможностью дальнейшего расширения и модификации. Следовательно, данная система в дальнейшем легка как для сопровождения, так и для расширения. Разрабатываемое программное обеспечение представляет собой трехуровневую архитектуру, в которой можно выделить 3 слоя:
Уровень доступа к данным работает с объектами базы данных. Уровень бизнес-логики выполняет всю основную обработку данных. Данный уровень представляет собой промежуточной слой между базой данных и клиентским приложением. Уровень представления работает с бизнес-объектами и визуальным отображением всей информации.
Уровень доступа к данным, используется для взаимодействия с базой данных. Для работы с базой данных используется ORM (Object-relationalmapping - Объектно-реляционное отображение) Entity Framework. ADO.NET Entity Framewor объектно-ориентированная технология доступа к данным, является object-relational mapping (ORM) решением для .NET Framework от Microsoft. Предоставляет возможность взаимодействия с объектами как посредством LINQ в виде LINQ to Entities, так и с использованием Entity SQL. Для облегчения построения web-решений используется как ADO.NET Data Services, так и связка из Windows Communication Foundation и Windows Presentation Foundation, позволяющая строить многоуровневые приложения, реализуя один из шаблонов проектирования MVC, MVP или MVVM.
Имеется три подхода к работе с данными в Entity Framework: Database First, Model First, и Code First. Для реализации уровня доступа к данным был выбран подход Code First, т.к. он минимизирует работу с базой данных тем самым помогая сосредоточиться на разработке бизнес-логики приложения.
Подход Code First позволяет вне зависимости от наличия базы данных вручную написать код классов и свойств, соответствующих сущностям в базе и использовать этот код с Entity Framework без использования файла модели данных.
API доступа к данным, разработанное для Code First, основано на классе DbContext
. API может быть использован также и в процессе разработки с подходами Database First и Model First.
Рисунок 5.1 – Диаграмма классов
При помощи Package Manager Console были установлены основные пакеты для работы, такие как Microsoft.AspNet.Mvc, Ninject, Moq, EntityFramework, Bootstrap, FontAwesome, JSON, jQuery.Unobtrusive.Validation и другие.
Так как было выбрано использование и Code First, то вначале были созданы классы на языке C#, которые обычно представляют одну таблицу базы данных. Данные классы ничем не отличаются от стандартных классов описываем при разработке приложений. Диаграмма созданных классов показаны ниже на рисунке 5.1.
В проекте были внедрены зависимостей (DI), идея которых состоит в разъединении компонентов приложения MVC с помощью комбинации интерфейсов и контейнера DI, создающего экземпляры классов путем создания реализаций интерфейсов, от которых они зависят, и их внедрения внутрь конструктора.
Следующим этапом разработки является создание класса EFDbContext контекста базы данных. Класс контекста базы данных должен быть унаследован от стандартного класса Entity Framework – DbContext и созданного интерфейса IDbContext. Данные классы предоставляет EntityFramework для описания собственных классов управления базой данных. В классе контекста описываются все таблицы базы данных, действия по таблицам и связи таблицей между собой. Имя свойства указывает таблицу, а параметр типа результата DbSet – тип модели, который инфраструктура Entity Framework должна использовать для представления строк в этой таблице.
Чтобы предоставить классам бизнес-логики удобный доступ к данным просто через методы. Было решено создать сервисы для работы с объектами. Был создан базовый сервис интерфейс
Интерфейсы сервисов (например, IRoomService) используются, чтобы позволить вызывающему коду получать последовательность объектов, ничего не сообщая о том, как или где хранятся, извлекаются данные. Класс, зависящий от интерфейса (например, IRoomService), может получать объекты, ничего не зная о том, откуда они поступают или каким образом класс реализации будет их доставлять. В этом состоит суть шаблона хранилища.
Все основные операции были описаны в классе GenericService<T>, который представляет необходимое хранилище. Он реализует интерфейс IService<T> и использует экземпляр IdbContext для извлечения данных из базы посредством Entity Framework.
При разработке приложения использовалась система ASP.NET Identit. Для взаимодействия с базой данных в Microsoft.AspNet.Identity.EntityFramework определен класс IdentityDbContext. Это обычный контекст данных, производный от DbContext, который уже содержит свойства, необходимые для управления пользователями и ролями: свойства Users и Roles.
Непосредственное управление пользователями осуществляется с помощью класса UserManager<T>, которое находится в пространстве имен Microsoft.AspNet.Identity. Для управления ролями в ASP.NET Identity имеется класс RoleManager<T>, где T представляет реализацию интерфейса IRole.
Рисунок 5.2 – Диаграмма последовательности для варианта использования «Аутентификация»
На рисунке 5.2 приведена диаграмма последовательности с иллюстрацией сообщений для варианта использования «Аутентификация».
На рисунке 5.3 приведена диаграмма последовательности с иллюстрацией сообщений для варианта использования «Работа с докторами поликлиники»:
Рисунок 5.3 – Диаграмма последовательности для варианта использования «Работа с докторами поликлиники»
На рисунке 5.4 приведена диаграмма последовательности с иллюстрацией сообщений для варианта использования «Работа с графиком работы».
Рисунок 5.4 – Диаграмма последовательности для варианта использования «Работа с графиком работы доктора»
На рисунке 5.5 приведена диаграмма последовательности с иллюстрацией сообщений для варианта использования «Просмотр информации о графике работы выбранного доктора».
Рисунок 5.5 – Диаграмма последовательности для варианта использования «Просмотр информации о графике работы выбранного доктора»
Проектируемая сайт «Сервер виртуальной поликлиники» имеет страницы для 3 видов пользователей:
Поведение системы может быть представлена в виде следующей диаграмм состояний, которые показана на рисунках 6.1-6.4, блок-схема программы представлена на рисунке 6.5.
Рисунок 6.1 – Диаграмма состояния для незарегистрированных пользователей
В зависимости от роли пользователя, доступен определенный список действий.
Администратор может:
Рисунок 6.2 – Диаграмма состояния для администратора по управлению врачами
Рисунок 6.3 – Диаграмма состояния для администратора по управлению графиком работы
Зарегистрированный в системе доктор может:
Не зарегистрированный пользователь может:
Рисунок 6.4 – Диаграмма состояния для просмотра графика работы врача
Блок-схема системы показана на рисунке 6.5. Блок-схема приложения включает в себя все основные действия, которые доступны на веб сайте.
Рисунок 6.5 – Блок-схема приложения
MVC — это фундаментальный паттерн, который нашел применение во многих технологиях, дал развитие новым технологиям и каждый день облегчает жизнь разработчикам.
В разрабатываемом приложении используется паттерн .Net MVC 5.
Впервые паттерн MVC появился в языке SmallTalk. Разработчики должны были придумать архитектурное решение, которое позволяло бы отделить графический интерфейс от бизнес логики, а бизнес логику от данных. Таким образом, в классическом варианте, MVC состоит из трех частей, которые и дали ему название.
Под Моделью, обычно понимается часть содержащая в себе функциональную бизнес-логику приложения. Модель должна быть полностью независима от остальных частей продукта. Модельный слой ничего не должен знать об элементах дизайна, и каким образом он будет отображаться. Достигается результат, позволяющий менять представление данных, то как они отображаются, не трогая саму Модель.
В обязанности Представления входит отображение данных полученных от Модели. Однако, представление не может напрямую влиять на модель. Можно говорить, что представление обладает доступом «только на чтение» к данным.
Контроллер перехватывает событие извне и в соответствии с заложенной в него логикой, реагирует на это событие изменяя Mодель, посредством вызова соответствующего метода. После изменения Модель использует событие о том что она изменилась, и все подписанные на это события Представления, получив его, обращаются к Модели за обновленными данными, после чего их и отображают.
Рисунок 7.1 – Используемые контроллеры, Представления и Модели в приложении
Также в приложении используется один из наиболее часто используемых паттернов при работе с данными паттерн 'Репозиторий'. Репозиторий позволяет абстрагироваться от конкретных подключений к источникам данных, с которыми работает программа, и является промежуточным звеном между классами, непосредственно взаимодействующими с данными, и остальной программой.
Допустим, у нас есть одно подключение к базе данных MS SQL Server. Однако, что если в какой-то момент времени мы захотим сменить подключение с MS SQL на другое - например, к бд MySQL или MongoDB. При стандартном подходе даже в небольшом приложении, осуществляющем выборку, добавление, изменение и удаление данных, нам бы пришлось сделать большое количество изменений. Либо в процессе работы программы в зависимости от разных условий мы хотим использовать два разных подключения. Таким образом, репозиторий добавляет программе гибкость при работе с разными типами подключений.
Например, определен класс:
Имеется следующий класс контекста данных:
Интерфейс репозитория, обобщенный интерфейс, так как он более гибкий.
Создана реализацию для работы с MS SQL Server:
В данном случае в всех методах контроллера мы работаем не с методами конкретного класса, а с методами интерфейса. И только в конструкторе контроллера мы определяем непосредственный тип репозитория. Таким образом, мы практически избавляемся от зависимости к определенному типу подключения.
Для нормального функционирования клиентского приложения требуется: операционная система Window 7/8/10, 100 Мб свободного места на жестком диске, клавиатура, мышь, Microsoft.NET Framework 4.0, настроенная БД SQL Server 2016 или более новая, Micrisoft Visual Studio 2017 или более новая.
Перед началом развертывания веб-приложения, необходимо экспортировать существующую базу данных и настроить параметры доступа к ней.
После того как настройка базы данных завершена, опубликуем веб-приложение ASP.NET MVC на веб-сервер IIS. Для этого сконфигурируем веб-сервер. Для этого откроем средство администрирования IIS: зайдем в Панель управления, затем выберем Администрирование->Диспетчер служб IIS. И нам откроется консоль управления IIS:
Будем размещать свой сайт в узле по умолчанию (в моем случае это Default Web Site). И для этого вначале создадим в каталоге этого узла папку для нашего приложения. По умолчанию каталогом для стандартного веб-узла является каталог C:\inetpub\wwwroot. Перейдем в нее и создадим в нем папку BookStore, которая будет содержать наше приложение.
Теперь нажмем правой кнопкой мыши на имя узла по умолчанию и выберем в появившемся меню пункт Добавить приложение:
Рисунок 8.1 – Добавление приложения
В появившемся окне введем соответствующие настройки (в качестве физического пути приложения созданный выше каталог):
Рисунок 8.2 – Настройка пути
Перейдем к приложению в Visual Studio. Нажмем правой кнопкой на название проекта и в появившемся меню выберем Publish:
Рисунок 8.3 – Публикация через Visual Studio
Перед нами откроется мастер публикации, который предложит нам пройти несколько этапов. Если не одного профиля не определено, то создадим, нажав на ссылку New... и выбрав какое-нибудь название.После создания профиля нажмем на Next и перейдем к следующему этапу - Connection. На этом этапе для опции Publish Method выберем File System.
Рисунок 8.4 – Настройка публикации сайта
Для опции Target Location определим физический путь к каталогу нашего сайта. А для поля Destination URL указываем url, по которому будет доступно приложение, а именно http://localhost/HostWeb.
После установки всех свойств жмем на кнопку Publish. После этого в Visual Studio в окне Output студия выдаст сводку об успешности или неуспешности публикации.
При работе с программой пользователь будет выдаваться сообщения об ошибках, если были введены не верные данные или пользователь не имеет доступа к страницам. Примеры сообщений об ошибках показаны на рисунках 9.1 – 9.6:
Рисунок 9.1 – Сообщение при авторизации пользователя при не верном вводе данных
Рисунок 9.2 – Сообщения, если пользователю не доступна страница
Рисунок 9.3 – Сообщения, если введенные данные не уникальны в системе
Рисунок 9.4 – Сообщения, если введенные данные являются не верными
Рисунок 9.5 – Сообщения при не заполнении данных
При загрузки web-сайта «Поликлиники» доступны следующие страницы для работы:
Рисунок 9.6 – Главная страница сайта
Рисунок 9.7 – Страница просмотра информации по выбранной поликлинике
Рисунок 9.8 – Страница просмотра графика работы
Рисунок 9.9 – Страница авторизации
Если пользователь является администратором, то ему доступны страницы, которые можно выбрать на главной странице для администратора (рисунок 9.10):
Рисунок 9.10 – Главная страница администратора
Рисунок 9.11 – Страница настроек ролей
Рисунок 9.12 – Страница управления докторами
Рисунок 9.13 – Страница управления параметрами поликлиник
Рисунок 9.14 – Страница управления параметрами расписаний врачей
Рисунок 9.15 – Страница управления параметрами специальностей врачей
Рисунок 9.16 – Страница личных настроек
Если пользователь является доктором, то ему доступны страницы:
Рисунок 9.17 – Страница просмотра личного расписания
Рисунок 9.18 – Личные данные сотрудника