Веб-проект "Социальная сеть"

Тип работы:
Дипломная
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Министерство образования Республики Беларусь

Учреждение образования

БелорусскиЙ государственный университет

информатики и радиоэлектроники

Факультет непрерывного и дистанционного обучения

Кафедра программного обеспечения информационных технологий

Пояснительная записка

к дипломному проекту

на тему

Веб-проект «Социальная сеть»

БГУИР ДП 1−40 01 01 038 ПЗ

Студент Е.В. Унгур

Руководитель Е.В. Мельникова

Консультанты

от кафедры ПОИТ Е.В. Мельникова

по экономической части В.Г. Горовой

по охране труда А.М. Прудник

Нормоконтролер С.В. Болтак

Минск 2014

РЕФЕРАТ

Объектом исследования является создание и эксплуатация социальной сети.

Цель работы — создание первой национальной социальной сети, основанной на принципах патриотизма и поддержке государственности Республики Беларусь.

Разработка данного проекта позволит создать мощный национальный медиа-ресурс направленный на: упрощение социальных взаимоотношений граждан РБ; обеспечение информационной защищенности; поддержку и освещение национально-патриотических проектов пользователей ресурса; предоставление достоверной и актуальной информации о развитии государства.

Проведен сравнительный анализ различных методов разработки социальных сетей.

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

ОПРЕДЕЛЕНИЯ И СОКРАЩЕНИЯ

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

СС — социальная сеть.

БД — базы данных.

ПС — программное средство.

ПО — программное обеспечение.

ИТ — интернет технологии.

СУБД — система управления базой данных

e-mail — адрес электронной почты

ЭВМ — электронная вычислительная машина

PHP (PHP: Hypertext Preprocessor) — язык программирования общего назначения, используемый для разработки веб-приложений.

HTML (HyperText Markup Language) — гипертекстовый язык разметки, который используется для создания документов в Интернет.

JavaScript — прототипно-ориентированный сценарный язык программирования.

CSS (Cascading Style Sheets) — формальный язык описания внешнего вида документа, написанного с помощью языка разметки.

SQL (Structured Query Language -- «язык структурированных запросов») -- универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. Сам по себе SQL не является языком программирования, но его стандарт позволяет создавать для него процедурные расширения, которые расширяют его функциональность до полноценного языка программирования.

MySQL — свободная реляционная система управления базами данных.

Apache HTTP Server — свободный веб-сервер.

Denwer (рус. Денвер) — локальный сервер и программная оболочка, используемые веб-разработчиками для разработки сайтов.

ВВЕДЕНИЕ

Дипломная работа выполнена на тему «Веб-проект „Социальная Сеть“». Целью проекта служит создание информационного ресурса направленного на улучшение социальных взаимоотношений граждан РБ в рамках одной СС.

Социальная сеть (от англ. social networking service) -- платформа, онлайн-сервис или веб-сайт, предназначенные для построения, отражения и организации социальных взаимоотношений.

Конец ХХ — начало ХХI века отмечено бурным развитием Всемирной паутины. По мере ее роста получают широкое распространение и различные новейшие информационные технологии — использование Интернета становится привычным во многих сферах жизни и деятельности человека, ранее далеких от активного использования ЭВМ.

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

Популярность в Интернете социальные сети начали завоевывать в 1995 году, с появлением американского портала Classmates. com («Одноклассники» являются его русским аналогом). Проект оказался весьма успешным, что в следующие несколько лет спровоцировало появление не одного десятка аналогичных сервисов.

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

Все социальные сети имеют ряд общих черт:

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

— вход в систему посредством открытия сеанса (пользователь указывает имя и подтверждает свою личность вводом пароля);

— настройка окружения (например, указание дополнительных данных о себе, своих интересов).

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

Главное назначение социальных сетей — осуществление социальных взаимоотношений между пользователями Интернет.

1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1 Анализ существующих социальных сетей

Как отмечалось выше, социальная сеть — это медиа-ресурс который не только способствует улучшению социальных взаимоотношений пользователей Интернет (в данном случае граждан РБ), но и средство рекламы. Для того чтобы составить представление об уровне существующих социальных сетей была проделана работа по просмотру и анализу достоинств и недостатков СС. Ниже приводится краткое описание нескольких соц. сетей и сравнительный анализ их возможностей. Социальная сеть www. vk. com[1] - знаменитая СС российского разработчика П. Дурова. Открытие сайта происходит быстро, страница регистрации и входа, изображенная на рисунке 1. 1, обладает приятной цветовой гаммой, не загружена громоздкими визуальными компонентами. Меню регистрации и аутентификации находится слева, и выполнено в стиле основной страницы.

Рисунок 1.1 — Страница аутентификации и регистрации социальной сети

При нажатии на кнопку «Регистрация» появляется контекстное меню «Моментальной регистрации».

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

Рисунок 1.2 — Меню регистрации социальной сети vk. com

Завершив процесс регистрации, автоматически создается личная страница пользователя с учетом его данных. Страница пользователя, изображенная на рисунке 1. 3, социальной сети «В Контакте» выполнена в сине-серо-белых тонах, не загружена визуальными компонентами, весьма эргономична и приятна на вид. Она фактически разделена на 3 зоны: пользовательские ссылки (слева), навигация (сверху) и личная информация пользователя (посередине).

Рисунок 1.3 — Личная страница пользователя социальной сети vk. com

Плюсы социальной сети «В Контакте»:

— Приятный дизайн и эргономичность;

— Большие функциональные возможности: загрузка аудио, видео, фото файлов и т. д. ;

— Наличие возможности создания групп и подачи объявлений;

— Высокая скорость загрузки страниц;

Минусы:

— Посредственная реализация страницы регистрации;

— Большое количество платного контента (подарки, голоса, рейтинг страницы);

— Отсутствие ограничения просмотра контента имеющего возрастной рейтинг +18;

— Отсутствие контроля входящей в СС информации;

Социальная сеть www. facebook. com[2] - международная СС разработанная М. Цукербергом. Страница аутентификации и регистрации, показанная на рисунке 1. 4, загружается быстро и выполнена в сине-серых тонах (c градиентом белого), блок регистрации расположен посередине и выделен большим шрифтом, что способствует концентрации внимания пользователя на важной для него информации.

Рисунок 1.4 — Страница аутентификации и регистрации социальной сети

Блок регистрации разработан очень удобно и позволяет сразу ввести всю необходимую для пользователя информацию. Указаны ссылки на «Услуги использования» и «Политику использования данных». Также присутствует возможность регистрации публичного лица или организации. Эта функция открывает для СС широкий спектр возможностей оказания услуг по рекламе. В процессе регистрации оказывается помощь пользователю в виде всплывающих подсказок и предупреждений.

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

Рисунок 1.5 — Личная страница пользователя социальной сети facebook. com

Плюсы социальной сети «Фейсбук»:

— Удобная и приятная регистрация;

— Возможность регистрирования организации или публичного лица;

— Большое количество контента и высокая функциональность;

— Наличие отдельного блога;

Минусы:

— Неудобная конструкция личной страницы пользователя;

— Небольшой размер шрифта;

— Посредственная эргономичность страницы;

— Отсутствие интуитивно понятного интерфейса;

Социальная сеть www. professionali. ru[3]-- российская деловая СС, объединяющая специалистов и бизнесменов по отраслевым, профессиональным и географическим признакам. Регистрационная страница, показанная на рисунке 1. 6, выполнена в темно-серых и белых тонах. Наблюдается загромождение визуальными компонентами, из-за чего снижается общая эргономичность веб-страницы, а также отвлечение пользователя от процесса регистрации. Блок регистрации находится в верхнем углу справа, реализован достаточно просто с использованием шрифтов маленького размера. Акцент внимания пользователя на блоке регистрации отсутствует.

Рисунок 1.6 — Страница регистрации и аутентификации социальной сети

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

Рисунок 1.7 — Личная страница пользователя социальной сети

Плюсы социальной сети «Профессионалы. ру»:

— Широкий спектр поиска работы и работников;

— Большое количество различных специалистов и организаций;

Минусы:

— Узкая социальная направленность;

— Низкая эргономичность социальной сети;

Социальная сеть www. odnoklassniki. ru[4] - российский аналог знаменитой зарубежной сети Classmates. com. Открытие сайта происходит медленно, страница аутентификации и регистрации загружена флеш-анимацией, которая препятствует быстрой загрузке. Затруднен поиск настроек языка, копирайта и таких ссылок как: «новости», «о компании» и т. д.

Рисунок 1.8. — Страница аутентификации и регистрации социальной сети

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

Рисунок 1.9. — Страница регистрации социальной сети www. odnoklassniki. ru

Личная страница пользователя перегружена визуальными компонентами. Загруженность страницы негативно сказывается на скорости ее открытия. Обилие функционала рассеивает внимание пользователя и затрудняет поиск пользовательских ссылок: «список друзей», «личные сообщения» и т. д., что в целом отрицательно влияет на эргономичность личной страницы.

Рисунок 1. 10 — личная страница пользователя социальной сети

Плюсы социальной сети «Одноклассники»:

— Обилие контента;

— Удобный интерфейс регистрации;

Минусы:

— «Кричащая» цветовая гамма дизайна;

— Низкая эргономичность личной страницы пользователя;

— Продолжительная загрузка страницы аутентификации и регистрации;

— Перегруженность визуальными компонентами;

— Наличие флеш-анимации;

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

1.2 Метод шифрования, положенный в основу разработки обеспечения безопасности доступа к данным

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

Среди множества функций РНР есть функция MD5. В ее основе алгоритм MD5 RSA Data Security, Inc, она возвращает так называемые хеш-строки, который представляет собой 32-значное шестнадцатеричное число. Для каждой строки он уникален, вероятность совпадения его у разных строк ничтожно мала.

Хеширование — это вовсе не шифрование. Шифрование предполагает некий ключ, с помощью которого шифр можно перевести в читаемый текст. У хеширования такого ключа нет. Можно сказать, что это шифрование «в одну сторону», без возможности дешифровки.

Функцию MD5 очень удобно использовать для хранения паролей в базе сайта. Если пароли лежат в базе в явном виде, то в случае взлома такой базы хакер получит доступ к целой коллекции паролей. В данном случае существует две большие проблемы: во-первых, среди паролей могут оказаться и пароли пользователей с административными полномочиями; во-вторых, обычно пользователи применят одни и тот же пароль везде (на форумах, на своем ящике электронной почты и т. д.), поэтому не стоит авторам хорошего сайта подставлять своих пользователей.

На хороших сайтах пароли хранят в хешированном виде. Когда пользователь вводит свой пароль, его тоже пропускают через md5 и сравнивают с лежащим в базе хешем — если строки совпали, значит, пользователь ввел именно тот пароль, хеш которого лежит в базе.

На самом деле, хеширование очень хорошо защищает пароль, но абсолютной защиты все-таки не дает. Расшифровать его нельзя, но можно подобрать методом банального перебора. Хранящийся в базе хеш 8−10-значного пароля дает не абсолютную, но очень высокую степень защиты.

1.3 Алгоритм MD5

MD5 алгоритм используется в приложениях криптографии и электронно-цифровых подписей для генерации ключа шифрования. Алгоритм разработан, что бы быть достаточно быстрым на 32-битных системах и не требовать больших объемов памяти. MD5 является чуть более медленным, чем MD4, но является более устойчивым к криптографическим атакам. Далее под «словом» будет подразумеваться количество информации в 32 бита, а под «байтом» — 8 бит. Последовательность бит интерпретируется в естественной форме — как последовательность байт, где каждая группа из 8 бит является отдельным байтом, причем старший бит байта идет первым. Аналогично представляется последовательность байт, как последовательность слов, только младший байт идет первым. Предполагается, что в качестве входного потока имеется поток данных N бит. N — неотрицательное целое (возможно 0), не обязательно кратное 8. Для вычисления MD5 хеш-функции необходимо выполнить следующие 5 шагов.

Шаг 1: выравнивание потока.

Входной поток выравнивается так, что бы его длина стала конгруэнтной (сравнимой) с 448 по модулю 512. Выравнивание происходит следующим образом: к потоку добавляется один бит «1», а затем биты «0» до тех пор, пока длина потока не будет сравнима с 448 по модулю 512. Выравнивание происходит всегда, даже если длина потока была уже сравнима с 448 по модулю 512. Таким образом, к потоку добавляется минимум 1 бит, максимум -512.

Шаг 2: добавление длины.

64 битное представление длины входного потока (длины потока до выравнивания) добавляется к результату предыдущего шага. Если длина потока превосходит 2А64, то добавляются младшие 64 бит. Эти биты добавляются как 2 32-битных слова, младшее слово добавляется первым. Таким образом, на этом шаге длина потока становится кратной 512 битам или 16 32-битным словам. Шаг 3: инициализация MD буфера.

Буфер из 4 слов используется для вычисления хеш-функции, который инициализируется в соответствующие значения. Шаг 4: обработка потока блоками по 16 слов.

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

Шаг 5: вывод MD5.

Результат вычисления (хеш) представлен четырьмя 32 битными словами. 128-битный MD5 хеш готов.

1.4 Анализ программных средств и компонентов, необходимых для разработки программного продукта

Разработка социальной сети это долгий и трудоемкий процесс. В рамках написания дипломной работы, проект будет реализован в демонстрационном виде. Разработка С С «Белорусы» проходит на одной ЭВМ. В целях экономии средств сайт будет проходить тестирование, и «существовать» на локальном сервере. Создание веб-сайтов охватывает широкий ассортимент средств разработки, языков программирования и т. д. В реализации этого проекта будут задействованы следующие языки программирования: HTML, PHP, CSS, Java. Ниже приведен список, краткое описание, назначение ПС и компонентов, которые используются в процессе разработки.

HTML — гипертекстовый язык разметки, который используется для создания документов в Интернет. Любой HTML документ состоит из обычного текста и разметочных тэгов. Текст, как и в любых других файлах, используется для передачи информации, а разметочные тэги используются для ее группировки и оформления. Разметочные тэги HTML представляют собой специальные слова, которые окружены с обеих сторон угловыми скобками, например: < html>. Если HTML документ открыть в браузере, то он будет отображен в соответствии с разметочными тэгами и будет называться веб-страницей. Главная цель любого веб-браузера (такого как IE, Firefox, Chrome и т. д.) прочитать HTML документ и отобразить его как веб-страницу.

Основное назначение гипертекстового языка разметки в реализации данного проекта, является создание основной структуры сайта.

PHP — язык программирования общего назначения, используемый для разработки веб-приложений. В 1994 году датский программист Расмус Лердорф создал набор скриптов на Perl/CGI для вывода и учета посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl -- интерпретатора скриптов -- перестало хватать, и Лердорф разработал с использованием языка «Cи» новый интерпретатор шаблонов PHP/FI. В области программирования для сети Интернет PHP -- один из популярных сценарных языков благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

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

CSS — формальный язык описания внешнего вида документа, написанного с помощью языка разметки. CSS позволяет хранить информацию об оформлении HMTL документа в отдельном внешнем файле с расширением. css. Редактируя лишь один этот файл, стало возможным изменение оформления целого веб-сайта. На данный момент CSS является стандартом оформления HTML документов и поддерживается всеми современными браузерами.

При создании проекта CSS будет применяться для оформления веб-страниц.

Dreamweaver -- WYSIWYG HTML-редактор компании Adobe.

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

Notepad++ -- свободный текстовый редактор с открытым исходным кодом для Windows с подсветкой синтаксиса большого количества языков программирования и разметки.

Этот редактор будет использоваться преимущественно для верстки исходного кода.

Denwer — локальный сервер и программная оболочка, используемые веб-разработчиками для разработки сайтов на локальной Windows-машине без необходимости выхода в Интернет.

Для тестирования и демонстрации социальной сети используется локальный сервер.

Apache HTTP-сервер -- свободный веб-сервер. Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS. Основными достоинствами Apache считаются надежность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д.

Применение данного Веб-сервера будет происходить преимущественно в демонстрационных целях.

Также будут применены SQL и MySQL.

страница шифрование светотехнический данные

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

Как показал анализ предметной области можно выделить следующее.

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

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

У разрабатываемой социальной сети должна быть высокая функциональность. Редактирование списка друзей и личной страницы по усмотрению пользователя, отправка личных сообщений, ведение личного блога, создание групп, загрузка фотографий, музыки и видео — необходимые и обязательные функции современной социальной сети. Немаловажную роль в функциональности сайта играет удобный поиск и идентификация пользователей. Важным элементом для социальной сети является дизайн, он не должен «отвлекать» пользователей от общения и использования сайта. Яркий и «кричащий» стиль будет раздражать, и утомлять пользователя, поэтому при создании дизайна рекомендуется использовать преимущественно постельные и спокойные тона.

Нельзя забывать, что социальная сеть — это еще и мощный маркетинговый инструмент. При достаточной популярности сайта, реклама будет приносить стабильный и высокий доход разработчикам. Организации и частные лица могут подавать объявления точно также как и в газету, но с учетом того, что их объявление увидят те пользователи, которые заинтересованы в данном виде товаров или услуг.

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

2 МОДЕЛИРОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

2.1 Проектирование и разработка социальной сети

Перед началом проектирования социальной сети, следует выбрать определенные характеристики, на которых будет базироваться концепция самого проекта. Следует учесть общедоступность для различных слоев населения и разных возрастных категорий (от 18 до 60 лет). Не стоит забывать о социологических и маркетинговых исследованиях, поскольку разработка и проектирование программного продукта предназначено для широких масс и различных социально-культурных слоев общества, имеющих свои вкусы и требования на уже заполненном рынке социальных сетей.

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

Поскольку социальная сеть имеет разноплановую аудиторию, нужно учитывать разную возрастную категорию пользователей. Чем взрослее поколение, тем сложнее им ориентироваться в интернете. Регистрация в социальной сети процесс несложный, однако, привязка своего аккаунта к почте или номеру мобильного телефона (поля обязательные для заполнения), могут осложнить процесс регистрации из-за соображений безопасности личной информации, которая будет храниться на личной страничке пользователя.

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

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

Информация должна восприниматься быстро и четко, без осложнений из-за неправильно подобранных цветов в макете сайта. Стоит следовать одному правилу — не воплощать таких оригинальных идей, которые могут сбить с толку потенциальных пользователей. Если макет будет осложнен или же, например, список «друзей» будет расположен в самом низу страницы, то успеха социальная сеть иметь не будет.

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

Относительная бесплатность социальной сети. На рынке социальных сетей регистрация, как правило, бесплатная. За общение, прослушивание музыки, добавление фотографий или же картинок так же не взымается плата.

Дополнительные платные услуги. Однако, размещение рекламных баннеров услуга платная, но цены варьируются по-разному, в зависимости от способа оплаты (за показы или клики).

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

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

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

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

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

Безопасность. Защита личной информации пользователя. Укрепление системы безопасности является основополагающим фактором.

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

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

Рисунок 2.1 — Предварительный макет дизайна социальной сети

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

Навигация — содержит список ссылок на страницы системы (новостная лента, поиск, настройки страницы, работа и т. д.).

Имя — фамилия и имя пользователя.

Друзья — список друзей. По щелчку открывается список всех друзей, первыми отображаются те, кто в режиме он-лайн.

Фото — личная фотография пользователя.

Другие фото — загруженные в записи или альбомы фото.

Личные данные — информация о пользователе, заполняются пожеланию. Так же отображаются списки сообществ, на которые пользователь подписан.

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

Видео, музыка — медийный контент, загружаемый пользователем.

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

— традиционностью;

— простотой;

— эффективностью;

— безопасностью;

— гибкостью.

Так же стоит учесть то, что PHP распространяется бесплатно вместе с открытыми исходными кодами (Open Source).

Язык РНР будет знаком программистам, которые работают в различных областях. Многие языковые конструкции позаимствованы из Си, Perl. Код РНР схож с кодами, которые используется в С или Pascal. Этот фактор дает преимущество в его быстром изучении. PHP -- язык, сочетающий в себе достоинства Perl и Си, и нацеленный на работу в Интернете. Считается языком с универсальным и ясным синтаксисом.

Несмотря на то, что PHP — молодой язык, он имеет популярность среди Web-программистов, что делает его одним из самых распространенных языков для создания скриптов.

Сценарий РНР может быть составлен из 10 000 строк или из одной строки. Все это будет зависеть от специфики задачи программиста. Не нужно подгружать библиотеки, указывать специальные параметры компиляции и т. п. Механизм РНР выполняет код после первой экранирующей последовательности (< ?) и выполнение продолжается до момента встречи парной экранирующий последовательности (?>). Код, имеющий правильный синтаксис, исполняется точно.

Огромное количество функций PHP избавляет от написания многострочных пользовательских функций на C или Pascal.

«Движок» PHP обрабатывает многие сценарии быстрее, чем, например, на Perl.

Так же РНР имеет гибкие и эффективные средства безопасности. Условно их можно разделить на две группы: средства системного уровня и средства уровня приложения.

Поскольку язык очень гибок, то он может быть встроен в HTML, JavaScript, WML, XML. Сценарии РНР могут передаваться в браузер любого устройства, а программисты могут запустить через режим командой строки.

РНР работает на серверах Apache, Microsoft IIS, Netscape Enterprise Server, Stronghold и на платформах UNIX, Solaris, FreeBSD и Windows 95/98/NT/2000/XP/2003.

В разработке социальной сети «Белорусы» PHP будет комбинироваться с HTML для лучшего отображения страниц на экране компьютера.

Система управления базами данных (СУБД) -- это программное обеспечение для редактирования и создания баз данных, в которых совершается просмотр и поиск информации. Существует две технологии обработки информации: централизованная и распределенная. Централизованная база данных хранится в памяти одной машины.

На сегодняшний день самая распространенная и быстрая СУБД MySQL с управлением реляционными базами данных. Программное обеспечение MySQL — это высокоскоростной многопоточный, многопользовательский надежный SQL-сервер баз данных. Сервер предназначается и для систем с большой нагрузкой, исполняющих критические задачи для встраивания программного обеспечения массового распространения. MySQL является очень быстрым, надежным и легким в использовании. Главными преимуществами являются: безопасность информации, ее сортировка с возможностью извлечения и размещения информации с помощью одной строки.

При разработке социальной сети «Белорусы» будут установлены несколько классов пользователей к информации: гость, зарегистрированный пользователь, модератор, администратор.

Гостю доступны просмотр страниц и поиск информации, однако делиться своими новостями он не может.

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

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

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

Рисунок 2.2 — Диаграмма иерархии пользователей

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

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

Рисунок 2.3 — Диаграмма вариантов для класса пользователей Гость

Рисунок 2.4 — Диаграмма вариантов использования для класса пользователей беспроводной пользователь

Рисунок 2.5 — Диаграмма вариантов для класса пользователей модератор

Рисунок 2.6 — Диаграмма вариантов для класса пользователей администратор

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

Рисунок 2.7 — Диаграмма деятельности

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

В диаграмме состояний приводятся примеры добавления контента: комментариев, редактирования профилей, контента, статей, а также удаления контента. Администратор авторизуется в системе и выполняет алгоритм действий, представленный в диаграмме.

Рисунок 2.8 — Диаграмма состояния

Рисунок 2.9 — Диаграмма развертывания

2.2 Сбор информации

Социальная сеть «Белорусы» состоит из взаимосвязей между страничками пользователей, для того чтобы обойти такую СС и собрать нужную информацию создается поисковой робот. Создание робота обусловлено несколькими факторами:

— закрытость данных в СС;

— невозможность развития роботов, иных разработчиков, ввиду некоторых направлений по мере исследования;

Рисунок 2.9 — Схема работы поискового робота

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

2.3 Запросы к хранимым данным

Поскольку социальная сеть «Белорусы» представляет собой граф, то для анализа требуется специальный декларативный язык для запросов, так как:

— аналитикам нужно выполнять поиск по значению (семантический) и проводить многошаговый анализ в больших графах;

— должно быть реализовано простое перемещение функций графа в себя;

— нужно использовать ключевые слова в тексте или в html-тэгах для увеличения количества запросов.

Всем этим требованиям соответствует язык SPARQL. Основные характеристики этого языка:

— осуществление поддержки в работе с путями в графе;

— функции среднее, минимум, максимум, сумма;

— функции дополнение, объединение и пересечение;

— поддержка функций для пользователя;

— выполнение поисковых запросов с помощью групп символов.

Библиотека Jena использует свои функции для работ с онтологиями (ключевыми словами).

Рисунок 2. 10 — Схема работы подсистемы запросов

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

2.4 Интерактивная визуализация данных

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

Рисунок 2. 11 — Процесс интерактивной визуализации

Преимущества данной системы:

— пользователь может сам настроить размер, цвет и форму визуалиционных параметров или, например, наложить ограничение на вывод некоторых граф непосредственно с помощью фильтров;

— взаимодействие с объектом с помощью устройства ввода (мышь, клавиатура) на базе основных действий: выбор, перемещение, навигация, масштабирование, вращения, сдвига;

— изменение данных с помощью редактирования, создания и удаления;

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

3 ОБОСНОВАНИЕ ВЫБОРА СРЕДСТВ И СРЕДЫ РАЗРАБОТКИ ПРОГРАММНОГО СРЕДСТВА

3.1 Среда разработки программного средства

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

HTML — гипертекстовый язык разметки, который используется для создания документов в Интернет. С помощью него создается необходимая структура и сетка страницы, внешний вид которой в дальнейшем совершенствуется CSS и JavaScript. В настоящий момент последней версией является HTML5, которой предшествовала HTML4. 01. Большинство Web-ресурсов построены на основе именно этого языка.

В отличие от HTML 4, у которого 3 валидатора, у HTML 5 валидатор один: < !DOCTYPE html>. HTML 5 поддерживает MathML и SVG.

Новые теги: section, article, aside, hgroup, header, footer, nav, dialog, figure, video, audio, source, embed для вставки контента с плагином (только), mark, progress, meter, time, ruby, rt, rp, canvas, command, detailes, datalist, keygen, output.

Новые типы input: tel, search, url, email, datetime, date, month, week, time, datetime-local, number, range, color.

Новые атрибуты для тегов: атрибуты ping media для a и area и т. д.

Исчезновение некоторых тегов, по причине того, что их можно заменить CSS: basefont, big, center, font, s, strike, tt, u.

Исчезновение фреймов из-за негативного влияния на всю страницу

Исчезновение некоторых тегов, замененных в обновленной спецификации на более актуальные: acronym (используется abbr), applet (используется object), isindex, dir.

Не поддерживаются некоторые атрибуты у тегов из-за отсутствия необходимости: rev и charset у link и a, shape и coords у a и т. д.

Не поддерживаются некоторые атрибуты у тегов по причине того, что при использовании CSS достигается лучший эффект: align у всех тегов, alink, link, text, vlink у body и так далее.

Новые API: рисование 2D-картинок в реальном времени; контроль над проигрыванием медиафайлов; хранение данных в браузере; редактирование; Drag-and-drop; работа с сетью; MIME; новые элементы в DOM.

CSS — формальный язык описания внешнего вида документа, написанного с помощью языка разметки. CSS это акроним для Cascading Style Sheets/Каскадных таблиц стилей. CSS это язык стилей, определяющий отображение HTML-документов. Например, CSS работает с шрифтами, цветом, полями, строками, высотой, шириной, фоновыми изображениями, позиционированием элементов и многими другими вещами. HTML может использоваться для оформления Web-сайтов, но CSS предоставляет большие возможности и более точен и проработан. CSS, на сегодняшний день, поддерживается всеми браузерами.

HTML используется для структурирования содержимого страницы. CSS используется для форматирования этого структурированного содержимого. По мере развития Web дизайнеры начали искать возможности форматирования онлайновых документов. Чтобы удовлетворить возросшим требованиям потребителей, производители браузеров (тогда — Netscape и Microsoft) изобрели новые HTML-тэги, такие, например, как < font>, которые отличались от оригинальных HTML-тэгов тем, что они определяли внешний вид, а не структуру. Это также привело к тому, что оригинальные тэги структурирования, такие как < table>, стали все больше применяться для дизайна страниц вместо структурирования текста. Многие новые тэги дизайна, такие как < blink>, поддерживались только одним браузером. «Вам необходим браузер X для просмотра этой страницы» — такой отказ стал обычным явлением на Web-сайтах.

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

Появление CSS стало революцией в мире Web-дизайна. Конкретные преимущества CSS:

— управление отображением множества документов с помощью одной таблицы стилей;

— более точный контроль над внешним видом страниц;

— различные представления для разных носителей информации (экран, печать, и т. д.);

— сложная и проработанная техника дизайна.

Существуют способа применить правила CSS к HTML-документу.

Метод 1: Инлайн/In-line (атрибут style). Можно применять CSS к HTML с помощью HTML-атрибута style. Красный цвет фона можно установить так:

< html>

< head>

< title>Example</title>

< /head>

< body style="background-color:#F00;«>

<p>This is a red page</p>

</body>

</html>

Метод 2:Внутренний(тэг style). Второй способ вставки CSS-кодов —HTML-тэг <style>. Например:

<html>

<head>

<title>Example</title>

<style type="text/css">

body {background-color: #FF0000; }

< /style>

< /head>

< body>

< p>This is a red page< /p>

< /body>

< /html>

Метод 3: Внешний. Рекомендуемый метод — создание ссылки на так называемую внешнюю таблицу стилей. Внешняя таблица стилей это просто текстовый файл с расширением. css. Например, таблица стилей называется style. css и находится в папке style. Это можно проиллюстрировать так:

Рисунок 3.1 — Таблица стилей

Суть состоит в том, чтобы создать ссылку из HTML-документа (default. htm) на таблицу стилей (style. css). Это можно сделать одной строчкой HTML-кода:

< link rel="stylesheet" type="text/css" href="style/style. css" />

Необходимо обратить внимание на то, как указан путь к вашей таблице стилей атрибутом href. Эту строку кода нужно вставлять в разделе header HTML, то есть между тэгами < head> и < /head>. Например, так:

< html>

< head>

< title>My document< /title>

< link rel="stylesheet" type="text/css" href="style/style. css" />

< /head>

< body>

Эта ссылка указывает браузеру, что он должен использовать правила отображения HTML-файла из CSS-файла.

Самое важное здесь то, что несколько HTML-документов могут ссылаться на одну таблицу стилей. Иначе говоря, один CSS-файл можно использовать для управления отображением множества HTML-документов.

Рисунок 3.2 — Связь CSS-файла с HTML-документами

W3C это World Wide Web Consortium, независимая организация по разработке стандартов кодов Internet (например, HTML, CSS, XML и др.). Microsoft, The Mozilla Foundation и многие другие являются членами W3C и работают по соглашению о перспективах развития этих стандартов. Идея стандартизации в том, чтобы заключить соглашение о развитии Web-технологий, это означает, что действуя в рамках стандартов, Web-разработчик может быть уверен, что он работает в стиле, который будет универсальным для различных платформ. Для облегчения проверки на соответствие CSS-стандарту, W3C создал так называемый validator, который читает ваши таблицы стилей/stylesheet и возвращает список предупреждений о нарушениях и ошибок, если CSS их содержит.

JavaScript -- прототипно-ориентированный сценарный язык программирования. Все, что вы видите на Web-странице — это набор элементов и объектов разных типов (окно браузера, документ, массив, кнопки, формы, текст, рисунки и т. п.). К примеру, вы смотрите на страницу в окне браузера, которое представляет собой объект window. В нем находится HTML-документ, являющийся объектом document, который в сою очередь содержит множество разных элементов страницы — заголовки, абзацы, кнопки, формы, текст, ссылки и многое другое. Итак, первый основной объект — document (такие объекты еще называют объектами верхнего уровня — window, document, form). Предположим на странице есть несколько изображений. Первая картинка будет характеризоваться как images[0], вторая — images[1], и т. д. Дело в том, что объекты автоматически добавляются под порядковыми номерами в той последовательности, в какой они определялись в коде Web-страницы. Таким образом, возможно, вытащить нужную картинку под определенным номером следующим образом document. images[i], где под i подставляем нужный индекс изображения. Важно отметить тот факт, что каждый объект JavaScript имеет свои свойства и методы.

Компания Macromedia решила большинство проблем совместимости и производительности, выпустив Flash, который, к сегодняшнему дню, весьма эволюционировал и является полноценной частью инструментов-техник Web-дизайна.

Существуют plug-in'ы (подключаемые модули), которые встраиваются в браузер и служат для просмотра Flash страниц, они называются Flash Player, причем в последних версиях Netscape Navigator и Internet Explorer эти модули уже встроены (если нет, то их можно бесплатно скачать с сайта Macromedia). И существует программа Flash, с помощью которой эти страницы создаются.

В пользу Flash приводятся его основные достоинства и статистка использования Macromedia профессиональными разработчиками:

— маленький размер получающихся файлов и, соответственно, более быстрая загрузка из сети. Flash использует векторный формат изображений и сжимает растровые и звуковые файлы, (которые также могут использоваться в страницах Flash), что очень положительно влияет на уменьшение размера страницы и время ее скачивания;

— устранение проблем совместимости между браузерами. В отличие от HTML, Flash одинаково работает как в Internet Explorer, так и в Netscape Navigator. Имеется даже специальный вариант примочки-проигрывателя для браузеров, поддерживающих Java (Flash Java Player);

— мощный событийно-управляемый язык. В Macromedia Flash используется специальный язык, при помощи которого можно создавать «интеллект» для своей страницы. Причем если в Flash 4 это был, скорее, некий скрипт (script), имеющий всего несколько основных функций, то в Flash 5 (несмотря на название «ActionScript») — это почти полноценный язык программирования, с поддержкой условий, циклов, массивов, функций и классов, которые можно наследовать;

— Flash имеет автоматическую поддержку anti-aliasing (сглаживание контуров с помощью смешения соседних цветов). В результате даже простая линия или кружочек, нарисованные во Flash, выглядят приятно для глаз.

— создание страниц в Flash легкое и удобное, а также это весьма приятное занятие. Если обладать элементарными навыками дизайна и рисования, открывается весь простор для Вашей фантазии, предоставляемый Flash.

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

На сегодняшний день Flash Player используют 222 миллиона человек, и каждый день его скачивает еще 1.4 миллиона. По данным Macromedia это позволяет 90% пользователям Сети просматривать страницы с Flash содержимым.

Особенности Macromedia Flash 5. Flash 5 — язык программирования нестандартных интерфейсов с векторной анимацией. Здесь делается основной упор на то, что интерфейсы нестандартны. «Нестандартные» интерфейсы имеют ряд отличий от «стандартных» (под «стандартными» подразумеваются привычные интерфейсы HTML):

1. Специальные управляющие объекты (кнопки, панели, блоки). Для примера, рулетка в Microsoft Word — нестандартный объект. Ее практически невозможно реализовать в HTML, только изображение, но не интерактивную функциональность.

2. Независимое размещение объектов, другими словами, не размещение объектов относительно друг друга, а расположение по координатам и уровням. В DHTML такая возможность существует, но в DHTML надежно реализовать можно только совсем простые вещи.

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

В результате подобной «нестандартности» появляется полная свобода в создании интерактивного интерфейса, более удобного, более наглядного, более функционального. Это реально повышает уровень предоставляемого сервиса. А значит, достигается «customer satisfaction» (удовлетворение требований клиента), и, в конечном итоге, система становится более конкурентоспособной.

И именно Flash 5 дает возможность делать такие интерфейсы принципиально проще, чем любой другой инструмент, который можно всерьез рассматривать как сколько-нибудь значимую рыночную технологию.

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

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

ПоказатьСвернуть
Заполнить форму текущей работой