Веб-проект соціальної мережі "Моя сім’я"

Класифікація соціальних мереж, опис їх архітектури. Вибір інструментальних засобів для розв'язання задачі. Використання баз даних MySQL та Apache HTTP Server, мов програмування РНР і JavaScript. Розміщення основних елементів на сайті та його дизайн.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 27.09.2017
Размер файла 806,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Веб-проект соціальної мережі «Моя сім'я»

Зміст

Вступ

1. Аналіз предметної області

1.1 Класифікація соціальних мереж

1.2 Архітектура сайту «Вконтакте»

1.3 Короткий опис термінів в соціальній мережі «Моя сім'я »

2. Постановка задачі

3. Вибір інструментальних засобів для вирішення задачі

4. Опис програми

4.1 Загальні відомості

4.2 Use Case Diagramm

4.3 Розміщення основних елементів та дизайн сайту

Висновки

Перелік посилань

Вступ

Соціальні мережі міцно увійшли у сучасне життя. Можна довго й безрезультатно сперечатися про їхню користь та шкоду, але факт залишається фактом -- число їх користувачів безупинно зростає. Контингент соціальних мереж самий різний. Ними користується надзвичайно велика кількість людей незалежно від віку, статі, професії, освіти і т.д. Багато про що свідчить хоча б той факт, що президент РФ Дмитро Медведєв має активний аккаунт у «Живому Журналі» і веде власний відеоблог на своєму сайті. Найпопулярніші в СНД соціальні мережі -- «Вконтакте» та «Однокласники». Вони являються аналогами зарубіжних проектів, таких як «Facebook» і «MySpace». Сайт «Вконтакте» призначений для абсолютно будь-яких користувачів, «Однокласники», як правило, для дорослих людей, бажаючих знайти і поспілкуватись зі своїми однокласниками та однокурсниками. Безсумнівно, будь-який користувач зацікавлений в безпеці та конфіденційності інформації, яку він передає та отримує через соціальні мережі. Однак потрібно відмітити, що кожен добровільно вказує про себе деяку кількість інформації, яка знаходиться у відкритому доступі для кожного. Існують також різноманітні налаштування приватності, які дозволяють приховати ваші дані від небажаного любознавства. Проблема несанкціонованого доступу до особистої інформації, тобто взлому, не є чимось особливим для соц. мереж. Взламувати можна все, що завгодно: від поштових скриньок та аккаунтів в онлайн іграх до банківських та урядових мереж.

Метою курсової роботи є - розробка WEB проекту соціальної мережі «Моя сім'я», щоб користувачі моєї системи мали можливість легко знаходити втрачені зв'язки з друзями, спілкуватися з ними через повідомлення як у приват так і на стіну, перегляд фотографій та можливістю прокоментувати їх, щоб користувач міг відправляти другу сподобавшийся йому музичний файл, а також перегляд телебачення у реальному часі. Усі ці основні функції для соціальної мережі є дуже важливими, і без них жодна соціальна мережа не зможе бути конкуренто спроможною.

1. Аналіз предметної області

Соціальні мережі плодяться в Інтернеті з небаченою швидкістю, в тому числі, і в російськомовній його частині. Їх творці, як правило, переслідують дві основні мети:

* розкрутити ресурс і заробити на рекламі;

* розкрутити ресурс і вигідно його продати.

Ці дві мети можуть у явному вигляді не артикулюватися, і тоді з'являються мережі, створені тими, хто бажає принести користь людям, освоїти бюджет, отриманий від інвестора, або просто потренуватися в програмуванні. Логічно припустити, що ті соціальні мережі, адміністратори яких ніяк не реагують на листи користувачів, проваджені останніми двома мотивами.

Користувачам мережеві мережі теоретично надають наступні можливості:

* знаходити нових людей зі схожими інтересами або просто цікавим профілем;

* відновлювати старі зв'язки з однокласниками, друзями, колегами, колишнім подружжям і підтримувати існуючі;

* ділитися своїми особистими новинами і думками;

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

Користувач соціальної мережі заповнює свій профіль, в якому вказує інформацію про себе та свої інтереси, після чого йому надається можливість запросити інших знайомих в ту ж мережу, а також знайти тих, хто вже є в даній мережі, причому шукати можна по набору ознак,включаючи місце навчання, роботи, проживання, а також інтереси або, наприклад,улюблені мережеві ресурси. Підтримувати сталі зв'язки можна за допомогою повідомлень, часток в дискусіях на форумі і блогах учасників, коментарів з приводу викладаються фотографій і т.д. Відзначу, що потенційно соціальні мережі можуть бути зручним поєднанням блогу, IM (ICQ, MSN та ін.) та електронної пошти. [1]

Потрібно сказати, що не всі мережі мають виключно розважальний характер, наприклад, російська мережа Мій коло націлена на пошук професійних зв'язків і потенційних партнерів, роботодавців і найманої сили. Практично у всіх соціальних мережах пошук людей зі схожими інтересами реалізований гранично просто. Ви друкуєте ключові слова, після чого отримуєте список людей, які сформулювали свої інтереси тими ж словами. Не дуже зрозуміло, що робити після цього: не те уточнювати, що кожен з вас розумів під ключовим словом (оскільки інтерес «Читання», скажімо, може означати як пристрасть до шпигунським детективам, так і наукову ступінь з літератури), чи то просто порадіти передбачуваної спільності. Можна, звичайно, і почати обговорювати спільні інтереси на форумі соціальної мережі, але дискусії з абстрактним предметів там, як правило, проходять мляво. На активних тематичних форумах нерідко стихійно формуються тісні мережеві спільноти, а от люди в мережевих мережах, які повинні, по ідеї, бути пов'язані загальними інтересами, рідко об'єднуються у відносно великі групи, провідні дискусії з конкретної тематики,не пов'язаної власне з соціальними мережами як такими.

У деяких випадках соціальні мережі в Інтернеті дійсно дозволяють знайти старих знайомих, а також підтримувати зв'язок з тими, кому ми ніяк не зберемося відправити лист. По суті справи, такі мережі стають своєрідними адресними книжками, завжди доступними в мережі, а також здатними розширюватися автоматично, коли вас знаходить знову зареєстрував користувач. З іншого боку, мереж стає все більше, і в кожній з них потрібно заповнювати досить багато відомостей для того, щоб вас можна було знайти. З розвитком технологій Web 2.0 соціальні мережі знайшли відчутну основу у вигляді порталів і веб-сервісів. Так, знайшовши на одному з таких сайтів абсолютно незнайомого для себе людину, можна побачити ланцюжок проміжних знайомств, через яку ви з ним пов'язані.

Переможний хід по Інтернету соціальні мережі почали в 1995 році з американського порталу Classmates.com («Однокласники» є його російським аналогом). Проект виявився дуже успішним, що в наступні кілька років спровокувало появу не одного десятка аналогічних сервісів. Але офіційним початком буму соціальних мереж прийнято вважати 2003-2004 роки, коли були запущені LinkedIn, MySpace і Facebook. І якщо LinkedIn створювалася з метою встановлення / підтримки ділових контактів, то власники MySpace і Facebook зробили ставку в першу чергу на задоволення людської потреби в самовираженні. Адже, відповідно до пірамідою Маслоу, саме самовираження є найвищою потребою людини, випереджаючи навіть визнання і спілкування. Соціальні мережі стали свого роду Інтернет-притулком, де кожен може знайти технічну і соціальну базу для створення свого віртуального «Я» .При цьому кожен користувач отримав можливість не просто спілкуватися і творити, але й ділитися плодами своєї творчості з багатомільйонною аудиторією тієї чи іншої соціальної мережі.

Сервісні соціальні мережі дозволяють користувачам об'єднуватися в он-лайн режимі навколо спільних для них інтересів, захоплень або з різних приводів. Наприклад, деякі сайти надають сервіси, за допомогою яких користувачі можуть розміщувати для загального доступу персональну інформацію, необхідну для пошуку партнерів. Комерційні соціальні мережі орієнтовані на підтримку бізнес-транзакцій і формування довіри людей до брендів на основі врахування їх думок про продукт, про те як зробити його краще і т. п., тим самим дозволяючи споживачам брати участь у просуванні продукту і розширюючи їх обізнаність.

Для рекламодавців соціальні мережі надають унікальні можливості безпосереднього контакту зі споживачами. Щодня мільйони користувачів ведуть бесіди про компанії, їх товари та послуги, ділячись своєю думкою і враженнями. У результаті окремо взятий учасник мережевої спільноти може зіпсувати (або навпаки) репутацію компанії з багатомільйонним оборотом. Обсяг ринку реклами в соціальних мережах неухильно зростає. У 2007 році, за оцінками аналітичної компанії eMarketer, він досяг позначки в 1225 млн доларів. При складанні звіту експертами eMarketer враховувалися всі види реклами, розміщеної в соціальних мережах, включаючи медійну, контекстну і відеорекламу, а також витрати на маркетингові проекти, в яких маркетологи створюють профілі для своїх товарів та брендів у соціальних мережах. Крім того, в прогнозах вперше враховуються витрати на створення віджетів і додатків. За прогнозами eMarketer, до 2011 року обсяг ринку реклами в соціальних мережах зросте до 3,8 млрд. дол..

В даний час найбільший інтерес до соціальних мереж проявляють компанії таких секторів, як споживчі товари, виробники спиртних напоїв, автовиробники, компанії індустрії розваг. Споживчі бренди до останнього часу не вели агресивну рекламну політику в мережі Інтернет, однак на 2009 рік багато з них запланували бюджети на маркетинг у соціальних мережах. Тому при добрій організації моєї соціальної мережі, а так само при хороших інвестиції в рекламу, для заманювання великої кількості користувачів, через деякий час завдяки контекстній рекламі і заробітку на он-лайн іграх - проект повинен досить швидко окупитися. [17]

1.1 Класифікація соціальних мереж

Всі соціальні мережі можна умовно розділити на три категорії:

1. На загальну тематику (створені для приватного спілкування)

2. Спеціалізовані

3. Ділові

Соціальні мережі на загальну тематику, наприклад Facebook (більше 69 мільйонів користувачів), Вконтакте.ру (11 мільйонів користувачів) та Однокласники (більше 14 мільйонів користувачів), спрямовані на підтримку і налагодження вже існуючих контактів та пошук нових знайомих. Вони мають велику популярність серед школярів та студентів, що використовують веб-сервіси як платформу для спілкування в мережі. Ці сайти вже накопичили величезну базу контактів і профілів, з яких можна багато дізнатись про людину та її уподобання.

Спеціалізовані соціальні мережі займають певну нішу в своєму секторі, і збирають аудиторію за інтересами. Наприклад, Last.FM- музична соціальна мережа, яка розбудовує зв'язки між користувачами за принципом музичних уподобань. Geni - сімейна соціальна мережа, об'єднує людей на основі родинних зв'язків. Соціальна мережа MyChurch надає можливість будь-якій людині створити свою церкву та своє коло спілкування. Autokadabra.ru - соціальна мережа автолюбителів.

Ділові соціальні мережі, такі як LinkedIn, Plaxo та МойКруг, спрямовані на професійний розвиток та побудову кар'єри. Новою в цьому переліку є українська ділова соціальна мережа PROFEO, запуск якої відбувся у квітні 2008 року. PROFEO має україномовний інтерфейс і спрямована на професійний розвиток в Україні. Специфіка нової мережі полягає в унікальному для України поєднанні різних послуг та сервісів, доступних з одного ресурсу: онлайн-адресна книжка, блоги, форуми, галерея, миттєві повідомлення та групи за професійними інтересами.

1.2 Архітектура сайту «Вконтакте»

Сервера багатофункціональні і використовуються одночасно в кількох ролях:

· Перекидання напівавтоматичне;

· Потрібно перезапускати daemon'и;

· Генерація сторінок з новинами (мікроблоги) відбувається дуже схожим чином з Facebook, основна відмінність - використання власної СУБД замість MySQL;

При балансуванні навантаження використовуються:

· Зважений round robin всередині системи;

· Різні сервера для різних типів запитів;

· Балансування на рівні ДНС на 32 IP-адреси;

Велика частина внутрішнього софта написано самостійно, в тому числі:

· Власна СУБД;

· Моніторинг з повідомленням по СМС;

· Автоматична система тестування коду;

· Аналізатори статистики і логів;

Потужні сервера:

· 8-ядерні процесори Intel;

· 64Гб оперативної пам'яті;

· 8 жорстких дисків;

· RAID не використовується;

Обчислювальні потужності серверів використовуються менш, ніж на 20%.

Зараз проект розташований в 4 дата центрах в Санкт-Петербурзі та Москві. [2]

соціальний мережа програмування сайт

Рисунок 1.1. Архітектура соціальної мережі «Вконтакте»

1.3 Короткий опис термінів в соціальній мережі «Моя сім'я »

Обмін повідомленнями - при виборі користувача можна відправити йому повідомлення. Коли користувач відкриє повідомлення нижче він відразу зможе дати на повідомлення відповідь.

Аватарку - фотографія користувача і головна картинка групи. Персонаж. Втілення у віртуальному світі. Відбиває риси характеру користувача або групи, дає перше враження про користувача, групі.

Авторизація - ідентифікація, аутентифікації користувача. Процес, при якому сайт може дізнатися зареєстрованого користувача. Процедура перевірки на справжність поєднання ідентифікаційного імені та пароля. Пропуск на територію сайту, через ім'я (логін) і пароль, подібно пред'явленням паспорта або пропуску. Надання права доступу і перевірка повноважень користувача на виконання будь-яких дій на сайті.

Адміністратор групи в соціальній мережі - засновник групи, який несе відповідальність перед адміністрацією сайту за її зміст. Може змінювати опис групи і головну картинку - аватарку. Може видалити групу. Видалення облікового запису адміна тягне за собою видалення і всіх груп, ним створених.

Адміністрація сайту - особи, уповноважені власником сайту на здійснення управління сайтом і інші дії, пов'язані з його використанням. Адміністрація сайту діє від імені власника сайту, крім окремо обумовлених варіантів.

Аккаунт - реєстраційний запис, що містить відомості, які користувач повідомляє про себе у соціальній мережі. Містить відомості, необхідні при підключенні до системи - ім'я користувача (логін) і пароль, ім'я та прізвище користувача. Може містити додаткові анкетні дані користувача - фотографію, по батькові, псевдонім, стать, соціальну приналежність та інше. Див обліковий запис.

Аудіозапис - завершений звуковий епізод, окреме звукове твір, збережених за допомогою мікрофона повітряних коливань: музики, мови, сигналів від музичних інструментів та інших звуків, оброблених і перетворених звуковою картою.

Бан - спосіб покарання адміністрацією сайту за некоректну поведінку користувача або використання спамерських прийомів, який полягає у видаленні облікового запису з бази. Відновлення не гарантовано, звичайно вимагає особистого листування з адміністрацією і в будь-якому випадку займає тривалий час.2) видалення учасника з групи за некоректну поведінку через занесення його в чорний список. Учасник групи, занесений в НС, не має можливості потрапити в групу. Після виведення з НС, учасник у групі автоматично не відновлюється.

Відеоролик - незалежний епізод кіно, окреме закінчене кінотвір. Художньо складена послідовність кадрів. Короткометражний (рідше повнометражний) підвид кіномистецтва, часто містить спецефекти і закодований за допомогою кодеків в контейнерному форматі.

Група - спільнота людей зі схожими інтересами, які спілкуються один з одним усередині соціальної мережі. Складається в першу чергу з учасників і форуму. Якість і ранг групи в першу чергу оцінюється за кількістю учасників. Може формуватися навколо певної сфери діяльності, географічної прив'язки або інтересів (спорт, музика і т. д.).

Домашня сторінка - ресурс, що представляє собою розповідь про людину, його родині, способі життя, хобі та захоплення. Персональна сторінка користувача, зазвичай невеликого розміру. Головна перша сторінка сайту, що завантажується на комп'ютер після введення основного адреси сайту, несуча основну презентаційну і навігаційну навантаження.

Закрита група - група соціальної мережі, дані якої можуть переглядати тільки складаються в ній учасники. Для приєднання до закритої групі потенційний учасник відправляє запит на вступ до групи, який відправляється на розгляд модераторам групи.

Про себе - розділ особистої сторінки користувача, в якому Користувач може повідомити інформацію: про життя, про навчання, про службу, про роботу й різне. У цьому розділі можливо розміщення посилань на інші сайти.

Он-лайн - знаходиться на даний момент у стані підключення до Інтернету. Функціонуючий тільки при підключенні до Інтернету. Існуюче і те, що відбувається в Інтернеті в режимі реального часу.

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

Користувач сайту - особа, яка здійснює доступ до певного сайту за допомогою мережі Інтернет. Особа, яка звертається до будь-якої з веб-сторінок, які входять до складу сайту. З моменту підтвердження реєстрації та активації облікового запису користувач набуває статусу зареєстрованого користувача. Має доступ до всіх сервісів сайту.

Додаток - додаток до основного сайту, прикладна комп'ютерна програма, спрямована на певну аудиторію користувачів. Клієнт-серверний додаток, що дозволяє додавати на сайт інтерактивні flash-програми. Програми поділяються на види: спілкування, гри.

Стіна - спосіб публікації відкритих записів особистого і загального характеру тимчасової значущості, відсортованих у зворотному хронологічному порядку, тобто остання запис, знаходиться зверху. Стіну має кожен користувач і кожна група.

Інформація користувача - розділ особистої сторінки користувача, в якому Користувач може повідомити інформацію: про життя, про навчання, про службу, про роботу й різне. У цьому розділі можливо розміщення посилань на інші сайти.

2. Постановка задачі

Метою курсового проекту є розробка веб проекту соціальної мережі «Моя сім'я» в яку входять такі функції:

- можливість зареєструватися на сайті;

- можливість занесення особистих даних;

- завантаження аватарки;

- пошук людей по їхній інформації про себе;

- пошук музики, відео, груп, каналів;

- можливість додавання людей у друзі ;

- можливість видалення людей з друзів;

- можливість писати та получати повідомлення;

- можливість слухати музику та дивитися завантажене відео та відеоканали;

- можливість створювати галереї з своїх фотографій та зображень;

- можливість створювати відео архіви;

- можливість створювати групи та запрошувати в них людей;

- можливість редагувати данні та аватар групи;

- можливість банити людей у своїй групі;

- можливість коментувати зображення;

- можливість заходити на сторінку друзів;

- можливість бачити хто є твоїм другом, та хто з них зараз на сайті;

- можливість редагування та видалення особистої інформації;

- зрозумілий інтерфейс для користувача;

- можливість грати в ігри.

3. Вибір інструментальних засобів для вирішення задачі

HTML (від англ. HyperText Markup Language - мова розмітки гіпертексту) - стандартний мова розмітки документів у Всесвітній павутині. Більшість веб-сторінок створюються за допомогою мови HTML (або XHTML).Мова HTML інтерпретується браузером і відображається у вигляді документа, в зручній для людини формі. Мова HTML був розроблений британським вченим Тімом Бернерсом-Лі приблизно в 1991-1992 роках у стінах Європейської ради з ядерних досліджень у Женеві (Швейцарія).HTML створювався як мова для обміну науковою і технічною документацією, придатний для використання людьми, які не є фахівцями в області верстки. HTML успішно справлявся з проблемою складності SGML шляхом визначення невеликого набору структурних і семантичних елементів - дескрипторів.

Дескриптори також часто називають «тегами». За допомогою HTML можна легко створити відносно простий, але красиво оформлений документ. Крім спрощення структури документа, в HTML внесена підтримка гіпертексту. Мультимедійні можливості були додані пізніше. Спочатку мова HTML був задуманий і створений як засіб структурування та форматування документів і їх прив'язки до засобів відтворення (відображення).В ідеалі, текст з розміткою HTML повинен був без стилістичних та структурних викривлень відтворюватися на обладнанні з різною технічною оснащеністю (кольоровий екран сучасного комп'ютера, монохромний екран органайзера,обмежений за розмірами екран мобільного телефону або пристрою і програми голосового відтворення текстів).Проте сучасне застосування HTML дуже далеко від її початкової задачі. Наприклад, тег <TABLE> , Кілька разів використаний для форматування сторінки, яку ви зараз читаєте, призначений для створення в документах самих звичайних таблиць, але, як можна переконатися, тут немає жодної таблиці. З плином часу, основна ідея платформо незалежна мови HTML була віддана в своєрідну жертву сучасним потребам у мультимедійному і графічному оформленні.

Офіційною специфікації HTML 1.0 не існує. До 1995 року існувало безліч неофіційних стандартів HTML. Щоб стандартна версія відрізнялася від них, їй одразу присвоїли другий номер.

На сучасному етапі можна констатувати зростання популярності браузерів, наступних рекомендацій W3C (це Mozilla Firefox і інші браузери на движку Gecko; Safari,Google Chrome та інші браузери на движку WebKit; Opera з движком Presto). При цьому Internet Explorer поки зберігає лідируючі позиції. [3]

HTML я використовую для розмітки сторінок сайту та елементів таблиць.

JavaScript - об'єктно-орієнтована скриптова мова програмування. Є діалектом мови ECMAScript. JavaScript використовується в клієнтській частині веб-додатків: клієнт-серверних програм, в якому клієнтом виступає браузер, а сервером - веб-сервер, що мають розподілену між сервером і клієнтом логіку. Обмін інформацією у веб-додатках відбувається по мережі. Одним з переваг такого підходу є той факт, що клієнти не залежать від конкретної операційної системи користувача, тому веб-додатки є міжплатформовими сервісами. JavaScript зазвичай використовується як вбудовувана мова для програмного доступу до об'єктів додатків. Найбільш широке застосування знаходить в браузерах як мова сценаріїв для додання інтерактивності веб-сторінок. Основні архітектурні риси: динамічна типізація, слабка типізація, автоматичне керування пам'яттю, прототипну програмування, функції як об'єкти першого класу. На JavaScript вплинули багатьма мовами, при розробці була мета зробити мову схожим на Java, але при цьому легким для використання непрограмістів. Мовою JavaScript не володіє будь-яка компанія або організація, що відрізняє його від ряду мов програмування,використовуваних у веб-розробці.

JavaScript - мова підготовки сценаріїв, що дозволяє зробити Web-сторінки більш інтерактивними і функціональними. Після його вивчення ви зможете займатися розробкою Web-додатків на якісно новому рівні. Для написання сценаріїв JavaScript обов'язково потрібне знання мови HTML. Придивіться до сайтів, які ви відвідуєте. На кожній сторінці міститься текст і деяку кількість картинок. Бути може, є годинник, що показує час, або "що біжить текст у рядку стану браузера. Можливо, на сайті є форма, яку потрібно заповнити. Якщо пропустити яку-небудь графу анкети, то з'явиться повідомлення про помилку. На деяких сторінках зустрічаються рухаються по екрану зображення або текст, що змінюється при клацанні миші. Таким чином, ви можете спостерігати JavaScript в дії, а створити подібні ефекти може будь-яка людина, що знає цю мову. Рекомендація Слід поспостерігати за тим, що створюють за допомогою JavaScript інші розробники. Це відмінний спосіб знайти свіже рішення. Корисно вивчити JavaScript хоча б через його широкого розповсюдження в мережі. Величезна кількість Web-сторінок зроблено з використанням сценаріїв (по самих різних причинах), і сайти без них здаються бляклими й нудними. Яким би цікавим не був зміст сайту, деякі відвідувачі відразу захочуть піти. Звичайно, немає сенсу заперечувати важливість текстового змісту для будь-який Web-сторінки, однак використання JavaScript не тільки поліпшить подачу матеріалу, але й зробить вашу сторінку більш запам'ятовується. [4]

JavaScript використовую для асинхронного спілкування з БД та візуальних ефектів на стороні клієнта.

PHP (Hypertext Preprocessor - Препроцесор Гіпертексту) - це широко використовувана мова сценаріїв загального призначення з відкритим вихідним кодом. PHP - мова програмування, спеціально розроблений для написання web-додатків (скриптів, сценаріїв), що виконуються на Web-сервері. Синтаксис мови багато в чому грунтується на синтаксисі C, Java і Perl.Він дуже схожий на С і на Perl, тому для професійного програміста не складе праці його вивчити. З іншого боку, мова PHP простіше, ніж C, і його може освоїти веб-майстер, який не знає поки інших мов програмування. Величезним плюсом PHP, на відміну від, наприклад, JavaScript, є те, що PHP-скрипти виконуються на стороні сервера. PHP не залежить від швидкості комп'ютера користувача або його браузера, він повністю працює на сервері. Користувач навіть може не знати, чи отримує він звичайний HTML-файл або результат виконання скрипта.

Сценарії на мові PHP можуть виконуватися на сервері у вигляді окремих файлів, а можуть інтегруватися в html сторінки. PHP здатний генерувати і перетворювати не тільки HTML документи, але й зображення різних форматів - JPEG, GIF, PNG, файли PDF і FLASH. PHP здатний формувати дані в будь-якому текстовому форматі, включаючи XHTML і XML. PHP - кроссплатформенная технологія. Дистрибутив PHP доступний для більшості операційних систем, включаючи Linux, багато модифікації Unix, Microsoft Windows, Mac OS і багатьох інших. PHP підтримується на більшості веб-сервер, таких, як Apache, Microsoft Internet Information Server (IIS), Microsoft Personal Web Server і інших. Для більшості серверів PHP поставляється в 2-х варіантах - як модуль і як CGI препроцесора. PHP підтримує роботу з ODBC і велику кількість баз даних: MySQL, MSQL, Oracle, PostgreSQL, SQLite і ін. Мова програмування PHP, особливо в зв'язці з популярною базою даних MySQL - оптимальний варіант для створення інтернет-сайтів різної складності. Мова PHP постійно удосконалюється, і йому, напевно забезпечено довге домінування в області мов web-програмування. Нове розширення PHP 5 MySQLi (MySQL Improved) призначена для роботи з MySQL-сервером версій 4.1.2 і вище, реалізовуючи не тільки процедурний, але і об'єктно-орієнтований інтерфейс до MySQL. Додаткові можливості цього модуля включають - SSL, контроль транзакцій, підтримка реплікації і ін. Розширення SQLite дозволяє будувати програми, що зберігають дані у звичайних файлах, з можливістю використання до них інтерфейсу SQL. Головна перевага SQLite - виняткова простота використання. SQLite поряд з процедурними має також потужні об'єктно-орієнтовані можливості для роботи з даними. Інші відмінні особливості SQLite - висока швидкість, відсутність складних механізмів адміністрування, легка переносимість і пр. [5]

Мову PHP я використовую для роботи с даними та базою данних.

CSS (англ.Cascading Style Sheets - каскадні таблиці стилів) - технологія опису зовнішнього вигляду документа, написаного мовою розмітки. Переважно використовується як засіб оформлення веб-сторінок у форматі HTML і XHTML, але може застосовуватися з будь-якими видами документів у форматі XML, включаючи SVG і XUL. CSS використовується авторами та відвідувачами веб-сторінок для завдання кольорів, шрифтів, розташування та інших аспектів представлення документа. Основною метою розробки CSS було розділення вмісту (написаного на HTML або іншій мові розмітки) і представлення документа (написаного на CSS).Таке розділення може покращити сприйняття та доступність контенту, забезпечити більшу гнучкість та контроль за його поданням, а також зменшити складність і повторюваність в структурному вмісті. Крім того, CSS дозволяє представляти один і той самий документ у різних стилях або методи виведення, таких як екранне уявлення, друк, читання голосом (спеціальним голосовим браузером або програмою читання з екрану), або при виведенні пристроями, що використовують шрифт Брайля.

CSS для відображення сторінки можуть бути взята з різних джерел (порядок ієрархії від сильного до слабкого):

Авторські стилі (інформація стилів,надана автором сторінки):

Inline-стилів,коли в HTML-документі інформація стилю для одного елемента вказується в його атрибуті style.

Вбудованих стилів - блоків CSS всередині самого HTML-документа.

Зовнішніх таблиць стилів, тобто окремого файлу. Css, на який робиться посилання в документі.

Користувацькі стилі

Локальний CSS-файл, вказаний користувачем в настройках браузера, переопределяющий авторські стилі, і вживаний до всіх документів.

До появи CSS оформлення веб-сторінок здійснювалося безпосередньо усередині вмісту документа. Проте з появою CSS стало можливим принципове розділення змісту і представлення документа. За рахунок цього нововведення стало можливим легке застосування єдиного стилю оформлення для маси схожих документів, а також швидка зміна цього оформлення.

Декілька дизайнів сторінки для різних пристроїв перегляду. Наприклад, на екрані дизайн буде розрахований на велику ширину, під час друку меню не буде виводитися, а на КПК і стільниковому телефоні меню буде слідувати за вмістом. [6]

CSS використовую для візуальних ефектів и графічних інтерфейсів для користувача.

JSON (англ.JavaScript Object Notation) - текстовий формат обміну даними, заснований на JavaScript і часто використовується саме з цією мовою. Як і багато інших текстові формати, JSON легко читається людьми. Незважаючи на походження від JavaScript (точніше, від підмножини мови стандарту ECMA-262 1999 року), формат вважається мовно незалежного і може використовуватися практично з будь-якою мовою програмування. Для багатьох мов існує готовий код для створення та обробки даних у форматі JSON. За рахунок своєї лаконічності в порівнянні з XML, формат JSON може бути більш підходящим для серіалізациі складних структур. Якщо говорити про веб-додатках, в такому ключі він доречний в задачах обміну даними як між браузером і сервером (AJAX), так і між самими серверами (програмні HTTP-інтерфейси).Формат JSON так само добре підходить для зберігання складних динамічних структур в реляційних базах даних або файловому кеші. Оскільки формат JSON є підмножиною синтаксису мови JavaScript, то він може бути швидко десеріалізовать убудованою функцією eval ().Крім того можлива вставка цілком працездатних JavaScript-функцій. У PHP починаючи з версії 5.2.0 підтримка JSON включена в ядро у вигляді функцій json_decode () і json_encode (), які самі перетворює типи даних JSON у відповідні типи PHP і навпаки.

JSON будується на двох структурах: Набір пар ім'я / значення. У різних мовах це реалізовано як об'єкт, запис, структура, словник, хеш-таблиця, список з ключем або асоціативний масив. Пронумерований набір значень. У багатьох мовах це реалізовано як масив, вектор, список або послідовність. Це - універсальні структури даних. Теоретично, всі сучасні мови програмування підтримують їх у тій або іншій формі. Так як JSON використовується для обміну даними між різними мовами програмування, то має сенс будувати його на цих структурах. Оскільки JSON представляється синтаксично правильним фрагментом коду JavaScript, найпростішим способом розбору JSON-даних в JavaScript-програмі є використання вбудованою в JavaScript функції eval (), яка призначена для виконання JavaScript-виразів. При цьому підході відпадає необхідність у використанні додаткових парсерів. [6]

JSON - це строкове представлення даних, його я використовую для реалізації передачі даних між JavaScript та РНР.

MySQL - це популярна система управління базами даних (СКБД), дуже часто застосовується в поєднанні з PHP. База даних являє собою структуровану сукупність даних. Ці дані можуть бути будь-якими - від простого списку майбутніх покупок до переліку експонатів картинної галереї або величезної кількості інформації в корпоративній мережі. Для запису, вибірки й обробки даних, що зберігаються в комп'ютерній базі даних, необхідна система управління базою даних, якою і є ВО MySQL. Оскільки комп'ютери чудово справляються з обробкою великих обсягів даних, управління базами даних відіграє центральну роль в обчисленнях. Реалізовано таке управління може бути по-різному - як у вигляді окремих утиліт, так і у вигляді коду, що входить до складу інших додатків. MySQL - це система управління реляційними базами даних. У реляційній базі даних дані зберігаються не все скопом, а в окремих таблицях, завдяки чому досягається виграш у швидкості й гнучкості. Таблиці зв'язуються між собою за допомогою відносин, завдяки чому забезпечується можливість поєднувати при виконанні запиту дані з декількох таблиць. SQL як частина системи MySQL можна охарактеризувати як мова структурованих запитів плюс найбільш поширений стандартний мова, яка використовується для доступу до баз даних.

MySQL є дуже швидким, надійним і легким у використанні. Якщо вам потрібні саме ці якості, спробуйте попрацювати з даним сервером. MySQL володіє також рядом зручних можливостей, розроблених у тісному контакті з користувачами. Спочатку сервер MySQL розроблявся для керування великими базами даних з метою забезпечити більш високу швидкість роботи в порівнянні з існуючими на той момент аналогами. І ось вже протягом декількох років даний сервер успішно використовується в умовах промислової експлуатації з високими вимогами. Незважаючи на те що MySQL постійно вдосконалюється, він уже сьогодні забезпечує широкий спектр корисних функцій. Завдяки своїй доступності, швидкості та безпеки MySQL дуже добре підходить для доступу до баз даних по Internet. Технічні можливості СУБД MySQL MySQL є системою клієнт-сервер, яка містить багато-поточний SQL-сервер, що забезпечує підтримку різних обчислювальних машин баз даних, а також кілька різних клієнтських програм і бібліотек,засоби адміністрування і широкий спектр програмних інтерфейсів (API).Ми також постачаємо сервер MySQL у вигляді многопоточной бібліотеки, яку можна підключити до призначеного для користувача програми і отримати компактний, більш швидкий і легкий в управлінні продукт. Доступно також велику кількість програмного забезпечення для MySQL, в більшій частині - безкоштовного. [6]

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

Apache HTTP-сервер (скорочення від англ. A patchy server) - веб-сервер. Apache є кросплатформним ПЗ, підтримує операційні системи Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS. Основними достоїнствами Apache вважаються надійність і гнучкість конфігурації. Він дозволяє підключати зовнішні модулі для надання даних, використовувати СУБД для аутентифікації користувачів, модифікувати повідомлення про помилки і т. д. Підтримує IPv6. Сервер був написаний на початку 1995 року і вважається, що його ім'я перегукується з жартівливою назвою «a patchy» (англ. «латочку»), так як він усував помилки популярного тоді сервера Всесвітньої павутини NCSA HTTPd 1.3. Надалі, з версії 2.х сервер був переписаний заново і тепер не містить коду NCSA, але ім'я залишилося. На даний момент розробка ведеться в гілці 2.2, а у версіях 1.3 та 2.0 виробляються лише виправлення помилок безпеки. Веб-сервер Apache розробляється і підтримується відкритим співтовариством розроблювачів під егідою Apache Software Foundation і включений в багато програмні продукти, серед яких СУБД Oracle і IBM WebSphere. З квітня 1996 і до теперішнього часу є найпопулярнішим HTTP-сервером в Інтернеті. За статистикою Netcraft, у серпні 2007 року він працював на 51% усіх веб-серверів, в травні 2009 року - на 46%.

Ядро Apache включає в себе основні функціональні можливості, такі як обробка конфігураційних файлів, протокол HTTP і система завантаження модулів. Ядро (на відміну від модулів) повністю розробляється Apache Software Foundation, без участі сторонніх програмістів. Теоретично, ядро apache може функціонувати в чистому вигляді, без використання модулів. Однак, функціональність такого рішення вкрай обмежена. Ядро Apache повністю написана на мові програмування C. Apache має вбудований механізм віртуальних хостів. Він дозволяє повноцінно обслуговувати на одному IP-адресу безліч сайтів (доменних імен), відображаючи для кожного з них власне вміст. Для кожного віртуального хоста можна вказати власні налаштування ядра і модулів, обмежити доступ до всього сайту або окремих файлів. Деякі MPM, наприклад Apache-ITK дозволяють запускати процес httpd для кожного віртуального хоста з окремими ідентифікаторами uid та gid.

Для реалізації шифрування даних, що передаються між клієнтом і сервером використовується механізм SSL, реалізований через бібліотеку OpenSSL. Для підтвердження автентичності веб-сервера використовуються сертифікати X.509. [6]

Apache HTTP-сервер використовую для робото здібності РНР скріптов.

4. Опис програми

4.1 Загальні відомості

Мій курсовий проект «Моя сім'я» відноситься до Веб проектів - соціальні мережі, і розроблятися буде на мовах програмування РНР, HTML та JavaScript і використовувати базу даних MySQL та Apache HTTP Server, всі ці компоненти безкоштовні і для них легко можна знайти хостинг. При успішному просуванні проекту на ринок - деякі модулі можна буде переписати на мову С, який більш швидше і використовувати більш потужну базу даних Oracle.

Щоб користувачі мали можливість користуватися цим веб - проектом, їм буде потрібен браузер який підтримує JavaScript та Інтернет. Для пошуку людей та усіх інших можливостей цієї соціальної мережі користувачеві потрібно зареєструватися на сайті а також підтвердити реєстрацію кодом що прийде йому на емейл адресу. Після чого для входу йому потрібно тільки проходити стадію авторизації.

Для запуску соціальної мережі «Моя сім'я» користувачам потрібно буде заходити за адресою розміщення сайту в інтернеті.

4.2 Use Case Diagramm

Для незареєстрованного користувача соціальної мережі «Моя родина» будуть доступні 2 варіанти розвитку подій: реєстрація та авторизація, це показано на рис 4.1

Рисунок 4.1. Use Case Diagramm для незареєстрованого користувача

Для зареєстрованого користувача будуть доступні усі можливості використання соціальної мережі «Моя родина», це добре можно побачити на Use Case Diagramm для зареєстрованого користувача на рис 4.2

Рисунок 4.2. Use Case Diagramm для зареєстрованого користувача

Для адміністратору соціальної мережі були розроблені найважливіші управлінні модулі для роботи с сайтом. Це можливо побачити на рис 4.3

Рисунок 4.3. Use Case Diagramm для адміністратора

Activity diagram використовуються при моделюванні бізнес-процесів, технологічних процесів, послідовних і паралельних обчислень, процес реєстрації на сайті показано на рис 4.4.

Рисунок 4.4. Activity diagram реєстрації

4.3 Розміщення основних елементів та дизайн сайту

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

Дизайн сайту дуже простий але в той самий час дуже функціональний та зручний, на рис 4.5 показано де будуть розміщенні основні об'єкти на головній сторінці сайту.

Рисунок 4.5. Дизайн та розміщення основних об'єктів на головній сторінці сайту

Висновки

У ході виконання даної курсової роботи було створено веб - проект соціальної мережі «Моя сім'я » в якій реалізовані основні пункти для вдалого введення проекту в Інтернет, щоб користувачі мали можливість реєструватися та комфортно спілкуватися та самовиражатися.

Проект був створений за допомогою таких мов програмування РНР та JavaScript і використовує базу даних MySQL та Apache HTTP Server, так як всі ці компоненти безкоштовні і для них легко можна знайти безкоштовний хостинг.

У проекті використовуються засоби роботи з зображенням gd_library в РНР, що дозволяє якісною структурувати необхідні дані по галереям та аватаром. Проект значно спрощує роботу у соціальній мережі завдяки зрозумілому інтерфейсу який повинен задовольняти користувачів соціальної мережі.

Даний програмний продукт може бути використовувати будь-який користувач комп'ютера або, який може користуватися Інтернетом, бо спілкуватися у соціальній мережі «Моя сім'я» дуже зручно та легко.

Перелік посилань

1 [Електронний ресурс] http://ru.wikipedia.org/wiki/Служба_сетевых_сообществ

2 [Електронний ресурс] http://www.insight-it.ru/masshtabiruemost/arkhitektura-vkontakte/

3 [Електронний ресурс] http://ru.wikipedia.org/wiki/HTML

4 [Електронний ресурс] http://uk.wikipedia.org/wiki/JavaScript

5 [Електронний ресурс] http://ru.wikipedia.org/wiki/PHP

6 [Електронний ресурс] http://ru.wikipedia.org/wiki/CSS

7 [Електронний ресурс] http://ru.wikipedia.org/wiki/JSON

8 [Електронний ресурс] http://www.php.su/mysql/?info

9 [Електронний ресурс] http://ru.wikipedia.org/wiki/Apache

10 [Електронний ресурс] http://www.redactor.in.ua/internet/268.html

11 Максим Кузнецов, Самоучитель MySQL 5, издательство Питер год 2006. - стр 546

12 Тим Конверс, Джойс Парк и Кларк Морган. PHP 5 и MySQL. Библия пользователя (PHP 5 and MySQL: Bible). Издательство Питер 2003, - стр 1200.

13 Стивен Хольцнер, PHP в примерах. Издательство Наука и Техника 2009 год, - стр 352.

14 Бенкен, AJAX, программирование для Интернета, Издательство Вершина, 2008 г. - стр 464.

15 Дэвид Сойер Макфарланд, Большая книга CSS, издательство Питер 2009 г. Страниц 512.

16 Д. В. Николенко, Практические занятия по JavaScript, Издательство: Наука и техника, 2006 год, - стр 128.

17 Бен МакКоннелл, Джеки Хуба, Эпидемия контента. Маркетинг в социальных сетях и блогосфере. Издательство Вершина, 2008 г. - стр 192.

Размещено на Allbest.ru

...

Подобные документы

  • Метод розв’язків рівнянь більш високих порядків. Вибір методу розв'язання задачі Коші. Методи розв'язання крайових задач розглядаються на прикладі звичайного диференціального рівняння другого порядку. Вибір методу інструментальних засобів вирішення задач.

    курсовая работа [132,0 K], добавлен 03.12.2009

  • Вибір архітектури та інструментальних засобів розробки. Розробка модуля для перегляду сторінок сайту, доступного, зручного інтерфейсу системи адміністрування. Створення бази даних. Опис механізмів передачі даних між сторінками. Реалізація форуму на сайті.

    дипломная работа [7,1 M], добавлен 24.09.2012

  • Використання мови програмуванння Java при виконанні "задачі лінійного програмування": її лексична структура і типи даних. Методи розв’язання задачі. Особливості логічної структури програми, побудова її зручного інтерфейсу за допомогою симплекс методу.

    курсовая работа [437,9 K], добавлен 24.01.2011

  • Цілі і завдання розробки, її предмет і актуальність. Опис предметної області, цілі і завдання програми. Вибір методу рішення, опис процесу програмування і вибір інструментальних засобів для реалізації проекту, опис вхідних та вихідних даних, інтерфейсу.

    курсовая работа [327,1 K], добавлен 01.09.2014

  • Технологія візуального проектування. Аналітичне розв’язання задачі в загальному вигляді. Програмування в консольному режимі. Сценарій розв’язання задачі в Delphi та блок-схема алгоритму. Програмний код додатку та опис інтерфейсу з екранними копіями.

    курсовая работа [2,4 M], добавлен 22.06.2009

  • Дослідження методу сплайнів для вирішення задачі інтерполяції. Вибір методів технічних та інструментальних засобів вирішення задачі, їх алгоритми. Розробка логічної частини програми, результати обчислень. Розв’язання задачі в пакетах прикладних програм.

    курсовая работа [278,5 K], добавлен 03.12.2009

  • Задача лінійного програмування. Розв’язання задачі геометричним методом. Приведення системи рівнянь до канонічного вигляду. Розв’язання симплекс-методом. Розв’язок двоїстої задачі. Задача цілочислового програмування і дробово-лінійного програм.

    контрольная работа [385,2 K], добавлен 04.06.2009

  • Опис мови програмування PHP. Стратегія Open Source. Мова розмітки гіпертекстових документів HTML. Бази даних MySQL. Обґрунтування потреби віддаленого доступу до БД. Веб-сервер Apache. Реалізація системи. Інструкція користувача і введення в експлуатацію.

    курсовая работа [42,9 K], добавлен 21.12.2012

  • Огляд та аналіз методів розв’язання системи диференціальних рівнянь та вибір методів рішення. Алгоритми методів Ейлера. Вибір методу рішення задачі Коші. Рішення диференціальних рівнянь. Отримання практичних навиків програмування на мові Паскаль.

    курсовая работа [174,3 K], добавлен 06.03.2010

  • Алгоритми розв’язання задач у вигляді блок–схем. Використання мови програмування MS VisualBasic for Application для написання програм у ході вирішення задач на одномірний, двовимірний масив, порядок розв’язання задачі на використання символьних величин.

    контрольная работа [742,9 K], добавлен 27.04.2010

  • Топології нейронної мережі та їх застосування, варіанти вибору архітектури мереж, число проміжних шарів і число елементів, архітектури мереж користувачів. Мережі для задач з багатьма класами, операція додавання матриці втрат, багатошаровий перцептрон.

    контрольная работа [227,3 K], добавлен 21.06.2011

  • Загальні відомості та геометричний зміст розв'язання задачі Коші. Використання методу Ейлера для розв'язання звичайних диференціальних рівнянь першого порядку. Розробка блок-схеми та реалізація алгоритму в середовищі програмування Borland Delphi 7.0.

    курсовая работа [398,1 K], добавлен 14.10.2012

  • Javascript як мова програмування, заснована на об'єктах: і мовні засоби, і можливості середовища представляються об'єктами. Структура програм на мові Javascript. Декларація змінних та сфер їх впливу. Типи даних та їх використання. Пріоритети операцій.

    курсовая работа [51,4 K], добавлен 12.12.2010

  • Основні типи соціальних мереж, їх класифікація, характеристики та напрями застосування. Аналіз різноманітних математичних теорій, що використовуються для дослідження соціальних мереж. Психологічні аспекти користування онлайновими мережами в Інтернеті.

    дипломная работа [3,0 M], добавлен 02.12.2014

  • Опис механізмів передачі даних між сторінками. Розробка доступного та зручного інтерфейсу веб-сайту компанії "Artput" для відвідувачів сайту і для адміністратора. Установка Apache 1.3.29 та PHP 4.3.4 під Windows XP. Структура веб-сервера та веб-сайту.

    дипломная работа [5,0 M], добавлен 24.09.2012

  • Застосування симплекс-методу для розв’язання оптимізаційних задач лінійного програмування, що містять три змінні. Функції ітераційної обчислювальної процедури, що виконують приведення до зручного для розв’язання оптимального вигляду ЗЛП за кілька кроків.

    курсовая работа [359,5 K], добавлен 18.09.2013

  • Розв’язання нелінійних алгебраїчних рівнянь методом дихотомії. Вирішення задачі знаходження коренів рівняння. Розробка алгоритму розв’язання задачі і тестового прикладу. Блок-схеми алгоритмів основних функцій. Інструкція користувача програмою мовою С++.

    курсовая работа [2,0 M], добавлен 24.09.2010

  • Обґрунтований вибір засобів для проектування автоматизованої інформаційно-довідкової системи. Опис структури технологічного процесу обробки даних для розв’язання задачі. Комп'ютерна реалізація окремих об'єктів системи (таблиці, форми, звіти, запити).

    курсовая работа [30,7 K], добавлен 14.05.2011

  • Побудова інформаційної системи, що буде слугувати для автоматизації процесу захисту персональних даних клієнтів банку. Вибір методу проектування архітектури та моделі функціонування системи. Перелік масивів, використовуваних під час розв’язання задачі.

    дипломная работа [1,8 M], добавлен 02.06.2017

  • Розробка автоматизованої інформаційно-довідкової системи "Шовкова фея". Область використання системи, визначення функцій, вибір програмних засобів для розв’язання задачі, її комп’ютерна реалізація. Вимоги до ПЗ. Аналіз вихідних даних засобами MS Excel.

    презентация [980,4 K], добавлен 09.09.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.