МА ТЕМА ТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ МАШИН, КОМПЛЕКСОВ И КОМПЬЮТЕРНЫХ СЕТЕЙ
УДК 004.42
РАЗРАБОТКА WEB-ПРИЛОЖЕНИЯ «EGORAMAP» СРЕДСТВАМИ ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ ТЕХНОЛОГИЙ
А.А. Тонхоноева, Т.Ж. Базаржапова, А.Л. Мархакшинов,
Е.Р. Урмакшинова
Рассматриваются некоторые этапы разработки web-приложения для тре-кингового центра, представлены функциональные требования проекта, учитывающие потребности пользователей, выделены основные объекты и их свойства. Определены информационные потоки и сделан выбор платформы и средств разработки для реализации проекта.
Ключевые слова: трекинг, путешествия, разработка, web-приложение, функциональные требования, клиент, сервер, объект, класс.
В Республике Бурятия, как и во всей России, все больше становится сторонников здорового образа жизни. Центр «Егора» - трекинговый клуб, целью которого является объединение людей, занимающихся пешим туризмом. Одной из основных задач центра является вовлечение людей разных возрастов к различным видам путешествий по привлекательным географическим местам нашей республики. К задачам клуба также относится сбор и систематизирование данных о природных достопримечательностях и объектах, связанных с национальными традициями, предоставление актуальной информации о пеших туристических маршрутах Бурятии.
XXI век - это век информационных технологий. Практически каждый человек в наше время является пользователем Всемирной паутины. Интернет становится эффективный средством предоставления информации, соответственно, при решении многих практических задач, требующих применения информационных технологий, используют возможности Интернета. Исходя из цели разрабатываемого проекта для трекингового центра, в качестве основной задачи была выделена информационная составляющая, которая должна отвечать основным требованиям пользователей, проявивших интерес к виду деятельности «Егора». Таким образом, с помощью данного приложения пользователи могут получить систематизированную информацию о конкретном трекинге, сделать выбор маршрута.
Разработка приложения. При разработке web-приложения вначале были проанализированы потребности пользователей ресурса, на их основе сформулированы требования к функционалу приложения, обозначены основные информационные потоки, выбрана платформа для реализации проекта и средства разработки приложения. Функциональные возможности, предоставляемые пользователю, были рассмотрены с учетом приоритетности информационных потоков. Приложение позволяет:
выводить информацию о туристическом маршруте; вводить данные о новом трекинге; редактировать имеющуюся информацию о маршруте; удалять ненужный трекинг; производить поиск маршрутов;
выводить фотографии достопримечательных мест на карте Google
maps.
В качестве главного объекта разрабатываемого ресурса с учетом функциональных возможностей был определен трекинг (туристический маршрут), связанный с природными достопримечательностями. В качестве второго основного объекта был взят графический файл, хранящий фотографию места посещения.
У трекинга выделены следующие атрибуты: название трекинга; описание трекинга; схема маршрута на карте;
файл KML (используется для маркировки местоположений);
графическое изображение посещаемого объекта.
Атрибуты второго объекта:
название посещаемого места;
характеристика объекта;
дата создания фотографии.
Для реализации модели была выбрана среда Microsoft VS 2017 [3], поскольку она является бесплатной средой программирования, содержит множество шаблонов проектирования и позволяет использовать язык C#. Приведем описание классов:
namespace EgoraMap.Models {
public class Route {
public int Id {get; set;}
[Required(ErrorMessage = "Название маршрута является обязательным значением! ")]
public string Name { get; set;} public string Description { get; set;}
[Required(ErrorMessage = "Необходимо указать файл карты маршрута")]
public string Routelmage { get; set;}
[Required(ErrorMessage = "Необходимо указать файл KML маршрута")]
public string RouteKML { get; set;} public List< Photo> Photos {get; set;}
}
public class Photo {
public int Id { get; set; } [Required()]
public DateTime Photocreated { get; set; } public string Description { get; set; } [RequiredQ]
public string PhotoName { get; set;}
public int RouteId { get; set;} public Route Route { get; set;}
}
}
Ответ на действия, которые выбирает пользователь, или исполнение определенного функционала приложения, формирует контроллер [1]. Контроллер состоит из блоков, которые выполняют определенное действие. Ниже приведен фрагмент описания класса контроллера.
namespace EgoraMap.Controllers {
[EnableCors(origins: "*", headers: "*", methods: "*")]
public class RoutesController: ApiController {
DbEgoraContext db;
List<ViewRoute> vrList = new List<ViewRoute>();
public RoutesController() {
try
{ db = new DbEgoraContext(); }
catch (Exception e) {} if (db.Routes.Any()) { foreach (Route route in db.Routes) { ViewRoute vr = new ViewRoute(); vr.Id = route.Id; vr.Name = route.Name; vr.Description = route.Description; vr.ImageMap = route.RouteImage; vr.PhotoPath = GetPhotos(route.Id); vrList.Add(vr); } } }
Контроллер отвечает за обработку запросов от web-клиента, анализирует входные данные, передает их в модель, генерирует ответ. В классе контроллера описаны методы, обрабатывающие запросы, такие как GET, POST, PUT, DELETE. Если в запросах клиента передаются параметры, в том числе параметр с типом запроса (GET, POST), то по заданному типу вызывается соответствующий метод, выполняемый контроллером. В контроллере также описан метод Get с параметром id, предназначенный для обработки запроса url-строки http://anyserver.com/api/routes?id=n, где n -константа целого типа, соответствующая номеру записи из таблицы тре-кинга. Допустим, что приложение со стороны клиента отправляет web-сервису следующий запрос http://anyserver.com/api/routes?id=2. В этом случае в ответе будут получены данные в формате JSON следующего вида:
{"id":2,"Name": "Меркитская крепость'7'Description": "Меркитская крепость — скальное образование на северо-западном краю Тугнуйской долины, недалеко от границы Мухоршибирского, Тарбагатайского и Се-ленгинского районов Бурятии. Из Улан-Удэ — час пути на автомобиле.", "ImageMap": "20170510181804979_ b37c1551 - d4e1 - 42f7 - 8ce8 -329152f52f30.png", "PhotoPath": ["20170510181804998 _ 98f9e7ba - cfc4 -4ff9 - b38f -24b63b0e7ce5.jpg", "20170510181805000 _ff1fddb1 - f12a - 4090 - 9633-c18ec67b2f3e.jpg", "20170510181805024 _ee780bac - e058 - 40dc -9b94-9539f3d92c89.jpg", "20170510181805025 _2cf389a7 - 499d - 4195 -b258 - 3f5d896838a9.jpg"]}.
В конструкторе класса происходит инициализация соединения с базой данных [2]. Информация об имеющихся трекингах предоставляется пользователям с помощью метода db.Routes.Any().
На веб-странице при помощи сервиса Google maps отображается фрагмент территории Республики Бурятия, на котором метками отмечены маршруты из базы данных.
На этом сайте представлены самые популярные туристические трекинговые маршруты. Даны описания мест и фото от участников путешествий.
</script>
Ak&callback=initMap async 219
При помощи функции initMap здесь происходит инициализация необходимых параметров, например, координаты долготы и широты, параметры карты, которые сохраняются в файле KML.
Заключение. Разработанное web-приложение предназначено для людей, желающих получать новые впечатления от посещения интересных мест республики. Приложением можно воспользоваться с любого устройства, где есть выход в Интернет. Очевидный рост числа пользователей таких устройств, тренд на здоровый образ жизни доказывают востребованность данного приложения у пользователей.
Список литературы
1. Рихтер Д. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#. Санкт-Петербург: Питер, 2017. 896 с.
2. Веллинг Л. Разработка Web-приложений с помощью PHP и MySQL. Москва: Вильямс, 2013. 848 c.
3. Документация по Visual Studio - Microsoft Docs [Электронный ресурс]. URL: https://docs.microsoft.com/ru-ru/visualstudio (дата обращения 03.02.2019).
Тонхоноева Антонида Антоновна, канд. пед. наук, доцент, [email protected], Россия, Улан-Удэ, Бурятский государственный университет,
Базаржапова Туя Жамьяновна, канд. пед. наук, доцент, tonkhonoyevaa@bk. ru, Россия, Улан-Удэ, Бурятская государственная сельскохозяйственная академия имени В.Р. Филиппова,
Мархакшинов Аюр Лувсаншаравович, канд. техн. наук, старший преподаватель, [email protected], Россия, Улан-Удэ, Бурятский государственный университет,
Урмакшинова Елена Рониславовна, канд. техн. наук, доцент, заведующая кафедрой, [email protected], Россия, Улан-Удэ, Бурятский государственный университет
WEB DEVELOPMENT OF APPLICATION «EGORAMAP» BY MEANS OF OBJECT-ORIENTED TECHNOLOGIES
A.A. Tonkhonoeva, T.Zh. Bazarzhapova, A.L. Markhakshinov, E.R. Urmakshinova
The article discusses some stages of developing a web application for a tracking center, presents the functional requirements of the project that take into account the needs of users, highlights the main objects and their properties. The article presents the functional requirements of the project, identified the main objects and their properties.
Key words: class. tracking, travels, development, Internet application, functional requirements, client, server, object, class.
Tonkhonoeva Antonida Antonovna, candidate of pedagogical sciences, docent, tonkhonoyevaaahk. ru, Russia, Ulan-Ude, Buryat State University,
Bazarzhapova Tuya Zhamyanovna, candidate of pedagogical sciences, docent, tonkhonoyevaaahk. ru, Russia, Ulan-Ude, Buryat State Academy of Agriculture named after V.R. Philippov,
Markhakshinov Ayur Luvsansharavich, candidate of technical sciences, senior lecturer, tonkhonoyevaa@,hkru, Russia, Ulan-Ude, Buryat State University,
Urmakshinova Elena Ronislavovna, candidate of technical sciences, docent, head of chair, tonkhonoyevaaa hk.ru, Russia, Ulan-Ude, Buryat State University