Автоматизированная система оптического распознавания текста

Автор работы: Пользователь скрыл имя, 22 Июня 2014 в 13:00, дипломная работа

Краткое описание

Современные мобильные телефоны — устройства многофункци-ональные. Они позволяют не только разговаривать с другими абонентами, но и воспроизводить музыку, фотографировать, планировать важные дела. Кроме того, мобильный телефон может заменить беспроводную мышь или клавиатуру для управления компьютером.
В настоящее время первое место по использованию занимают телефоны, оснащенные операционной системой Android предназначенной для мобильных устройств. Такие операционные системы в принципе аналогичны используемым на стационарных компьютерах и ноутбуках системам (Windows, Linux и т.д.), но они, во-первых, пока несколько проще и, во-вторых, ориентированы в большей степени на беспроводную связь.

Прикрепленные файлы: 1 файл

Диплом_собранный(2 июня).docx

— 373.18 Кб (Скачать документ)

Выходными данными в программе являются визуализация перемещения мыши и нажатие клавиш клавиатуры. Методы, для приема данных, эмуляции нажатий клавиш клавиатуры и мыши, а также перемещения мыши на персональном компьютере заданы на сервере в классе OSCWorld. Прототип класса OSCWorld, отвечающего за работу с клиентом, представлен в приложении Г.

 

3 Анализ алгоритмов

Для обеспечения функционирования программы были разработаны следующие алгоритмы:

- поиск доступных компьютеров в сети;

- подключение  к серверу;

- передача  команд управления мыши;

- передача  команд управления клавиатурой.

Рассмотрим алгоритм подключения к серверу, блок-схема которого представлена в соответствии с рисунком 3. При подключении к серверу вызывается метод onConnectButton, который считывает IP адрес из EditText. Затем производится проверка корректности введенного IP адреса. Если IP адрес правильный, он сохраняется в классе Settings, который отвечает за хранение настроек, после чего приложение переключается на форму PadActivity. PadActivity в свою очередь запускает Pad_Layout.xml и служит для работы с тачпадом и клавиатурой. Если IP адрес не корректен, то выводится соответствующее сообщение об ошибке в соответствии с рисунком 4.

При применении тачпада используется алгоритм передачи команд управления мыши, передача новых координат осуществляется в методе moveMouseFromSensors. В этом методе производится вычисление новых координат курсора и передача их серверу методом sendMouseEvent(int type, float x, float y). Описание алгоритма приведено в приложении В.

Алгоритм поиска доступных в сети компьютеров сканирует сеть на наличие видимых компьютеров и отображает их в виде списка их адресов в стартовом окне, где простым нажатием на адрес можно подключиться к необходимому компьютеру. Данный алгоритм хранится в классе FoundHostsAdapter, для обновления списка компьютеров используется метод updateHostList().

Подробное описание алгоритмов используемых в программе приведено в приложении В.

Рисунок 3 – Блок схема алгоритма подключения

Рисунок 4– Сообщение об ошибке ввода IP адреса

 

4 Модульная структура

Использование модульного подхода позволяет значительно упростить создание приложения, повысить его надёжность и эффективность. Использование модулей позволяет разбить задачу на функциональные группы, облегчая тем самым как разработку, так и сопровождение программы. Применяя такой подход к разработке системы, можно легко расширять функциональные возможности отдельных модулей, не затрагивая при этом исходный код прочих. Для того чтобы уменьшить сложность программного обеспечения (ПО), необходимо, чтобы модули, реализующие это ПО, были небольшими и в высокой степени независимыми. Независимость модулей достигается с помощью двух методов:

- усиление  внутренних связей модулей;

- ослабление  взаимосвязи между модулями.

Модульная структура программы представлена в приложении Д. Данная структура используется для обеспечения функциональной независимости модулей программы, т.е. максимального разделения функции модулей. Благодаря этому повышается внутренняя связность модулей и ослабляется их внешнее сцепление.

Модули программы обладают сильной внутренней связностью, так как содержат методы, обрабатывающие определенный набор данных, и имеют своё функциональное назначение. Поэтому связи внутри модуля имеют функциональный и последовательный характер, а в целом модульный элемент решает одну специфическую, функционально независимую задачу.

Описание основных модулей приведено в таблицах2 и 3.

Таблица 2 – Описание основных модулей клиентской части

Название модуля

Назначение

DiscoverThread

Поток для работы с сокетами

FoundHostsAdapter

Класс для хранения и поиска хостов

CoordinateSpace

Класс для работы с координатами


Продолжение таблицы 2

PadActivity

Класс для работы с пользователем

ControlDroid

Класс, реализующий стартовое окно программы

Settings

Класс настроек программы


Таблица 3 – Описание основных модулей серверной части

Название модуля

Назначение

DiscoverThread

Поток для работы с сокетами

AppFrame

Содержит класс для создания главного фрейма

KeyCodeData

Содержит класс хранения кодов клавиш

OSCWorld

Служит для получения данных от сервера и эмуляции их на ПК

ControlDroidServer

Запуск главного фрейма


 

5 Тестирование

Тестирование является деятельностью, требующей дополнительных финансовых и временных затрат. В большинстве случаев разработчики программного обеспечения заранее формулируют какой-либо критерий качества создаваемых программ, определяя так называемую планку качества, добиваются выполнения этого критерия и после этого прекращают тестирование и выпускают продукт на рынок.

Проверка с использованием широкого диапазона тестовых наборов данных помогает довольно тщательно и точно оттестировать функции. Это позволяет на более поздних этапах реализации и тестирования при возникновении ошибок значительно реже возвращаться к уже оттестированным участкам программы.

Объектом тестирования является программа использования мобильного устройства в качестве игрового манипулятора, мыши и клавиатуры  для дистанционного управления персональным компьютером. Цель тестирования состоит в проверке корректности работы программы при различных наборах вводимых данных. Для тестирования использовался детерминированный метод тестирования, основываясь на функциональном подходе.

В ходе реализации проекта каждый модуль подвергался тщательному тестированию, при выполнении которого осуществлялись формальный анализ текста программы, позволяющий выявлять большое количество ошибок на ранних стадиях программирования, и проверка корректности работы программы с использованием определенных тестовых наборов данных. При этом контролировалась каждая комбинация исходных данных, а также соответствие результатов для каждого исходного набора данных требуемому результату.

Найдены некоторые ошибки, связанные с установлением соединения с сервером и эмуляцией нажатия клавиш на ПК. Все найденные ошибки впоследствии устранены и можно сделать вывод о достаточной точности алгоритма для использования программы на домашних персональных компьютерах.

 

6 Документирование

6.1 Техническое задание

1 Введение

Программа «Использование мобильного устройства в качестве игрового манипулятора, мыши и клавиатуры для дистанционного управления персональным компьютером» предназначена для пользователей персональных компьютеров имеющих в расположении мобильное устройство с операционной системой Android. Это полезный инструмент для управления мультимедийными особенностями персонального компьютера, например проигрывания файлов MP3 или DVD-видео. Указанная программа так же может использоваться при проведении презентаций, для автоматизации управления ходом презентации.

2 Основания для разработки

Перечень документов, на основании которых ведется разработка:

– техническое описание и полные технические характеристики мобильных устройств с операционной системой Android;

– настоящее техническое задание.

Полное наименование программы: «Использование мобильного устройства в качестве игрового манипулятора, мыши и клавиатуры  для дистанционного управления персональным компьютером»

Краткое наименование программы: «Мобильный игровой манипулятор, мышь и клавиатура для дистанционного управления ПК»

Плановые сроки начала и окончания работы по созданию системы.

Плановый срок начала работ по созданию программы по использованию мобильного устройства в качестве игрового манипулятора, мыши и клавиатуры  для дистанционного управления ПК – 1 марта 2011 года.

Плановый срок окончания работ по созданию программы по использованию мобильного устройства в качестве игрового манипулятора, мыши и клавиатуры  для дистанционного управления ПК – 10 июня 2011 года.

3 Назначение и цели создания системы

Программа предназначена для дистанционного управления компьютера пользователем, путем использования мобильного устройства и беспроводной сети.

Основными целями создания программы являются:

– повышения удобства дистанционного управления ПК;

– повышение эффективности использования мобильного устройства для дистанционного управления ПК.

4 Требования к программе

Требования к функциональным характеристикам.

При работе с программой предусматривается дистанционное управление с мобильного устройства мышкой и клавиатурой компьютера, а также использование мобильного устройства в качестве игрового манипулятора.

Программа должна выполнять ниже перечисленные функции.

1. Использование экрана мобильного устройства в качестве тачпада для управления курсором мышки на персональном компьютере. Возможность перемещения курсора в области монитора ПК. Нажатие левой и правой кнопки мыши.

2. Использование клавиатуры мобильного устройства в качестве стандартной клавиатуры ПК. Возможность набора предложений, на ПК используя клавиатуру мобильного устройства.

3. Использование акселерометра мобильного устройства в качестве игрового манипулятора (контроллера) для управления игрой на ПК.

Для обеспечения устойчивого функционирования программа должна сохранять работоспособность и обеспечивать восстановление своих функций при возникновении следующих внештатных ситуаций:

– при входящем вызове на мобильное устройство;

– при ошибках сети выводить соответствующие сообщения;

– при ошибках в работе аппаратных средств (кроме носителей данных и программ) восстановление функции системы возлагается на ОС;

– при ошибках, связанных с программным обеспечением (ОС и драйверы устройств), восстановление работоспособности возлагается на ОС.

При эксплуатации программы, должна присутствовать поддержка интерфейса Wi-Fi, как на ПК, так и на мобильном устройстве. Пользователь должен уметь пользоваться мобильным устройством с операционной системой Android.

Требования к составу и параметрам технических средств.

В необходимый состав технических средств входят: мобильное устройство, Wi-Fi роутер и персональный компьютер.

Для обеспечения надежного функционирования программы необходимо наличие в мобильном устройстве акселерометра, интерфейса Wi-Fi, а также операционной системы Android , установленной клиентской программной части и поддержки  Java. Для ПК необходима поддержка интерфейса Wi-Fi и установленной серверной части программы.

Минимальные технические характеристики ПК пользователя:

– процессор с тактовой частотой не менее 2 ГГц;

– объем оперативной памяти – не менее 512 Мб;

– свободное место на диске – 50 Мб;

– поддержка интерфейса Wi-Fi.

Минимальные технические характеристики мобильного устройства пользователя:

– процессор с тактовой частотой 600 МГц;

– поддержка интерфейса Wi-Fi;

– операционная система Android 2.2;

– объем оперативной памяти (RAM) 256 Мб.

Требования к информационной и программной совместимости.

При разработке должны использоваться следующие языки программирования:

- для  серверной части программы должны  использоваться язык программирования С++ и среда разработки Visual C++;

- для  клиентской части программы должны  использоваться язык Java c использованием среды программирования Eclipse, так как это кроссплатформенная разработка.

Состав, структура и способы организации данных в системе должны быть определены на этапе технического проектирования.

Требования к лингвистическому обеспечению системы.

Все программное обеспечение для организации взаимодействия с пользователем должно использовать русский язык.

5 Требования к  программной документации

Программа должна иметь полное руководство пользователя.

6 Стадии и этапы разработки

Этапы разработки представлены в таблице 4.

Таблица 4 – Этапы разработки

Этапы

Содержание работ

1

Разработка документов технического проекта «Использование мобильного устройства в качестве игрового манипулятора, мыши и клавиатуры  для дистанционного управления персональным компьютером»

2

Проектирование подсистем, их взаимодействия и реализации


Продолжение таблицы 4

3

Реализация серверной части

4

Реализация клиентской части

8

Реализация подсистемы обмена и передачи данных между клиентской и серверной частями программы

9

Генеральное тестирование и отладка программы

12

Разработка документов эксплуатации программы

Информация о работе Автоматизированная система оптического распознавания текста