Диплом: Автоматизация обработки заявок в "ГБУЗ Городская клиническая больница №52 ДЗМ"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
41
В состав программного обеспечения входят общесистемные и специальные
программные продукты, а также техническая документация.
При выборе программного обеспечения для разработки будем
рассматривать следующие характеристики: надёжность; эффективность;
стоимость; понятность пользователю; простота настройки; простота оформления
экранных и печатных форм.
Для выбора языка программирования необходимо определить требования к
среде программирования. В процессе анализа требований и классификации самой
проектируемой системы были определенны следующие требования к среде
проектирования:
кроссплатформенность, необходимая для интеграции с другими
подсистемами;
гибкость, позволяющая без дополнительных затрат изменять,
дорабатывать информационную систему;
безопасность;
язык программирования должен предоставлять широкие
возможности по работе с современными СУБД [14];
открытость исходного кода, которая позволит динамическое
совершествования ИС и исправление ошибок [21].
В настоящее время наиболее распространены следующие скриптовые
языки веб-программирования [19].
ASP.NET;
PHP;
Perl.
Проведем сравнительный анализ (таблица 1.6) перечисленных языков
программирования по 6 критериям.
Таблица 1.6
Сравнительный анализ языков программирования
Критерий
Perl
РНР
ASP.NET
Кроссплатформенность
+
+
+
Гибкость
+
+
+
Безопасность
-
+
+
Поддержка современных СУБД
+
+
+
42
Универсальность
-
+
-
Открытость исходного кода
+
+
-
Проведем анализ актуальных на настоящий момент средств разработки.
Анализ начнется с имеющихся на данный момент языков и технологий
создания веб-проектов, количество которых не очень большое, но каждый язык
или технология в чем-то лучше другого и разработан для более узкой цели, чем
другой. Приведем существующие языки программирования и технологии и
опишем их:
1. PHP можно расшифровать как гипертекстовый препроцессор. Если
готовить простым языком, то это язык программирования, который используется
для генерации страниц сайта, ориентирующихся на гипертекстовую разметку.
2. ASP.NETтехнология, представляющая собой некоторые страницы
на сервере, которые при вызове выполняют некоторый программный код. Как
поведет себя пользователь, так и отреагирует страницы. Данная технология
позволяет создавать страницы сайтов в виде небольших приложений, очень
похожими на обычные программы.
3. Perl раньше позиционировался для создания отчетов на основе
собранных из хранилища данных, поэтому использовался он в основном для
работы с большими базами данных, из которых было нужно изымать отдельные
материалы и представлять в более читабельном виде.
Таким образом, определив плюсы и минусы рассмотренных выше языков,
выбор был таков: HTML – для разметки страниц сайта, CSS – для оформления
стиля страницы, JavaScript и базирующийся на нем AJAX – для быстрой работы
сайта и проверки переданных данных на корректность, PHP как основного языка
проекта, поскольку он предназначен для создания подобных разработок, а также
по нему всегда можно найти большое количество информации в интернете, сам
язык нельзя назвать сложным, существует много сред для разработки на нем,
результат работы можно видеть в режиме реального времени на своем ПК без
обращения к удаленному серверу.
Для разработки проекта будем использовать html-редактор PhpStorm.
Для реализации поставленных задач можно использовать любую
современную СУБД. Для удобного взаимодействия пользователя с системой
43
необходимо будет тщательно продумать интерфейс системы - чтобы он был
простой и в то же время функциональный.
Базы данных могут быть:
Пространственная (англ. spatial database): БД, в которой
поддерживаются пространственные свойства сущностей предметной области.
Такие БД широко используются в геоинформационных системах.
Временная, или темпоральная (англ. temporal database): БД, в которой
поддерживается какой-либо аспект времени, не считая времени, определяемого
пользователем.
Пространственно-временная (англ. spatial-temporal database) БД: БД,
в которой одновременно поддерживается одно или более измерений в аспектах
как пространства, так и времени.
Спиральная (англ. round-robin database): БД, объём хранимых данных
которой не меняется со временем, поскольку в процессе сохранения новых
данных они заменяют более старые данные. Одни и те же ячейки для данных
используются циклически.
В данном проекте необходимо использовать пространственно-временную
базу данных.
Базовые идеи современных IT базируются на концепции, согласно которой
данные должны быть помещены в БД с целью отображения верного измерения
реального мира и удовлетворения потребностей потребителей в информации.
Базы данных разрабатываются и работают под управлением специальных
программных средств, которые принято называть СУБД.
Любая СУБД дает возможность выполнять 4 базовые операции с данными:
• Добавление в таблицу одной и более записей;
• Удаление из таблицы одной и более записей;
• Обновление значения некоторых полей в одной и более записях;
• Нахождение одной или нескольких записей, удовлетворяющих
заданному условию.
44
Для реализации этих операций используется механизм запросов. Итогом
выполнения запросов становится либо отобранное по нескольким критериям
множество, либо корректировка в таблицах.
Любая современная СУБД имеет следующие компоненты:
• Ядро, отвечающее за управление информацией во внешней памяти и
ОЗУ, а также фиксирование изменений;
• Процессор языка БД, позволяющий оптимизировать запросы на
извлечение и изменение данных, а также применение машинно-независимого
исполняемого внутреннего кода;
• Компонент поддержки времени исполнения, преобразующую
программы манипуляции данными, которые реализуют взаимодействие
пользователя с СУБД;
• Внешние сервисные утилиты, поддерживающие ряд
дополнительных возможностей по обслуживанию ИС.
СУБД различают по нескольким моделям:
• Объектно-ориентированные;
• Объектно-реляционные;
• Реляционные
• Иерархические;
• Сетевые.
Опишем применяемые и существующие сегодня СУБД:
Microsoft Office Access является реляционной СУБД от компании
Microsoft. Включает в себя широкий спектр функций - связанные запросы,
взаимодействие с внешними таблицами и БД. Благодаря встроенному языку VBA,
Access сам поддерживает создание приложений, работающих с БД;
• dBase относится к семейству часто применяемых СУБД, и также
считается языком программирования, который в этих СУБД используется;
• Firebird (FirebirdSQL) можно назвать компактной,
кроссплатформенной и свободной СУБД, работающей на Linux, Microsoft
Windows и различных Unix платформах;
• PostgreSQL является свободной объектно-реляционной СУБД;
45
SQLite позиционируется как компактная встраиваемая реляционная
БД. Исходный код библиотеки является открытым.
Существует большое количество СУБД, написанных для различных ОС и
платформ, к ним можно отнести Oracle, MySQL, mSQL, PostgreSQL, IBM DB2,
SQL Server, Teradata, Interbase, Universe, GNU SQL Server, Sybase, Ingres, Informix,
Empress, LEAP RDBMS, FirstBase, Typhoon, SQL/DS, Daffodil DB, Cloudscape,
Compad Non-Stop SQL MX и SQL/MP, Ocelot, Progress, Linter RDBMS SQL.
Использование той или иной СУБД часто становится субъективным и
зависит от различных параметров, одним из которых так или иначе становится
стоимость. Язык описания данных (ЯОД) характеризуется средствами описания
данных в БД и их связями друг с другом. При помощи средств языка определяется
структура БД, пароли, форматы записей, защищающие данные. Язык
манипулирования данными (ЯМД) является языком реализации операций над
данными, который также дает возможность изменять их строение.
Для разных СУБД создание этих уровней языков может быть различно. В
одних случаях ЯОД и ЯМД необходимо реализация пользователем программы
только “вручную”, в других (что характерно на сегодняшний день) в СУБД есть
инструменты полностью наглядной разработки программ. Для этого в
современных СУБД есть редакторы экранных форм, отчетов и т.п. Механизмами
(инструментами) таких редакторов становятся различные поля (ввода, вывода и
т.д.), процедуры обработки разных типов (запросы, таблицы, отчеты, формы).
Опираясь на созданные пользователем объекты программы генераторы создают
программный код на языке отдельной машины или на промежуточном языке.
Для примера возьмем три СУБД, среди которых имеются и бесплатные, и
платные: MS SQL Server, MySQL, Oracle. Опишем кратко каждую из трех систем.
MS SQL Server. Исходный код MS SQL Server (до версии 7.0) базировался
на коде Sybase SQL Server, что дало возможность Microsoft выйти на рынок БД
для бизнеса, где конкурировали Oracle, IBM, и затем Sybase. Microsoft, Sybase и
Ashton-Tate сначала совместно создали и выпустили на рынок первую версию
программы, названной SQL Server 1.0 для OS/2 (около 1989 года), которая стала
почти аналогом Sybase SQL Server 3.0 для Unix, VMS и др. Microsoft SQL Server
46
4.2 был полностю готов в 1992 году и входил в состав ОС Microsoft OS/2 версии
1.3. Официально Microsoft SQL Server версии 4.21 для ОС Windows NT
представили одновременно с релизом самой Windows NT (версии 3.1). Microsoft
SQL Server 6.0 стал первой версией SQL Server, разработанной только для
архитектуры NT и без помощи в разработке самой Sybase.
Сервер БД Microsoft SQL Server использует в качестве языка запросов
версию языка SQL, названную Transact-SQL (сокращённо T-SQL). Язык
поддерживал дополнительный синтаксис для хранимых процедур и реализует
поддержку транзакций (непосредственное взаимодействие БД с управляющим
ПО).
В момент взаимодействия с сетью Microsoft SQL Server и Sybase ASE
применяется протокол уровня приложения, названный Tabular Data Stream (TDS,
протокол передачи табличных данных). Протокол TDS также был создан в
проекте FreeTDS для обеспечения некоторым приложениям стабильного
взаимодействия с БД Microsoft SQL Server и Sybase.
Для доступа к данным Microsoft SQL Server имеет поддержку Open Database
Connectivity (ODBC) – это интерфейс для работы предложения с СУБД. Версия
SQL Server 2005 позволяет подключаться пользователям через веб-сервисы,
которые работают на протоколе SOAP. Это дало возможность клиентским
программам, выпущенным не для использования в среде Windows, без проблем
соединяться с SQL Server. Microsoft также создала и опубликовала
сертифицированный драйвер JDBC, дающий возможность приложениям под
управлением Java (например, BEA и IBM WebSphere) без проблем
взаимодействовать с Microsoft SQL Server 2000 и 2005.
SQL Server также имеет возможность зеркалирования и кластеризации БД.
Кластер сервера SQL является некоторой совокупностью одинаково
составленных серверов; эта схема упрощает распределение рабочей нагрузки
между двумя и более серверами. Все сервера содержат одно виртуальное имя, и
данные отправляются по IP-адресам машин кластера во время рабочего цикла. В
случае отказа или сбоя на одном из серверов кластера имеется автоматический
перенос всего потока данных на рабочий сервер.
47
SQL Server поддерживает избыточное дублирование данных, описанное в 3
сценариях:
• Снимок: делается «снимок» БД, который сервер пересылает
получателям;
• Журнал изменений: все изменения БД всегда передаются
пользователям;
• Синхронизация с другими серверами: БД двух и более серверов
синхронизируются между собой. Изменения всех БД протекают независимо друг
от друга на всех серверах, в момент синхронизации идет сверка данных. Такой
тип дублирования поддерживает возможность разрешения противоречий между
БД;
В SQL Server 2005 имеет встроенную поддержку .NET Framework, что
позволяет написать хранимые процедуры БД на любом языке платформы.NET,
применяя весь набор библиотек, доступных для.NET Framework вместе с Common
Type System (система обращения с типами данных в Microsoft.NET Framework).
Но в отличии от других процессов, .NET Framework, выступающий как базисная
системой SQL Server 2005, требует дополнительную память и выстраивает
механизмы управления SQL Server и не использует встроенные средства
Windows. Такой подход дает дополнительную производительность в сравнении с
общими алгоритмами Windows, поскольку алгоритмы распределения ресурсов
точно настроены для использования в структурах SQL Server.
MYSQL. MySQL появилась в виде попыткы применить mSQL к
собственным разработкам компании: таблицам, для которых применялись ISAM
- подпрограммы низкого уровня. В итоге был создан новый SQL-интерфейс, но
API-интерфейс остался прежний от mSQL.
MySQL стал решением для малых и средних приложений. Вошел в состав
серверов WAMP, LAMP и в компактные сборки серверов Денвер, XAMPP.
Зачастую MySQL применяется в качестве сервера, к которому имеют доступ
удаленные или локальные клиенты, но в дистрибутиве находится библиотека
внутреннего сервера, что дает возможность включать MySQL в автономные
программы.
48
Гибкость СУБД MySQL реализуется поддержкой огромного количества
типов таблиц: пользователи выбирают как таблицы типа MyISAM, имеющие
полнотекстовый поиск, так и таблицы InnoDB, имеющие транзакции на уровне
отдельных записей. Также СУБД MySQL уже включает специальный тип таблиц
EXAMPLE, которые показывают принципы разработки новых типов таблиц. А
открытая архитектура и GPL-лицензирование позволяют добавлять в СУБД
MySQL новые типы таблиц.
В 2008 году Sun Microsystems купила MySQL AB за 1 миллиард долларов.
В 2010 году Oracle Corporation купил Sun Microsystems и поставил MySQL
в собственную линейку СУБД.
Группой разработчиков MySQL реализованы разные ответвления кода,
такие как Drizzle, OurDelta, Percona Server, и MariaDB. Все они уже существовали
уже в тот момент, когда компании Sun и MySQL AB были куплены Oracle.
Нынешние версии MYSQL включают в себя следующие возможности:
• Сегментирование - это возможность разделения одной большой
таблицы на несколько частей, помещенных в разные файловые системы,
руководствуясь определенной пользователем функции. При некоторых условиях
это может хорошо увеличить производительность и уменьшить масштабирование
таблиц;
• Изменение поведения ряда операторов для реализации большей
совместимости со стандартом SQL 2003;
• Построчная синхронизация, при которой в бинарный лог
записывается только информация о реально отредактированных строках таблицы
вместо оригинального (и чаще более медленного) текста запроса. Построчную
репликацию лучше применять только для определенных типов sql-запросов, а
говоря терминологией MySQL – реализовывать смешанную репликацию;
• Встроенный планировщик периодически выполняемых работ. По
синтаксису добавление задачи схоже с добавлением триггера к таблице, по
идеологии - на crontab;
• Включенный набор функций для обработки XML, реализация
поддержки XPath;
49
• Удобные средства диагностики проблем и утилиты для подсчета
производительности. Увеличены возможности по управлению содержимым лог-
файлов, логи теперь сохраняются и в таблицах general_log и slow_log. Инструмент
mysqlslap дает возможность провести нагрузочное тестирование БД и указать
время реакции на каждый запрос;
• Встроенная утилита mysql_upgrade, которая перед обновлением
выполняет проверку всех существующих таблиц на возможность совместимости
с новой версией, и если нужно сделает все корректировки;
• MySQL Cluster теперь используется как отдельный продукт,
основанный на MySQL 5.1 и хранилище NDBCLUSTER;
• MySQL Cluster претерпело изменения в специфике работы, теперь
есть возможность хранения табличных данных на диске;
• Применение встроенной библиотеки libmysqld, отсутствовавшей в
MySQL 5.0;
• API для плагинов, позволяющее загружать сторонние модули,
увеличивающее функциональность (например, полнотекстовый поиск) без
перезагрузи сервера;
• Создание парсера полнотекстового поиска в виде plug-in;
Oracle. СУБД Oracle можно назвать ветераном рынка реляционных СУБД.
Создание этой системы началось в то же время, что и IBM DB2, и даже сейчас эти
системы остаются главными конкурентами.
Oracle имеет лидирующие позиции на рынке СУБД и главное, лидирует на
платформах Unix и Windows. В России это лидерство также ощутимо, особенно в
области крупномасштабных ИС. Фактически у нас СУБД Oracle стала стандартом
государственных ИС.
Причина такой распространенности Oracle заключается, во-первых, в
хороших эксплуатационных характеристиках СУБД, широком штате
подготовленных отечественных специалистов по Oracle, наличию всех сторонней
инфраструктуры - учебных центров, партнёрской сети Oracle, различных
технических курсах по Oracle в ВУЗах и т.д. Только в Москве имеется более
десятка учебных центров, которые предлагают широкий спектр технических
50
курсов практически по всем видам ПО Oracle. Партнерская сеть нашей страны
включает в себя более 160 организаций, что позволяет реализовать поддержку ПО
Oracle почти везде по стране. На русский язык уже переведено и издано
достаточно много качественных книг по СУБД Oracle.
Служба технической поддержки Oracle реализовано очень
профессиональна и сертифицирована в России по стандарту ISO 9000.
А многие ведущие компании - партнеры Oracle, такие как FORS, RDTex
открывают собственные центры технической поддержки.
Важным является и то, что совместно с СУБД, компания Oracle
предоставляет очень важный инфраструктурный продукт - Internet Application
Server - сервер приложений, работающий в среде Internet/Intranet, а также CASE-
средства, средств разработки ПО, средства построения хранилищ данных,
оперативного анализа информации, нахождения сложных зависимостей в данных
(Data Mining), что помогает поставлять не отдельные продукты, а уже
полноценные комплексные технологические решения для заказчиков.
С технической точки зрения является преимуществом то, что Oracle
работает практически на всех существующих компьютерных платформах, в том
числе и на ЭВМ (OS/390) и на еще на более-менее популярных системах Vax
VMS, а также Windows NT и некоторых разновидностях Unix, в том числе Solaris,
HP-UX, AIX, Linux, SCO Unix и т.д.
Важным аспектом является также поддержка Oracle всех возможных
вариантов архитектур, в том числе симметричных многопроцессорных систем,
систем с массовым параллелизмом, кластеров и т.д. Видна значимость этих
характеристик для нынешних масштабных организаций, где работает
одновременно множество компьютеров различных моделей и производителей.
При этом фактором успеха является максимальная типизация возможных
решений, ставящая своей целью значительное уменьшение стоимости владения
ПО. Единообразие СУБД является одним из наиболее значимых шагов на пути
достижения поставленной ценил.
Ядром СУБД Oracle становится сервер БД, поставляемый в одном из
четырех вариантов в зависимости от размеров ИС, в рамках которой он будет

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)