Разработка Telegram бота и портала для информационной поддержки студентов
Характеристика методов централизации разнообразной информации об учебном процессе и способов предоставления доступа к ней. Разработка системы, предоставляющей информацию об актуальных новостях, ближайших мероприятиях, расписании с помощью Telegram-бота.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 01.12.2019 |
Размер файла | 6,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Аннотация
telegram бота процесс учебный
Выпускная квалификационная работа написана на тему “Разработка Telegram-бота и портала для информационной поддержки студентов”.
Актуальность темы связана с потребностью на рынке программных продуктов, связанных с образовательной деятельностью, актуальных источников информации с простым и интуитивно понятным интерфейсом, адаптированных под современные мессенджеры.
Разработанная система направлена на помощь в процессе обучения, путем информирования студента о актуальных новостях, событиях, расписании с помощью ключевого объекта разработки - чат-бота в мессенджере Telegram и информационного портала. Разработанный продукт сократит временные затраты на поиск необходимой информации, необходимой в течение учебного года.
В рамках выпускной квалификационной работы были выполнены следующие пункты:
? Проанализирована предметная область
? Произведен обзор аналогов
? Изучены инструментальные средства и применены в разработке
? Разработан информационный портал
? Разработан чат - бот в мессенджере Telegram
Заключительным этапом стало ручное тестирование системы с помощью участников, благодаря чему, исправлены ошибки и сделаны верные выводы.
Отчет содержит 96 страниц, 10 таблиц, 29 рисунков.
Abstract
The final qualifying paper is written on the theme “Development of a Telegram bot and a portal for informational support for students”.
The relevance of the topic is related to the need in the market for software products related to educational activities, relevant information sources with a simple and intuitive interface, adapted for modern instant messengers.
The developed system is aimed at assisting in the learning process by informing the student about current news, events, schedules with the help of a key development object - a chat bot in the Telegram messenger and an information portal. The developed product will reduce the time spent on finding the necessary information needed during the school year.
As part of the final qualifying work, the following items were performed:
? Analyzed subject area
? Reviewed analogues
? Studied tools and applied in the development
? Developed an information portal
? Developed a chat bot in the Telegram messenger
The final stage was manual testing of the system with the help of the participants, due to which errors were corrected and correct conclusions were made.
The report contains 96 pages, 10 tables, 17 figures.
Введение
В настоящее время самым ценным ресурсом является информация. Благодаря ей люди создают и внедряют в жизнь новые технологии, оптимизируют различные процессы, создают более комфортные условия для существования. Можно сказать, что в настоящий момент информация является основным двигателем прогресса и эволюции. Поэтому высокую ценность обретают источники, которые приносят определенную полезность людям, потребляющим информацию оттуда. Такие источники называются медиа-продуктами. Одними из самых популярных агрегаторов медиа-продуктов являются социальные сети, которые на протяжении последнего времени бурно развивались. Однако прогресс не стоит на месте, и за последние несколько лет появились еще более продвинутые сервисы, которые позволяют потреблять и обмениваться информацией еще более безопасно и комфортно. Такими сервисами являются мессенджеры.
С появлением социальных сетей и мессенджеров, таких как WhatsApp, Viber, Telegram среда информационных технологий стала более доступней для пользователя любого возраста. Благодаря этим платформам студент может получать информацию, как практическую - для обучения, так и развлекательную - о происходящих событиях. Telegram является одной из площадок медиа пространства [3]. В Telegram существует три вида медиа: чаты, каналы и боты. Телеграм-чаты создаются для обмена сообщениями между всеми участниками беседы. Телеграм-канал подразумевает отправку информации от одного лица, который является администратором. Бот - это собеседник в мессенджере, который отвечает на запросы автоматически. Он заранее запрограммирован выдавать пользователю определенную информацию. Важно отметить, что Telegram - это один из самых популярных мессенджеров на территории России и стран СНГ, является российской разработкой от создателя социальной сети Вконтакте Павла Дурова [1]. Ежемесячная российская аудитория мессенджера за 2017 год увеличилась более, чем в 4 раза с 3 млн. человек до 13 млн.
Изначально, мессенджер Telegram был создан с целью обмена сообщениями между пользователями. С течением времени, функционал мессенджера претерпел изменения и улучшения, а именно собеседником любого пользователя может стать автоматическая программа, иными словами бот.
Основная тема и идея данного проекта, является мало изученной в научной среде, но имеет большой потенциал в связи с активным развитием и популяризацией мессенджеров в повседневной среде. Актуальность разработки и возможности внедрения данного проекта в повседневное использование студентами НИУ ВШЭ обусловлена тем, что мессенджер Telegram не задействован в качестве официального источника для получения повседневно-необходимой информации, таких как расписание, нормативные документы и иных полезных сведений. Данная платформа является наиболее актуальной для создания ботов с набором цепочек-ответов. Суть таких ботов заключается во взаимодействии пользователя и платформа с помощью текстовых сообщений. Бот в мессенджере Telegram не похож на, в традиционном понимании, диалоги, и также имеет отличия от ботов в любой из социальных сетей. Определенно, сам мессенджер является одним из лидеров среди конкурентов, так как изначально создавался в качестве мобильного мессенджера, в связи с этим весь функционал и возможности Telegram имеют ряд преимуществ в своей среде. Несмотря на то, что Telegram является одним из самых молодых мессенджеров, владелец сервиса позиционирует свою разработку лидером рынка. Это подтверждается наличием удобного интерфейса, быстрым откликом, обратной связью, как для простого пользователя, так и для разработчика. Универсальность данного приложения, а именно реализация под все современные платформы, такие как Android, iOS, Windows Phone, Windows, macOS, Linux, а также веб-версия проекта, помогло сделать выбор в сторону Telegram.
На данный момент НИУ ВШЭ насчитывает порядка 8 официальных источников информаций, одним из которых является web-портал “Hse.ru”. Он же является основным центром сбора, оповещения и получения данных, необходимых для абитуриентов, студентов и выпускников. Изобилие информации, представленной для всех периодов человека, связанного теми или иными способами с жизнью НИУ ВШЭ не дает возможности получить мгновенно исчерпывающий ответ для студентов, которые обучаются на данный момент. Высшая Школа Экономика имеет в ряде своих официальных источник Telegram - канал (@hse_live), который предоставляет обзор на ближайшие события, связанные с жизнью НИУ ВШЭ. Однако, Telegram - бот не представлен, как официальный источник, который мог бы централизовано предоставлять информацию для студентов, которые обучаются на данный период. В связи с этим было принято решение создать и реализовать проект, главной целью которого будет помощь студентам в период обучения, путем отделения от основного источника информации и консолидации всех требуемых данных в единый портал с возможностью использования Telegram - бота.
Платформа, на базе которой, принято реализовать проект имеет удобный интерфейс, а получение ответа от бота происходит моментально. Данное преимущество значительно повышает вовлеченность пользователей относительно продуктов в других социальных сетях.
1 Анализ предметной области
В настоящее время на рынке программных продуктов, связанных тем или иным образом с образовательной деятельностью, существует множество различных вариантов, начиная от простых веб-сайтов и заканчивая полноценными мобильными приложениями, которые используются ежедневно независимо от местоположения пользователя.
В зависимости от потребностей, возможностей и желаний, пользователь выбирает наиболее подходящий для него вариант. В традиционном понимании чат - бот - это программа, которая работает внутри мессенджера. Определённо, кроссплатформенный мессенджер Telegram стал лидером на рынке за последние годы в сфере предоставления информации посредством ботов. Одной из причин таких достижений, стало проведение конкурсов с большими денежными выплатами на создание интересных ботов. К 2020 году планируется, что 80% компаний на рынке будут пользоваться чат - ботами, для решения вопросов, например заявка на ремонт орг. техники, бронирование переговорных, адаптация новых сотрудников в офисе.
Можно сделать вывод, что на данный момент Telegram - боты это набирающие популярность и прочно осевшие в повседневной жизни сервисы. Что же касаемо образовательной деятельности, то нет полноценных чат - ботов в мессенджере Telegram. Несомненно, данная область требует анализа, изучения и разработки новых продуктов.
1.1 Обзор существующих аналогов
Изначально, часть функционала разрабатываемого проекта - Telegram бота и веб - портала, выполняли сторонний сервисы. Так, например, считается, что ключевым источником информации принято считать официальный сайт. Высшей школе экономики принадлежит веб-сайт с доменом “hse.ru”. Помимо этого, существует большое число групп в социальных сетях, таких как Вконтакте, Facebook, Одноклассники. Между тем, в них размещается больше развлекательной информации о жизни студентов и университета в целом, нежели критически полезной информации.
1.1.1 Сайт Высшей Школы Экономики
В качестве ключевого источника информации принято считать официальный сайт. Высшей школе экономики принадлежит веб-сайт с доменом “hse.ru”. Данный портал включает в себя большое число контента, требуемое студенту в период обучения.
Наиболее важные ссылки:
· все актуальные новости;
· преподаватели и сотрудники;
· прием в лицей/бакалавриат/магистратуру/аспирантуру;
· научные мероприятия;
· конкурсы и гранты;
· публикации;
· нормативные акты [6].
Однако личный опыт использования его показал, что не так просто найти необходимые документы или данные. Веб-сайт обязан быть релевантным, так как пользователю должна отображаться информация, точно подходящая под запросы пользователя. Информация на сайте также должна быть точна, отражая цели, для которых был создан сайт. К тому же информация должна быть хорошо структурирована, разбита по темам и категориям.
Другим фактором является оценка качества веб-сайта. Пользователя должен комфортно воспринимать сайт, эта опция называется юзабилити. Как правило, юзеры пролистывают текст, пытаясь найти для себя важную и актуальную информацию. На основе этого, необходимо взять во внимание некоторые критерии при улучшении качества веб-сайта:
1. Сочетание цветов текста и фона.
2. Гиперссылки в тексте веб-сайта
3. Навигация внутри сайта, структура сайта
1.1.2 Telegram - канал Высшей Школы Экономики
На официальном сайте, принадлежащем Высшей школе экономики расположена ссылка на Telegram - канал. Телеграм-канал подразумевает отправку информации от одного лица, который является администратором. Канал в Телеграм на первый взгляд напоминает группу в любой другой социальной сети, однако имеет несколько преимуществ относительно них. Канал в мессенджере - это блог с качественным контентом и чистой статистикой. Автор упаковывает контент и понимает, что он доставит его в карман читателя, где лежит его мобильный телефон. Читатель откроет и прочитает сообщение. Поэтому контакт автора канала с аудиторией максимален
Основными статистическими показателями телеграм-каналов являются количество подписчиков и вовлеченность аудитории или ERR (Engagement rate by reach) [4]. ERR = количество просмотров / количество подписчиков. Количество просмотров публикации для расчёта ERR берётся за то количество времени, на сколько на канале предоставляется реклама. Чаще всего реклама предоставляется на 24 или на 48 часов.
Чтобы попасть в данный Telegram - канал, необходимо перейти в сам мессенджер, далее поиск и ввести ссылку на канал @hse_live. Данный канал позиционируется, как развлекательный портал с общей лентой с кратким обзором новости, внутри которой, расположена гиперссылка на официальный сайт НИУ ВШЭ с полным описанием новости. Активность канала крайне мала, учитывая соотношение подписанных человек на Telegram - канал к общему числу обучающихся студентов в университете (2400 подписчиков / 40000 обучающихся студентов) [5]. Стоит добавить отсутствие распределения новостей, например для бакалавриатов/студентов/аспирантов/преподавателей и крайне низкую активность в размещение новостей. Статистика размещения за период март отображена в таб.1:
Таб. 1. Новостная лента
Дата |
Новость |
|
4 марта 2019 г. |
||
6 марта 2019 г. |
||
11 марта 2019 г. |
||
14 марта 2019 г. |
||
21 арта 2019 г. |
1.1.3 Telegram - бот неофициальный
Далее, после тщательного анализа ботов Telegram, был найден единственный, «любительский» бот для получения расписания HSE Schedule (@hseschedule_bot). Опыт использования его в течение 45-50 дней показал, что бот работает нестабильно. Запрос на цепочку ответ не дает выбора последующего действия, что затрудняет его использование. Помимо этого, для прохождения тестов был взят бот Teflbot (@Teflbot), так как он обладает автоматизированной проверкой правильности выбора ответов.
1.1.4 Официальная группа НИУ ВШЭ Вконтакте
Наиболее масштабной и популярной социальной сетью в Российском сообществе пользователей информационными системами является Вконтакте.
Данная сеть позволяет пользователям отправлять сообщения друг другу, создавать собственные страницы и сообщества, обмениваться изображениями, тегами, аудио- и видеозаписями, создавать ботов. На сайте зарегистрировано более 350 млн. человек, а ежедневная аудитория портала составляет более 80 млн. человек. Основной возраст пользователей Вконтакте от 18 до 24 лет. Так как данный возрастной промежуток совпадает с типичным периодом обучения в университете, следует предполагать, что в данной сети также размещена информация связанная с НИУ ВШЭ.
При запросе в разделе группы поискового слова “ВШЭ” выдается 6873 результата по состоянию на 17.03.2019. Большое число каналов не дает возможности начинающему студенту найти интересующую его группу, связанную с миром новостей о жизни университета, информацию о обучении и другое. Данная социальная сеть была создана задолго до появления мессенджера Telegram. При этом, важно отметить, что создателем и социальной сети, и мессенджера является один и тот же человек - Павел Дуров.
Страница НИУ ВШЭ в ВКонтакте была создана для размещения информации о жизни университета, в том числе о различных курсах, вебинарах и конференциях. Принцип работы группы заключается в размещении различных постов и новостей на стене социальной сети. Заходя в группу ВКонтакте, пользователь может пролистывать стену снизу вверх для просмотра текущих новостей. Кроме того, пользователь может в строке поиска, найти необходимую ему новость о жизни университета за предыдущий период, а также прокомментировать размещенную информацию, поставить знак «лайк» в случае, если новость понравилась.
Между тем, данная группа ВКонтакте не может заменить Telegram бот, поскольку функционал не сравним с разрабатываемым проектом.
1.1.5 Руз
На данный момент расписание, занятия, а также загруженность аудиторий любой студент, а также преподаватель может узнать на веб-сайте с доменом “ruz.hse.ru”. Посетив данный веб - портал, пользователь сможет выбрать из списка: номер группы, студент, преподаватель или аудитория. В зависимости от выбора предлагается ввести номер группы, имя или номер аудитории. Далее следует выбрать дату и появится интересующая пользователя информация. Со стороны обывателя - студента данный портал вполне удовлетворяет потребность в информационном обеспечении. Исходя из вышеперечисленной последовательности, для того чтобы узнать расписание занятий, требуется совершить целый алгоритм действий, который занимает определенный временной интервал, что не подходит из соображений экономии времени.
Ключевым фактором, на основе которого, можно сказать, что данный портал имеет большое преимущество, это приложения, адаптированные под систему IOS и Android. Данные приложения решают проблему с затратой времени, но существует ряд важных недостатков, таких как проблема с адаптацией под новые мобильные устройства рис.1 и корректностью подгружаемых данных.
Рис 1. Адаптация приложения
Подводя итоги, можно сделать вывод, что все исследуемые сайты и приложения имеют ряд достоинств и недостатков. Приводя во внимание все аспекты, можно приступать к разработке проекта для информационной поддержки студентов.
Делая выводы из главы по обзорам существующих аналогов, можно сделать вывод, что данная область не “исследована” и не имеет конкурентов. Разработку требуется проводить с учетом всех недостатков и преимуществ других сервисов.
1.2 Актуальность поставленной задачи
Современные методы обучения и доставки информация до конечного потребителя постоянно требуют совершенств в любых сферах жизни начиная от продуктовых магазинов и заканчивая крупными государственными предприятиями. То, что было актуально 5 лет назад уже не пользуется популярностью, или теряет аудиторию [7]. Донесение актуальной информации до студентов в краткие сроки, а именно изменение в расписании, крупное мероприятие (добровольная сдача крови или день рождения университета) и прочее, требует немедленного оповещения. Единый способ доставки информации до студента не всегда удобен, а зачастую отнимает больше времени, чем действительно могло бы. Поэтому одной из главной задач в этой области является проблема актуализация подачи информации под современные платформы связи в обществе.
Чем больше студентов поступают и обучаются, тем важнее охватить всю аудиторию разом, в короткий интервал времени. Студенты, в силу своего возраста, достаточно активно изучают и используют в своей повседневной жизни все новинки, в частности мессенджер Telegram. Как правило, не все постоянно мониторят сайты своего университета и дополнительные официальные источники, необходима централизация всех требуемых и значимых данных. Следовательно, целью данной является создание проекта для информационной поддержки студентов на основе мессенджера Telegram. Разработанная система должна предоставлять удобный сервис для студентов, обучающихся в университете.
2 Описание объекта исследования и выбор программных средств
Telegram - чат это возможность обмена мгновенными сообщениями между участниками конференции - беседы. Telegram - канал является односторонним способом получения информации, а именно отправки ее от лица администратора. Telegram - бот является также участником конференции, состоящей только из непосредственно участника и бота, который выдает информацию в зависимости от запросов пользователя. Telegram - боты создаются с целью получения информации путем выбора определенного пути из древа цепочек вопрос-ответ. В представленном проекте объектом исследования является Telegram - бот, так как на данный момент является одним из наиболее популярных способов получения любой информации, начиная от текстовой и заканчивая видео-объектами.
Для разработки любого нового продукта и выведения его на рынок необходимо преодолеть множество этапов, начиная с разработки идеи и заканчивая подведением результатов. Однако специфика разработки может сильно отличаться в зависимости от вида нового продукта, так, этапы разработки нового промышленного продукта могут значительно отличаться от стадий развития цифрового продукта.
В связи с использованием большого числа входных данных для проекта было принято решения разделения на этапы. Первый этап подразумевает в себе определение структуры web - портала, а именно путь получения информации пользователем: линейный тип движения от главной страницы и далее, сетевая структура, при которой пользователи могут перемещаться от страницы к страницы без строго порядка, или же иерархическая структура, при которой на главной странице содержится краткая информация о подразделах. Вторым этапом является выбор модели построения сайта, а именно выбор между: модель водопада, спиральная модель или MSF(Microsoft Solutions Framework).
Заключительным этапом определяются технологии разработки web - портала, а именно техническая часть back-end и пользовательская froent-end.
Этапы анализа осложнены тем, что на данный момент недостаточно изучены моменты взаимодействия web - сайтов и Telegram - ботов, способности студентов получать информацию используя данный мессенджер, а также пере избыточность источников информации принадлежащих НИУ ВШЭ.
2.1 Определение структуры
На сегодняшний день можно отметить порядка 3-ех наиболее популярных и используемых структур: линейная, сетевая, иерархическая.
Линейная - это такая структура сайта, при которой пользователь переходит от страницы к странице последовательно [8]. Наиболее частое применение данной структуры находится при описании последовательных шагов процесса, изложении информации в определенном порядке или инструкциях. Для наиболее комфортного использования каждая страница как правило имеет ссылки на предыдущую и последующую страницы Рис.2.
Рис.2 Линейная структура
Сетевая - данную структуру можно сравнить с паутиной, так как перемещение пользователя происходит в хаотичном порядке и нет строгой последовательности [9]. При такой структуре страницы обычно содержат ссылки на все разделы и подразделы сайта для удобства пользователей Рис. 3.
Рис.3 Сетевая структура
Иерархическая - приведенный тип структуры является аналогом пирамида, во главе которой находится главная страница, которая содержит в себе ссылки на подразделы или страницы рангом ниже. Наилучшее применение такого типа заключается в расположении на главной странице ссылку и информации о разделах ниже Рис.4.
Рис.4 Иерархическая структура
Произведя обзор структур, а также учитывая специфику разработки проекта, была выбрана и внедрена иерархическая структура для проекта.
2.2 Определение модели
Модель - Представление - Контроллер (MVC) - данная схема применяется, когда происходит разделение всех данных приложения, логики управление и интерфейс пользователя на три основные части, чтобы можно было производить апгрейд каждого компонента независимо [10]. Модель может предоставлять данные и методы, такие как запросы в БД и проверка на корректность. Модель всегда не зависит от компонента и контроллера, и имеет строение с возможностью ответа на запрос с изменением состояния.
Объектно - реляционное отображение (ORM) - этот тип технологии в среде программирования, наиболее часто используется для связи баз данных с концепциями объектно-ориентированных языков программирования, тем самым получая «виртуальную объектную базу данных». Сегодня существует два типа реализации данной технологии: проприетарные и свободные.
Django 2.1 - это свободный фреймворк, который реализуется для web - приложений на языке программирования Python, который использует в качестве шаблона проектирования MVC [2].
Используем фреймворк Django 2.1, который позволяет не работать напрямую с базами данных, а использовать ORM (объектно-реляционное отображение). Опишем ключевые сущности, с которыми мы будем работать: Новости, События, Факультеты, Группы, Занятия. После описания моделей Django автоматически создала необходимые таблицы в базе данных изображенных на Рис.5.
Рис 5. Базовая модель данных
2.3 Определение основного языка программирования
Язык программирования Python - это интерпретируемый, объектно-ориентированный высокоуровневый язык программирования с динамической семантикой [11]. Быстрая разработка приложений (RAD) это та область, для которой Python наиболее подходящий, а также возможность использования в качестве сценарного языка для связи программных компонентов, делают этот язык востребованным. Простота в написании кода, дает также возможность легкого чтения синтаксиса, что в свою очередь сокращает затраты на поддержку разрабатываемых продуктов. Помимо этого, Python имеет поддержку большого числа модулей и пакетов, плюс сам интерпретатор и богатая стандартная библиотека доступны бесплатно и свободно распространяются по лицензии Python Software Foundation License. Модули используются в качестве основы для новых программ. Они дают средства для работы с файлами, системными вызовами соединения, интерфейсы к различным графическим библиотекам, создание приложений, пакеты для использования научных вычислений, обработка изображений и многое другое.
Данный язык был придуман в Нидерландах программистом Гвидо ван Россумом и имеет дату создания в декабре 1989 года [18]. Изначально он планировался, как потомок язык ABC, с возможностью обработки исключений и взаимодействия с ОС Amoeba. 1991 год является значимым, так как Россум опубликовал свой код, который быстро начал набирать популярность в интернете. Можно подумать, что название языка связано со змеей, однако, он назван в честь главного героя Монти Пайтона из комедийного сериала «Воздушный цирк Монти Пайтона» [12].
Области применения Python находятся в самых различных сферах, начиная от баз данных и обработки текстов и заканчивая программированием GUI. Одна из главных сфер применения, это программирование Интернет и Веб приложений. Данный язык и пакетные модули применяют такие гиганты, как NASA, Yahoo, Google и другие. Google находит применения языка в разработке своей поисковой системы, видеохостинг YouTube также был написан на этом языке [13].
Простота использования, множество средств для структурирования и поддержки масштабных программ, отличная обработка ошибок делает этот язык одним из лидеров даже на сегодняшний день. Python дает возможность разбития программ на отдельные модули, с целью использования в других программах. Так как Python является языком интерпретируемым, то экономится время на компиляции. Язык позволяет писать компактные, а главное легко читаемые программы. Причины, по которым код является короче эквивалентному, например на C++, заключаются в следующем:
* типы данных высокого уровня позволяют выразить сложные операции одной инструкцией;
* группирование инструкций выполняется с помощью отступов вместо фигурных скобок;
* нет необходимости в объявлении переменных.
Помимо этого, большим плюсом является простота интеграции с такими языками как Java, C, C++ через внедрение интерпретатора в программы на этих языках или использование библиотек, написанных на вышеприведенных языках, в программах, написанных на языке Python. Основная поддержка нескольких парадигм программирования:
· императивное (процедурный, структурный, модульный подходы);
· объектно-ориентированное;
· функциональное.
В наши дни Python продолжает активно развиваться и является высокоуровневым и многоцелевым языком программирования. Стоит заметить, что язык соответствует стандартам Американского национального института стандартов и Международной организации по стандартизации, тем самым продолжает входить в пятерку популярных на конец 2018 года [19]. До сих пор Гвидо ван Россум разрабатывает и усовершенствует свой язык, наблюдает и принимает окончательные решения по развитию по мере необходимости.
Возможности языка программирования Python:
· Работа с xml/html файлами;
· Работа с http запросами;
· GUI (графический интерфейс);
· Создание веб-сценариев;
· Работа с FTP;
· Работа с изображениями, аудио и видео файлами;
· Робототехника;
· Программирование математических и научных вычислений;
Подводя итоги, данный язык программирования имеет возможность решения огромного числа повседневных задач, начиная от самого простого резервного копирования и заканчивая созданием масштабного продукта в связи с тем, что он практически не имеет ограничений. Простота и универсальность определённо делают его одним из лучших языков программирования.
2.4 Определение фреймворка
2.4.1 Сервер
Фреймворк (англ. Framework) в переводе с английского обозначает каркас или структуру, в веб-программировании является специальной платформой, которая облегчает процесс веб - разработки. Несмотря на использование фреймворком и в других областях программирование, именно в веб-разработке заметно большое развитие. Главным моментом является то, что все фреймворки используют паттерн проектирование MVC, так как это является условием организации кода или компонентов. Паттерн разбивает все приложения на три элемента:
· Бизнес-процессы;
· Управление потоками данных;
· Создание HTML-страниц [14].
На данный момент известно огромное число различных фреймворков, а для языков программирования PHP, Ruby, Java разрабатываются несколько фреймворков. Самыми популярными являются, конечно, проекты для Java и PHP. Самые востребованные фреймворки имеют сообщества, документацию и даже учебники. Для работы с сайтом и продвижением фреймворки наиболее подходят, чем системы управления сайтом, так как сайты быстрее на отклик и не требуют много ресурсов.
Фреймворк Django является общедоступным проектом, что определенно является преимуществом для начинающих компаний и стартапов, потому что стоимость на данных этапах является ключевым аспектом. Так как Django является одним из самых популярных фреймворков, то существует огромное число сообществ помощи новичкам и разработчикам, а также подробно описана теория с примерами. Высоконагруженные сайты - это то, что с чем прекрасно справляется Django благодаря встроенным инструментам и использование Django позволяет увеличивать сложность веб-ресурса от одностраничных до полноценного форума. Несмотря на то, что Python является надежным языком, Django также обладает множеством инструментов для безопасности юзера.
Для реализации серверной составляющей проекта необходимо определиться с используемым фреймворком. Была сделана выборка наиболее популярных back-end фреймворков по состоянию на конец декабря 2018 года:
· Laravel (PHP);
· Django (Python);
· Flask (Python);
· Symfony (PHP);
· Node.js (JS).
Немаловажным аспектом при выборе back-end фреймворка является язык программирования, на котором он написан: PHP, Python, JS. Язык программирования должен совпадать с языком библиотеки, который предназначен для реализации Telegram - бота, так как это позволит не писать промежуточных прослоек между двумя языками.
Для начала обратимся к фреймворкам, которые написаны на языке программирования PHP: Lavarel и Symphony. Так как язык PHP не поддерживает многопоточное программирование выполнение задач в базовой комплектации, что не позволит в будущем реализовывать асинхронные цепочки задач и работать с большими нагрузками [15]. Возьмем наиболее популярный фреймворк из двух, а именно Lavarel, и проведем сравнительный анализ с Django Рис. 6.
Рис 6. Сравнение количества запросов/секунду
Django: Обычный текст - 3127 запросов/секунда, JSON - 3060 запросов/секунда, Случайный SQL запрос - 2137 запросов/секунда.
Laravel: Обычный текст - 212 запросов/секунда, JSON - 167 запросов/секунда, Случайный SQL запрос - 140 запросов/секунда.
Из-за сильного преимущества Django над Laravel по скорости при базовых операциях Laravel не является лучшим выбором.Node.js по сравнению с Django и Flask поддерживает событийно ориентированный стиль программирования, что сильно усложняет разработку.
Ключевые различия фреймворков Flask и Django:
· Flask дает широкий выбор пользователю в реализации вещей с помощью легкости, аккуратности и гибкости в работе.
· Django обладает рядом важных моментов: панель администратора, интерфейс БД, ORM, а также структура каталогов для проектов.
· Flask выступает в роли контролера над компонентами в использовании(такие как базы данных), или же в набирании опыта.
· Django выступает в роли конечного продукта, например новостные сайты, блоги и т.п., то есть для прямолинейных проектов.
Сравним работу веб-портала до применения фреймворка Django, модели и структуры и после Таб 2.
Таб. 2. Сравнение процессов
Функция |
С использованием |
Без использования |
|
Вывод web-страниц |
Автоматический рендер шаблонных тегов |
Парсинг страницы и ручная подстановка данных |
|
Создание API |
Использование встроенных инструментов для работы с адресами и обработчиками |
Ручная обработка адресов и использование дополнительных библиотек для принятия http запросов |
|
Панель управления |
Генерируется автоматически на основе моделей |
Требует полной разработки, которая включает пользовательский интерфейс, Api, сессии. |
|
Асинхронное исполнение |
Полностью асинхронное исполнение всех аспектов системы. |
Полное отсутствие асинхронности и потребность в самостоятельной реализации многопоточности. |
|
Логирование |
Ведётся автоматически. |
Требует ручной настройки. |
|
Работа с базой данных |
Поддерживается ORM с удобной системой получения и редактирования данных |
Имеется потребность в написании SQL запросов при использовании SQL-подобной СУБД |
Из вышесказанного можно сделать вывод, что для решения поставленных задач больше подходит Django.
2.4.2 Клиент
Бутстрап (англ. Bootstrap) является фреймворком, набор CSS - стилей, HTML - инструментов и шаблонов для быстрого создания адаптивных сайтов современно и в сжатые сроки. Бутстрап является открытым проектом, помощником для дизайнеров и разработчиков интерфейсом. Немаловажной особенностью является то, что фреймворк имеет постоянное обновление, поэтому поддерживается как кросс-браузерность (Safari, Firefox, IE, EDGE и тех, что на основе Chromium), так и браузеры старых версии.
В нем есть следующие шаблоны:
· Шрифты;
· Кнопки;
· Формы;
· Метки;
· Навигация;
· Сетка;
· JavaScript-расширения.
Bootstrap обладает большим число преимуществ например, экономия времени - используются готовые дизайны и классы, адаптивность - макеты качественно отображаются на самых различных устройствах без внесения в разметку, дизайн - централизованные шаблоны и стилевое оформление всех страниц сайта, простота и открытость - отлично справляются начинающие веб - разработчики.
Помимо этого, в фреймворке применяют LESS - динамический язык стилей, благодаря которому возможно управление цветами, создание вложенных колонок и прочее. Концепция адаптивного дизайна, которую заложили в бутстрап, решает проблему отображения информации вне зависимости от размера экрана и типа устройства, нет изменения в цветовой гамме и содержании.
Список инструментов, которые применяются при разработке с целью облегчения создания:
· Таблицы - оформление таблиц, с возможностью сортировки;
· Шаблон - фиксированный или растягиваемый;
· Кнопки - возможность применения выпадающих кнопок;
· Навигация - предложение готовых решений постраничной навигации, вкладок и прочее;
· Типографика - стилистическое оформление заголовков, цитат, кода;
· Форма - различные формы с возможностью чек - бокса;
· Сетка - содержит 12 колонок с фиксированными размерами;
· Медиа - оформление картинок и видео;
· Прогресс - бары;
· Алерт - всплывающие окна и предупреждения;
· Шрифт из иконок.
Помимо множества возможностей фреймворк дает возможность избавиться фронтенд разработчику от траты времени на разбор кода, так как бутстрап подразумевает стандартизацию кода и стилей.
2.4.3 Дополнительные технологии
Сервер: для развертывания проекта требуется сервер, на котором будет работать ядро. В роли сервера была выбрана услуга VDS-SSD-4, обладающая производительностью:
1. Диск:
60 ГБ SSD
2. Объем RAM:
2 ГБ
3. Ядра процессора:
2x 2 ГГц
4. Поддерживаемые ОС:
Windows Server 2008/2012 R2, CentOS 7, Ubuntu 16, Debian 8, FreeBSD
Для корректной работы Django используется связка технологий Django+UWSGI+nginx [16]. Данная связка обеспечивает устойчивую работу системы и хорошо выдерживает нагрузку, uwsgi может работать в режиме нескольких потоков и балансировать нагрузку в зависимости от количества одновременных подключений. Каждый процесс uwsgi автоматически поднимается при появлении ошибок.
Клиент: jQuery - одна из множества библиотек JavaScript, которая принадлежит Джону Ресигую Основная цель библиотеки в упрощении взаимодействия между между HTML, CSS и JavaScript [17]. Простота в использовании сделало эту библиотеку достаточно популярной. Преимущества jQuery представлены ниже:
· Встроенные визуальные эффекты;
Наличие большого числа эффектов, которые не требуют написания длинного кода, как на CSS и JavaScript.
· Простая работа с AJAX;
Простота в обработке AJAX запросов с помощью jQuery.
· Кросc-браузерность;
· Пользователи использующие IE8 доставляли ряд проблем, однако jQuery применяет движок Sizzle для выбора селекторов и позволяет это делать одинаково успешно во всех браузерах.
· Быстрый доступ к DOM.
Telegram - бот: Библиотека - совокупность программ и подпрограмм применяемых в области создания программного обеспечения. Библиотеки имеют разделение на динамические и статические. Динамически - часть ключевой программы, загружается ОС по запросу работающей программы (Dynamic Link Library Windows). В случае, если динамическая библиотека находится в адресном пространстве ОС, то копия может быть применена в множестве работающих других программ, следовательно улучшение ресурса ОЗУ. Также динамическая библиотека может быть использована в роли плагина, для расширения функционала программы.
Типы расширений для разных операционных систем таб.3:
Таб. 3. Виды расширений
Тип ОС |
Расширение |
|
Unix |
so |
|
MacOS |
dylib |
|
AmigoOS |
library |
|
Windows |
dll |
Принимая во внимание назначение можно различить несколько библиотек:
· библиотеки, которые применяются только в одной программе и содержат критические функции;
· библиотеки, которые применяются в одной программе и содержат дополнительные функции;
· библиотеки, которые применяются в нескольких программах и содержат функции общего пользования.
Статистически - библиотека, которая обладает открытым исходным кодом, с целью вставки в программу. Библиотеки, рассылаемые в виде объектных файлов, можно использовать при компоновке. В свою очередь, компоновщик применяет соединение объектных файлов библиотек и программы в момент формирования исполняемого файла.
Расширения объектных файлов статических библиотек в разных ОС таб.4:
Таб. 4. Виды расширений
Тип ОС |
Расширение |
|
UNIX |
a |
|
Microsoft Windows |
lib |
Определимся с набором параметров, на основании которых можно сделать выбор в пользу той или иной:
· Язык, на котором написана библиотека;
· Возможность параллельного выполнения команд (асинхронность);
· Функционал;
· Поддержка/Лицензия/Актуальность кода;
· Наличие корректной документации.
Для корректной оценки функционала на основании которых можно определиться с выбором той или иной библиотеки, необходимо также выбрать некоторое число критериев. Оценка функционала будет проводиться по 3-м критериям:
· Наличие базового функционала взаимодействия с ботом
· Наличие дополнительного функционала, который не заложен в Telegram Api низкого уровня
· Возможность разнообразных подходов к дизайну кода при реализации поставленных задач.
Выделим 4 ключевые библиотеки, которые можно использовать для разработки:
§ pyTelegramBotAPI (telebot);
§ Telegram Bot Java Library;
§ PHP Telegram Bot;
§ Node.js Telegram Bot API.
pyTelegramBotAPI - этот API-интерфейс протестирован с Python 2.6, Python 2.7, Python 3.4, Pypy и Pypy 3. API находится в стадии разработки и требует постоянного обновления [20]. Все методы API находятся в классе TeleBot. Они переименованы в соответствии с общими соглашениями об именах Python. Например. getMe переименовывается в get_me, а sendMessage в send_message. Главным минусом, можно считать отсутствие ассинхронности [21].
Telegram Bot Java Library - присутствует ассинхронность, но только частичная, что является минусом. Функционал присутствует только базовый, что тоже значится недостатком.
PHP Telegram Bot - может получать обновления используя методы webhook и getUpdates. Также поддержка всех типов и методов в соответствии с TelegramApi, обработка команд в чате с другими ботами, полная поддержка встроенных ботов, интеграция Botan.io, система кеширования базы данных и управление канала из интерфейса администратора бота.
Node.js Telegram Bot API - обладает некоторыми механизмами такими как сессии и вебхуки , перенаправление в зависимости от типа содержимого сообщения в различные контроллеры, а также постоянно обновляется.
Проведем анализ и выберем наиболее подходящую таб.5:
Таб. 5. Библиотеки
Название |
Язык программирования |
Асинхронность |
Функционал |
Поддержка/Лицензия/Актуальность кода |
Документация |
|
pyTelegramBotAPI |
Python 2.6, Python 2.7, Python 3.4 |
Нет |
Базовый: + Дополнительный: - Вариативность: - |
Постоянно обновляется/GPL-2.0/Актуален на момент написания проекта |
Полная |
|
Telegram Bot Java Library |
Java |
Частичная |
Базовый: + Дополнительный: + Вариативность: - |
Постоянно обновляется/MIT /Актуален на момент написания проекта |
Полная |
|
PHP Telegram Bot |
Php |
Нет |
Базовый: + Дополнительный: + Вариативность: + |
Постоянно обновляется/MIT /Актуален на момент написания проекта |
Частичная |
|
Node.js Telegram Bot API |
JavaScript |
Частичная |
Базовый: + Дополнительный: + Вариативность: - |
Постоянно обновляется/MIT /Актуален на момент написания проекта |
Полная |
Проведя анализ 4 различных библиотек, можно сделать вывод, что для решения поставленных задач в проекте наиболее подходит библиотека pyTelegramBotAPI. несколько разносторонних подходов для решения одних и тех же задач.
Проведем сравнение возможностей до использования библиотеки pyTelegramBotAPI и после, в таб. 6.
Таб. 6. Сравнение процессов
Функция |
С использованием |
Без использования |
|
Запрос данных пользователя Telegram |
Модель пользователя предоставляется в виде python объекта. |
Модель пользователя требует дополнительную обработку. |
|
Обработка входящих сообщений |
Наличие фильтров и возможность разграничение входящих запросов по типам информации. |
Потребность в обработке данных и ручном переводе информации в требуемые форматы. |
|
Отправка сообщений пользователю |
Автоматическая генерация типов данных для отправки сообщения и конвертация сообщения в требуемый формат. |
Ручная конвертация сообщения в требуемый формат. |
|
Асинхронное исполнение |
Полностью асинхронное исполнение всех аспектов системы. |
Полное отсутствие асинхронности и потребность в самостоятельной реализации многопоточности. |
|
Логирование |
Ведётся автоматически. |
Требует ручной настройки. |
|
Генерация цепочек информации |
Не зависит от используемой библиотеки |
||
Хранение данных пользователя |
Не зависит от используемой библиотеки |
3 Реализация серверной маршрутизации
3.1 Установка необходимых пакетов на сервер
Nginx, uWSGI, Django, pyTelegramBotAPI
Nginx - веб-сервер, который обладает большой популярностью во всем мире. Свое применение он находит в использовании для хостинга высоконагруженных сайтов в Интернете. Проведя сравнение между Apache и Nginx, можно сделать вывод, что первый более требователен к ресурсам нежели второй и дополнительно его можно использовать в качестве обратного прокси-сервера.
До начала работ, необходимо убедиться, что выбран пользователь с привилегиями sudo. После его создания следует зайти на сервер вводя логин и пароль.
· Шаг 1:
Так как Nginx существует в стандартных репозиториях Ubuntu, поэтому установка очень простая. Для начала восстановим локальные списки пакетов и установим на сервер
· Шаг 2:
Настройка файрвола для разрешения доступа. Для того, чтобы отобразить настройка доступа, которые были зарегистрированы в ufw:
Вывод показывает нам, что всего имеет настройки 3 профиля. Первый дает доступ портам 80 и 443. Второй открывает только 80. И последний только 443 порт.
Дадим доступ только для 80 порта и проверим изменения:
· Шаг 3:
По окончанию установки Ubuntu запустит Nginx сам и можно проверить запуск веб-сервера
Исходя из приведенного результата, можно сделать вывод, что сервер работоспособен. Помимо этого, дополнительно можно запросить веб - страницу по вводу доменного имени или IP адреса. Определим IP адрес:
· Шаг 4:
Существует несколько способов установки uWSGI: с помощью pip, менеджер пакетов Python, можно сделать установку командой:
Модель uWSGI основывается на клиент-серверной модели. Веб-сервер совершает обращение к рабочему процессу Django - uwsgi с целью получение динамического контента
· Шаг 5.
Настройки конфигураций и старт сервера uWSGI для Django
Взаимодействие между пользователем и ботом основано на HTTP - запросах. Для решения проблем, связанных с отправкой и получением запросов, позволяя сфокусироваться на логике, используется библиотека pyTelegramBotAPI. Команда для установки библиотеки:
3.2 Настройка Nginx, и uWSGI
Веб - сервер не имеет возможности работать с Django приложениями, однако может передать пользователям файлы по запросу. Web Server Gateway Interface - WSGI - стандарт взаимодействия Python программ и веб-сервера., разработан с целью запуска Django приложения и передачи/отправки запроса от пользователя. Для этого и был создан потомок uWSGI.
· Шаг 1
· Первым делом необходимо сформировать виртуальное окружение(virtualenv) для требуемого софта:
Далее следует установить фреймворк Django в ранее созданное виртуальное окружение:
· Шаг 2:
Следующим ключевым этапом это установка uWSGI:
Совершаем проверку создание тестового файла и проводим запуск uWSGI:
Для проверки можем перейти через браузер:
Где ipadress- это адрес нашего сервера и 8000 это порт. Должно вывестись сообщение: Hello World
· Шаг 5:
Необходимо проверить работоспособность Django приложения, для этого следует заставить работать uWSGI с Django приложением, а не файлом startsystem.py:
В случае успешного запуска проекта, требуется остановить сервер для разработки и запустить uWSGI другим способом, который имеет отличия от стандартного:
При успешном выполнении команды uWSGI загрузит модуль student.wsgi
Далее необходимо снова перейти по адресу нашего сервера и если отобразится стартовая страница Django, то значит выполнение прошло успешно и в правильном порядке:
· Шаг 6.
Nginx также легко устанавливается и запускается двумя командами:
Для проверки перейдем по ip адресу сервера с портом 80. Должно высветиться сообщение welcome to nginx! Это означает, что компоненты работают корректно.
· Шаг 7.
Произведем настройку конфигурации Nginx для правильной работы с Django. Создадим файл с конфигурациями:
Конфигурации веб-сервера:
8000 порт прослушивает веб-сервер и ждет запросы от пользователей, все остальные запросы будут перенаправляться в Django приложение
На примере проекта можно понять, что вполне подходит и один веб-сервер. Однако, при более крупных проектах следует использовать два веб - сервера [22]. Первый, например будет для медиа файлов, а второй для Django приложения.
Создаем ссылку на файл с конфигурациями с целью отображения для Nginx:
· Шаг 8.
Сбор статики. Для того, чтобы запустить Nginx следует переместить статику в отдельную папку. Требуется изменить в файле student/settings.py строку:
Далее выполним команду для сбора:
Чтобы проверить корректное обслуживание медиа и статики, требуется перезапустить Nginx и поместить любой файл в проект:
Перейдем в браузере по ip адресу сервера и 8000 порта и если файл learningmachine на месте, то работа выполнена корректно:
· Шаг 9.
Требуется произвести настройку взаимодействия startsystem.py и Nginx:
В данном случае использовали порт 8001 и протокол uWSGI, следовательно при переходе по адресу ip адрес сервера и протоколу 8001 ничего не произойдет, так как браузер эксплуатирует протокол http.
· Шаг 10.
Изначально была привязка сокет к TCP порту, однако для наиболее лучшей производительности следует использовать UNIX - сокет. Произведем редактирование конфигурации файла (student_nginx.conf), перезапустим Nginx и включим uWSGI:
· Шаг 11.
Связка Nginx + uWSGI + Django. Произведем старт:
Для проверки работоспособности перейдем на ip адрес сервера с портом 8000 и увидим стартовую страницу Django. Связка функционирует успешно.
· Шаг 12.
Для удобства можно создать ini файл со всеми необходимыми опциями при запуске uWSGI. Создадим файл student_uwsgi.ini и запишем опции:
Проверим работоспособность:
· Шаг 13.
Так как uWSGI находится в виртуальном окружении, то можно сделать его глобальным и запуск будет происходить при старте ОС:
Для автоматического запуска после загрузки ОС в файле /etc/rc_local следует внести следующие изменения:
4. Реализация ядра портала
После подготовки сервера и всех дополнительных конфигураций можно приступить к реализации основного кода проекта, который будет являться основой для работы с данными и использоваться в клиентской части портала и бота. Для начала работы с проектом требуется виртуальное окружение, которое содержит актуальные версии библиотек и изолирует проект от внешних зависимостей.
4.1 Создание виртуального окружения для проекта
Так как для реализации поставленных задач был выбран язык программирования Python, будем использовать самые актуальные для него утилиты. Модуль, используемый для создания и управления виртуальными средами, называется Venv. Он обычно будет установлен большинством новых версий Python [23]. В этом случае Venv уже автоматически установлен в Python 3 и не требует никаких дополнительных манипуляций для его использования. Чтобы создать виртуальную среду, требуется выбрать каталог для ее размещения и запустить модуль Venv как скрипт с адресом директории:
Создание каталога hse-core-env. Помимо этого, происходит создание директории в этом каталоге, в котором находится копия Python. Также там находится копия стандартной библиотеки и вспомогательные файлы. Для активации виртуальной среды следует выполнить:
Скрипт выполнен для bash(оболочка). Неоходимо использовать скрипты: activate.csh и activate.fish.
Благодаря этой активации, произойдет изменение виртуальной оболочки, демонстрируя использование среды, и произойдёт запуск конкретной версии Python:
4.2 Реализация моделей для базовых сущностей
Теперь перейдём к описанию моделей для ядра проекта. В моделях содержится информация о данных в работе. В них содержатся, все поля и их поведение данных. В Django модели подчиняются следующим правилам:
1. Каждая модель это класс унаследованный от django.db.models.Model;
2. Атрибут модели представляет поле в базе данных;
3. Django предоставляет автоматически созданное API для доступа к данным; смотрите Выполнение запросов.
В проекте фигурируют основные сущности Рис.7:
1. Новость: сущность для описания свежих новостей учебного заведения, может поддерживать связь с Событиями;
2. Событие: сущность для описания актуальных событий учебного заведения, может поддерживать связь с преподавателями и новостями;
3. Преподаватель: сущность для хранения профилей преподавателей учебных заведений, может поддерживать связь с событиями и факультетами;
4. Факультет: сущность для хранения факультетов учебного заведения, может поддерживать связь с преподавателями и группами;
...Подобные документы
Недоліки та переваги при використанні телеграм ботів. Оцінка очікуваного ефекту від впровадження системи автоматизації. Стек технологій який використовувався при розробці чат-бота. Реалізація системи обліку клієнтів та замовлень онлайн магазину.
дипломная работа [7,2 M], добавлен 27.05.2023Компьютерные сети, основанные на равноправии участников. Этапы работы пиринговых сетей. Настройка сервера PtokaX. Возможности бота HUBBABOT, лингвистический фильтр и система ограничений. Папки и файлы бота, его команды. Расшифровка системных настроек.
лабораторная работа [547,6 K], добавлен 08.12.2011Понятие портала как Intranet системы. Технологии функционирования Web-портала. Особенности и функции портала учебного заведения. Использование Web-портала в учебном процессе. Структура образовательного Intranet/Internet-портала школы № 24 г.Нефтеюганска.
дипломная работа [3,0 M], добавлен 02.05.2012Разработка информационной системы для хранения информации о результатах экзаменов студентов. Описание сервисов, разработка логической и физической модели системы. Выбор системы хранения данных. Схема работы сервиса, принципы безопасности доступа.
курсовая работа [560,6 K], добавлен 09.09.2012Создание базы данных для хранения информации о пользователях системы. Применение механизма аутентификации и управления сессиями. Описание программных мер, предпринятых для обеспечения безопасности информационных ресурсов образовательного веб-портала.
дипломная работа [2,2 M], добавлен 27.06.2012Определение понятия и общее описание базы данных как упорядоченной информационной системы на носителе информации. Описание предметной области и разработка приложения базы данных, содержащей информацию о расписании занятий, для преподавателей кафедры.
курсовая работа [1,3 M], добавлен 08.08.2012Проектирование системы информационной поддержки рекламного агентства. Технико-экономический анализ и характеристика деятельности предприятия ООО "Артмосфера". Основные проблемы фирмы, подлежащие решению с помощью современных информационных технологий.
дипломная работа [1,8 M], добавлен 05.12.2011Виды и источники атак на информацию. Обзор распространенных методов "взлома". Атакуемые сетевые компоненты. Разработка технологии защиты банковской компьютерной сети. Разработка алгоритма программы контроля доступа пользователей к банковской сети.
дипломная работа [542,3 K], добавлен 06.06.2010Разработка и внедрение автоматизированной информационной системы. Изучение основных процессов, протекающих в предметной области. Создание базы данных. Исследование средств защиты информации от несанкционированного доступа и идентификации пользователей.
курсовая работа [487,2 K], добавлен 17.03.2014Создание единой информационной сети, позволяющей эффективно хранить, обрабатывать, анализировать и использовать информацию по учету успеваемости студентов. Основные функции и формы созданной информационной системы. Экономическое обоснование проекта.
дипломная работа [1,5 M], добавлен 20.10.2013Пути несанкционированного доступа, классификация способов и средств защиты информации. Каналы утечки информации. Основные направления защиты информации в СУП. Меры непосредственной защиты ПЭВМ. Анализ защищенности узлов локальной сети "Стройпроект".
дипломная работа [1,4 M], добавлен 05.06.2011Разработка базы данных информационной системы предприятия. Хранение информации о проведенных мероприятиях, его стоимости, дате и месте проведения. Использование программного продукта Microsoft SQL Server 2008 R2. Формирование информационных запросов.
дипломная работа [508,9 K], добавлен 21.02.2016Исследование методов и способов разработки информационных систем. Автоматизация деятельности продовольственного магазина. Проектирование логической схемы информационной системы. Разработка модели базы данных и структуры вычислительно-локальной сети.
курсовая работа [389,2 K], добавлен 16.03.2017Обучающие компьютерные игры, их роль и место в учебном процессе. Разработка рекомендаций по теме "Алгоритмы" в школьном курсе информатики. Анализ игровых программ учебного назначения. Развитие информационной культуры и внимательности учащихся на уроке.
дипломная работа [988,6 K], добавлен 18.11.2014Разработка автоматизированной информационной системы для учета и контроля выполнения ремонтных работ, и предоставления услуг по разработке программного обеспечения компании "МегионСофтОйл", разработка алгоритмов приложений программной системы и модулей.
дипломная работа [5,3 M], добавлен 29.06.2012Анализ программных средств несанкционированного доступа к информации в сетях ЭВМ и способов защиты. Возможности операционных систем по защите и разграничению доступа к информации и выбор самой защищенной. Планирование сети штаба объединения ВВС и ПВО.
дипломная работа [1,0 M], добавлен 14.09.2010Обоснование необходимости создания информационной системы, которая позволяет пользователю получить информацию об экономических новостях Евросоюза. Физическое проектирование базы данных. Описание интерфейса и характеристика инсталляционного пакета.
курсовая работа [1,3 M], добавлен 17.08.2015Сущностное содержание процесса проектирования электронных образовательных ресурсов; информационно-коммуникационные технологии. Инструментальные средства формирования моделей использования ЭОР и обеспечения информационной безопасности в учебном процессе.
курсовая работа [2,7 M], добавлен 10.06.2014Рассмотрение основ формирования инструмента аналитики, ведения учета и предоставления клиентам доступа к информации о наличии автозапчастей одной из тюменских компаний, занимающихся авторазбором. Описаны выявленных проблемы, а также путей их решения.
дипломная работа [4,3 M], добавлен 07.07.2015Разработка базы данных для информационной поддержки деятельности аптеки с целью автоматизированного ведения данных о лекарствах аптеки. Проектирование схемы базы данных с помощью средства разработки структуры базы данных Microsoft SQL Server 2008.
курсовая работа [3,6 M], добавлен 18.06.2012