Диплом: Разработка сетевого чата для медицинской организации

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
35
системного администратора.
2.1.4 Основные информационные технологии, используемые в
медицинской организации
Основные информационные технологии медицинского учреждения
представляют собой методы, способы и средства, обеспечивающие хранение,
обработку, передачу и отображение информации. Программная архитектура
лечебного учреждения формируется из программных продуктов, которые
функционируют в рамках или параллельно с обеспечивающими системами. В
качестве основы работы программных продуктов используется операционная
система Windows 7.
«Windows 7» установлена на всех автоматизированных рабочих местах
(АРМ) и является операционной системой семейства Windows NT компании
Microsoft. В операционной системе реализована поддержка Unicode. Панель
поиска Instant Search распознает множество языков. Windows 7 тесно
интегрирует с производителями драйверов. Большинство драйверов
определяются автоматически. Операционная система обладает совместимостью
со старыми приложениями. Функция удалённого рабочего стола поддерживает
интерфейс Aero Peek, несколько мониторов, расширения мультимедиа,
DirectShow. Сетевая технология Branch Cache позволяет кешировать содержимое
интернет-трафика. Windows 7 имеет OEM-поддержку UEFI. В операционной
системе реализована более гибкая настройка User Account Control и функция
шифрования съёмных носителей BitLocker to go. С помощью групповой
политики и функции AppLocker возможно запретить запуск определенных
приложений. Функция DirectAccess позволяет устанавливать безопасное
соединение с сервером в фоновом режиме.
На серверах Aquarius Server T50 D68, HP ProLiant DL360p Gen8, HP
ProLiant DL120 Gen7 установлена операционная система Windows 7 Embedded.
Система Embedded имеет модифицированное ядро и урезанный функционал. В
операционной системе присутствует панель управления, встроенный браузер,
плеер, набор системных утилит, командная строка, редакторы реестра и
36
групповых политик, поддерживаются технологии Multitouch, Silverlight, DirectX,
EWF и HORM. В системе отсутствуют некоторые драйвера, отключен файл
подкачки, ряд служб и системных компонентов. При установке не создается
раздел «Зарезервировано системой». Русский язык устанавливается отдельно.
Ограничений на инсталляции стороннего программного обеспечения нет.
Защита от несанкционированного доступа осуществляется средствами
операционной системы и Active Directory с помощью парольной политики.
«Региональная медицинская информационная система qMS» («РМИС
qMS») осуществляет хранение информации о пациенте в электронной
медицинской карте, фиксацию действий врачей, управление потоком пациентов
и ресурсами учреждения, ведение финансовой отчетности, аналитическую
обработку данных и выявление причинно-следственных связей для
доказательной медицины. «РМИС qMS» объединяет информационные ресурсы
распределенной сети медицинских учреждений, органов управления
здравоохранением всех уровней, территориального фонда обязательного
медицинского образования и страховых организаций.
1С: Предприятие 8 с конфигурациями: 1С: Бухгалтерия 8, 1С: Зарплата и
кадры бюджетного учреждения 8, 1С: Документооборот 8 - программное
обеспечение для ведения бухгалтерии, управления материальной базой,
начисления заработной платы и ведения кадрового учета.
«АрхиМед» - инструмент для решения задач врача-радиолога, позволяет
получать исследования, составлять протоколы, анализировать и обрабатывать
изображения DICOM, печатать на пленке и бытовых принтерах, накапливать
долговременный архив, записывать информацию на диск со встроенным
просмотровым программным обеспечением. Программное обеспечение
установлено на АРМ рентгенологического отделения.
«Vitrea» - приложение для просмотра, передачи медицинских
изображений и обмена данными, обеспечивающее доступ (через сеть
медицинского учреждения) к электронным медицинским изображениям,
полученным с использованием различных методов визуализации, отчетам и
37
другим данным пациентов, которые могут храниться в отдельных архивах и
хранилищах.
«IQ-WEBX» - система для хранения, просмотра и передачи
разнообразных медицинских исследований и отчётов. Позволяет просматривать
и обрабатывать изображения DICOM в окне браузера.
«Kaspersky Endpoint Security 10 для бизнеса Стандартный» - пакет
безопасности. Из пакета используется: «Kaspersky Endpoint Security для
Windows» (для рабочих станций и для файловых серверов), «Kaspersky AntiVirus
для Windows Servers Enterprise Edition» и «Kaspersky Security Center».
Соответствующий антивирус установлен на рабочих станциях и серверах
медицинского учреждения.
2.2 Проектирование сетевого чата
2.2.1 Анализ предметной области
Предметная область проекта - передача информации по сети.
Чат позволяет организовать общение в виде текстовых сообщений между
неограниченным количеством пользователей и передачу файлов в режиме
реального времени.
Требуется разработать приложение, которое включает в себя разработку
следующих функциональных частей:
1. Разработка серверного приложения. На его стороне должен работать
агент, который предоставляет возможность принимать информацию от одного
клиента, рассылать ее остальным, работать с базой данных и представлять собой
приложение с графическим интерфейсом;
2. Разработка клиентского приложения. Клиент должен иметь
возможность авторизации, регистрации пользователя, отсылать текстовые
сообщения и представлять собой приложение с графическим интерфейсом;
3. Разработка базы данных.
Кроме того, программное обеспечение должно потреблять минимальное
количество ресурсов компьютера.
2.2.2 Программы-аналоги
38
Прежде, чем приступить к разработке программного обеспечения,
необходимо изучить аналогичные программы.
Skype - программа, которая обеспечивает текстовую, голосовую и
видеосвязь через Интернет между компьютерами. Программа позволяет
совершать конференц-звонки до 25 голосовых абонентов, видеозвонки до 10
абонентов, а также обеспечивает передачу текстовых сообщений (чат) и
передачу файлов. Обладает возможностью вместо изображения с веб-камеры
передавать изображение с экрана монитора, а также создавать и отправлять
видеосообщения пользователям настольных версий программы. Программные
клиенты Skype выпущены практически для всех операционных систем, в том
числе и для Smart-телевизоров [4].
Viber - приложение-мессенджер, которое позволяет отправлять текстовые
сообщения, совершать видео и голосовые VoIP звонки, передавать изображения,
видео-сообщения, аудиосообщения, документы, файлы. Для авторизации
пользователей и поиска контактов приложение использует номер телефона.
WhatsApp - средство мгновенного обмена текстовыми сообщениями для
мобильных телефонов, поддерживает голосовую и видеосвязь, предоставляет
возможность рассылать текстовые сообщения, изображения, видео, аудио,
электронные документы. Программа реализует дополнительные функции:
резервное копирование бесед, фото-, видео- и аудиоданных с применением
сервиса Google Диск, приглашение новых участников в групповой чат при
помощи ссылки в сообщении, создание каналов, удаление сообщения в течение
одного часа после отправки, добавление собственных стикеров. Клиент
действует на платформах Android, iOS, Windows Phone, Nokia, Nokia S40, KaiOS,
ОС Windows в виде веб-приложения. Функционирование веб-версии происходит
через телефон, подключенный к сети Интернет.
Дополнительные характеристики и системные требования к
коммуникационным программам отражены в таблице 3, 4 соответственно.
Таблица 3
Дополнительные характеристики коммуникационных
программ
39
характеристики
Skyp
e
V
iber
W
h
atsAp
p
Сетевой чат
1.
доступ к интернету
+ + + +
2.
доступ к
локальной сети
- - - +
3
.
интерфейс
оптимален оптимален оптимален минимален
4
.
безопасность
личных данных
+ + + -
5
.
платность услуг
+ + + -
6
.
контроль
государства
+ + + -
Таблица 4
Системные требования к коммуникационным программам
требования
Skype
Viber
WhatsApp
Сетевой
чат
1.
операционная
система
Windows 7
Windows 7
Windows 7
Windows 7
2
.
процессор
1 ГГц
3,3 ГГц
3,3 ГГц
1
,3 МГц
3
.
оперативная память
512 МБ
1 ГБ
1ГБ
128
Mb
4
.
дополнительное ПО
DirectX 9.0
-
-
-
В результате проведенной сравнительной характеристики программ-
аналогов с разрабатываемым программным обеспечением, можно утверждать,
что рассмотренные программы для коммуникации обладают необходимым
набором функций и оптимальным интерфейсом, затрачивают небольшое
количество ресурсов. Сетевой чат использует минимум возможностей
компьютера только за счет сокращения функций и упрощенного интерфейса.
2.2.3 Специальное и общесистемное программное
обеспечение для разработки проекта
Для осуществления проекта планируется использовать следующее
стороннее программное обеспечение и инструментарий:
1. Microsoft Visual Studio 2019 - интегрированная среда разработки
программного обеспечения с рядом инструментальных средств (рисунок 2).
Среда позволяет создавать консольные приложения и приложения с
графическим интерфейсом, веб-сайты, веб-приложения, веб-службы в родном и
управляемом кодах для платформ при содействии Windows, Windows Mobile,
Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и
40
Silverlight. Visual Studio содержит редактор исходного кода с поддержкой метода
IntelliSense и доступностью элементарного рефакторинга кода.
Интегрированный отладчик действует как отладчик уровня исходного кода, так
и отладчик машинного уровня. Прочие встраиваемые инструменты состоят из
редактора форм для облегчения разработки графического интерфейса
приложения, веб-редактора, дизайнера классов и дизайнера схемы базы данных.
Visual Studio предоставляет возможность создавать и подключать
вспомогательные дополнения (плагины) для улучшения функциональности
фактически на любом уровне, добавлять системы контроля версий исходного
кода (например, Subversion и Visual SourceSafe), современные комплекты
инструментов, например, для редактирования и визуального проектирования
кода на предметно-ориентированных языках программирования и инструменты
для других моментов процесса разработки программного обеспечения,
например, клиент Team Explorer для работы с Team Foundation Server.
Рисунок 2 Среда разработки Microsoft Visual Studio
2. ReSharper - дополнение, разработанное для повышения
продуктивности работы в Microsoft Visual Studio. Проводит статический анализ
кода (поиск ошибок в коде до компиляции) в масштабе всего решения,
предусматривает дополнительные средства автозаполнения, навигации, поиска,
подсветки синтаксиса, форматирования, оптимизации и генерации кода,
предоставляет 40 автоматизированных рефакторингов, упрощает юнит-
тестирование в средах MSTest и NUnit. Дополнение поддерживает языки
программирования C#, C++, JavaScript, TypeScript и VB.NET, предоставляет
41
средства для работы с ASP.NET, ASP.NET MVC, XML, XAML, HTML, CSS,
сценариями сборки NAnt и MSBuild.
3. C# 7.3 - объектно-ориентированный язык программирования
высокого уровня. Является языком разработки приложений для платформы
Microsoft .NET Framework [16]. C# имеет статическую типизацию, поддерживает
полиморфизм, перегрузку операторов, делегаты, атрибуты, события, свойства,
обобщённые типы и методы, итераторы, анонимные функции с поддержкой
замыканий, LINQ, исключения, комментарии в формате XML. Класс языка:
мультипарадигмальный. Система типов: статическая, динамическая, строгая,
утиная, вывод типов.
4. Windows Presentation Foundation (WPF) 4.6 - система для построения
клиентских приложений Windows с визуально привлекательными
возможностями взаимодействия с пользователем. Является графической
подсистемой в составе .NET Framework [2]. Структура WPF представлена на
рисунке 3. В основе WPF лежит векторная система визуализации, не зависящая
от разрешения устройства вывода и созданная с учётом возможностей
современного графического оборудования. WPF предоставляет средства для
создания визуального интерфейса, включая язык XAML, элементы управления,
привязку данных, макеты, двухмерную и трёхмерную графику, анимацию,
стили, шаблоны, документы, текст, мультимедиа и оформление [19].
Графической технологией, лежащей в основе WPF, является DirectX. Для работы
с WPF требуется .NET-совместимый язык: C#, F#, VB.NET, C++, Ruby, Python,
Delphi, Lua. Полноценную работу обеспечивают Visual Studio и Expression Blend.
Первая ориентирована на программирование, вторая - на дизайн.
Рисунок 3 Структура WPF
42
5. MahApps.Metro 1.6.5. - библиотека пользовательского интерфейса,
содержит готовые стили для стандартных компонентов WPF. Библиотека
поддерживает возможность изменения цветовой гаммы проекта и создание
собственных цветных гамм.
6. MySql.Data 8.0.19 - библиотека для работы с базой данных MySQL
на языке программирования высокого уровня C#.
7. Newtonsoft.Json 12.0.3 - это популярная высокопроизводительная
среда JSON для .NET, которая предоставляет широкий спектр классов и методов
для выполнения общих задач с данными json, включает в себя возможность
сериализации и десериализации данных json, поступающих из разных
источников.
8. Model-View-ViewModel (MVVM) - шаблон проектирования
архитектуры приложения. Ориентирован на платформы разработки Windows
Presentation Foundation, Silverlight от компании Microsoft, ZK framework.
Используется для разделения модели и её представления с целью их
видоизменения отдельно друг от друга. Шаблон MVVM делится на три части
(рисунок 4):
Рисунок 4 Графическое представление MVVM
- Модель - логика работы с данными и описание фундаментальных
данных, необходимых для работы приложения;
- Представление - графический интерфейс (окна, списки, кнопки).
Выступает подписчиком на событие изменения значений свойств или команд,
предоставляемых Моделью Представления.
- Модель Представления - с одной стороны, абстракция Представления, а
с другой - обёртка данных из Модели, подлежащие связыванию.
9. Open Server Panel - портативная серверная платформа и программная
43
среда, созданная для веб-разработчиков. Платформа состоит из основных
компонентов (OSPanel 5.3.5, Apache 2.4.41, Bind 9.14.5, ConEmu 19.07.14, FTP
FileZilla 0.9.60, Ghostscript 9.27, Git 2.23.0, HeidiSQL 10.2.0.5599, Nginx 1.17.3,
NNCron Lite 1.17, Sendmail 32, Wget 1.20.3), систем управления базами данных
(MariaDB, Memcached, MongoDB, MySQL, PostgreSQL, Redis 3.2.100), PHP
модуля 7.3.9 с расширениями и PHP приложений (Adminer 4.7.3,
PHPMemcachedAdmin 1.3, PHPMyAdmin 4.9.0.1, PHPPgAdmin 7,
PHPRedisAdmin 1.11.4, PostgreSQL, Redis 3.2.100).
10. phpMyAdmin - веб-приложение с открытым кодом, написанное на
языке PHP и представляющее собой веб-интерфейс для администрирования
СУБД MySQL.
11. MySQL - реляционная система управления базами данных.
12. MyISAM - система хранения данных в СУБД MySQL.
13. Draw.io - онлайн-сервис для создания диаграмм, графиков, таблиц,
блок-схем разнообразных форм и структур. С помощью веб-сервиса Draw.io
возможно создать девять видов диаграмм UML: диаграммы классов, состояний,
кооперации, последовательности, деятельности, прецедентов, объектов,
компонентов, развёртывания.
2.2.4 Архитектурное обеспечение
Для сетевого программного обеспечения выбрана двухзвенная клиент-
серверная архитектура так, как архитектура является сетевой, в которой сетевая
нагрузка распределена между поставщиком услуг - сервером и заказчиками
услуг - клиентами (рисунок 5).
Рисунок 5 Двухзвенная клиент-серверная архитектура
44
В клиент-серверной архитектуре на выделенном сервере, действующим
под контролем серверной операционной системы, устанавливается особое
программное обеспечение - сервер базы данных. Основа работы сервера базы
данных - применение языка запросов SQL. Запрос на языке SQL, передаваемый
чат-сервером, вызывает поиск и извлечение данных из базы данных. Полученные
данные программа чат-сервер отсылает по запросу чат-клиента.
Программное обеспечение клиент и сервер взаимодействует между собой
посредством сетевого протокола ТСР. Программа-сервер ожидает от клиентских
программ запросы и предоставляет им свои ресурсы в виде данных или в виде
сервисных функций. Поскольку, программа-сервер выполняет запросы от
множества программ-клиентов, её размещают на специально выделенной
вычислительной машине-сервере с высокой производительностью и
настроенной особым образом.
Преимущества клиент-серверной архитектуры: сохранность
информации, устойчивость к сбоям, масштабируемость, защищенность
информации от несанкционированного доступа, меньшая нагрузка сети одним
пользователем, что обеспечивает большую пропускную способность сети и
возможность обслуживать большее число пользователей.
2.2.5 Информационное обеспечение
В проекте используется реляционная база данных MySQL, которая
состоит из двух таблиц «Зарегистрированные пользователи» и «История
сообщений». Описание базы данных «Зарегистрированные пользователи»
представлено в таблице 5.
Таблица 5
Зарегистрированные пользователи
н
аименование поля
и
дентификатор
поля
т
ип
поля
д
лина
поля
п
рочее
Код пользователя id число 10
ключевое
поле
Логин пользователя login строка 255
Хеш
SHA512
пароля
пользователя
password строка 128
email пользователя email строка 255

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

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