Статья опубликована в рамках: Научного журнала «Студенческий» № 11(55)
Рубрика журнала: Технические науки
Секция: Технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2
РАЗРАБОТКА ВЕБ-ПРИЛОЖЕНИЯ ДЛЯ ВЗАИМОДЕЙСТВИЯ ЗАИНТЕРЕСОВАННЫХ СТОРОН В ЖИЗНЕННОМ ЦИКЛЕ ЖИЛОГО ДОМА
Аннотация. Наличие подходящего веб-приложения (полноценной программы, которая взаимодействует с пользователями (стейкхолдерами), выполняет их требования и возвращает ожидаемый результат) значительно упрощает процесс мониторинга строительства жилых домов. Рассмотрены ключевые заинтересованные стороны, участвующие в жизненном цикле жилого дома, разработан интерфейс будущего веб-приложения и первоначальный функционал для связи базы данных с модулями данного приложения.
Ключевые слова: заинтересованные стороны, интерфейс, клиент-сервер, база данных, интегрированная среда разработки.
В настоящее время в теории и практике управления используется две концепции, которые существенно различаются пониманием целей и методов управления: если в первом случае, максимально удовлетворяются интересы учредителей, то во второй концепции большая роль отводится изучению и удовлетворению интересов более широкого круга — заинтересованных сторон, например, инвесторов.
Благодаря концепции управления с позиции стейкхолдеров, понимаешь, что, если пустить проекты на самотек или не уследить за выполнением какого - либо этапа строительства жилого дома, то это может привести не к тому результату, который ожидается.
Проект как план деятельности в рамках той или иной предметной области имеет определенную структуру, и в зависимости от типа и особенностей его реализации, он может иметь от нескольких десятков до сотен заинтересованных сторон, каждая из которых имеет свои специфические функции, степень участия в проекте и меру ответственности за его судьбу.
Таким образом, целью работы является написание подходящего веб-приложения, которое позволило бы значительно упростить процесс мониторинга строительства жилых домов и улучшить процесс взаимодействия заинтересованных сторон друг с другом.
Для достижения поставленной цели необходимо:
- Выделить ключевых стейкхолдеров, заинтересованных в осуществлении строительных проектов;
- Рассмотреть жизненный цикл жилых домов и выделить основные этапы;
- Построить структуру базы данных и настроить бизнес - логику;
- Разработать функционал для связи база данных с модулями веб-приложения;
- Разработать интерфейс веб-приложения;
- Настроить связь между интерфейсом и модулями.
Для выявления ключевых заинтересованных сторон используется теория Эдуарда Фримана, в которой он разделили процесс анализа и управления стейкхолдерами на 6 этапов.
Рисунок 1. Концепция Эдварда Фримана
Таким образом, в первоначальный список заинтересованных сторон были включены пользователи со следующими ролями: администратор, учредитель, инвестор, поставщик.
Основываясь на технологии BIM - проектирования были определены этапы строительства жилого дома еще до начала строительных работ на объекте, начиная с этапа разработки технического задания и заканчивая этапом уборки территории после постройки дома перед его сдачей.
Для визуального проектирования базы данных использовался такой инструмент, как MySQL Workbench, интегрирующий проектирование, моделирование, создание и эксплуатацию БД в единое бесшовное окружение для системы баз данных MySQL.
Workbench обладает следующими возможностями:
- позволяет наглядно представить модель базы данных в графическом виде.
- наглядный и функциональный механизм установки связей между таблицами, в том числе «многие ко многим» с созданием таблицы связей.
- Reverse Engineering — восстановление структуры таблиц из уже существующей на сервере БД (связи восстанавливаются в InnoDB, при использовании MyISAM — связи необходимо устанавливать вручную).
- удобный редактор SQL запросов, позволяющий сразу же отправлять их серверу и получать ответ в виде таблицы.
- возможность редактирования данных в таблице в визуальном режиме [2].
Разработка функционала осуществлялась на языке программирования Golang посредством IDE JetBrains GoLand Build. Начало языку Go было положено в 2007 году сотрудниками компании Google.
Одним из наиболее значительных преимуществ языка Golang над другими современными языками более высокого уровня, такими как Java/Python, является их производительность. Дело в том, что Go, как и C++, вместо интерпретации компилируются.
Рисунок 2. Компиляция кода
Все вышеперечисленные моменты делают язык Go мощным инструментом в обработке параллелизма, как в C-языках и Java, но с сохранением естественности и красоты кода.
Рисунок 3. Эффективность и «красота» языков программирования
JetBrains GoLand Build – удобная IDE, которая анализирует код, ищет соединения между символами, обеспечивает завершение кода, быструю навигацию, умный анализ ошибок и форматирование, делая разработку не только продуктивной, но и приятной.
После установки данной среды разработки, ее необходимо настроить, подключить драйвер для работы с MySQL и подключиться к созданной базе данных в MySQL Workbench. После подключения создаем обработчики поступающих запросов (handlers), структуры пользователей, заказов и проектов (т.к. в GO отсутствуют привычные классы). Программирование функций происходит с использованием sql - запросов (insert, select, update, delete и т.д.) и методов POST, GET, PUT и DELETE [3, 7, 9, 10].
Для разработки интерфейса веб-приложения применялся стандартизированный язык разметки документов HTML 5.0, формальный язык описания внешнего вида документа, написанного с использованием языка разметки CSS 3, язык программирования JavaScript с подключаемой библиотеки jQuery.
Визуальный вид страниц веб-интерфейса, построенный по принципу макетного шаблона с фиксированной шириной по левому обтеканию и применением margin, состоит из верхнего блока, двух основных блоков и нижнего блока.
Рисунок 4. Основной макет
На верхнем блоке располагается информация о пользователе (статус и имя пользователя (фамилия, имя, отчество)). На левом основное блоке расположена меню навигации по веб-страницам интерфейса. В правой части система мониторинга. А нижний блок служит информационной сноской.
С подключаемой библиотекой jQuery, JavaScript получает возможности, как движок кросс-браузерных CSS-селекторов, выделившийся в отдельный проект, переход по дереву DOM, включая поддержку XPath как плагина, события, визуальные эффекты, AJAX-дополнения, JavaScript-плагины.
Функции построены для интерфейса, выполняют в основном задачи для отправок запросов данных на сервер и реализаций просмотров, обновлений, изменений, удалений полученной информации с баз данных.
Процесс функции сортировки служит для выделения определенных лиц причастных к проектам, заказам и входящие в списки пользователей сервера.
Такой интерфейс позволяет на дальних дистанциях осуществлять деловые заказы с зарегистрированными поставщиками не созванивайся друг с другом, заниматься просмотром инвесторам и учредителям за жизненным циклом жилых домов, настраиваемых администраторами, а также наблюдать за статусом прихода или отсутствия людей на рабочем месте [1, 4-6, 8].
Рисунок 5. Веб-сайт создания пользователя
После того, как функционал и интерфейс написаны, необходимо их связать. При разработке этих двух ключевых частей веб-приложения использовались заглушки. Веб-приложения создаются по архитектуре клиент-сервер. В таком случае клиентом выступает браузер, а сервером — веб-сервер. Логика веб-приложения распределена между сервером и клиентом, хранение и обработка данных осуществляется, преимущественно, на сервере, её представление в удобном для пользователя виде - в браузере. Обмен информацией происходит по сети. Без интерфейса ответ сервера на какой-либо запрос представляется в таком виде:
Рисунок 6. Представление результата выполнения запроса без интерфейса
Выводы. Таким образом, в данном веб-приложении реализованы следующие функции для таких ролей пользователей как:
I. Администратор - отправка запросов на создание новых пользователей, получение информации о пользователях, обновление данных о пользователях, удаление пользователей, получение информации о проектах, удаление проектов, обновление данных о проекте (частично), добавление нового проекта, добавление заказов; получение данных о заказах, удаление заказов; сортировка по ролям пользователей, по поставщикам заказов, по инвесторов и учредителей проектов; управления стадиями жизненного цикла жилого дома проектов;
II. Учредитель - отправка запроса на информацию о проектах, связанных с ним, получение запроса на информацию о рабочих, просмотр жизненного цикла жилого дома.
III. Инвестор - получение запроса информации о проектах, связанных с ним; просмотр жизненного цикла жилого дома.
IV. Поставщик - получение запроса информации о заказах, обновление информации о заказах; принятие/отклонение заказов; сортировка по принятым заказам и под вопросом.
В заключении необходимо отметить, что данные функции реализованы не в конечном своем виде. Дальнейшая работа над улучшением веб-приложения продолжается. На данный момент оно представляет некую pdm - систему, т.к. позволяет хранить всю необходимую информацию о процессе строительства.
В будущем планируется добавление некоторого взаимодействия с покупателями - наблюдение за ходом строительства квартиры.
Список литературы:
- Дженнифур Р. Н. HTML5, CSS3 и JavaScript исчерпывающее руководство. 4-ое издание. ООО "Издательство "Эксмо", 2014. – 256 с.
- Калеб Докси. Введение в программирование на Go / Максим Полетаев, Виктор Розаев - Creative Commons, 2014. – 90 c.
- Программирование на Go с нуля: 9 полезных видеоуроков [Электронный ресурс]: издание официальное. М.: Библиотека программиста, 2019. URL: https://proglib.io/p/go-programming (дата обращения: 10.03.2019).
- Справочник CSS. URL: http://htmlbook.ru/css (дата обращения: 19.02.2019).
- Справочник по HTML. URL: http://htmlbook.ru/html (дата обращения: 18.02.2019)
- Хоган Б. HTML5 и CSS3. Веб-разработка по стандартам нового поколения. ООО издательство "Питер", 2012.
- Agus Kurniawan. Go Programming by Example - PE Press, 2015. – 260 c.
- jQuery write less, do more. URL https://jquery.com (дата обращения: 25.02.2019).
- Nathan Kozyra. Mastering Go Web Services - Packt Publishing, 2015. – 122 c.
- Sau Sheong Chang. Go Web Programming - Manning, 2015. – 356 c.
Оставить комментарий