Файл: Автоматизированная информационная система на основе вебтехнологий для частной медицинской клиники.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.12.2023
Просмотров: 297
Скачиваний: 3
СОДЕРЖАНИЕ
1.1 Описание предметной области
1.2 Обзор существующих аналогов
1.3 Моделирование бизнес-процессов
2. Проектирование веб-приложения
2.1 Требования к веб-приложению
2.1.1 Требования к структуре меню
2.1.2 Требования к структуре страниц
2.1.3 Требование к системе контроля доступа
2.1.4 Требование к хранению данных
2.1.5 Требования к программному обеспечению серверной части
2.1.6 Функциональные требования к системе
2.1.7 Требования к информационному обеспечению
2.1.8 Требования к надежности системы
2.1.9 Требования к безопасности системы и к обеспечению защиты информации
2.1.10 Требования к эргономике системы
2.1.11 Требования к эксплуатации системы, техническому обслуживанию, ремонту и хранению систем
2.1.12 Требования к патентной чистоте
2.1.13 Требования по стандартизации
2.2 Описание средств проектирования
2.3.1 Диаграмма вариантов использования
2.3.2 Диаграмма последовательности
2.4 Технология проектирования БД
3.1 Выбор системы управления базами данных
3.3 Инструменты разработки web-приложений
3.4 Особенности разработки web-приложений
3.7 Создание класса для работы с базой данных
2.5 Логическая модель данных
Исходя из анализа предметной области и функциональных требований к разрабатываемой системы можно выделить сущности, представленные в Таблице 1.
Таблица 1 – Таблица сущностей
Наименование | Описание |
Пользователи | Данные пользователей |
Отделения | Список отделений клиники |
Должности | Список должностей сотрудников клиники |
Сотрудники | Данные сотрудников клиники |
Услуги | Список услуг клиники |
Галерея | Наименование файлов для галереи |
Отзывы | Содержание отзывов пользователей |
Запись | Записи на прием пользователей |
На рисунке 10 представлена логическая модель, на которой отображена структура базы данных разрабатываемого приложения.
Рисунок 10 – Логическая модель базы данных
2.6 Физическая модель данных
Физическое проектирование базы данных - процесс подготовки описания реализации базы данных на вторичных запоминающих устройствах; на этом этапе рассматриваются основные отношения, типы данных, организация файлов и индексов, предназначенных для обеспечения эффективного доступа к данным, а также все связанные с этим ограничения целостности и средства защиты.
Целью физического проектирования базы данных является описание способа физической реализации логической структуры базы данных.
Физическая схема базы данных представлена на Рисунке 11.
Рисунок 11 – Физическая схема базы данных
Описание таблиц физической модели данных представлено в Таблице 2.
Таблица 2 – Описание таблиц логической модели данных
Таблица | Атрибут | Тип | Ключ |
dolg | id_dolg | int(11) | РК |
dolg | varchar(100) | | |
password | varchar(50) | | |
galery | id_picture | int(11) | РК |
foto | varchar(255) | | |
otdel | id_otdel | int(11) | |
otdel | varchar(30) | | |
reviews | id_review | int(11) | РК |
review | text | | |
data | datetime | | |
id_user | int(11) | FК |
Продолжение Таблицы 2
sotr | id_sotr | int(11) | РК |
id_otdel | int(11) | FК | |
id_dolg | int(11) | FК | |
fio | varchar(1000) | | |
stage | varchar(15) | | |
path | varchar(255) | | |
users | id_user | int(11) | РК |
fio | varchar(100) | | |
login | varchar(20) | | |
password | varchar(20) | | |
phone | varchar(20) | | |
adres | text | | |
age | int(11) | | |
usluga | id_usluga | int(11) | РК |
usluga | varchar(100) | | |
price | decimal(10,2) | | |
id_otdel | int(11) | FК | |
zapis | id_zapis | int(255) | РК |
id_sotr | int(255) | FК | |
data | date | | |
time | varchar(5) | | |
id_user | int(255) | FК |
Первичный ключ (PK) - это поле или поля таблицы, которые используются как идентификатор элемента. Подобно идентификатору, значение первичного ключа таблицы всегда уникально для каждой записи. Поля, составляющие первичный ключ, используются также для построения индекса, предназначенного для быстрого доступа к ее строкам.
Внешний ключ (FK) — это поле или поля таблицы, которые, не будучи употребленными в качестве идентификатора, часто используются при объединении с другими таблицами.
Скрипт создания базы данных представлен в Приложении А.
3. Разработка веб-приложения
3.1 Выбор системы управления базами данных
Чтобы упростить работу с такими хранилищами данных и повысить эффективность их применения, создаются специализированные системы управления базами данных. Одной из таких СУБД является MySql.
Это реляционная система управления базами данных. Таково официальное определение.
MySQL создавалась силами шведских разработчиков из одноименной компании в 1994 году. Тогда и состоялся ее релиз под свободной лицензией. Позже компанию поглотила Oracle. MySQL распространяется бесплатно и входит в стандартный набор утилит LAMP для разработки сайтов на базе Linux.
MySQL — не единственная в своем роде. Но системы управления базами данных часто ассоциируют конкретно со шведской разработкой. Доходит до того, что серверы баз данных с любым ПО называют MySQL. Все благодаря ее популярности и признанности среди крупных корпораций. Ее используют в Facebook, YouTube, Google и тысячах других IT-компаний.
MySQL — это популярная СУБД с моделью «клиент-сервер». Поэтому часто можно услышать от других разработчиков словосочетание «MySQL-сервер». Это действительно сервер, только сервер базы данных. Он создан для обеспечения доступа к данным для других сервисов и приложений.
Принцип работы MySQL-серверов.
Он такой же, как в любых клиент-серверных моделях. Одно устройство делает запрос, а второе отвечает. Запрашивающих может быть больше одного, все зависит от сервера, сети и поставленных задач.
Технически немного иные, но по своей сути идентичные процессы происходят в среде MySQL:
-
Система создает базу данных для хранения информации (ее сортировки, идентификации и т.п.). -
Клиенты (другие компьютеры в сети) подают запросы к базе с помощью специфичных для SQL команд. -
Серверное приложение обрабатывает запрос и выдает ответ клиенту (выдает запрашиваемые данные).
Для взаимодействия с MySQL-сервером используются соответствующие утилиты. Некоторые работают только в командной строке. Некоторые награждены графическим интерфейсом. Популярные решения – WorkBench, SequelPro, SQL Studio, TablePlus. Правда, большинство вебмастеров предпочитает phpMyAdmin, так как та входит в LAMP и работает в браузере.
-
Теоретические основы разработки web-приложения
Виды web-приложений.
Web-приложение — это приложение, одна часть которого загружается в браузер и взаимодействует с пользователем (визуально-интерфейсная часть), а другая находится на
web-сервере и выполняет запросы, поступающие от первой, а затем возвращает ответ. Часть, которая загружается в браузер и с которой взаимодействует пользователь, называется клиентской частью (фронтенд). На web-сервере находится серверная часть web-приложения (бэкенд).
Различия между web-приложением и web-сайтом представлены таблице 3.
Таблица 3 – Различия между web-приложением и web-сайтом
Web-сайт | Web-приложение |
Позволяет просматривать данные | Позволяет манипулировать данными |
Можно пользоваться без аутентификации | Требуется аутентификация |
Выдает заранее подготовленные HTML-страницы, в основном, со статическими файлами | Фрагменты HTML-страницы генерируются и обновляются «на лету» |
Проще в разработке; меньше настроек для посетителя | Требует разработки; дает больше настроек для пользователя. Это порождает сложность, обратная сторона чего — потенциальные ошибки |
Преимущества web-приложений.
Web-приложение обладает многими преимуществами, в том числе перечисленными ниже:
-
не требует установки на жесткий диск и поэтому не занимает много пространства; -
не требует обновления, потому что обновляется централизованно; -
пользоваться можно с любого устройства, на котором есть web-браузер; -
не зависит от платформы и операционной системы (ОС): если web-приложение совместимо с браузером, оно работает; -
разработчику не требуется создавать клиентские приложения для разных ОС, потому что используется браузер.
Архитектура web-приложения.
В зависимости от распределения нагрузки между клиентской и серверной частью, можно выделить несколько типов архитектуры: от преимущественно серверных до преимущественно клиентских. Особняком стоят прогрессивные web-приложения, которым доступны некоторые возможности десктопных приложений.
Серверные web-приложения.
Вся нагрузка возложена на серверную сторону. Приложение принимает запрос, определяет какую страницу нужно вывести, и возвращает соответствующую HTML-страницу. Она может быть как статической, так и динамической.