close

Вход

Забыли?

вход по аккаунту

Чаборин Артем Викторович. Разработка онлайн-сервиса проверки юридической чистоты транспортного средства для мессенджера Telegram

код для вставки
АННОТАЦИЯ
ВКР 81 с., 26 рис., 3 табл., 21 источников, 1 прил.
ОНЛАЙН-СЕРВИС,
ТРНСПОРТНОЕ
СРЕДСТВО,
ЮРИДИЧЕСКАЯ
ЧИСТОТА, МЕССЕНДЖЕР, TELEGRAM.
Выпускная квалификационная работа посвящена разработке онлайн-сервиса
проверки юридической чистоты транспортного средства для мессенджера
Telegram.
В первой главе произведен анализ предметной области, описаны процессы
проверки юридической чистоты, произведен анализ видов рекламы в сети Internet,
произведен анализ сервисов проверки юридической чистоты автомобиля,
определены функциональные требования к разрабатываемому сервису, описан
бизнес-процесс.
Во второй главе произведен выбор инструментальных средств разработки
онлайн-сервиса проверки юридической чистоты транспортного средства для
мессенджера Telegram, произведен анализ систем управления базами данных,
спроектирована БД, описана архитектура онлайн сервиса проверки юридической
чистоты транспортного средства для мессенджера Telegram.
В третьей главе разработана и описана логика диалога с пользователем,
представлены экранные формы онлайн-сервиса проверки юридической чистоты
транспортного средства для мессенджера Telegram.
4
СОДЕРЖАНИЕ
СПИСОК СОКРАЩЕНИЙ
6
ВВЕДЕНИЕ
7
1 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
10
1.1 Описание процесса проверки юридической чистоты
10
1.2 Процесс проверки юридической чистоты автомобиля
12
1.3 Анализ видов рекламы в сети Internet
16
1.4 Анализ сервисов проверки юридической чистоты автомобиля
26
1.5 Функциональные требования к разрабатываемому сервису
30
1.6 Нефункциональные требования к разрабатываемому сервису
31
1.7 Описание бизнес-процесса
31
2 ПРОЕКТИРОВАНИЕ ОНЛАЙН СЕРВИСА ПРОВЕРКИ ЮРИДИЧЕСКОЙ
ЧИСТОТЫ ТРАНСПОРТНОГО СРЕДСТВА ДЛЯ МЕССЕНДЖЕРА
TELEGRAM
36
2.1 Выбор инструментальных средств разработки онлайн-сервиса проверки
юридической чистоты транспортного средства для мессенджера Telegram
36
2.2 Анализ систем управления базами данных
42
2.3 Проектирование БД
47
2.3.1 Логический уровень
47
2.3.2 Физический уровень базы данных онлайн сервиса проверки
юридической чистоты транспортного средства для мессенджера Telegram
49
2.3.3 Особенности поддержки правил целостности базы данных
50
2.3.4 Особенности поддержания механизмов безопасности базы данных
52
5
2.4 Архитектура онлайн сервиса проверки юридической чистоты
транспортного средства для мессенджера Telegram
53
3. РЕАЛИЗАЦИЯ ОНЛАЙН-СЕРВИСА ПРОВЕРКИ ЮРИДИЧЕСКОЙ
ЧИСТОТЫ ТРАНСПОРТНОГО СРЕДСТВА ДЛЯ МЕССЕНДЖЕРА
TELEGRAM
57
3.1 Логика диалога с пользователем
57
3.2 Экранные формы онлайн-сервиса проверки юридической чистоты
транспортного средства для мессенджера Telegram
60
ЗАКЛЮЧЕНИЕ
70
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
71
ПРИЛОЖЕНИЕ А (ОБЯЗАТЕЛЬНОЕ)
73
УДОСТОВЕРЯЮЩИЙ
ЛИСТ
Ош
ибка! Закладка не определена.
ИНФОРМАЦИОННО-ПОИСКОВАЯ ХАРАКТЕРИСТИКА ДОКУМЕНТА
НА ЭЛЕКТРОННОМ
НОСИТЕЛЕ
ибка! Закладка не определена.
Ош
6
СПИСОК СОКРАЩЕНИЙ
БД - база данных.
ГИБДД - Государственная Инспекция Безопасности Дорожного Движения.
ДТП - Дорожно-транспортное происшествие.
ДФО - дальневосточный федеральный округ.
КМС – контекстно-медийная сеть.
МРЭО - межрайонный регистрационно-экзаменационный отдел.
ПТС - паспорт транспортного средства.
РСЯ – рекламная сеть Яндекса.
РФ – Российская Федерация.
СТС - свидетельство о регистрации транспортного средства.
СУБД - система управления базами данных.
ТС – транспортное средство.
7
ВВЕДЕНИЕ
Аналитическое агентство «АВТОСТАТ» провело исследование рынка легковых автомобилей в России по итогам трех месяцев 2016 года. Оно охватывало
первичный и вторичный рынки в каждом субъекте Российской Федерации и позволило установить соотношение между объемом продаж новых и подержанных
легковых автомобилей. Согласно данных исследования соотношение рынка подержанных автомобилей и рынка новых автомобилей составляет 1/5, а к настоящему времени, в связи со сложившей ситуацией в мировом сообществе, указанный дисбаланс все больше смещается в сторону рынка автомобилей с пробегом, в
виду увеличившихся таможенных пошлин и курса валюты.
На вторичном автомобильном рынке нашли свое место так называемые сервисы проверки автомобилей. Подобного рода услуги подразумевают возмездную
проверку автомобиля с пробегом перед покупкой и включают в себя следующие
этапы: анализ состояния кузова автомобиля на предмет выявления повреждений
после пребывания автомобиля в дорожно-транспортном происшествии; проверка
состояния лакокрасочного покрытия автомобиля; анализ состояния салона автомобиля и работы электроники; компьютерная диагностика основных блоков автомобиля; проверка ходовой части автомобиля; проверка состояния двигателя; проверка работы узлов и агрегатов автомобиля “на ходу”; проверка юридической чистоты автомобиля.
При покупке автомобиля с пробегом становится все более востребованным
сервис проверки автомобилей и на сегодняшний день все больше и больше организаций появляется на этом рынке. В связи с наличием конкуренции на рынке
оказания услуг по проверке автомобилей с пробегом актуальным является вопрос
поиска целевой аудитории и реклама, рассчитанная непосредственно на нее.
8
В результате анализа видов рекламы в сети Internet можно сделать вывод о
том, что наиболее целесообразным для сервисов, занимающихся проверкой автомобилей с пробегом, является поиск целевой аудитории и таргетированная реклама в мессенджерах, однако остается не решенным вопрос поиска целевой аудитории.
Все вышесказанное свидетельствует об актуальности разработки онлайн
сервиса проверки юридической чистоты автомобиля, позволяющего пусть и не в
полной мере автоматизировать процесс получения необходимой информации об
автомобиле, но хотя предоставлять информацию по наиболее важным параметрам
проверки автомобиля в плане юридической чистоты. Таким образом потенциальный покупатель автомобиля с пробегом бесплатно получает возможность с использованием общедоступного приложения, используя всего лишь мобильный телефон, получить всю необходимую ему информацию об автомобиле, а сервис проверки автомобилей, разработавший подобное приложение, получает контактные
данные потенциального пользователя своих услуг, т.к. использование онлайн сервиса проверки юридической чистоты транспортного средства для мессенджера
Telegram подразумевает предварительную регистрацию пользователя с использованием номера мобильного телефона.
Целью выпускной квалификационной работы является разработка онлайнсервиса проверки юридической чистоты транспортного средства для мессенджера
Telegram, позволяющего реализовать возможность проверки истории регистрационных действий автомобиля, проверить историю транспортного средства на участие в дорожно-транспортном происшествии, проверить автомобиль на нахождение в розыске, проверить автомобиля на ограничение регистрационных действий.
Для достижения цели необходимо выполнить следующие задачи:
- определить актуальность проблемы;
- произвести анализ аналогов;
9
- описать и формализовать процесс работы системы автоматизации;
- осуществить анализ программных средств и технологий построения системы автоматизации;
- описать структуру базы данных;
- определить правила целостности и описать механизмы безопасности базы
данных;
- описать логику работы приложения;
- продемонстрировать результаты работы онлайн-сервиса проверки юридической чистоты транспортного средства для мессенджера Telegram.
10
1 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
1.1 Описание процесса проверки юридической чистоты
Аналитическое агентство «АВТОСТАТ» провело исследование рынка легковых автомобилей в России по итогам трех месяцев 2016 года [1]. Оно охватывало первичный и вторичный рынки в каждом субъекте Российской Федерации
(далее РФ) и позволило установить соотношение между объемом продаж новых и
подержанных легковых автомобилей.
Согласно результатам исследования, наибольшее соотношение между ними
наблюдается в Москве, на долю которой приходится наибольшее количество легковых автомобилей вторичного рынка (порядка 40%). Иными словами, на каждые
десять купленных машин в столице приходится четыре новые, что во многом связано с более высоким уровнем жизни. Соответственно, оставшиеся шесть автомобилей москвичи приобрели на вторичном рынке.
Далее, с практически равными показателями, следуют Санкт-Петербург и
Татарстан, в которых рынок новых легковых автомобилей занимает 30% от общего объема. В результате вторичный рынок в этих регионах превосходит первичный более чем вдвое. Самое же большое соотношение между объемами продаж автомобилей на вторичном и первичном рынках отмечено в субъектах Дальневосточного федерального округа. Максимальное значение указанного показателя зафиксировано в Еврейской автономной области. Именно в этом регионе
доля рынка новых легковых автомобилей самая низкая в стране (менее 2%). В Магаданской области на долю новых машин приходится примерно 3% от всего объема рынка, в Амурской области и Забайкальском крае – по 3,4%. В Камчатском и
Хабаровском краях доля рынка новых автомобилей тоже составляет менее 4%.
Это объясняется тем, что в регионы дальневосточного федерального округа (далее
ДФО) импортируется большой объем подержанной техники из соседней Японии.
11
На рисунке 1.1 графически представлено процентное соотношение продаж
новых и подержанных автомобилей в России по данным статистики за 2016 год
[1].
Новые
автомобили
19%
Автомобили
с пробегом
81%
Рисунок 1.1 - Процентное соотношение продаж новы и подержанных автомобилей в России за 2016 год
Купить подержанный автомобиль можно:
1. В дилерском центре.
2. Подобрав автомобиль на сайтах-агрегаторах объявлений о продаже автомобилей с пробегом.
3. Подобрав автомобиль путем непосредственного поиска по объявлениям,
размещенных как в печатных изданиях, так и в различных информационных системах сети internet.
Покупка автомобиля с пробегом в дилерском центре является наиболее благоприятным вариантом приобретения автомобиля с пробегом, так как, дилер дает
гарантию на узлы и агрегаты автомобиля, и в том числе, гарантирует юридическую чистоту автомобиля, однако это существенно отражается на конечной стои-
12
мости автомобиля на вторичном рынке. Покупка же автомобиля путем самостоятельного поиска по объявлениям позволит выбрать автомобиль по меньшей стоимости, однако покупателю предстоит самостоятельно оценить работоспособность
автомобиля и позаботиться о его юридической чистоте.
На вторичном автомобильном рынке нашли свое место так называемые сервисы проверки автомобилей. Подобного рода услуги подразумевают возмездную
проверку автомобиля с пробегом перед покупкой и включают в себя следующие
этапы:
1. Анализ состояния кузова автомобиля на предмет выявления повреждений после пребывания автомобиля в дорожно-транспортном происшествии.
2. Проверка состояния лакокрасочного покрытия автомобиля.
3. Анализ состояния салона автомобиля и работы электроники.
4. Компьютерная диагностика основных блоков автомобиля.
5. Проверка ходовой части автомобиля.
6. Проверка состояния двигателя.
7. Проверка работы узлов и агрегатов автомобиля “на ходу”.
8. Проверка юридической чистоты автомобиля.
1.2 Процесс проверки юридической чистоты автомобиля
Вкратце процесс проверки юридической чистоты автомобиля — это полное
соответствие всех сведений об авто и его характеристик, заявленных производителем, а также соответствие нормативным актам государства, где машина продаётся.
13
Более подробно в понятии «юридическая чистота» отражает в себе следующее:
1. Документационная юридическая чистота.
2. Юридическая чистота истории эксплуатации автомобиля.
3. Соответствие действительности.
4. Отсутствие вмешательств в конструкцию машины в техническом плане,
указывающих на криминальную попытку легализации автомобиля.
5. Юридическая чистота указывает и на отсутствие проблем с регистрацией в Государственной Инспекции Безопасности Дорожного Движения (далее
ГИБДД).
Возможные проблемы покупки автомобиля без юридической проверки его
чистоты включат в себя:
1. Автомобили с изменениями в конструкции – это транспортные средства,
подвергнутые разборочно-сборочным манипуляциям для пересечения таможни
по меньшим тарифам пошлин.
2. Автомобили с проблемами со стороны документации – сюда относятся
запреты на регистрацию, просто пакет документов, вызывающий подозрения и пр.
3. Автомобили с криминальной историей криминальные автомобили – связанные с незакрытыми уголовными делами по поводу кражи авто или другими
тяжёлыми преступлениями; автомобили, связанные с обременениями по кредитам, залогу и т.д.
Проверка таможенной истории (для импортированного автотранспорта).
14
Все эти мероприятия, не требуют присутствия настоящего владельца авто,
наличия всей документации и отнимают немало времени. Но это на 90% исключает возможность приобретения проблемной машины. Обязательно проверить
наличие у продавца следующих документов на транспортное средство:
1. Паспорт транспортного средства (далее ПТС).
2. Свидетельство о регистрации транспортного средства (далее по тексту
СТС).
3. В случае если продавец официально не является владельцем, у него
должна быть при себе нотариально заверенная доверенность на ТС.
Проверка по базам ГИБДД.
Одним из наиболее авторитетных источников является база ГИБДД. В результате обращения к базе ГИБДД возможно получить следующую информацию:
1. Ограничение по регистрационным действиям.
2. Криминальная история.
3. Судебная история.
4. Происхождение и подлинность VIN-кода.
Лучше всего приобретать автомобиль, который еще не снят с учета настоящим владельцем. В этом случае всю процедуру снятия и постановки на учет вы
будете проходить и вместе и своевременно узнаете о любых проблемах с ТС.
Если машина уже снята с учета, придется согласовать с владельцем дату,
время и вместе с ним подъехать в Межрайонный регистрационно-экзаменационный отдел (далее МРЭО) ГИБДД, чтобы оставить запрос на проверку юридической чистоты автомобиля. Присутствие настоящего владельца и самого транспортного средства обязательно, так же, как и всей документации на него.
Проверка кредитной истории.
15
Наличие оригинала ПТС на сегодня является единственной гарантией отсутствия кредитов и залогов. Некоторые банки могут выдавать подлинный паспорт на руки до полного погашения кредита, но это имеет последствия – в МРЭО
накладываются ограничения на регистрационные действия. Поэтому снять с учета
такую машину не получится.
Если ТС в залоге, то заключается договор поручения, что отражается в ПТС
(пункт «Особые отметки»). Продавец должен предоставить документацию об отсутствии задолженностей или чеки с выплатами. В противном случае от покупки
лучше воздержаться.
Проверка импортированного транспорта.
Если вы присмотрели подержанную иномарку, ввезенную из-за рубежа,
проверять юридическую чистоту машины нужно в первую очередь по документам. В оригинальном ПТС нужно посмотреть, где и кем он был выдан. ПТС на
импортированное транспортное средство в обязательном порядке выдается таможней. Это должна подтверждать печать госслужбы, которая находится в левом
нижнем углу ПТС. Также в документе фиксируется название выдававшего паспорт таможенного пункта и подпись таможенника.
В ПТС имеется пункт «Таможенные ограничения». Как правило, вариантов
его заполнения несколько:
1. «Таможенных ограничений нет».
2. «Платежи оплачены, отчуждение разрешено».
Процесс проверки юридической чистоты автомобиля включает в себя анализ большого количества информации, причем этот процесс усложняется еще и
тем фактором, что необходимая информация хоть и представлена в электронном
виде, но достаточно разрозненна, по тому как на сегодняшний день нет единого
сервиса, позволяющего автоматизировать процесс проверки юридической чистоты автомобиля при его покупке на вторичном рынке.
16
По этой причине при покупке автомобиля с пробегом становится все более
востребованным сервис проверки автомобилей и на сегодняшний день все больше
и больше организаций появляется на этом рынке. В связи с наличием конкуренции
на рынке оказания услуг по проверке автомобилей с пробегом актуальным является вопрос поиска целевой аудитории и реклама, рассчитанная непосредственно
на нее.
1.3 Анализ видов рекламы в сети Internet
Всё чаще площадкой для размещения рекламы [2] - в открытой или скрытой
форме, становится глобальная сеть Internet, позволяющая обеспечить наиболее
интенсивное взаимодействие с целевой аудиторией, оптимизировать проведение
рекламной кампании, сформировать позитивный имидж для производителей товаров и услуг.
Реклама в сети Internet, в отличие от других видов рекламы (телевидение,
радио, баннерная реклама и прочее) в первую очередь ориентированы на то, чтобы
получить максимальную эффективность при минимуме затрат, то есть направлены на таргетированный, целенаправленный подход к работе с потребителями.
Среди очевидных преимуществ рекламы в сети можно отметить снижение затрат
на организацию рекламных кампаний и неограниченные возможности для завоевания доверия потребителей. Веб-среда позволяет реализовывать идеи, которые
не всегда осуществимы в рамках традиционных рекламных форматов, обеспечивает быстрое и эффективное распространение информации.
Среди наиболее востребованных видов рекламы в сети Internet можно выделить контекстную и третированную рекламу.
Контекстная реклама — это текстовые объявления, которые показываются
пользователям по запросам, если эти запросы рекламодатель добавил в настройки
17
рекламной кампании. Объявления показываются пользователю именно в тот момент, когда он сам проявил интерес к товару или услуге и, возможно, готов к покупке. Контекстная реклама бывает поисковой и тематической. Контекстные рекламные объявления - один из наиболее эффективных вариантов интернет-рекламы. С её помощью можно добиться роста показателей продаж, привлечь целевых посетителей на сайт рекламодателя.
Поисковая контекстная реклама показывается в результатах поиска в крупнейших поисковых системах (Яндексе, Google, Рамблере, Поиск@mail.ru и др.)
или по сайту (так называемые вертикальные поиски) в том случае, если запрос
пользователя совпадает с ключевыми словами контекстного объявления.
Существует большой сегмент специализированных сайтов, в структуре которых поиск играет важную роль: top100.rambler.ru, auto.rambler.ru, automobile.ru,
go.km.ru и многие другие. Поиск на таких ресурсах происходит по конкретным тематикам, то есть вертикалям, например, по автомобилям, недвижимости или мобильным устройствам.
Тематическая контекстная реклама показывается на странице сайта, входящего в Партнерскую сеть рекламных систем, если тематика рекламы соответствует интересам пользователя. Тематическая реклама показывается как дополнительная информация к содержанию страниц, которые просматривает пользователь. Хотя для показа объявлений, пользователь не вносит запрос, они все равно
находятся в сфере его внимания (т.е. являются контекстными).
Показы тематической рекламы осуществляются на основе нескольких технологий:
- контекстный таргетинг — контекстная система в автоматическом режиме
считывает контент страниц сайта и показывает максимально релевантные содержанию страницы рекламные объявления;
18
- поведенческие технологии - при показе объявлений система учитывает историю поиска пользователя в интернете;
- ремаркетинг – это инструмент ориентируется на поведение пользователя
на сайтах рекламодателей и показывает рекламу тех товаров и услуг, которые
он просматривал, добавлял в корзину и пр.
В партнерскую сеть контекстной системы принимаются только посещаемые
и качественные сайты. Каждый сайт, подавший заявку на вступление в партнерскую сеть, проверяется на соответствие условиям участия. Рекламные системы
не принимают в партнерскую сеть ресурсы с некачественным контентом и сайты,
созданные специально для заработка на размещении рекламы.
У основных контекстных систем есть обширные партнерские сети сайтов:
- у системы Яндекс.Директ — это Рекламная сеть Яндекса (далее РСЯ);
- у системы Google AdWords — это система Google Display Network (контекстно-медийная сеть, КМС).
- у Бегуна — это Рекламная сеть Бегуна.
Пользователя интернета можно сравнить с покупателем, пытающимся выбрать товар в огромном супермаркете. Он вводит запросы, чтобы найти нужную
информацию, в том числе по товарам и услугам, а вы предлагаете ему помощь,
рассказывая о своих предложениях, разместив контекстные рекламные объявления по его запросам. По сути, пользователь сам прикладывает усилия, чтобы
отыскать ваше рекламное сообщение.
Рекламодатель платит за конкретное действие пользователя, максимально
приближенное к покупке.
В контекстной рекламе используется CPC (Cost Per Click) модель оплаты —
оплата за переход по объявлению. Благодаря этой модели рекламодатель платит
19
не за показы по количеству или времени, а за переходы потенциальных клиентов
на свой сайт (т.е. за клики по объявлению).
Рекламодатель сам назначает допустимую стоимость перехода заинтересованного пользователя на сайт. В системе Яндекс Диррект минимальная ставка составляет 30 коп., в Google AdWords — $ 0,01, в системе Бегун — 1 руб.
Таргетированная реклама в социальных сетях: ВКонтакте, Одноклассники,
Facebook, Instagram [3].
В отдельную группу стоит выделить рекламные компании, которые проводятся в социальных сетях. Это и неудивительно – ведь огромное число людей
предпочитают проводить значительное число времени именно на таких сайтах как
ВКонтакте или Facebook. При этом, заводя свою страничку, большинство пользователей предоставляет весьма полезную информацию о себе, включая пол, возраст, географию проживания и свои интересы, а это значит, что можно не просто
рекламировать какой-либо продукт, но делать это только среди тех пользователей,
кто входит в целевую аудиторию рекламодателя.
Возможности размещения рекламы в социальных сетях достаточно обширны, к ним можно отнести:
- размещение рекламных текстов и объявлений на собственной странице под
своим аккаунтом (не требует никаких средств);
- создание специальной группы или сообщества (потребует только время на
создание и оплату сотруднику, который будет заниматься администрированием);
- обмен рекламными постами с какой-либо группой или сообществом (как
платный, так и бесплатный способ);
- платное размещение рекламных объявлений;
20
- проведение различных конкурсов, для победы в которых необходимо сделать репост какой-либо записи (в этом случае стоимость проведения рекламы
определяется ценой приза).
Таргетированная, то есть нацеленная на целевую аудиторию, реклама в
соцсетях обладает целым рядом плюсов:
- не требует от пользователя перехода на сторонний ресурс, обеспечивая ему
тем самым удобство и комфорт;
- наличие обратной связи не только в виде заказов или переходов по рекламному объявлению, но и в виде лайков или комментариев;
- удобство размещения рекламы, ведь зачастую для этого даже не требуется
специальных навыков – достаточно просто загрузить отснятое фото или вбить
нужный текст.
В первую очередь для рекламодателя интересны самые популярные сервисы, ведь именно здесь можно найти огромное количество потенциальных покупателей.
Если говорить о российском сегменте Internet, то вряд ли какой-либо ресурс
может конкурировать с детищем Павла Дурова – социальной сетью Вконтакте,
тем более что здесь существует и своя рекламная сеть, подобная тем, что существуют у Яндекса и Google. Принцип ее действия прост – необходимо настроить
показ рекламы с учетом имеющегося бюджета.
Важно отметить, что рекламировать таким образом стоит только недорогие
и уже раскрученные, пользующиеся популярностью, товары.
Еще одна популярная российская социальная сеть, Одноклассники, также
предлагает интересные варианты недорогого размещения своих объявлений.
Здесь аудитория, как правило, постарше, чем на предыдущем сервисе, а потому
21
более платежеспособная, так что здесь возможно продвижение и более дорогих
услуг.
Особенностями размещения рекламных объявления в Одноклассниках являются:
- возможность настраивать время показа, что обеспечивает большую эффективность;
- показ рекламы осуществляется и на других сервисах, принадлежащих
Mail.ru, например в «Мой мир»;
- возможность ремаркетинга, то есть автоматическое отслеживание тех, кто
уже совершил какое-либо действие по размещенному объявлению, с целью повторного привлечения.
Из минусов стоит отметить не слишком удобную уже существующую разбивку по группам, которая делает всю рекламную систему менее гибкой и адаптивной к конкретному рекламодателю.
В отличие от двух уже указанных выше соцсетей, у Instagram есть своя специализация – картинки и короткие видео. Общение здесь сводится к выкладыванию фотографий, сделанных здесь и сейчас, и к получению лайков и комментариев к ним.
До недавнего времени вся реклама в Instagram была возможна только ограниченными способами:
- создание специальных сообществ и приглашение в них пользователей;
- подписка на профили других пользователей с тем, чтобы они подписались
на аккаунт рекламодателя в ответ;
- размещение рекламных постов в популярных аккаунтах.
22
Однако с прошлого года в Instagram также стала доступна таргетированная
реклама. Правда, здесь есть одно «но». Дело в том, что данные о целевой аудитории для размещения рекламного объявления берутся из профиля на Facebook, к
которому привязан аккаунт в Instagram. Вот только значительное число пользователей этого ресурса зарегистрировано непосредственно на нем, и никакой привязки к своей странице на Facebook они не делают, а это значит, что огромная
часть потенциальной целевой аудитории попросту оказывается вне системы таргетинга.
Текстовая информация в Instagram играет значительно меньшую роль, а потому и продвигаемый продукт должен хорошо и эффектно смотреться на фотографиях. Не стоит забывать и о том, что этот ресурс пользуется популярностью
прежде всего у женщин, а потому рекламируемый продукт должен соответствовать этой категории клиентов.
Продвижение товаров или услуг с помощью Internet-баннера во многом
схож с традиционной рекламой, когда красочное объявление, большое или маленькое, размещается на страницах газет или журналов. Помимо статичных изображений при создании баннеров активно используются средства мультимедиа.
Это может быть коротенький анимированный ролик.
Другое важное свойство баннеров – их интерактивность. Очень часто при
нажатии на баннер пользователь попадает на сайт рекламодателя. Нередко можно
встретить флэш-баннеры в виде коротеньких игр или небольших заданий, предлагающих пользователю немного развлечься. После прохождения такой игры потенциальному клиенту ненавязчиво сообщают о продвигаемой услуге или товаре.
Особенностью баннеров является то, что они не обязательно являются ссылками на сайт рекламодателя, хотя функция привлечения целевой аудитории также
присуща этому виду рекламы. Здесь не меньшее значение имеет возможность
сформировать у пользователей Интернета узнаваемость какой-либо марки или товара, зафиксировать определенный ассоциативный ряд.
23
Таким образом, баннеры могут разделяться на две категории:
- те, которые побуждают пользователя совершить определенное действие
(например, перейти на сайт);
- те, которые создают определенный имидж и узнаваемость рекламодателя.
Для размещения баннера компания или предприниматель договаривается с
владельцем какого-либо сайта о том, чтобы тот поставит на принадлежащем ему
ресурсе искомую картинку или анимированный ролик.
Стоимость баннерной рекламы зависит от многих параметров, в числе которых:
- популярность ресурса, на котором размещается баннер;
- размер самого баннера;
- местоположение его на странице.
Чаще всего оплата производится либо за количество показов баннера,
либо за количество переходов по нему на сайт рекламодателя. Изредка применяется оплата за постоянное размещение баннера на какой-либо странице. Как правило, такой способ применяется на короткое время на сайтах с большой проходимостью. Ведь через какое-то время на привычную картинку или анимацию люди
попросту перестают обращать внимание.
В чем-то схожей с социальными сетями структурой обладает крайне популярный ресурс YouTube, где выкладывается большое число видеороликов пользователей со всего мира.
Просмотры отдельных роликов могут зашкаливать за миллионы. Можно
представить, какое огромное количество потенциальных клиентов возможно привлечь таким способом.
24
На Youtube существует несколько видов размещения рекламы:
- сам выложенный видеоролик на каком-либо канале – как на собственном,
так и за плату на чужом, пользующемся популярностью;
- небольшой рекламный ролик, который демонстрируется перед показом основного;
- текстовая реклама, размещаемая на показываемом ролике;
- ссылка на видео, размещаемая над результатами поисков какого-либо ролика.
Так же, как и предыдущие способы рекламы, этот вид продвижения дает
возможность выборки показов только целевой аудитории. Главным достоинством
такого способа
продвижения
является
действенность
видео-рекламы,
а
также очень широкая аудитория. Но не стоит забывать и о недостатках:
- чтобы рекламу увидели как можно больше потенциальных клиентов, ее
нужно размещать на очень популярных каналах, а это стоит крайне недешево;
- пользователи имеют возможность отключать рекламу, а также использовать специальные программные средства для ее блокировки. Кроме того, в платных аккаунтах реклама не демонстрируется;
- назойливая реклама, мешающая просмотру интересного фильма или музыкального клипа, зачастую вызывает раздражение у пользователей.
Сводный анализ описанных видов интернет-рекламы.
В таблице 1 представлен сводный анализ описанных видов интернет-рекламы.
25
Таблица 1 – Сводный анализ описанных видов интернет-рекламы
Вид рекламы
Стоимость
№
Попадание в целевую
Эффективность
аудиторию
1
2
3
4
5
1
Контекстная
Средняя (+)
Высокое (+)
Высокая (+)
2
Таргетированная,
Средняя
Очень высокое (+)
Высокая (+)
в соц. сетях
(+/-)
3
Банерная
Высокая (-)
Среднее (+/-)
Низкая (-)
4
Видеоролики
Средняя
(+/-)
Среднее (+/-)
Высокая (+)
5
Таргетинг в мес-
Низкая (+)
Высокое (+)
Высокая (+)
сенджерах
В результате анализа видов рекламы в сети Internet можно сделать вывод о
том, что наиболее целесообразным для сервисов, занимающихся проверкой автомобилей с пробегом, является поиск целевой аудитории и таргетированная реклама
в мессенджерах, однако остается не решенным вопрос поиска целевой аудитории.
Все вышесказанное свидетельствует об актуальности разработки онлайн сервиса проверки юридической чистоты автомобиля, позволяющего пусть и не в полной мере автоматизировать процесс получения необходимой информации об автомобиле, но хотя предоставлять информацию по наиболее важным параметрам проверки автомобиля в плане юридической чистоты.
Таким образом потенциальный покупатель автомобиля с пробегом бесплатно
получает возможность с использованием общедоступного приложения, используя
всего лишь мобильный телефон, получить всю необходимую ему информацию об
автомобиле, а сервис проверки автомобилей, разработавший подобное приложение, получает контактные данные потенциального пользователя своих услуг, т.к.
использование онлайн сервиса проверки юридической чистоты транспортного
26
средства для мессенджера Telegram подразумевает предварительную регистрацию
пользователя с использованием номера мобильного телефона.
Онлайн сервис проверки юридической чистоты транспортного средства для
мессенджера Telegram предоставляет возможность проверки истории регистрационных действий автомобиля, проверить историю ТС на участие в ДТП, проверить
автомобиль на нахождение в розыске, проверить автомобиля на ограничение регистрационных действий.
К плюсам онлайн сервиса проверки юридической чистоты транспортного
средства для мессенджера Telegram можно отнести бесплатное предоставление информации в неограниченном количестве, не требуется ввода серии и номера СТС,
достаточно ввести только VIN-номер автомобиля, удобство просмотра и получения
информации.
1.4 Анализ сервисов проверки юридической чистоты автомобиля
В эпоху Internet в сети появляется все больше различных онлайн-сервисов по
проверке истории автомобиля, однако, в России подобное развитие баз данных по
транспортным средствам началось только недавно и многие онлайн-сервисы, по
сути, дублируют официальную информацию, представленную в сети. Также многие коммерческие базы данных по проверке истории автомобиля берут за это
деньги.
Большинство подобных баз данных предоставляют в принципе однотипную
информацию об автомобиле, которая доступна бесплатно на государственных онлайн-сервисах.
Сервис “Автокод” [4] предоставляет возможность проверить использовался
ли автомобиль в коммерческих целях; были ли аварии; какие повреждения получило транспортное средство при ДТП; количество собственников автомобиля;
наличие ограничения на регистрационные действия; информацию о техническом
осмотре транспортного средства; информацию о пробеге; информацию о штрафах
27
зафиксированные на владельца ТС; информацию о страховых случаях не связанных с ДТП и Информацию о ПТС по серии и номеру документа; информацию об
ограничениях регистрационных действий; информацию о нахождение транспортного средства в розыске
К плюсам рассмотренного сервиса можно отнести бесплатное предоставление информации, в том числе с подробной информацией о ДТП и характере повреждений; информацию об авариях с 2007 года и информация о пробеге.
К минусам сервиса “Автокод” можно отнести тот факт, что истории машины
возможна только автомобилей, зарегистрированных на собственников, проживающих в Московском регионе.
Сервис Проверки автомобилей на сайте ГИБДД [5] позволяет осуществить
проверку: истории регистрационных действий, истории участия транспортного
средства в ДТП (с 2015 года), нахождения автомобиля в розыске, на ограничение
регистрационных действий с автомобилем.
Плюсы онлайн-сервиса:
- информация представляется бесплатно, не требуется регистрация;
- достаточно ввести только VIN-номер автомобиля;
- актуальная информация об авариях с 2015 года.
Минусом онлайн-сервиса является актуальность базы данных по авариям
только с 2015 года и отсутствие информации о поврежденных деталях авто при аварии.
“Adaperio история автомобиля в деталях” [6]. Adaperio осуществляет проверку автомобилей по номеру или вин коду со всей России. Это еще один достаточно раскрученный в Интернете сервис по проверке истории автомобилей предоставляет свой отчет за 292 рубля, в который включен стандартный набор данных об
автомобиле, информацию о количестве владельцев, участие в ДТП, историю штрафов ГИБДД и многое другое что вы также можете получить совершенно бесплатно
на государственных порталах, предоставляющих эту информацию бесплатно.
28
К плюсам сервиса “Adaperio” можно отнести наличие отчетов об истории автомобиля за рубежом.
К минусам сервиса “Adaperio” можно отнести платные услуги на основную
информацию, информация об истории автомобиля в России также содержится на
бесплатных онлайн-сервисах.
AVinfoBot - это сервис проверки автомобилей на юридическую чистоту для
мессенджера Telegram [7].
Указанный сервис позволяет проверить:
- истории регистрации автомобиля,
- истории ТС на участие в ДТП,
- нахождение ТС в розыске,
- нахождение ТС в залоге,
- наличие ограничений регистрационных действий,
- данные о пробеге и ТО.
Плюсы рассмотренного онлайн-сервиса: информация представляется в неограниченном количестве, не требуется ввода серии и номера СТС, достаточно ввести только VIN-номер или гос. номер автомобиля, удобство просмотра и получения
информации.
Минусы онлайн-сервиса: слишком высокая цена, не полная информация об
автомобилях, попавших в ДТП, актуальность базы данных по авариям только с
2015 года, нет информации о поврежденных деталях авто при аварии, информация
о пробеге и ТО бывает не достоверной либо отсутствует.
В таблице 2 представлен сравнительный анализ сервисов проверки автомобилей на юридическую чистоту
29
Таблица 2 – Сравнительный анализ сервисов проверки автомобилей на юридическую чистоту
“Автокод” “Адаперио” “Сервис про- “AVinверки
авто- foBot”
мобилей
на
Разрабатываемый онлайн
сервис
сайте
ГИБДД”
1
Стоимость
2
3
4
5
6
350р
292р
Бесплатно
750р
Бесплатно
использова-
сутки
ния
1250р
неделя
2500р
месяц
Количество
1
1
предоставля-
Без
ограничений ограниче-
емых отчётов
Информация
Без
Без
ограничений
ний
Да
Да
Да
Да
Да
Да
Да
Да
Да
Да
о количестве
Регистрационных
дей-
ствий
авто-
мобиля
Дешифровка
VIN-номера
автомобиля
30
Продолжение таблицы 2
1
Информация
о
2
3
4
5
6
Да
Да
Нет
Да/Нет
Нет
Да
Да
Да
Да
Да
Да
Да
Да
Да
Да
Да
Да
Да
Да
Да
Да
Да
Нет
Да
Нет
Да
Да
Нет
Да
Да
пройденных ТО и
пробеге автомобиля
Информация о произошедших ДТП
Информация
о
наложенных на автомобиль ограничениях
Информация
о
нахождении
авто-
мобиля в розыске
Информация
о
нахождении
авто-
мобиля в залоге
Формирование полного отчета о юридической чистоте
1.5 Функциональные требования к разрабатываемому сервису
На основе анализа деятельности сервисов по проверке автомобилей с пробегом и анализа сервисов проверки юридической чистоты автомобилей, как одной из
оказываемых услуг подобного рода организаций, были сформулированы функциональные требования к разрабатываемому онлайн сервису проверки юридической
чистоты транспортного средства для мессенджера Telegram:
- реализация регистрации пользователя в системе;
31
- хранение информации о пользователях сервиса с историей поисковых запросов;
- предоставлять информацию о количестве регистрационных действий автомобиля;
- предоставлять информацию о истории ДТП автомобиля;
- предоставлять информацию о запрете регистрационных действий автомобиля;
- предоставлять информацию о нахождении автомобиля в розыске;
- формирование полного отчета о юридической чистоте.
1.6 Нефункциональные требования к разрабатываемому сервису
Для разрабатываемого онлайн сервиса проверки юридической чистоты
транспортного средства для мессенджера Telegram были сформулированы следующие нефункциональные требования:
−
использование архитектуры «клиент-сервер»;
−
поддержка целостности и безопасности данных, обусловленные нару-
шением в работе серверов и баз данных;
−
ориентированность на конечного пользователя.
1.7 Описание бизнес-процесса
Для проектирования, разрабатываемого онлайн сервиса проверки юридической чистоты транспортного средства для мессенджера Telegram необходимо произвести моделирование предметной области. Для получения адекватной предметной области проекта необходимо иметь целостное, системное представление модели, отражающей все этапы функционирования будущей системы.
32
Под моделью предметной области понимается система, имитирующая структуру или функционирование исследуемой предметной области и отвечающая основному требованию - быть адекватной этой области. Основная цель модели - определение лиц, участвующих в процессе использования телеграмм бота для проверки
юридической чистоты автомобиля. Основные вопросы, которые ставятся перед
данной моделью: что представляет собой процесс проверки юридической чистоты
автомобиля через онлайн сервис проверки юридической чистоты транспортного
средства для мессенджера Telegram. Точка зрения для моделирования - точка зрения пользователя, так как деятельность этой точки зрения способна ответить на все
поставленные вопросы.
Граница модели в ширину – начиная от регистрации нового пользователя и
заканчивая получением отчета по юридической чистоте автомобиля.
На рисунке 1.2 представлена контекстная диаграмма процесса проверки юридической чистоты автомобиля с использованием разрабатываемого он-лайн сервиса проверки юридической чистоты транспортного средства для мессенджера
Telegram.
Рисунок 1.2 – Контекстная диаграмма «Проверка юридической чистоты автомобиля»
33
Диаграмма, представленная на рисунке 1.2, является контекстной и определяет границы в ширину. Главный и единственный блок на данной диаграмме представляет собой основной процесс предметной области. Здесь входными данными,
изображенными входящими слева из блока стрелками, являются: данные пользователя и VIN-номер автомобиля. Выходные данные обозначены выходящими справа
блока стрелками, это отчет о юридической чистоте автомобиля.
Стрелки сверху блока это данные управления, которые способствуют выполнению процесса использования. К ним относятся база данных (далее по тексту БД)
пользователей и их запросов, внешняя база данных с информацией по автомобилям. Нижними стрелками, входящими в блок определены механизмы, с помощью
которых осуществляется данный процесс. В нашем случае таким механизмом является пользователь.
Декомпозиция диаграммы на рисунке 1.3 показывает детализированный процесс контекстной диаграммы.
Рисунок 1.3 – Декомпозиция процесса контекстной диаграммы
34
Новый пользователь должен зарегистрироваться для дальнейшей работы
(блок А1 на рисунке 1.3), так как полноценное пользование сервиса доступно лишь
зарегистрированным пользователям.
Зарегистрированный пользователь формирует запрос (блок А2 на рисунке
1.3), который далее обрабатывается внешней базой данных с информацией по автомобилям (блок А3 на рисунке 1.3). Онлайн сервис проверки юридической чистоты транспортного средства для мессенджера Telegram интерпретирует полученный ответ в понятный пользователю отчет (блок А4 на рисунке 1.3) и отправляет
его пользователю.
На рисунке 1.4 изображена декомпозиция блока А2 (Формирование запроса).
Рисунок 1.4 – Декомпозиция процесса “Формирование запроса”
Зарегистрированный пользователь вводит VIN - номер автомобиля (блок А21
на рисунке 1.4), после чего выбирает из представленных онлайн сервисом проверки
юридической чистоты транспортного средства для мессенджера Telegram разделов
интересующие его (блок А22 на рисунке 1.4). Вводимые пользователем данные
записываются в журнал событий.
35
После ввода captcha (блок А23 на рисунке 1.4) формируется запрос к внешней
БД со сведениями об автомобилях и отправляется на обработку.
Выводы по главе:
1. На вторичном автомобильном рынке нашли свое место так называемые
сервисы проверки автомобилей, осуществляющие проверку автомобилей по ряду
параметров, в том числе - проверку юридической чистоты автомобилей.
2. В связи с наличием конкуренции на рынке оказания услуг по проверке автомобилей с пробегом актуальным является вопрос поиска целевой аудитории и
реклама, рассчитанная непосредственно на нее.
3. В результате анализа видов рекламы в сети Internet был сделан вывод о том,
что наиболее целесообразным для сервисов, занимающихся проверкой автомобилей с пробегом, является поиск целевой аудитории и таргетированная реклама в
мессенджерах.
4. В результате анализа аналогичных разработок были сформулированы
функциональные и нефункциональные требования к разрабатываемому сервису.
36
2 ПРОЕКТИРОВАНИЕ ОНЛАЙН СЕРВИСА ПРОВЕРКИ ЮРИДИЧЕСКОЙ ЧИСТОТЫ ТРАНСПОРТНОГО СРЕДСТВА ДЛЯ МЕССЕНДЖЕРА TELEGRAM
2.1 Выбор инструментальных средств разработки онлайн-сервиса проверки юридической чистоты транспортного средства для мессенджера
Telegram
Онлайн-сервис проверки юридической чистоты транспортного средства
можно реализовать несколькими способами:
- мобильное приложение;
- мессенджеры.
Рассмотрим инструментальные средства, на основе которых возможна реализация онлайн сервиса проверки юридической чистоты транспортного средства в качестве мобильного приложения.
JavaScript - мультипарадигменный язык программирования [8], который поддерживает объектно-ориентированный, императивный и функциональные стили.
JavaScript - реализация языка ECMAScript.
JavaScript можно использовать как встраиваемый язык для программного доступа
к
объектам
приложений,
в
нашем
случае
-
Telegram
Bot.
Наиболее широко применяется в браузерах как язык сценариев для придания интерактивности веб-страницам.
Основные архитектурные черты: слабая типизация, динамическая типизация,
автоматическое управление памятью, прототипное программирование, функции
как объекты первого класса.
На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом легким для использования для тех, кто не
умеет программировать.
Языком JavaScript не владеет определенная компания или организация, что
отличает его от ряда языков программирования, используемых в веб разработке.
37
Java — объектно-ориентированный язык программирования [9], разрабатываемый компанией Sun Microsystems с 1991 года и официально выпущенный 23 мая
1995 года. Изначально новый язык программирования назывался Oak (James
Gosling) и разрабатывался для бытовой электроники, но впоследствии был переименован в Java и стал использоваться для написания апплетов, приложений и серверного программного обеспечения.
Программы на Java могут быть транслированы в байт-код, выполняемый на
виртуальной java-машине (JVM) — программе, обрабатывающей байт-код и передающей инструкции оборудованию, как интерпретатор, но с тем отличием, что
байт-код, в отличие от текста, обрабатывается значительно быстрее.
Язык Java зародился как часть проекта создания передового программного
обеспечения для различных бытовых приборов. Реализация проекта была начата на
языке C++, но вскоре возник ряд проблем, наилучшим средством борьбы с которыми было изменение самого инструмента — языка программирования. Стало очевидным, что необходим платформо-независимый язык программирования, позволяющий создавать программы, которые не приходилось бы компилировать отдельно для каждой архитектуры и можно было бы использовать на различных процессорах под различными операционными системами.
Язык Java потребовался для создания интерактивных продуктов для сети
Internet. Фактически, большинство архитектурных решений, принятых при создании Java, было продиктовано желанием предоставить синтаксис, сходный
с C и C++. В Java используются практически идентичные соглашения для объявления переменных, передачи параметров, операторов и для управления потоком выполнением кода. В Java добавлены все хорошие черты C++.
Три ключевых элемента объединились в технологии языка Java:
1. Java предоставляет для широкого использования свои апплеты (applets)
— небольшие, надежные, динамичные, не зависящие от платформы активные сете-
38
вые приложения, встраиваемые в страницы Web. Апплеты Java могут настраиваться и распространяться потребителям с такой же легкостью, как любые документы HTML.
2. Java высвобождает мощь объектно-ориентированной разработки приложений, сочетая простой и знакомый синтаксис с надежной и удобной в работе средой разработки. Это позволяет широкому кругу программистов быстро создавать
новые программы и новые апплеты.
3. Java предоставляет программисту богатый набор классов объектов для ясного абстрагирования многих системных функций, используемых при работе с окнами, сетью и для ввода-вывода. Ключевая черта этих классов заключается в том,
что они обеспечивают создание независимых от используемой платформы абстракций для широкого спектра системных интерфейсов.
В связи с тем, что разработка мобильного приложения слишком затратна, и
не всегда удобна, рассмотрим инструментальные средства реализации он-лайн сервис проверки юридической чистоты транспортного средства для мессенджера
Telegram.
Рассмотрим инструментальные средства, на основе которых возможна реализация онлайн сервиса проверки юридической чистоты транспортного средства в качестве Bota для мессенджера Telegram.
Преимуществом Telegram-bot является возможность обращения к нему с разных платформ, на которых подключен сам мессенджер. Одним лишь Telegram-bot
мы получаем доступ к системе почти со всех платформ, которые наиболее популярны. Более того, для реализации онлайн-сервиса нам не понадобятся особые затраты в разработке, когда мы используем готовые библиотеки и модули.
Ruby – это тщательно сбалансированный язык [10]. Его создатель Юкихиро
Мацумото (так же известный как “Matz”), объединил части его любимых языков
(Perl, Smalltalk, Eiffel, Ada и Lisp) чтобы сформировать новый язык, в котором парадигма функционального программирования сбалансирована принципами императивного программирования.
39
В Ruby всё – объект. Для каждой частицы информации или кода могут быть
определены собственные свойства и действия. В объектно-ориентированном программировании свойства называются переменными объекта, а действия – методами. Чистейший объектно-ориентированный подход Ruby может быть продемонстрирован парой строк кода, в которых производится действие над числом.
Ruby очень гибкий язык, так как он позволяет его пользователям свободно
менять его части. Основные части Ruby могут быть удалены или переопределены
по желанию, а к существующие части можно модифицировать. Ruby старается ни
в чём не ограничивать пользователя.
Ruby полон другими особенностями и конструкциями:
1. В Ruby есть конструкции для обработки исключений, как в Java или
Python, которые позволяют проще работать с ошибками.
2. В Ruby представлен настоящий mark-and-sweep (пометь и отчисти) сборщик мусора для всех Ruby объектов. Не нужно вручную отслеживать количество
ссылок в сторонних библиотеках. Как говорит Matz, “Это полезней для вашего здоровья.”
3. Писать расширения на C в Ruby проще чем в Perl или Python при помощи
очень элегантного API для вызова Ruby из C. Он включает в себя вызовы для встраивания Ruby в программное обеспечение, чтобы использовать его как скриптовый
язык. Также доступен интерфейс SWIG.
4. Ruby может подгружать сторонние библиотеки динамически, если позволяет операционная система.
5. В Ruby реализованы независимые от операционной системы потоки. Таким образом, на любых платформах, где вы запускаете Ruby, вы также имеете возможность использовать многопоточность, не зависимо от того, поддерживает ли
данная система потоки или нет. Вы можете использовать возможности многопоточности даже в MS-DOS!
40
6. Ruby отличается высокой переносимостью: он был разработан большей
частью на GNU/Linux, но работает на многих типах UNIX, Mac OS X, Windows,
DOS, BeOS, OS/2, и так далее.
Python - высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода [11-13]. Синтаксис
ядра Python минималистичен. В то же время стандартная библиотека включает
большой объём полезных функций. Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные
черты — динамическая типизация, автоматическое управление памятью, полная
интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Python организовывается в функции и классы, которые могут объединяться в модули (которые в
свою очередь могут быть объединены в пакеты).
В результате анализа для реализации онлайн сервиса проверки юридической
чистоты транспортного средства для мессенджера Telegram будет использована
среда быстрой разработки приложений Python.
Команда разработчиков Telegram реализовала простой и отлично документированный API для возможности работы с ботами, привязка ко многим языкам программирования и популярным современным технологиям вышла достаточно
быстро.
Библиотека pyTelegramBotApi сама отвечает за все нюансы отправки и получения запросов, позволяет сосредоточиться конкретно на логике.
Для реализации функции сервиса по регистрации и хранению поисковых запросов зарегистрированных пользователей нужна БД, а также сайт для работы с
ней.
Рассмотрим инструментальные средства, на основе которых возможна реализация сервиса по регистрации и хранению поисковых запросов зарегистрированных пользователей.
41
HTML — стандартизированный разметки документов в сети Internet [14].
Большинство веб-страниц содержат
описание
разметки
на
языке
HTML
(или XHTML). Язык HTML интерпретируется браузерами; полученный в результате интерпретации форматированный текст отображается на экране монитора компьютера или мобильного устройства.
Язык HTML до пятой версии определялся как приложение SGML (стандартного обобщённого языка разметки по стандарту ISO8879). Спецификации HTML5
формулируются в терминах DOM (объектной модели документа).
Язык XHTML является более строгим вариантом HTML, он следует синтаксису XML и является приложением языка XML в области разметки гипертекста.
Во всемирной паутине HTML-страницы, как правило, передаются браузерам
от сервера по протоколам HTTP или HTTPS, в виде простого текста или с использованием шифрования.
PHP (PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools — «Инструменты для создания персональных
веб-страниц») — скриптовый язык общего назначения, применяющегося для разработки веб-приложений [15]. В настоящее время поддерживается подавляющим
большинством хостинг-провайдеров и является одним из лидеров среди языков,
применяющихся для создания динамических веб-сайтов.
Язык и его интерпретатор (Zend Engine) разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект распространяется под собственной лицензией, несовместимой с GNU GPL.
К числу основных преимуществ PHP можно отнести следующие [16]:
1. Высокая производительность. Система PHP очень эффективна — серверы,
использующие PHP, обслуживают около миллиона обращений в день. Если применять комбинации взаимодействующих серверов, то производительность становится
практически неограниченной.
2. Тесная интеграция с разнообразными СУБД. Язык позволяет непосредственно работать с такими СУБД, как MySQL, Microsoft SQL Server, PostgreSQL,
42
mSQL, Oracle, dbm, FilePro, Hyperware, Informix, InterBase и Sybase. Начиная с 5-й
версии, PHP имеет встроенный SQL- интерфейс для работы с плоскими (двумерными) файлами, а используя 28 стандарт ODBC, можно подключаться к любой
СУБД, для которой есть ODBC-драйвер.
3. Наличие встроенных библиотек. PHP имеет в своем составе большое количество функций, решающих самые разнообразные задачи, связанные с Web. К
числу таких возможностей относится генерация «на лету» GIF-изображений, подключение к Web и другим сетевым службам, обработка XML-документов, отправка
электронной почты, работа с cookie- наборами и генерация PDF-файлов.
4. Одним из основных преимуществ PHP является его бесплатность.
5. Высокая степень переносимости. PHP очень хорошо работает под управлением множества операционных систем. Сам код можно разрабатывать как в среде
свободных UNIX-подобных операционных систем (например, Linux или FreeBSD),
так и в коммерческих версиях UNIX. Существуют и реализации PHP для Microsoft
Windows.
В результате анализа, для реализации функции сервиса по регистрации и хранению поисковых запросов зарегистрированных пользователей была выбрана
среда разработки PHP.
Хранение информации о зарегистрированных пользователях и истории их запросов подразумевает наличие базы данных.
2.2 Анализ систем управления базами данных
Для реализации основных функциональных требований необходимо описание данных. Для БД основой является модель представления данных (структура
хранимой информации).
43
Модель БД – это множество структур данных и действия, производимые с
этими структурами. Даже в БД без хранимых данных все равно имеется информация – структуру самой БД, определяющая, как будут храниться и заноситься данные [17].
При проектировании БД основной задачей является разработка структуры БД
с учетом особенностей будущего использования. Помимо этого, ключевыми задачами проектирования БД являются:
1. Обеспечение хранения в базе данных всей необходимой информации. Вся
информация, необходимая во время функционирования системы, должна храниться в базе. Сама информация при этом должна быть максимально полной и полезной.
2. Обеспечение возможности получения данных по всем необходимым запросам. Все данные, используемые во время функционирования системы, должны
быть доступны по заданным запросам, без потери смысла и возникновения ошибок
(например, несоответствия типов полей).
3. Сокращение избыточности и дублирования данных. Ни разу не используемая информация не должна быть внесена в базу, а полезная информация должна
храниться лишь в одном экземпляре, пусть и в виде разнесенной по разным таблицам структуре.
4. Обеспечение целостности данных (правильности их содержания): исключение противоречий в содержании данных, исключение их потери и т.д. Не должно
быть записей вроде информации о связи между несуществующими объектами.
С целью управления БД разработаны наборы инструментов, названные системами управления базами данных (далее по тексту СУБД).
Рассмотрим основные виды моделей данных:
- иерархическая;
- реляционная;
- сетевая.
44
Иерархическая модель данных - модель данных, в которой совокупность данных представляются в порядке подчинения их друг другу и расположенных в виде
перевернутого дерева. В данной модели объекты стоят на разных уровнях и показывают отношения предок-потомок. Предком называется объект модели данных
более высокого уровня, а потомком – объект более низкого уровня. Иерархическая
модель данных имеет следующие свойства:
- у каждого потомка только один предок;
- предок имеет от “0” до бесконечности потомков;
- есть только один корневой, не подчиненный другим, узел.
Сетевая модель данных – это модель данных, похожая основными понятиями
с иерархической моделью, но в сетевой модели каждый узел может быть связан с
любым другим узлом. Узел — это совокупность атрибутов данных, описывающих
некоторый объект.
Эта модель частично зависит от приложения, т.к. логика выборок данных зависит от их физической организации.
Реляционная модель данных – это модель данных, в которой данные представлены в виде реляционных таблиц, которые в свою очередь являются двумерным массивом (проекции ключ-значение. В ней у разработчика нет рутинных операций работы с данными.
В строках таблиц хранятся либо данные, относящиеся к самой записи, либо
ссылки на записи других таблиц (связи). Таким образом, связи между записями являются неотъемлемым свойством реляционной модели. Внутри одной таблицы все
записи имеют одинаковую структуру.
В реляционной модели СУБД достигается информационная и структурная
независимость. Записи не связаны между собой настолько, чтобы изменение одной
из них затронуло остальные (при необходимости это делается триггерами), а измененная структура СУБД, базы данных не обязательно приводит к перекомпиляции
работающих с ней приложений.
45
Рассмотрим несколько типов реляционных СУБД [18]:
1. MySQL – это система управления базами данных, которая входит в число
наиболее популярных в интернете. Данная система управления хорошо подходит
для работы с интернет-сайтами, поэтому её часто используют при разработке webПриложений разного рода. Ее функциональных возможностей достаточно для работы с базой данных любых размеров. MySQL быстро работает на любых платформах, поддерживает механизмы транзакций, имеет несколько типов таблиц для хранения, разрабатываемых целыми командами программистов.
2. Oracle – система управления реляционными базами данных, реализующих
объектно-ориентированный подход, то есть обеспечивающих управление создания
и использования баз данных. Oracle хорошо масштабируется, легко разрабатывается и самоуправляется при перераспределении нагрузки.
3. InterBase — это система управления реляционными базами данных, поставляемая корпорацией Borland для построения приложений с архитектурой клиентсервер произвольного масштаба. InterBase надежно восстанавливает данные при
неожиданных поломках и поддерживает асинхронные запросы, триггеры и шифрование траффика, а также обладает двухфазным подтверждением транзакций.
4. IBM DB2 – это система управления реляционными базами данных, которая
разрабатывается компанией IBM. Данная систем является самой высокопроизводительной и мощной СУБД в мире. IBM DB2 кроссплатформенная, поддерживает реорганизацию таблиц без остановки БД.
Результаты анализа СУБД приведены в таблице 3.
46
Таблица 3 – Сравнение рассмотренных СУБД
MySQL
Oracle
InterBase
IBM DB2
+
+
-
+
Требования к навыкам для ра- Требует
Требует
Требует
Требует
боты с СУБД
навыков
навыков
навыков
+
+
+
Системы
Управления
базами данных
Критерий
оценки
Кроссплатформенность
навыков
Создание локальной копии +
БД
Стандарт SQL
+
+
+
+
Разграничение прав
+
+
+
+
+
+
-
-
+
+
-
+
доступа
Резервирование и
восстановление БД
Поддержка сервера БД
Проанализировав достоинства и недостатки рассмотренных СУБД для создания базы данных, была выбрана СУБД MySQL.
47
Преимущества использования СУБД MySQL:
- её функционала достаточно для создания и обеспечения работоспособности
базы данных;
- преимуществом в разработке будет поддержка визуального создания объектов базы данных;
- стандарт языка SQL делает MySQL совместимой с другими СУБД.
2.3 Проектирование БД
2.3.1 Логический уровень
Разрабатываемая база данных имеет реляционную модель. Для разработки
была задействована программа ERWin (в прошлом BPWin), с помощью которой
производится создание логической структуры БД с автоматическим обеспечением
целостности базы данных при грамотном проектировании. Т.к. логическая модель
не зависит от типа используемой СУБД, экспортировать её возможно практически
в любую СУБД.
Концептуальное проектирование БД онлайн сервиса проверки юридической
чистоты транспортного средства для мессенджера Telegram осуществляется по
стандарту IDEFX. Данный этап проектирования включает в себя два уровня:
- логический;
- физический.
Логический уровень концептуальной схемы используется для описания общей схемы данных и не привязан к конкретной СУБД. При анализе информационных потоков процессов предметной области были выделены сущности, представленные на рисунке 2.1.
48
Рисунок 2.1 – Логический уровень концептуальной схемы базы данных
Сущность «Пользователи» необходима для хранения информации о зарегистрированных пользователях и дальнейшей ассоциации всех действий пользователя с его аккаунтом.
Сущность «Запросы» необходима для хранения всех запросов пользователей
для просмотра статистики администратором и дальнейшей связи с пользователем.
Каждый запрос ассоциирован с аккаунтом пользователя.
В таблице «Пользователи» первичным является ключ «ID_Телеграма», уникально определяющий каждого пользователя. Именно по ID_Телеграма идентифицируется пользователь в системе. Данный первичный ключ соответствует требованию уникальности, поскольку пользователи не могут иметь одинаковые
ID_Телеграма. Данный ключ соответствует требованию минимальности, поскольку он содержит единственный столбец, который необходим для того, чтобы
выполнить свойство уникальности этого первичного ключа.
У таблицы «Запросы» первичным ключом является идентификатор, т.к. по
ним проще идентифицировать объект. Данный первичный ключ соответствует требованию уникальности, поскольку создается при помощи генератора, при обращении к которому, возвращаются уникальные значения типа integer. Также данный
ключ соответствует требованию минимальности, поскольку он содержит единственный столбец, который необходим для того, чтобы выполнить свойство уникальности этого первичного ключа.
49
2.3.2 Физический уровень базы данных онлайн сервиса проверки юридической чистоты транспортного средства для мессенджера Telegram
Логический уровень концептуальной схемы был реорганизован в физический
уровень с использованием PHPMyAdmin designer, результат чего показан на рисунке 2.2.
Каждое из отношений находится в первой нормальной форме – все атрибуты
кортежей в каждой таблице имеют атомарное значение. Каждое отношение находится во второй нормальной форме, т.к. находится в первой нормальной форме и
все атрибуты отношений, не входящие в состав первичного ключа, характеризуются полной функциональной зависимостью от первичного ключа отношения.
Все отношения находятся в третьей нормальной форме, так находятся во второй нормальной форме и не имеют атрибутов, не входящих в первичный ключ, которые бы находились в транзитивной функциональной зависимости от первичного
ключа
Использовались следующие типы:
3.
Varchar(n) – строковая переменная длиной в n символов;
3.
Integer – целое число;
3.
Datetime – дата и время;
Рисунок 2.2 – Физическая схема базы данных
Названия и типы полей сущности «users» (В логической схеме – «Пользователи») представлены на рисунке 2.3.
50
Рисунок 2.3 - Названия и типы полей сущности «users»
Ограничения поля «id_telegram» в 32 символа и поля «phone» в 12 символов
взяты из документации для разработчиков с официального сайта Telegram.
Названия и типы полей сущности «requests» (В логической схеме – «Запросы») представлены на рисунке 2.4.
Рисунок 2.4 - Названия и типы полей сущности «requests»
Ограничения поля «id_telegram» в 32 символа и поля «text» в 4096 символов
взяты из документации для разработчиков с официального сайта Telegram.
2.3.3 Особенности поддержки правил целостности базы данных
Ссылочной целостностью называют ограничение БД, гарантирующее, что
ссылки между данными являются:
− правомерными;
− неповрежденными.
Первоначально ссылочная целостность поддерживается при помощи «foreign
key» (внешнего ключа). Введение внешнего ключа ограничивает значения в полях-
51
связях существующими в связанной таблице значениями. При отсутствии обрабатываемого значения в ссылочной таблице действие будет проигнорировано.
Используется три стратегии поддержания ссылочной целостности, предполагающих изменение записей в связанных таблицах с целью сохранения целостности:
1. Restrict не дает модифицировать ссылочные поля и удалять записи из родительской таблицы, если в потомке есть связанные записи (в данном проекте не
используется).
2. Cascade при удалении или изменении записей родителя подразумевает
удаление или изменение всех потомков.
3. Set null, обнуляющая значения записей (в данном проекте не используется).
Далее подробно рассмотрена каждая из выделенных стратегий в типе таблиц
InnoDB, поддерживающих внешние ключи и триггеры. Для них через PHPMyAdmin достаточно выбрать поведение для удаления (ON DELETE) и изменение (ON
UPDATE), а также поля в текущей таблице и их соответствие полям внешней таблицы, чтобы внешние ключи и триггеры были созданы.
В таблице «requests» внешним ключом является поле «id_telegram», связанное с таблицей «users» (рис.2.5). При удалении пользователя информация о его запросах более не нужна, а значит и сами запросы также удаляются.
Рисунок 2.5 – Внешние ключи и триггеры на удаление и изменение записей
для таблицы «requests»
52
2.3.4 Особенности поддержания механизмов безопасности базы данных
Из интерфейса Telegram попасть на административный сайт нельзя ввиду отсутствия от бота ссылок на страницу, отражающую историю запросов. Для ограничения доступа к данным пользователей и их запросам на сервере с использованием
nginx реализована Basic HTTP authorization (базовая авторизация по логину/паролю) (рисунок 2.6).
Рисунок 2.6 – Окно ввода логина и пароля
Сам файл с логинами и паролями шифруется утилитой htpasswd, установленной вместе с Apache. В случае выхода из окна ввода пароля страницы вернут код
401: требуется авторизация (рисунок 2.7)
Рисунок 2.7 – 401 код при отмене вводе пароля
53
2.4 Архитектура онлайн сервиса проверки юридической чистоты транспортного средства для мессенджера Telegram
Для начала нужно зарегистрировать саму оболочку бота в мессенджере,
чтобы получить присвоенный ей ID, который является также токеном. В Telegram
помощь при такой регистрации оказывает виртуальный помощник @BotFather.
Этапы регистрации:
1. Ввод команды /start для запроса инструкции (рисунок 2.8).
Рисунок 2.8 – Ввод команды /start для запроса инструкции
2. Ввод команды /newbot, @BotFather предлагает придумать название для
создаваемого бота. (рисунок 2.9).
Рисунок 2.9 – Ввод команды /newbot
54
3. @BotFather предлагает придумать логин для создаваемого бота. Он должен
заканчиваться словом «bot» (рисунок 2.10).
Рисунок 2.10 – @BotFather предлагает придумать логин для создаваемого
бота. Он должен заканчиваться словом «bot»
4. Далее помощник присылает токен нового виртуального пользователя – это
ключ, с помощью которого мы сможем управлять нашим Telegram-bot через
Python.
Полученную комбинацию желательно протестировать этой ссылкой:
api.telegram.org/bot/getMe. Далее можно приступать к работе с онлайн сервисом.
Библиотека pyTelegramBotAPI (модуль для Python) поддерживает обработчики (или хэндлеры), с помощью которых можно научить робота отвечать на различные сообщения [19]. У нас есть обработчик, который отвечает на команду /start,
и присылает пользователю инструкцию (рисунок 2.11).
Рисунок 2.11 – Интерфейс обработчика команды /start
Далее пользователь должен зарегистрироваться в системе посредством ввода
команды /register. После чего ему нужно ввести команду /help, для получения инструкции с командами, для этого у нас есть обработчик, который отвечает на команду /help, и присылает пользователю инструкцию с командами (рисунок 2.12).
55
Рисунок 2.12 – Интерфейс обработчика команды /help
После прочтения пользователем инструкции с видами команд, он выбирает
нужную ему.
Рассмотрим подробнее команду /inf. При выборе пользователем команды /inf,
он должен ввести саму команду, а также VIN-номер интересующего его автомобиля.
Производится GET запрос на внешнюю базу данных, для получения captcha.
После того как пользователь ввел команду, происходит выбор нужного
направления: history, dtp, restricted, wanted, all.
if comma == '/inf':
choise ='history'
elif comma == '/dtp':
choise ='dtp'
elif comma == '/rst':
choise ='restricted'
elif comma == '/ugn':
choise ='wanted'
elif comma == '/all':
choise ='all'
getcapth(choise,message)
bot.send_photo(message.chat.id,open("12.jpg", "rb"))
После этого формируется GET запрос, состоящий из:
- выбранной команды;
56
- VIN-номера;
- введенной captcha.
Далее все запросы возвращают html код, который обрабатывается при помощи парсера в программе и выдает информацию в виде отчета.
Выводы по главе:
1.
Был проведен анализ и выбор инструментальных средств разработки
онлайн-сервиса проверки юридической чистоты транспортного средства для мессенджера Telegram.
2.
Был проведен анализ и выбор систем управления базами данных.
3.
Была спроектирована модель базы данных на логическом и физическом
уровнях.
4.
Были описаны правила целостности и безопасности базы данных.
5.
Была спроектирована архитектура разрабатываемого сервиса.
57
3. РЕАЛИЗАЦИЯ ОНЛАЙН-СЕРВИСА ПРОВЕРКИ ЮРИДИЧЕСКОЙ
ЧИСТОТЫ ТРАНСПОРТНОГО СРЕДСТВА ДЛЯ МЕССЕНДЖЕРА
TELEGRAM
3.1 Логика диалога с пользователем
Диалог пользователя с системой описан посредством диаграммы вариантов
использования, которая является одним из простых способов отражения логики
диалога.
Диаграмма прецедентов — диаграмма, отражающая отношения между актёрами и прецедентами и являющаяся составной частью модели прецедентов, позволяющей описать систему на концептуальном уровне.
Для отражения модели прецедентов на диаграмме используются:
- рамки системы (англ. system boundary) — прямоугольник с названием в
верхней части и эллипсами (прецедентами) внутри. Часто может быть опущен без
потери полезной информации,
- актёр (англ. actor) — стилизованный человечек, обозначающий набор ролей
пользователя (понимается в широком смысле: человек, внешняя сущность, класс,
другая система), взаимодействующего с некоторой сущностью (системой, подсистемой, классом). Актёры не могут быть связаны друг с другом (за исключением
отношений обобщения/наследования),
- прецедент — эллипс с надписью, обозначающий выполняемые системой
действия (могут включать возможные варианты), приводящие к наблюдаемым актёрами результатам. Надпись может быть именем или описанием (с точки зрения
актёров) того, «что» делает система (а не «как»). Имя прецедента связано с непрерываемым (атомарным) сценарием — конкретной последовательностью действий,
иллюстрирующей поведение. В ходе сценария актёры обмениваются с системой
сообщениями. Сценарий может быть приведён на диаграмме прецедентов в виде
UML-комментария [20]. С одним прецедентом может быть связано несколько различных сценариев.
58
В разрабатываемой системе существуют следующие актеры (рис.3.1):
- администратор;
- пользователь.
Актеры c уровнем доступа «Администратор» имеют возможность просмотра
поисковых запросов зарегистрированных пользователей и персональные данные,
такие как ФИО и номер телефона.
Актеры с уровнем доступа «Пользователь» при работе с онлайн сервисом
проверки юридической чистоты транспортного средства для мессенджера Telegram
имеет возможность осуществлять регистрацию в системе посредством ввода персональных данных, таких как ФИО и номер телефона. Осуществлять проверку автомобиля на юридическую чистоту, посредством ввода нужной пользователю команды, VIN-номера автомобиля, а затем ввода captcha. После чего актеры с уровнем доступа «Пользователь» имеют возможность просмотра отчета по интересующему их автомобилю.
Рисунок 3.1 – Диаграмма вариантов использования
59
60
3.2 Экранные формы онлайн-сервиса проверки юридической чистоты транспортного средства для мессенджера Telegram
При запуске онлайн сервиса проверки юридической чистоты транспортного средства для мессенджера Telegram, перед пользователем появляется пустой чат.
Чтобы начать взаимодействовать с ним, нужно ввести команду /start.
После ввода команды /start, бот пришлет инструкции по работе с ним.
Экранная форма ввода команды /start и присылаемой инструкции на рисунке 3.2.
Рисунок 3.2 - Экранная форма ввода команды /start и присылаемой инструкции
В присылаемой пользователю инструкции сообщается, что он должен
зарегистрироваться в системе, посредством ввода команды /register, а также
имени и номера телефона. При этом пользователь соглашается с использованием и обработкой персональных данных.
После успешной регистрации в системе пользователь должен ввести команду /help. После ввода команды /help, бот пришлет инструкцию с видами
команд, и описанием за что они отвечают.
Экранная форма ввода команды /help и присылаемой инструкции на рисунке 3.3.
61
Рисунок 3.3 - Экранная форма ввода команды /help и присылаемой инструкции
После прочтения пользователем инструкции с видами команд, он выбирает нужную ему.
При выборе пользователем команды /inf, происходит формирование отчета.
В отчете представлена информация о количестве регистрационных действий, а также дешифровка VIN-номера автомобиля
Экранная форма отчета по команде /inf на рисунке 3.4.
62
Рисунок 3.4 - Экранная форма отчета по команде /inf
63
При выборе пользователем команды /dtp, происходит формирование отчета.
В отчете представлена информация о истории ДТП. При этом, если автомобиль не учувствовал в ДТП, будет выдано сообщение вида «Всего ДТП у
автомобиля с VIN-номер: 0».
Экранная форма отчета по команде /dtp на рисунке 3.5.
Рисунок 3.5 - Экранная форма отчета по команде /dtp
При выборе пользователем команды /rst, происходит формирование отчета.
В отчете представлена информация о наложенных на автомобиль ограничениях регистрационных действий. При этом, если на автомобиле нет ограничений, будет выдано сообщение вида «Всего ограничений у автомобиля с
VIN-номер: 0».
64
Экранная форма отчета по команде /rst на рисунке 3.6.
Рисунок 3.6 - Экранная форма отчета по команде /rst
При выборе пользователем команды /ugn, происходит формирование отчета.
В отчете представлена информация о том, числится ли автомобиль в
угоне. При этом, если автомобиль не числится в угоне, будет выдано сообщение вида «Автомобиля VIN-номер в угоне не числится».
Экранная форма отчета по команде /ugn на рисунке 3.7.
65
Рисунок 3.7 - Экранная форма отчета по команде /ugn
При выборе пользователем команды /all, происходит формирование полного отчета.
В отчете представлена информация по всем вышеуказанным пунктам.
Экранная форма отчета по команде /all на рисунке 3.8 и рисунке 3.9.
66
Рисунок 3.8 - Экранная форма отчета по команде /all
67
Рисунок 3.9 - Экранная форма отчета по команде /all
Все запросы пользователя попадают в базу данных. Администратор может просматривать информацию о зарегистрированных пользователях, а
также историю запросов в панели администратора, для дальнейшей связи с потенциальными клиентами
Экранная форма панель администратора на рисунке 3.10.
Рисунок 3.10 - Экранная форма панель администратора
68
69
Выводы по главе:
1. Разработана и описана логика диалога с пользователем.
2. Приведены результаты разработки сервиса.
3. Реализация функциональных требований, предъявляемых к разрабатываемому сервису, продемонстрирована на экранных формах.
70
ЗАКЛЮЧЕНИЕ
В ходе выполнения выпускной квалификационной работы была достигнута основная цель: был разработан онлайн сервис проверки юридической чистоты транспортного средства для мессенджера Telegram, предоставляющий
возможность проверки истории регистрационных действий автомобиля, проверить историю ТС на участие в ДТП, проверить автомобиль на нахождение в
розыске, проверить автомобиля на ограничение регистрационных действий.
В процессе выполнения работы были реализованы все поставленные задачи: была определена актуальность проблемы, был произведён анализ аналогов, был описан и формализован процесс работы системы автоматизации, был
осуществлён анализ программных средств и технологий построения системы
автоматизации, была описана структура базы данных, были определены правила целостности базы данных, был описан механизм безопасности базы данных, была описана логика работы приложения и были продемонстрированы
результаты работы онлайн сервиса проверки юридической чистоты транспортного средства для мессенджера Telegram.
71
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
Соотношение первичного и вторичного рынков легковых автомо-
1.
билей
в
регионах
РФ
[Электронный
ресурс].
–
Режим
доступа:
https://www.autostat.ru/press-releases/25724.
7 видов рекламы в Интернете [Электронный ресурс]. – Режим до-
2.
ступа: https://artklen.ru/blog/vidy-reklamy-v-internete.
Реклама в интернете — ТОП-10 эффективных видов интернет-ре-
3.
кламы с примерами + стоимость их размещения [Электронный ресурс]. – Режим
доступа:
https://richpro.ru/internet/reklama-v-internete-vidy-i-stoimost-
internet-reklamy.html.
4.
Автокод
[Электронный
ресурс].
–
Режим
доступа:
https://avtokod.mos.ru.
5.
ГИБДД: Проверка транспортного средства [Электронный ресурс].
– Режим доступа: http://www.gibdd.ru/check/auto.
6.
Adaperio
[Электронный
ресурс].
–
Режим
доступа:
Режим
доступа:
https://adaperio.ru.
7.
AVinfoBot
[Электронный
ресурс].
–
http://avinfobot.com.
8.
Введение в JavaScript [Электронный ресурс]. – Режим доступа:
https://learn.javascript.ru/intro.
9.
Java
[Электронный
ресурс].
–
Режим
доступа:
http://progopedia.ru/language/java.
10.
О Ruby [Электронный ресурс]. – Режим доступа: https://www.ruby-
lang.org/ru/about.
11.
Что такое Python и где он пригодится [Электронный ресурс]. – Ре-
жим доступа: https://netology.ru/blog/python.
12.
Лутц М. Программирование на Python, том I, 4-е издание. – Пер. с
англ. – СПб.: Символ-Плюс, 2011. – 992 с.
72
13.
МакГрат, М. Программирование на Python для начинающих / М.
МакГрат. - М.: Эксмо, 2015. - 192 c.
14.
Саммерфилд, М. Программирование на Python 3. Подробное руко-
водство / М. Саммерфилд. - СПб.: Символ-плюс, 2015. - 608 c.
15.
HTML
[Электронный
ресурс].
–
Режим
доступа:
https://webgyry.info/wpm/chto-takoe-html-i-zachem-eto-nuzhno/
16.
Что такое PHP? [Электронный ресурс]. – Режим доступа:
http://www.php.su/php/?php.
17.
Преимущества PHP [Электронный ресурс]. – Режим доступа:
http://www.php.su/php/?opport.
18.
А.Н. Ковязин, С.М. Востриков. «Мир InterBase. Архитектура, ад-
министрирование и разработка приложений баз данных», 2002.
19.
Виды
СУБД
[Электронный
ресурс].
–
Режим
доступа:
https://studopedia.ru/3_169309_vidi-subd.html
20.
Создаём своего первого робота в Telegram при помощи Python 3
[Электронный ресурс]. – Режим доступа: https://kostya.co/create-first-telegrambot.
21.
UML — диаграмма вариантов использования (use case diagram)
[Электронный ресурс]. – Режим доступа: https://habr.com/post/47940.
73
ПРИЛОЖЕНИЕ А (ОБЯЗАТЕЛЬНОЕ)
Фрагменты кода программы
from bs4 import BeautifulSoup
import requests
import json
import telebot
import config
from telebot import apihelper
import MySQLdb
db = MySQLdb.connect(host="localhost", user="root", passwd="root",
db="dipl", charset='utf8')
cursor=db.cursor()
bot = telebot.TeleBot(config.token)
#apihelper.proxy = {'http':'http://217.61.15.26:3128'}
http_proxy="http://88.147.142.25:8080"
apihelper.proxy = {'https': '217.61.15.26:3128'}
proxyDict = {
"http" : http_proxy,
}
@bot.message_handler(commands=["start"])
74
def command_help(message):
bot.reply_to(message,'Привет, Чтобы начать работу с ботом - зарегитстрируйтесь, для этого введите команду /register Имя Телефон, при этом вы
соглашаетесь с использованием и обработкой Ваших данных. ')
@bot.message_handler(commands=["register"])
def command_help(message):
info = message.text.split()
sql = #insert
cursor.execute(sql)
@bot.message_handler(commands=["help"])
def command_help(message):
bot.reply_to(message,'Привет, чтобы получить информацию об
авто отправьте сообщение вида /inf VIN,\nЧтобы получить информацию о дтп
отправьте сообщение вида /dtp VIN\nЧтобы получить информацию об ограничениях отправьте сообщение вида /rst VIN\nЧтобы получить информацию о
нахождении автомобиля в угоне отправьте сообщение вида /ugn VIN '\nЧтобы
сформировать полный отчет отправьте сообщение вида /all VIN ')
@bot.message_handler(commands=['inf','dtp','rst','tec','ugn','all'])
def send_info(message):
comma = message.text[:4]
#print(comma)
75
if comma == '/inf':
choise ='history'
elif comma == '/dtp':
choise ='dtp'
elif comma == '/rst':
choise ='restricted'
elif comma =='/tec'
choise='tekhosmotr'
elif comma=='/ugn'
choise='wanted'
elif comma == '/all':
choise ='all'
getcapth(choise,message)
bot.send_photo(message.chat.id,open("12.jpg", "rb"))
vin = message.text[5:]
global _vin
_vin=vin
global _choise
_choise=choise
bot.send_message(message.chat.id,'введите каптчу')
@bot.message_handler(content_types=["text"])
def send_info(message):
capt1= message.text#[6:]
vin=_vin
print(_choise)
choise=_choise
print(choise+' 1')
data1=main(choise,vin,capt1,message)
for i in data1:
76
bot.send_message(message.chat.id,' '.join(i))
def getcapth(choise,message):
current=''
html = requests.get('i-vin'.format(choise))
html.encoding = 'utf-8'
html = html.text
#print(html)
soup = BeautifulSoup(html, 'lxml')
capt = soup.find('img').get('src')
capt = capt[5:]
#print (capt)
capt_path ='i-vin'+capt
r=requests.get(capt_path)
#print('asd')
out = open("12.jpg", "wb")
out.write(r.content)
out.close()
def main(choise,vin,capt1,message):
url='i-vin'.format(choise,vin,capt1)
print(url)
done=requests.get(url)
done.encoding = 'utf-8'
77
#print(url)
# print(choise)
# print(vin)
#print(done.text)
done=done.text
soup = BeautifulSoup(done, 'html.parser')
data= []
#print(done)
try:
for table in soup.find('table').find_all('tr'):
rows = [row.text for row in table.find_all('td')]
data.append(rows)
except AttributeError as e:
soup = BeautifulSoup(done, 'lxml')
text = soup.find_all("div", class_="panel-body")
if text:
bot.send_message(message.chat.id,text)
bot.send_message(message.chat.id,'0')
else:
bot.send_message(message.chat.id,'Неверная каптча')
else:
pass
finally:
pass
# print('hello')
# soup = BeautifulSoup(done, 'lxml')
# text = soup.find_all("div", class_="panel-body")
# if text:
78
#
bot.send_message(message.chat.id,text) #дропается при
#
bot.send_message(message.chat.id,'0')
инф
url=''
return data
if __name__ == '__main__':
bot.polling(none_stop=True)
1/--страниц
Пожаловаться на содержимое документа