Файл: Автоматизированная информационная система на основе вебтехнологий для частной медицинской клиники.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.12.2023
Просмотров: 286
Скачиваний: 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 Создание класса для работы с базой данных
Базы данных.
База данных представляет собой набор информации.
-
MySQL: одна из самых популярных в мире баз данных с открытым исходным кодом. -
MariaDB: сделано оригинальными разработчиками MySQL. MariaDB также становится очень популярным в качестве сервера базы данных с открытым исходным кодом. -
MongoDB: база данных следующего поколения, которая позволяет создавать приложения как никогда прежде. -
Redis: хранилище структуры данных в памяти с открытым исходным кодом, используемое в качестве базы данных, кэша и посредника сообщений. -
PostgreSQL: мощная система объектно-реляционных баз данных с открытым исходным кодом.
CSS препроцессоры.
CSS препроцессор - язык сценариев, который расширяет CSS, а затем компилирует его в обычный CSS.
-
Sass: очень современное, стабильное и мощное расширение CSS профессионального уровня. -
Less: позиционируется как расширение CSS, которое также обратно совместимо с CSS. Это делает изучение Less легким и, в случае сомнений, позволяет вернуться к CSS. -
Stylus: новый язык, обеспечивающий эффективный, динамичный и выразительный способ создания CSS. Поддержка как синтаксиса с отступом, так и обычного стиля CSS.
Web-серверы.
Web-сервер, который конечном итоге используется для web-приложений, обычно зависит от комбинации личных предпочтений, функциональности или ранее существовавшей инфраструктуры. Nginx и Apache являются двумя наиболее широко используемыми web-серверами, однако есть и другие варианты:
-
Nginx: открытый и высокопроизводительный web-сервер. Хорошо обрабатывает статическое содержимое и имеет небольшой вес. -
Apache: в настоящее время работает почти на 50% всех сайтов. Имеет большое сообщество и большой выбор модулей. -
IIS: расширяемый web-сервер, созданный Microsoft. Предлагает отличную безопасность и корпоративную поддержку, поэтому не является открытым исходным кодом. -
Caddy: относительно новый web-сервер. Это web-сервер с открытым исходным кодом, HTTP/2 с автоматическим HTTPS.
Локальные сервера (Dev среда разработки).
В зависимости от того, какую ОС использует компьютер, к которому у есть доступ, может потребоваться запустить быструю локальную среду разработки. Существует множество бесплатных утилит, которые объединяют Apache, mySQL, phpmyAdmin и т.д. вместе. Это может быть быстрый способ проверить что-то на вашей локальной машине. У многих из них есть портативные версии [2].
-
XAMPP: Полностью бесплатный, простой в установке дистрибутив Apache, содержащий MariaDB, PHP и Perl. -
MAMP: локальная серверная среда на OS X или Windows. -
WampServer: среда web-разработки Windows. Которое позволяет создавать web-приложения с Apache2, PHP и базой данных MySQL. -
Vagrant: создание и настройка облегченных, воспроизводимых и переносимых сред разработки. -
Laragon: отличный быстрый и простой способ создания изолированной среды разработки для Windows. Включает Mysql, PHP Memcached, Redis, Apache и отлично подходит для работы с проектами Laravel.
3.4 Особенности разработки web-приложений
Web-приложения имеют архитектурные, технологические и пользовательские особенности:
-
web-приложения должны развертываться очень быстро, и требования к ним постоянно меняются в ходе этапа разработки; -
все более частой практикой в web-разработке становится замена документов на реальные прототипы приложения; -
раннее подключение конечных пользователей к тестированию и развитию web-приложения; -
в то время как при разработке обычных приложений создается только одна версия приложения, которая удовлетворяет всем заданным требованиям, для web-приложений все более частой (и желательной) становится публикация в web-сети приложения, которое еще не удовлетворяет всем заданным требованиям; -
получение ранних отзывов пользователей становится все более важным для разработки web-приложения, а цикл развития действительно начинает рассматриваться в качестве реальной возможности для улучшения web-приложения, а не как дополнительная трата времени на доведение приложения до рабочего состояния; -
работа по проектированию web-приложений делится на проектирование данных и проектирование навигации.
Разработка web-приложений включает специфические процессы:
-
web-приложения являются специальным видом обычных программных приложений, и поэтому web-инженерия может рассматриваться в качестве специальной разновидности программной инженерии; -
разработка приложений для web-сети предполагает использование нескольких хорошо определенных правил и соглашений, которые предоставляют стабильно работающую, устойчивую и масштабируемую среду разработки и выполнения; -
существуют специальные процессы разработки, которые учитывают специфические возможности web-приложений.
Модель жизненного цикла современных web- приложений показана на Рисунке 14.
Рисунок 14 - Модель жизненного цикла современных web- приложений
Основное различие данной модели от модели разработки обычного ПО заключается в понимании развертывания приложения не как вида деятельности (работы), а как перехода между работами.
В web-сети развертывание приложения для его пользователей действительно не является трудоемкой работой: в связи с централизованной архитектурой обычных web-приложений, отсутствием специального кода приложения на стороне пользователей, использованием браузера в качестве среды выполнения работа по развертыванию web- приложения в значительной степени облегчается и ускоряется.
Данная модель предлагает явное соединение работы по поддержке и развитию с анализом требований. Именно этот переход характеризует модель, он создает второй цикл модели, который включает анализ требований. Данный цикл называется «Циклом развития». Первый цикл связывает проектирование, реализацию, тестирование и развитие. Данный цикл называется «Цикл построения и проверки». Такие два цикла соответствуют двум этапам, которые характерны для современных web-приложений: офлайн-разработка и онлайн-разработка. Офлайн-разработка заключается в создании web-приложения в среде разработки, например, Visual Studio без использования реального web-сервера. Разработка в режиме онлайн выполняется после переноса web-приложения под управление реального web-сервера: создание виртуального каталога, файлов настройки, управление web-сервером.
3.5 Выбор средств реализации
Для реализации серверной части были использованы программные продукты:
-
Вэб-сервер Apache 2.4; -
PHP 5.5; -
MySql 5.6; -
phpMyAdmin; -
PhpStorm 2022.1.1.
Вэб-сервер Apache 2.4.
Веб-сервер работает в качестве «посредника» между пользователем и физическим сервером. При получении запроса от посетителя он ищет необходимую страницу в каталоге с сайтом и отправляет её в ответ. Браузер принимает полученный файл, обрабатывает его и отображает на экране посетителя.
Передача информации веб-сервера выполняется по протоколу HTTP (HyperText Transfer Protocol), изначально созданного для работы с HTML-страницами.
Apache – это свободное программное обеспечение для размещения веб-сервера. Он хорошо показывает себя в работе с масштабными проектами, поэтому заслуженно считается одним из самых популярных веб-серверов.
Apache состоит из ядра и динамической модульной системы. Параметры системы изменяются с помощью конфигурационных файлов.
Ядро Apache разработано Apache Software Foundation на языке C. Основные функции — обработка конфигурационных файлов, протокол HTTP/HTTPS и загрузка модулей.
Модуль – отдельный файл, подключение которого расширяет изначальный функционал ядра. Они могут включаться в состав ПО при первоначальной установке или подгружаться позже через изменение конфигурационного файла. Большинство из них отвечает за определенный аспект обработки клиентского запроса – поддержку различных языков программирования, безопасность, кэширование, аутентификацию и т.д.
PHP 5.5.
PHP — скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений.
Язык определяется наличием большого набора встроенных средств и дополнительных модулей для разработки веб-приложений.
Основные из них:
-
автоматическое извлечение POST- и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы; -
взаимодействие с большим количеством различных систем управления базами данных через дополнительные модули; -
автоматизированная отправка HTTP-заголовков; -
работа с HTTP-авторизацией; -
работа с cookies и сессиями; -
работа с локальными и удалёнными файлами, сокетами; -
обработка файлов, загружаемых на сервер; -
работа с XForms.
Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.
Для написания простейшего скрипта не требуется описывать какие-либо переменные, используемые модули и т. п.
MySql 5.6.
MySQL — свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle.
MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Ветка MySQL 5.6 базируется на невыпущенной серии MySQL 5.5 и содержит ряд значительных улучшений, связанных с повышением масштабируемости и производительности, среди которых: