1 Нижнетагильский государственный социально-педагогический институт (филиал) Российского государственного профессионально-педагогического университета
В статье описан процесс проектирования веб-приложения «SKYINFO» для учета и напоминания приема лекарств в терминах объектно-ориентированного подхода. Актуальность проектирования такого рода веб-приложения заключается в его востребованности разными целевыми аудиториями. Цель статьи – предложить проект веб-приложения в нотации UML.
Концептуальная модель веб-приложения представлена в виде диаграммы вариантов использования. Обозначенные варианты использования описаны и детализированы в форме диаграмм последовательности.
Структура backend веб-приложения представлена в виде диаграммы, на которой выделены четыре класса (администратор, пользователь, уведомления, лекарства) с необходимыми атрибутами, функциями и связями. Диаграмма классов была взята за основу создания базы данных, которая реализована в системе управления базами данных MySQL с помощью веб-интерфейса PhpMyAdmin. Пользовательский интерфейс спроектирован в виде набора связанных между собой веб-страниц: в работе представлена логическая модель, а также стилевое оформление веб-приложения для учета и напоминания приема лекарств. Представленные в статье материалы могут быть интересны студентам, изучающим проектирование и разработку веб-приложений, и использованы как основа для реализации подобного рода веб-приложений для уведомления пользователей о значимых событиях.
Программа Парацельс. Автоматизация аптеки. Обзор программы для аптеки, (приход, наценка, продажи)
проектирование
веб-приложение
объектно-ориентированный подход
универсальный язык моделирования
1. MyTherapy – приложение для отслеживания приёма лекарств. [Электронный ресурс]. URL: https://droidnews.ru/mytherapy-prilozhenie-dlya-otslezhivaniya-priyoma-lekarstv (дата обращения: 06.05.2019).
2. Roundhealth – приложение для отслеживания приёма лекарств и состояния здоровья. [Электронный ресурс]. URL: https://appagg.com/ios/medical/round-health-17472058.html?hl=ru (дата обращения: 06.05.2019).
3. Mr. Pillster – напоминания о приеме таблеток. [Электронный ресурс]. URL: https://mr-pillster.ru.uptodown.com/android (дата обращения: 06.05.2019).
4. Леоненков А. «Самоучитель UML». СПб.: БХВ-Петербург, 2007. 576 с.
5. Мюллер Р. Базы данных и UML: Проектирование. М.: ЛОРИ, 2013, 422 с.
6. Дженифер Т. Разработка пользовательских интерфейсов. СПб.: Питер, 2011. 480 с.
В настоящее время большинство людей регулярно принимают различные лекарственные препараты и витамины. Как известно, в большинстве случаев для получения оптимального эффекта от приема лекарств требуется их употребление по определенной схеме, графику. Как показывает проведенный нами опрос среди различных возрастных категорий, многие люди периодически забывают вовремя принять препарат, что может привести к снижению эффективности от его приема, а также отразиться на здоровье человека в целом.
Легкая программа для аптеки USU
Современные информационные технологии способствуют решению обозначенной проблемы. Например, уже сегодня на рынке программных продуктов представлены такие мобильные приложения, как Roundhealth, Mr. Pillster, Mytherapy и другие, цель которых напоминать пользователю о необходимости приема лекарств [1–3]. Недостатком рассмотренных приложений является отсутствие мультиплатформенности.
В свою очередь, веб-приложения лишены данного недостатка и могут использоваться на мобильных устройствах с любой операционной системой. Таким образом, можно сделать вывод об актуальности разработки специализированного веб-приложения «SKYINFO» с системой отправки уведомлений о необходимости принять лекарство.
Цель исследования: проектирование веб-приложения для учета и напоминания приема лекарств «SKYINFO».
Материалы и методы исследования
Для разработки проекта «SKYINFO» используется объектно-ориентированная методология проектирования информационных систем, основу которой составляет объектно-ориентированная концепция представления моделей предметной области в форме классов, обладающих структурными свойствами и поведением [4].
Результаты исследования и их обсуждение
В результате анализа предметной области было составлено формальное описание процесса напоминания пользователю о необходимости приема лекарственных средств посредством веб-приложения. Этапы данного процесса визуально представлены в виде комплекса UML-диаграмм.
Для определения функциональных требований к веб-приложению была разработана диаграмма вариантов использования (рис. 1).
Рис. 1. Диаграмма вариантов использования
Диаграмма вариантов использования содержит три действующих лица: «Посетитель», «Пользователь» и «Администратор». Действующие лица системы, в свою очередь, инициируют различные варианты использования: «Зарегистрироваться», «Войти», «Посмотреть график приема лекарств», «Создать уведомление», «Вести учет приема лекарств», «Редактировать данные о приеме лекарств», «Удалить данные», «Выбрать данные из базы», «Отправить уведомление», «Редактировать данные». Подробно описание выделенных вариантов использования представлено ниже.
«Зарегистрироваться». Вариант использования включает в себя одно расширение: «Сохранить данные». Для регистрации посетитель вводит необходимые данные (логин, пароль, подтверждение пароля, e-mail) в форму и нажимает кнопку «Отправить». Регистрационные данные пользователя сохраняются в базу данных. Выводится уведомление об успешном сохранении, после чего происходит переадресация на страницу авторизации.
«Войти». Вариант использования включает в себя одно расширение: «Аутентифицировать». Пользователь вводит данные для входа в соответствующие поля и нажимает кнопку «Войти». Введенные пользователем данные сравниваются с базой данных. Если данные совпадают, то выводится уведомление об успешном входе и происходит переадресация на главную страницу.
Если данные не совпадают, то выводится соответствующее уведомление и пользователю нужно их проверить или зарегистрироваться.
«Посмотреть график приема лекарств». Пользователь заходит на главную страницу. Из базы данных выводится информация о графике приема лекарств.
«Создать уведомление». Пользователь нажимает на кнопку «создать уведомление», открывается форма для ввода данных о приеме лекарств.
«Вести учет приема лекарств». Вариант использования включает в себя четыре расширения: «Добавить данные о приеме лекарств», «Удалить данные», «Выбрать лекарства из базы», «Редактировать данные о приеме лекарств».
Расширение «Добавить данные о приеме лекарств». Пользователь открывает форму для ввода данных о приеме лекарств. Заполняет поля «название лекарства», «кратность приема», «срок приема», «время приема». Нажимает кнопку «Сохранить». Данные сохраняются в базу.
Выводится уведомление об успешном сохранении и происходит переадресация на главную страницу со сформированным графиком приема лекарств.
Расширение «Редактировать данные о приеме лекарств». Пользователь нажимает на кнопку «Редактировать данные», открывается форма для редактирования. Пользователь вносит изменения в нужные поля. Данные обновляются в базе данных. Выводится сообщение об успешном уведомлении и происходит переадресация на главную страницу с изменённым графиком приема лекарств.
Расширение «Удалить данные». Пользователь нажимает кнопку «Удалить». Запись о приеме лекарства удаляется из базы данных. Выводится уведомление об успешном удалении и происходит переадресация на главную страницу.
Расширение «Выбрать данные из базы». Пользователь нажимает кнопку «Выбрать лекарство», после чего следует переадресация пользователя на страницу «Лекарства». На данной странице пользователь может осуществлять более детальный поиск лекарств и ознакомиться с характеристиками лекарственных средств. Далее пользователь вводит название лекарства в поле поиска.
Если лекарство найдено, то пользователь нажимает кнопку «Добавить». После чего выбранное пользователем лекарство добавляется в форму для ввода данных о приеме лекарств. Если лекарство не найдено, пользователь нажимает кнопку «Детальный поиск». Переадресация пользователя на форму с критериями поиска лекарства с различными фильтрами.
«Отправить уведомление». При наступлении необходимой даты и времени принятия лекарства пользователю отправляется уведомление о необходимости его принять.
«Редактировать данные». Администратор нажимает кнопку «Добавить лекарство». Открывается форма ввода данных. Администратор вводит все необходимые поля. Нажимает кнопку «Сохранить». Выводится уведомление об успешном сохранении и происходит переадресация на главную страницу. Администратор нажимает кнопку «Изменить лекарство».
Открывается форма со список лекарств. С возможностью редактирования/удаления лекарств. Администратор нажимает кнопку «Редактировать пользователей». Происходит переадресация на страницу списка пользователей с возможностью редактирования/удаления пользователей.
При инициализации определенного варианта использования пользователем, выполняется определенная последовательность действий, которая описывается с помощью специальной диаграммы UML. Пример описания варианта использования «Зарегистрироваться» в виде диаграммы последовательности приведен на рис. 2.
Рис. 2. Диаграмма последовательности «Зарегистрироваться»
Рис. 3. Диаграмма классов
Рис. 4. База данных
Рис. 5. Главная страница проекта «SKYINFO»
После того как определены функции приложения и описаны варианты использования, необходимо создать диаграмму классов (рис. 3). Диаграмма классов является типом диаграммы статической структуры. Она описывает структуру системы, показывая её классы, их атрибуты и операторы, а также взаимосвязи этих классов [5].
Диаграмма классов проекта «SKYINFO» состоит из четырех классов: User (Пользователь), Notifications (Уведомления), Bank (Связующая таблица) и Lec (Лекарства).
Диаграмма классов является основой для разработки базы данных, где будет храниться вся необходимая информация для работы веб-приложения.
База данных была реализована средствами системы управления базами данных СУБД MySQL с помощью веб-интерфейса PhpMyAdmin. Физическая модель – база данных проекта «SKYINFO» представлена на рис. 4.
Для обеспечения целостности информации, представленной в базе данных, были установлены связи между таблицами. Таблица «User» связана с таблицей «Notifications» с помощью связи «один ко многим», так как у пользователя может быть множество уведомлений. В одном уведомлении может храниться несколько лекарств, для хранения этой информации потребуется смежная таблица «Bank». В таком случае таблица «Notifications» будет связана с таблицей «Lec» связью «многие ко многим».
Для удобства использования веб-приложения «SKYINFO» также был разработан пользовательский интерфейс. Дизайн интерфейса базируется на «Material Design» – единой концепции построения логики работы и внешнего вида сервисов и приложений, унифицирующей все программное обеспечение с целью его максимально лёгкого и интуитивного восприятия пользователями [6].
Интерфейс главной страницы веб-приложения представлен на рис. 5.
После авторизации пользователь попадает в личный кабинет, интерфейс представлен на рис. 6. В личном кабинете пользователь может создавать уведомления, нажав на кнопку «Создать уведомление». Также пользователь из личного кабинета имеет доступ в раздел «База лекарств», а также завершить активный сеанс с помощью кнопки «Выйти».
Заключение
В результате выполнения данной работы было спроектировано веб-приложение «SKYINFO» с гибкой системой напоминания о необходимости приема лекарств. Проект был представлен в виде комплекса UML-диаграмм, позволяющих определить функционал и структуру веб-приложения и макетов веб-страниц со стилевым оформлением. Представленный в статье проект веб-приложения может использоваться как основа для реализации подобного рода веб-приложений для уведомления пользователей о значимых событиях.
Источник: science-engineering.ru
Разработка чат-бота федеральной сети аптек
Бизнесу нужно идти в ногу с пользователем. Когда-то для контакта с клиентом нужен был только сайт. Сайт нужен и сегодня, но теперь нужны еще и SMM-сообщества, E-mail и SMS-рассылки, мобильное приложение и, конечно же, общение в мессенджерах. Мессенджеры стали популярными в использовании, и многие компании рассматривают в аудитории мессенджеров потенциальных клиентов.
В связи с этим появились чат-боты, которые способны не только упростить работу пользователя, но и снизить нагрузку на рабочий персонал компании. И тут речь не только про виджет с консультантом на сайте и новостные каналы в Telegram. Чат-бот может отвечать на общие вопросы клиента в режиме 24/7, подсказывать цены и наличие товара, помогать оформлять заказ.
Чат-бот своими возможностями напоминает приложение, однако его возможности зависят от ограничений мессенджера, для которого его создают. Если сравнивать по быстроте разработки между приложением и чат-ботом, то тут выигрывает чат-бот. Кроме того, пользователю не нужно ничего скачивать — сейчас почти у каждого установлено по 2-3 мессенджера или клиента социальных сетей.
Для простых справочных чат-ботов есть удобные и мощные конструкторы. Есть даже самообучающиеся боты, с которыми можно относительно свободно поговорить о компании, продуктах или услугах. Но как только речь заходит об учете остатков, актуальных ценах или программе лояльности, о конструкторе можно забыть — этого они не умеют. В таком случае требуется индивидуальная разработка чат-бота.
Решаемая задача
В 2019 году к нам обратился один из клиентов (федеральная сеть аптек) за разработкой чат-бота для трех платформ (Алиса, ВК, Facebook). Основная цель — автоматизация типовых запросов за счет модной фишки. Дополнительные цели — разгрузка SMM-специалистов и создание нового канала продаж.
Начать решили с простых задач:
- Выдача справочной информации
- Поиск товаров в наличии по региону
Логика для всех платформ в целом, одинаковая, были отличия в деталях. Например, Алиса в режиме «устройство без экрана» должна была переспрашивать некоторые команды — распознавание наименований медицинских препаратов пока что не на высоте.
Как мы решали задачу
Функции бота
Сайт клиента разработан так, что код чат-бота разместили прямо на сайте в скрытом разделе. Это позволило обращаться к базе данных сайта и использовать интерфейс для управления данными бота.
Сначала нам потребовалось точно описать все взаимодействия пользователя и чат-бота. Для самых запутанных случаев рисовали конечный автомат (диаграмма состояний лучше всего описывает логику бота).
Выдача справочной информации
Бот должен отвечать на вопросы («Как оформить заказ?», «Как позвонить?») заданными ответами. Ответы и формулировки вопросов хранятся на сайте в виде файлов. При желании контент-менеджер может их изменять в интерфейсе администратора системы.
Выбор города
Процедура кажется простой, она самая разветвленная. Все просто, если пользователь правильно написал свой город, город найден в базе и такой город только один. Но на каждый ошибочный сценарий предусмотрены свои «пути отступления». Если пользователь опечатался в названии города, он может его исправить. Если городов несколько — чат-бот просит уточнить субъект РФ.
Чат-бот узнает город пользователя при первом обращении, и затем этот город используется в поиске. Пользователь может изменить город в любой момент из главного меню чат-бота.
Поиск товаров в наличии
Пользователь может написать чат-боту: «хочу купить» и бот переспросит, что именно. Альтернативный сценарий: сразу спросить «у вас есть анальгин?» (и еще десяток вариаций этой фразы).
Реализация этой команды показала все выгоды нашего подхода (разместить чат-бот прямо на сайте). Сайт уже умел выполнять поиск с учетом наличия товаров в городе и выводить цены. Нам оставалось только превратить запрос к чат-боту в еще один поисковый запрос.
Особенности платформ
Почти любой мессенджер и социальная сеть сегодня предоставляют API для бесед. У каждой платформы свой API, но всегда действует следующая схема общения:
Т.е. общение между сервером мессенджера и обработчиком чат-бота всегда происходит по надежному протоколу HTTPS.
Ближе всех к разработчикам, несомненно, Telegram — создать «пустого» бота и опубликовать его для всех пользователей мессенджера можно за несколько минут. А вот у самого популярного мессенджера, WhatsApp, пока что закрытое API. Есть неофициальные способы создания чат-бота, но ими пользоваться нужно на свой страх и риск.
Задача заключалась в разработке чат-ботов для 3-х платформ, с которыми ранее уже работали: Алиса, Вконтакте, Facebook.
В таблице ниже приведены ограничения мессенджеров на отправку текстовых сообщений.
Источник: habr.com