Автоматизация сбора данных. Результаты тестирования Внедрение системы
Скачать 5.77 Mb.
|
Размещено на http://www.allbest.ru/ СодержаниеВведение 1. Постановка задачи 1.1 Основные понятия и определения 1.2 Общее описание разрабатываемого ПП 2. Анализ методов и средств решения поставленной задачи 2.1 Теоретические основы 2.2 Аналитический обзор существующего ПО 3. Анализ требований к ПП 3.1 Анализ предметной области разработки 3.2 Требования к интерфейсу 3.3 Система приоритетов при разработке ПП 4. Проектирование ПП 4.1 Архитектура ПП 4.2 Выбор инструментальных средств разработки 4.3 Проектирование структур данных и алгоритмов 4.3.1 Общий алгоритм программы 4.3.2 Алгоритм работы отдельных стадий выполнения программы 4.4 Проектирование пользовательского интерфейса 5. Реализация ПП 5.1 Особенности реализации системы 5.2 Политика безопасности 6. Тестирование ПП 6.1 Обоснование методики тестирования 6.2 Результаты тестирования 7. Внедрение системы 7.1 Действия с участниками. 7.1.1 Добавление участника 7.1.2 Загрузка сохраненного списка участников 7.1.3 Удаление участников 7.2 Действия с задачами. 7.2.1 Добавление задач 7.2.2 Загрузка сохраненного списка задач 7.2.3 Удаление задач из списка 7.3 Заполнение основных полей 7.3.1 Поля "Дата" 7.3.2 Поле "Язык" 7.3.3 Поле "Сортировка" 7.4 Получение отчета 7.5 Расшифровка результатов отчета Заключение Список использованных источников Введение С течением времени дистанционное обучение становится более популярным. Этот нетрадиционный метод обучения имеет ряд преимуществ, такие как: экономия времени и денег, мобильность. Вместе с тем растет количество площадок, которые предоставляют возможность обучаться дистанционно. Каждая из них имеет свои преимущества и недостатки. В связи с этим часто в обучении приходится пользоваться несколькими площадками сразу. Для преподавателей возникает проблема быстрого и удобного сбора информации об успеваемости их студентов с разных ресурсов. Если количество студентов велико, то сбор результатов превращается в рутинную работу. Всю информацию необходимо не только собрать, но проанализировать и отразить в некотором отчетном документе. Справится с этой трудоемкой задачей, может помочь программа по сбору и документированию результатов. В рамках этой ВКР создается программа, решающая данную задачу. 1. Постановка задачи 1.1 Основные понятия и определенияВ данном дипломном проекте разрабатывается программный продукт (ПП), решающий задачу по автоматизации сбора данных, связанных с деятельностью кружка по программированию. Курсы направлены на изучение и совершенствование навыков программирования на различных языках (С++, Java и пр.) среди студентов и школьников старших классов. Преподаватель, рассказав основные теоретические положения курса, связанные с особенностью того или иного языка программирования, дает список заданий. Для каждого курса закреплен определенный перечень задач для домашнего решения. программный автоматизация кружок Так как участников кружка достаточно много (около 20 человек), удобно использовать Интернет-источники – электронные архивы задач, содержащих различные задания, в том числе и олимпиадного уровня. Их преимущество состоит в том, что проверка решения происходит в онлайн-режиме (имеют встроенную проверяющую систему). Кроме того, есть возможность решения одной и той же задачи на различных языках программирования. Преподавателю достаточно лишь посмотреть профиль участника перед занятием, чтобы узнать статус задачи (решена/не решена), время решения и пр. Но не всегда одного ресурса достаточно. Чаще всего используется 3-4 электронных архивов, что значительно усложняет проверку преподавателем, так как занимает большое количество времени. 1.2 Общее описание разрабатываемого ППНазначением разрабатываемого ПП является помощь преподавателю в быстром и качественном сборе информации о решении задач участниками, а также в формировании отчетов, построенных на основе этой информации. Цель разработки – ускорить и сделать более удобным для преподавателя сбор данных из электронных архивов задач по программированию. Данная программа будет ориентирована в основном на использование преподавателем для контроля успеваемости участников кружка. Программа будет обладать следующими свойствами: Простой и понятный интерфейс Высокая скорость обработки информации (при быстром Интернет – соединении) Удобство в использовании Возможность расширения (добавление новых сайтов для получения результатов). 2. Анализ методов и средств решения поставленной задачи 2.1 Теоретические основыПарсинг (Parsing) – это принятое в информатике определение синтаксического анализа. Для этого создается математическая модель сравнения лексем с формальной грамматикой, описанная одним из языков программирования. Например, PHP, Perl, Ruby, Python. [6] Программа (или скрипт), которая занимается этим, называется парсером. Его основное назначение – сбор контента с одного или нескольких сайтов, анализ и наполнение им своих проектов. Кроме того, часто используется парсинг результатов выдачи поисковых систем. В зависимости от поставленной задачи, контент может быть скопирован полностью или частично. Парсеры бывают узкоспециализированные и универсальные. Узкоспециализированные занимаются копированием текста или изображения, а универсальные могут скопировать и то и другое вместе.[6] Как правило, алгоритм действия таких программ всегда схожий. Выход в интернет. Получение доступа к коду веб-ресурса, его скачивание. Чтение и извлечение данных. Их обработка. Представление данных в удобном виде (формате). Например, .html, .doc и т.д. Удобство парсеров неоспоримо. Они способны перебрать большую часть ресурсов в поисках нужной информации за короткий промежуток времени. Кроме того, они автоматизируют ее. Например, парсинг используют программы автоматической проверки уникальности, сравнивая содержимое веб-страниц и предложенного текста. Также, его используют при заполнении однотипных характеристик товаров в интернет-магазинах. Но не всегда такие программы используются в благих целях. Ведь они получают данные даже конфиденциального характера без согласия владельца. Часто администраторы сайтов парсят чужой контент для наполнения своих. Конечно, это оправдано, если требуется часто и быстро изменять их (например, обновлять новости). В ином случае, как правило, поисковые системы быстро находят такое нарушение.[6] Еще одним примеров негативного использования таких программ является организация спам-рассылок по электронной почте или каналам мобильной связи. Парсятся социальные сети и собирается нужная информация (телефоны, адреса электронной почты и т.д.). Парсеры пишутся на языках программирования, в которых предусмотрена возможность обработки строк. Основа работы парсера заключается в том, что предложенный текст сравнивается с тем, который находится на веб-страницах. И затем в зависимости от результата действует так, как прописано в его программе (командной строке). Эта командная строка называется регулярным выражением (конструкция, задающая принципы поиска и обработки информации) . [6] Регулярные выражения – это набор определенных знаков, с помощью которых можно описать информацию, которую нужно найти. Можно задать поиск по определенному слову (или набору слов), по принципу их размещения, по дате и т.д. 2.2 Аналитический обзор существующего ПОПри проведенном исследовании точных аналогов программы обнаружено не было. Но существует большое количество различных ПП, которые также занимаются парсингом сайтов. Для примера рассмотрим два из них. Datacol Datacol является одним из популярнейших парсеров. В нем сочетается удобство функционала, а также быстрая скорость обработки информации. Кроме того, немаловажным является то, что с помощью Datacol есть возможность парсить сайты без навыков программирования. [3] Программа обладает рядом преимуществ. Рассмотрим их подробнее. Наличие демо-версии. На мой взгляд, это является одним из главных преимуществ. Скачав какой-либо другой платный парсер, мы не можем быть уверены, что он сможет выполнить все те задачи, которые мы перед ним ставим. Кроме того, иногда подобная программа требуется для применения всего один-два раза. У Datacol существует и платная и бесплатная версия (демо-версия). Конечно, возможностей у платной версии гораздо больше, но не всегда эти возможности необходимы. Иногда демо-версии бывает достаточно. Кроме того, можно использовать бесплатную версию для ознакомления с ПП, чтобы удостовериться в необходимости покупки. В данном случае, у полной версии следующие достоинства: доступ в закрытый раздел форума, платные консультации по использованию, заказ платных настроек, заказ платных плагинов и количество собранных данных не ограничивается (в демо-версии до 25 результатов). Цена на момент написания ВКР: от 459 руб./мес. Универсальность. Большинство парсеров пишется под конкретные сайты. В Datacol есть возможность парсить почти все необходимые сайты. Помощь при настройке. Не все пользователи, при первом запуске программы могут сразу разобраться в ее работе. На официальном сайте Datacol (http://web-data-extractor.net) существует специальный форум, на котором разработчики парсера обеспечивают поддержку пользователям, отвечая на все интересующие их вопросы. Далеко не каждый бесплатный парсер может похвастаться таким, так как не существует выгоды в поддержке программы, за которую никто не будет платить. Удобство и гибкость экспорта. Иногда возникает необходимость экспорта данных не только в файл конкретного формата, но и в базу данных или напрямую на сайт. А большинство бесплатных парсеров экспортируют лишь в один файловый формат. Datacol позволяет использовать разные форматы, которые наиболее подходят вам для отчета. Обновление программы. Как уже было сказано выше, разработчики бесплатных парсеров редко занимаются поддержкой своих ПП из-за отсутствия выгоды. Следовательно их обновление является редкостью. И значит, если сайт поменяет верстку, то парсер уже не будет работать. Но Datacol, в отличие от них, регулярно выпускает обновления, а также проверяет работоспособность всех настроек своей программы. Отсутствие ограничения по количеству потоков. В данном ПП отсутствует ограничение по количеству потоков, все зависит от того, на каком компьютере происходит парсинг, от его возможностей и мощности. Одновременный запуск нескольких кампаний. В Datacol существует возможность парсинга сразу нескольких кампаний, что значительно увеличивает удобство ее использования.[3] К сожалению, этот парсер обладает рядом недостатков. Запутанный интерфейс. Интерфейс программы неудобен в использовании, с точки зрения большинства пользователей. Приходится часто переходить между многочисленными закладками. Зависимость от метода отправки формы. Datacol может получать страницы только методом GET. В нем данные формы отправляются в адресной строке. Если же на сайте используется метод POST, в котором данные отправляются в теле запроса, то воспользоваться этой программой уже не удастся. Content Downloader Content Downloader является универсальной и профессиональной программой, которая занимается парсингом информации с различных сайтов (на которых вообще возможен парсинг). Принцип работы программы достаточно прост, пользователь указывает в программе (в HTML коде) в каких частях страницы находятся необходимые данные. Затем выбирает формат отчета. Сразу возникает отличие от Datacol, в котором практически не нужны навыки программирования (используется автоматический подбор формул), Content Downloader требует хотя бы минимальных знаний языка HTML. [4] Он осуществляет парсинг: Сайтов, блогов, Интернет-магазинов. При этом выводит данные в нужном формате в CSV файлы, либо в txt. Любой части кода с любой введенной в ПП ссылки (как вариант собранной программой). Контента с закрытых источников. В том числе тех, где необходимо авторизоваться. Абсолютно любых ссылок с сайта, которые удовлетворяют заданным фильтрам. Google картинок в разные папки по списку ключевиков. Преимущества программы: Наличие демо-версии. Несомненно, это является большим преимуществом. Всегда полезно попробовать программу перед покупкой, чтобы убедиться в том, что она выполняет все необходимые функции. Но в демо-версии Content Downloader можно осуществлять парсинг только по одному веб-документу, что значительно уменьшает его функционал. Обновление программы. Разработчики Content Downloader регулярно выпускают обновления для своего ПП. Учитываются пожелания пользователей, устраняются различные ошибки, добавляются новые функции. Помощь при настройке. Как и у Datacol, у Content Downloader существует специальный форум, на котором пользователи могут задать разработчикам интересующие их вопросы и получить профессиональный ответ. Это немаловажный момент, так как не всегда в разделе справки легко и быстро найти то, что нам необходимо. Возможность запуска нескольких кампаний. В отличие от Datacol, в Content Downloader, чтобы запустить одновременно несколько кампаний, существует необходимость запуска второй копии Content Downloader на ПК. Но это никак не влияет на функциональность, несмотря на это маленькое неудобство, все работает отлично. [4] Недостатки программы: Стоимость. Продукт является платным, существует три версии для покупки (Content Downloader Start (1000 рублей), Content Downloader Standard (2000 рублей), Content Downloader ULTIMATE (3000 рублей)). 6 месяцев обновление бесплатно, далее можно оформить платную подписку. Ограничение по количеству потоков. В отличие от Datacol, у которого такого ограничения нет, в Content Downloader предусмотрено несколько версий программы, которые различаются по возможному количеству потоков (от 5 до 50). Если сравнивать эти два парсера, то в целом они очень похожи. Согласно мнению пользователей, то, что решается одним из них, без труда можно решить и вторым. На мой взгляд, наиболее удобным является Datacol, он имеет огромное количество преимуществ, при этом не требует высокого уровня программирования, есть возможность полноценного использования демо-версии без отсутствия ощутимых ограничений в функционале. 3. Анализ требований к ПП |