Тип работы:
Предмет:
Язык работы:


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

Работа №22398

Тип работы

Дипломные работы, ВКР

Предмет

программирование

Объем работы61
Год сдачи2016
Стоимость4900 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
279
Не подходит работа?

Узнай цену на написание


Введение 7
1 Постановка задачи 10
1.1 Анализ существующих решений 10
1.2 Цель и задачи разрабатываемого решения 12
1.3 Анализ моделей данных 13
2 Архитектура и проектирование компонента 15
2.1 Общие архитектурные решения 15
2.1.1 Выбор стека технологий 15
2.1.2 Структура модулей компонента 16
2.1.3 Место компонента в архитектуре приложения 18
2.1.4 Выбор СУБД 20
2.2 Слой доступа к данным 22
2.2.1 База данных 22
2.2.2 Репозиторий данных и его основные функции 23
2.2.3 Модель контакта и обеспечение целостности данных 24
2.2.4 Валидация и фильтрация данных 26
2.2.5 Объединение дублирующих записей 28
2.2.6 Диаграмма классов слоя доступа к данным 29
2.3 Активная синхронизация 30
2.3.1 Описание задачи 30
2.3.2 Интерфейс программирования GMail Contacts 31
2.3.3 Интерфейс программирования Yahoo Contacts 34
2.3.4 Интерфейс программирования Hotmail 37
2.3.5 Анализ ограничений интерфейса программирования Hotmail 37
2.3.6 Диаграмма классов модуля активной синхронизации 40
2.3.7 Обеспечение отказоустойчивости 41
2.4 Пассивная синхронизация 42
2.4.1 Описание задачи 42
2.4.2 Диаграмма классов модуля пассивной синхронизации 43
2.4.3 Синхронизация адресной книги 44
3 Тестирование компонента и устранение проблем 46
3.1 Организация тестирования 46
3.2 Проблема производительности при большом количестве записей 47
3.3 Проблема сравнения времени при синхронизации с Hotmail 50
4 Руководство программиста 52
4.1 Структура каталогов 52
4.2 Структура классов 52
4.3 Рекомендации по внедрению 54
Заключение 56
Список использованных источников 58
Приложение



Для современного человека важную роль играют его личные и деловые
контакты. В информационную эпоху возможности для быстрой связи обширны:
телефонные линии, сотовая связь, электронная почта, социальные сети, средства обмена мгновенными сообщениями - все это позволяет поддерживать контакты с множеством людей. Для многих профессий (предприниматели, торговые представители, менеджеры, фрилансеры) количество таких контактов может достигать сотен и тысяч и вопрос об эффективной организации подобной
информации встает особенно остро. Личные контакты (семья, родные, друзья)
также имеют большое значение и часто очень важно иметь под рукой актуальный номер телефона человека или его домашний адрес.
Для решения этих задач существует множество средств:
 бумажные телефонные и адресные книги;
 электронные адресные книги на мобильных устройствах и персональных компьютерах;
 облачные средства синхронизации адресных книг.
Безусловно, средства на основе интернет-технологий являются самыми
перспективными, так как инфраструктура всемирной сети хорошая развита, позволяет передавать большие объемы данных с высокой скоростью и надежностью. Благодаря беспроводным сетям, мобильный интернет доступен практически везде.
Расцвет интернет технологий привел к появлению разнообразия средств
для облачного хранения своих контактов, а также и непосредственного общения с другими людьми. Являясь безусловным достижением человечества, данная ситуация привела к тому что люди одновременно используют различные
средства (веб-сайты, сервисы и т.п.) для организации своих контактов. В большинстве случаев это популярные почтовые сервисы, такие Gmail или Yahoo.
Это связано с тем что те или иные средства более удобны в разных ситуациях,
или для связей с разными людьми.
Данная проблема наиболее актуальна в корпоративной среде, где эффективный доступ к нужным контактам в нужный момент может напрямую влиять
на эффективность деятельности - удачная сделка, новый клиент и так далее.
Таким образом, встает вопрос о наиболее эффективном подходе к организации контактов. Возможны следующие варианты решения:
 отказаться от всех средств, кроме одного (обременяет пользователя
выбором);
 использовать различные средства организации данных, но осуществлять импорт-экспорт вручную;
 использовать готовые решения с функцией синхронизации контактов.
В данной работе далее будут рассмотрены решения, позволяющие использовать несколько адресных книг в режиме автоматической синхронизации.
Будет обоснована необходимость разработки собственного решения данной задачи.
Наличие множества систем организации контактов ставит перед нами задачу об обмене этой информацией между системами. Практически в любых
электронных адресных книгах доступна функция импорта или экспорта данных
из файла. Однако такой подход требует от пользователя совершать одну и ту же
процедуру (экспорт из системы А, импорт в систему Б) каждый раз после появления новых контактов.
На практике это приводит к тому, что пользователь скорее откажется от
использования остальных систем в пользу одной, что ограничит мобильность
его адресной книги. В случае если пользователь решит продолжить использование нескольких систем, актуальность информации со временем будет падать.
Таким образом, очевидна необходимость автоматизации данного процесса. Кроме простого добавления контактов, процедура переноса должна обрабатывать следующие ситуации:
контакт уже существует в системе Б, необходимо его актуализировать
по определенным правилам;
 контакт был удален из системы А, нужно принять решение о его удалении из системы Б.
То есть на практике внешне простая задача синхронизации данных является не тривиальной и требует более тщательного анализа конкретных вариантов использования и интеллектуального подхода к обработке измененных данных.
Данную задачу может решить программное средство синхронизации, реализованное на том или ином языке программирования, с использованием определенной среды разработки и стека технологий.
Конечной целью данной работы является разработка готового программного компонента, который позволит эффективно решать поставленные задачи.
Важными шагами к разработке являются:
- анализ предметной области, обоснование актуальности разработки и
постановка задачи;
- выявление бизнес-моделей и процессов;
- обоснование проектных решений и проектирование целостного компонента;
- разработка и тестирование программного решения;
- написание документации, в том числе руководства программиста.

Возникли сложности?

Нужна помощь преподавателя?

Помощь студентам в написании работ!


В процессе выполнения дипломного проекта, была выявлена и проанализирована проблема хранения, выборки, обработки, синхронизации данных о
контактах адресных книг для использования в корпоративной сфере. Были изучены существующие решения в данной области.
На основе полученных данных был спроектирован программный компонент для организации и синхронизации электронных контактов. Были приняты
решения о выборе языка программирования, среды разработки и используемой
СУБД, а также форма решения в виде встраиваемого программного компонента. Были выявлены задачи и структура каждого модуля, составлены диаграммы
важнейших классов будущего компонента.
Наконец, на основе полученных проектных решений был разработан и
протестирован прототип компонента. Результаты тестирования были проанализированы, выявлены ключевые проблемы, не позволяющие использовать прототип в полной мере, и пути их решения.
Конечным результатом работы является полностью функционирующий
встраиваемый программный компонент, который позволяет эффективно решать
поставленные задачи.
Компонент был встроен в реальную программную систему заказчика и
находится в стадии пробного использования конечными пользователями. В
полной мере используется интеграция с почтовым сервисом GMail. Кроме того,
заказчиком был разработан прототип мобильного приложения для операционной системы iOS, использующий функциональность представленного компонента для синхронизации адресной книги мобильного устройства с внутренней
корпоративной системой.
По итогам обсуждения результатов тестирования с заказчиком, было решено в дальнейшем развивать компонент в следующих направлениях.
1. Реализовать обмен контактными данными между различными пользователями. Для этого вводится понятие категории приватности контакта (определяет какой набор данных будет видеть данный контакт). Будет реализован
визуальный пользовательский интерфейс, который позволит не только редактировать адресную книгу, но и вводить контактные данные самого пользователя,
который также сможет настроить несколько категорий приватности и набор видимых полей для каждой из них.
Работать это будет следующим образом. Каждому своему контакту пользователь сможет посылать запрос на синхронизацию. Если в системе будет
найден пользователь (или создан новый), чьи данные по определенным критериям совпадут с данными контакта, он автоматически получит данный запрос
(в котором будут содержатся только те данные, которые по решению пользователя-отправителя соответствуют выбранной им категории) и сможет принять
или отклонить его. В случае принятия, активируется двусторонний обмен данными. После этого любые изменения в контактных данных двух пользователей
будут автоматически отражены в соответствующих записях адресных книг.
2. Реализовать виртуальные визитные карточки. Для каждой категории
приватности пользователь сможет выбрать один из предопределенных шаблонов оформления визитной карточки. У каждого шаблона будет набор доступных цветовых схем. Далее, в зависимости от доступного для данной категории
набора информации, по определенным правилам будет формироваться визитная
карточка.
Предполагается использовать технологию HTML+CSS для реализации
карточек. Для улучшения качества отображения визитных карточек (например,
в будущем веб-интерфейсе или мобильном приложении), было предложено для
каждой виртуальной визитной карточки генерировать растровую версию под
несколько предопределенных размеров. Для этого будет использовано приложение PhantomJS.
По результатам всей работы была составлена пояснительная записка в соответствии с требованиями.


Outlook Contacts REST API Reference [Электронный ресурс] // Документация к Outlook Contacts API. – Режим доступа:
https://msdn.microsoft.com/en-us/office/office365/api/contacts-restoperations (дата обращения: 02.04.2016 г.)
2. Contacts API [Электронный ресурс] // Документация к Yahoo Contacts
API. – Режим доступа:
https://developer.yahoo.com/social/rest_api_guide/contact_api.html (дата
обращения: 02.04.2016 г.)
3. Google Contacts API version 3.0 [Электронный ресурс] // Документация
к Google Contacts API. – Режим доступа:
https://developers.google.com/google-apps/contacts/v3/ (дата обращения:
02.04.2016 г.)
4. Contact Management Products - FullContact [Электронный ресурс] //
Официальный сайт FullContact – Режим доступа:
https://www.fullcontact.com/apps/ (дата обращения: 06.04.2016 г.)
5. PHP: Руководство по PHP [Электронный ресурс] // Руководство по
PHP на русском языке. – Режим доступа:
http://php.net/manual/ru/ (дата обращения: 07.05.2016 г.)
6. Басс, Л. Архитектура программного обеспечения на практике / Л. Басс,
П. Клементс, Р. Кацман. – 2-е изд. – СПб. : Питер, 2006. – 575 с.
7. Вендров А.М. CASEтехнологии. Современные методы и средства
проектирования информационных систем.  М.: Финансы и статистика, 2000.
8. Боггс, Уэнди. UML и Rational Rose / Уэнди Боггс, Майкл Боггс. – М. :
Изд-во «Лори», 2001. – 580 с
9. Рамбо, Дж. UML 2.0. Объектно-ориентированное моделирование и
разработка / Дж. Рамбо, М. Блаха. – 2-е изд. – СПб. : Питер, 2007. –
544с.
Приемы объектно-ориентированного проектирования. Паттерны
проектирования. / Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. —
СПб:Питер, 2001. — 368 с.
11.Design Principles and Design Patterns. / Robert C. Martin —
www.objectmentor.com, 2000. — 34 с.
12.The MongoDB 3.2 Manual [Электронный ресурс] // Официальная документация СУБД MongoDB. – Режим доступа:
https://docs.mongodb.org/manual/ (дата обращения: 03.05.2016 г.)
13.Коннолли, Томас, Бегг, Каролин, Страчан. Базы данных: проектирование, реализация и сопровождение. Теория и практика, 2-е изд. – М. :
Издательский дом ”Вильямс”, 2001.
14.RFC 3339 - Date and Time on the Internet: Timestamps [Электронный ресурс] // Стандарт представления даты и времени – Режим доступа:
https://www.ietf.org/rfc/rfc3339.txt (дата обращения: 03.06.2016 г.)
15.Laravel - The PHP Framework For Web Artisans [Электронный ресурс] //
Документация к фреймворку Laravel – Режим доступа:
https://laravel.com/docs/5.2 (дата обращения: 18.05.2016 г.)
16.CSS - Bootstrap [Электронный ресурс] // Документация к фреймворку
Bootstrap 3 – Режим доступа:
http://getbootstrap.com/css/ (дата обращения: 18.05.2016 г.)
17.PSR-4: Autoloader - PHP-FIG [Электронный ресурс] // Соглашение об
автозагрузке классов PHP – Режим доступа:
http://www.php-fig.org/psr/psr-4/ (дата обращения: 26.05.2016 г.)
18.СТО 4.2–07–2014 Система менеджмента качества. Общие требования
к построению, изложению и оформлению документов учебной деятельности. – Введ. 09.01.2014. – Красноярск : ИПК СФУ, 2014. – 60 с.

Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2024 Cервис помощи студентам в выполнении работ