MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY
Sociální síť motocyklového sportu DIPLOMOVÁ PRÁCE
BC. JANA MATĚJKOVÁ
Brno, podzim 2012
Prohlášení Prohlašuji, že tato práce je mým původním autorským dílem, které jsem vypracovala samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používala nebo z nich čerpala, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj.
Vedoucí práce: RNDr. Jaroslav Ráček, Ph.D. ii
Poděkování Na tomto místě bych ráda poděkovala svému vedoucímu práce prof. RNDr. Jaroslavu Ráčkovi, Ph.D., za jeho ochotu a cenné odborné rady při tvorbě této diplomové práce.
iii
Shrnutí Smyslem této diplomové práce byla analýza současných sociálních sítí a serverů věnujících se motocyklovému sportu v České republice s cílem navrhnout a implementovat prototyp sociální sítě, která by slučovala základní prvky sociální sítě s prvky potřebnými pro pořádání obecně vzatých motocyklových závodů.
iv
Klíčová slova sociální síť, motocyklový sport, motocyklové závody, entitně-relační diagram, use case diagram, PHP, MySQL, HTML, CSS
v
Obsah 1.
Úvod ............................................................................................................................................... 3
2.
Analýza sociálních sítí ................................................................................................................. 5
3.
4.
5.
2.1
Definice .................................................................................................................................. 5
2.2
Historie................................................................................................................................... 8
2.3
Jednotlivé SNSs .................................................................................................................. 11
2.3.1
Facebook ...................................................................................................................... 12
2.3.2
MySpace ....................................................................................................................... 13
2.3.3
Twitter .......................................................................................................................... 14
2.3.4
Google+ ........................................................................................................................ 14
2.3.5
YouTube ....................................................................................................................... 17
2.3.6
LinkedIn ....................................................................................................................... 18
2.4
Členění SNSs ....................................................................................................................... 20
2.5
Výhody a nevýhody používání SNSs .............................................................................. 22
2.6
Use case diagram pro SNSs ............................................................................................... 23
2.7
SNSs a motocyklové závody ............................................................................................. 25
Návrh nové sociální sítě pro motocyklový sport ................................................................... 29 3.1
Use case diagram ................................................................................................................ 29
3.2
Datový model ...................................................................................................................... 31
3.2.1
Motocyklová část ........................................................................................................ 31
3.2.2
Uživatelská část .......................................................................................................... 33
3.2.3
Závodní část ................................................................................................................ 35
Implementace .............................................................................................................................. 38 4.1
Implementace motocyklové části ..................................................................................... 39
4.2
Implementace uživatelské části ........................................................................................ 40
4.3
Implementace závodní části .............................................................................................. 41
Funkcionalita ............................................................................................................................... 43 5.1
Zobrazení kontaktu na organizátory ............................................................................... 43
5.2
Zobrazení katalogu výrobců, modelů motocyklů a tratí .............................................. 43
5.3
Zobrazení informací o seriálech ....................................................................................... 45 1
5.4
Vytvoření uživatelského profilu ...................................................................................... 46
5.5
Přihlášení a odhlášení ........................................................................................................ 47
5.6
Založení a správa vlastních profilů výrobců, modelů motocyklů a tratí ................... 48
5.7
Zobrazení informací o jiných uživatelích nebo týmech ................................................ 49
5.8
Komunikování s uživateli nebo týmy ............................................................................. 50
5.9
Správa vlastního profilu .................................................................................................... 51
5.10
Vytvoření a správa vlastního seznamu přátel ................................................................ 54
5.11
Založení profilu vlastního týmu nebo sezóny ................................................................ 57
5.12
Správa profilů vlastních týmu .......................................................................................... 58
5.13
Správa profilů vlastních sezón ......................................................................................... 60
5.14
Zaslání upozornění............................................................................................................. 61
5.15
Správa všech profilů .......................................................................................................... 61
6.
Možná rozšíření a napojení na stávající systémy ................................................................... 62
7.
Závěr............................................................................................................................................. 63
Internetové zdroje a literatura .......................................................................................................... 64 Zdroje převzatých obrázků ............................................................................................................... 68 Přílohy .................................................................................................................................................. 69 A. Entitně-relační diagram ......................................................................................................... 69 B.
Souhlas s použitím aplikačního rámce ................................................................................ 70
C.
Obsah přiloženého CD........................................................................................................... 71
2
1. Úvod Návrh na vytvoření této diplomové práce vznikl díky absenci systému, který by sdružoval účastníky a organizátory motocyklových závodů konkrétního seriálu či agentury na jednom místě, kde by bylo možné se přihlašovat na závody a prohlížet si dosažené výsledky jednotlivců i konkrétních týmů, a zároveň být ve spojení s celou komunitou závodníků a organizátorů. Motivací pak byly mé zkušenosti z oblasti vytrvalostních motocyklových závodů, známosti z oblasti organizátorů i účastníků těchto seriálů a především bohaté zkušenosti motocyklového závodníka prof. RNDr. Jaroslava Ráčka, Ph.D. S
rozmachem
osobních
počítačů,
notebooků
či
netbooků,
které
dnes
najdeme
v mnohačetném zastoupení v každé moderní domácnosti, nebo chytrých telefonů, díky kterým můžeme být 24 hodin denně připojeni k internetu, přišel i rozmach webových služeb a sociálních médií včetně fenoménu jménem sociální síť. Když se řekne sociální síť, tak si dnes snad každý jako první věc představí webovou aplikaci Facebook1. Jelikož je to podle nástroje Doubleclick Ad Planner2 od společnosti Google nejnavštěvovanější webová stránka, bez které si miliony lidí na světě neumí představit svůj každodenní život, je to celkem logické. Ale sociální sítě, to není jenom Facebook. V dnešní době najdeme na internetu stovky sociálních sítí a s nimi i miliony lidí a firem, které je dennodenně využívají. I když mají tyto webové aplikace stejnou základní myšlenku – sdružování lidí, vzájemná komunikace a sdílení informací – kumulují kolem sebe skupiny lidí odlišných kultur a zájmů, v závislosti na tom, co uživatelům nabízejí nebo například ve kterém státě jsou aktuálně nejvíce populární. Zatímco na Facebooku se stýkáte hlavně s lidmi, které už znáte, na stránkách LinkedIn3 si zřizujete profil hlavně kvůli lepší příležitosti najít si zajímavé zaměstnání. Cílem této diplomové práce je návrh a realizace sociální sítě se zaměřením na komunitu lidí věnující se motocyklovému sportu v České republice, která bude zároveň umožňovat organizaci daných závodů a přístup ke konkrétním výsledkům. První část je věnována obecné analýze sociálních sítí, jejích funkcí a vlastností. Je zde popsána historie, definice, typy a výhody a nevýhody sociálních sítí. Následuje obdobná analýza zaměřená na webové stránky věnující se organizaci motocyklových závodů. Na základě obou analýz vznikly dva obecné use case diagramy, každý popisující danou oblast, potřebné pro následnou fázi návrhu námi požadované sociální sítě. Druhá část se týká návrhu sociální sítě pro motocyklový sport. Popisuje výsledný use case diagram a entitně-relační diagram, na jejichž základě byl prototyp systému vytvořen. Důraz je kladen na popis jednotlivých uživatelských rolí a jejich interakcí se systémem.
1 www.facebook.com 2 www.google.com/adplanner/static/top1000/ 3 www.linkedin.com
3
Třetí část obsahuje popis implementace systému s výčtem použitých technologií, nástrojů a popisu nejdůležitějších tříd. Následuje vysvětlení funkcionality jednotlivých částí dané sociální sítě s ukázkami výsledného systému. Další kapitola popisuje možná rozšíření systému či propojení s jinými systémy. Závěrečná část seznamuje čtenáře s výsledky práce a s možným použitím výsledného prototypu v praxi.
4
2. Analýza sociálních sítí 2.1
Definice
Na tomto místě by bylo vhodné definovat, co to vlastně slovní spojení sociální síť znamená. Níže jsou uvedeny vybrané definice z pohledu počítačových i sociologických věd. Soudobé sociální sítě jsou především komunitní weby, které slouží ke komunikaci lidí, ať už známých nebo neznámých, propojených určitou vazbou, a jejich sdružování do skupin podle společných zájmů nebo vztahů. Zatímco v České republice se setkáváme především s označeními sociální síť, společenská síť, komunitní web nebo sociální médium, v anglicky psaných zdrojích se nejčastěji vyskytují termíny social network sites (weby/stránky sociálních sítí), social network (sociální síť - spíše z pohledu sociologie), social networking site (sociální síť – webová služba) nebo social networking service (sociální síť – online služba). Definice sociálních sítí ze dvou základních pohledů:
z pohledu sociálních a behaviorálních věd (vědy, zabývající se studiem lidského chování ve společnosti; především sociologie, antropologie a psychologie): „… sociální struktura tvořená souborem subjektů (jako jsou například osoby nebo organizace) a dyadických(dvojčlenných) vazeb mezi těmito subjekty.“ [1]4.
z pohledu webových služeb: „Sociální síť (social networking service) je online služba, platforma nebo webová stránka, která se zaměřuje na vytváření sociálních sítí nebo sociálních vztahů mezi lidmi, kteří např. sdílejí zájmy, aktivity, zázemí (původ) nebo real-life připojení.“[2]5.
V odborném článku „Moderní trendy v malém a středním podnikání – Úvod do sociálních sítí“ autorka Lucie Bornová uvádí: „Pokud bychom měli vysvětlit tento pojem někomu, kdo o něm v životě neslyšel, pak bychom použili definici, že se jedná o webovou stránku, na které společně komunikuje propojená skupina lidí. Jedná se o komunikační službu, která je plně závislá na internetovém připojení.“ [3]. Profesorky zahraničních univerzit Nicole B. Ellison (Department of Telecommunication, Information Studies, and Media, Michigan State University) a Danah M. Boyd (School of Information, University of California-Berkeley) v článku „Social Network Sites: Definition,
4
„A social network is a social structure made up of a set of actors (such as individuals or organizations) and the dyadic ties between these actors.“ 5 „A social networking service is an online service, platform, or site that focuses on facilitating the building of social networks or social relations among people who, for example, share interests, activities, backgrounds, or real-life connections.“
5
History, and Scholarship“ používají slovní spojení Social Network Site a definují ho následujícím způsobem: „My definujeme sociální sítě (Social Network Sites - SNSs) jako webové služby, které jednotlivcům umožňují (1) vytvořit veřejný nebo polo-veřejný profil v rámci ohraničeného/omezeného systému, (2) formulovat seznam dalších uživatelů („přátel“), s nimiž jsou ve spojení (sdílejí s nimi informace), a (3) zobrazit a procházet své seznamy „přátel“ a vytvářet je pomocí ostatních uživatelů v rámci daného systému. Povaha a terminologie těchto propojení se mohou u jednotlivých sítí lišit.“ [4]6 Pokud chceme znát význam určitého slova nebo slovního spojení, určitě nezaškodí využít služeb výkladového slovníku, ať už v psané či elektronické podobě. Podívejme se, jaké výsledky obdržíme po zadání hesel social network a social networking site na serveru Dictionary.com: „Sociální síť (social network) - podstatné jméno (1)
síť přátel, kolegů a jiných osobních kontaktů: Silné sociální sítě mohou podpořit zdravé způsoby chování.
(2)
Počítače: a) online komunita lidí se společnými zájmy, kteří využívají webové stránky nebo jiné technologie ke komunikaci, sdílení informací, zdrojů aj. s ostatními lidmi: sociální síť se zaměřením na byznys/obchod/povolání. b) webová stránka nebo online služba umožňující tuto komunikaci.“ [5]7.
Sociální síť (social networking site) - podstatné jméno „Webová stránka, která umožňuje účastníkům vzájemně komunikovat, obvykle požádáním o přidání do seznamu kontaktů (visible list), ale také vytvořením nebo přidáním se do podskupin založených na zájmech, či zveřejněním určitého obsahu tak, že k němu mají přístup specifické skupiny účastníků.“ [6]8. 6
„We define social network sites as web-based services that allow individuals to (1) construct a public or semi-public profile within a bounded system, (2) articulate a list of other users with whom they share a connection, and (3) view and traverse their list of connections and those made by others within the system. The nature and nomenclature of these connections may vary from site to site.“ 7
Social network - noun 1. a network of friends, colleagues, and other personal contacts: Strong social networks can encourage healthy behaviors. 2. Computers . a) an online community of people with a common interest who use a Web site or other technologies to communicate with each other and share information, resources, etc.: a business-oriented social network.
b) a Web site or online service that facilitates this communication. 8
Social networking site
6
Velmi často dochází k záměně slov sociální síť a komunita. První z těchto výrazů označuje zcela volnou, náhodnou interakci, vzniklou na základě času a prostoru. Komunita naopak značí sdílení informací s lidmi, kteří mají podobné zájmy a oblasti zaměření (takovým příkladem je sociální síť Facebook) [7]. Můžeme se setkat i s označením sociální médium, které také není zcela úplně přesným výrazem. Sociální síť pouze patří do skupiny sociálních médií, stejně tak jako různé webové blogy, diskusní fóra na určitá témata aj. Pokud tedy shrneme předchozí informace, dospějeme k závěru, že z pohledu internetu a webových služeb je sociální síť online webová služba, která slouží především ke komunikaci lidí a sdílení informací mezi nimi. Většinou má registrovaný uživatel možnost si vytvořit veřejný či polo-veřejný profil a sdružovat kolem sebe své známé a osoby se stejnými zájmy. Takto propojení uživatelé mezi sebou komunikují, vyměňují si názory a vzájemně se ovlivňují bez ohledu na to, kde se zrovna nacházejí nebo co dělají. Komunikace je zcela závislá na připojení k internetu a je zprostředkovávána především pomocí chatů, soukromých nebo hromadných zpráv, diskusních fór apod. Předmětem sdílení jsou informace a data v podobě textových zpráv, veřejných příspěvků, fotografií, videí, odkazů či různých elektronických dokumentů.
noun a website that allows subscribers to interact, typically by requesting that others add them to their visible list of contacts, by forming or joining sub-groups based around shared interests, or publishing content so that a specified group of subscribers can access it.
7
2.2
Historie
Pojem sociální síť (Social Network) byl zaveden již v roce 1954, kdy ho britský sociolog John Arundel Barnes poprvé použil ve vědeckém kontextu ve svém článku "Class and Committees in a Norwegian Island Parish", kde se zabývá životem v tehdejší vesnici Bremnes v Norsku [8]. Sociální síť jako taková tu ale byla odjakživa. Lidé vyznávající stejný druh náboženství, obyvatelé určitého státu, lidé stejné národnosti, rodina, přátelé, kamarádi, třída na základní škole, zájmový kroužek, plavecký oddíl, atd. to vše jsou skupiny tvořené lidmi, které spojují určité vzájemné vztahy či společné zájmy. Z pohledu lidského chování je totiž každá osoba členem nějaké sociální sítě. Všechny osoby, které dotyčný člověk zná, si můžeme představit jako větve a příbuzenské, kamarádské či jiné vztahy jako vztahy v rámci dané sociální sítě [9]. V dnešní době se tento pojem skloňuje hlavně ve spojení s internetem, který dal vzniknout novému významu tohoto sociologického výrazu: „Sociální síť neboli Social Network Site (SNS) jako pojmenování webové stránky či aplikace umožňující vytvářet komunitu uživatelů na základě společných či podobných zájmů a aktivit [4], jejichž „primárním účelem je sdružovat rozličné uživatele, umožňovat jim jednoduchou formu komunikace s ostatními a sdílet s nimi informace.“ [10]. Pokud bychom to vzali z hodně konkrétního pohledu, tak bychom mohli říci, že první sociální sítě byly založeny na emailové komunikaci lidí, kteří tak mezi sebou udržovali určitý sociologický vztah. První email mezi dvěma počítači v rámci jedné místnosti poslal Ray Tomlinson, tehdejší zaměstnanec společnosti Bolt Beranek. Přenos se uskutečnil přes síť ARPANET, která byla v té době pouze armádním projektem [11]. Byly tak položeny základy pro vznik současných elektronických společenských sítí. První SNSs v dnešním slova smyslu se začaly objevovat na konci 90. let. Sociální síť Sixdegrees9 z roku 1997 jako první umožňovala uživatelům vytvoření osobního profilu společně se seznamem přátel a od roku 1998 bylo možné i sledování propojení vlastních přátel s ostatními uživateli sítě[4]. Dalším významným mezníkem na poli moderních sociálních sítí byl rok 2002, kdy nastoupila na scénu „první on-line sociální síť“ Friendster10 založena trojicí Peter Chin, Jonathan Abrams a Dave Lee. Následovaly sítě jako Last.fm11 (r. 2002), specializována na poslech hudby, první SNS zaměřená na oblast byznysu a pracovních příležitostí – LinkedIn, a v neposlední řadě MySpace12, jež byla ještě donedávna nejpoužívanější SNS vůbec (obě r. 2003). V roce 2004 byla založena zatím nejúspěšnější SNS na světě Facebook. Z dalších významných SNS nesmíme zapomenout na velmi oblíbený nástroj pro sdílení fotografií – Flickr13 (r. 2004), dosud nejvýznamnější portál pro sdílení videí – YouTube14 (r. 2005), původ9
www.sixdegrees.com www.friendster.com 11 www.last.fm 12 www.myspace.com 13 www.flickr.com 10
8
ně hierarchicky setříděný katalog odkazů Yahoo15 (r. 2005), mikropublikační systém Twitter16 (r. 2006), seznamka Badoo17 (r. 2006), „nástěnka“ na připíchávání fotek (tzv. pins) Pinterest18 (r. 2010) a nejnovější SNS snažící se porazit Facebook - Google+19 (r. 2011). V posledních letech se nevyskytly žádné významné SNSs, kterým by se podařilo překonat nebo alespoň dostihnout úspěch Facebooku (mimo již výše zmiňované Google+ a lokálních asijských sítí). Každý rok samozřejmě vznikají a zanikají desítky SNSs, většinou se však jedná o lokální sítě, nebo sítě používané určitou skupinou lidí, firem apod. Trendem této doby je většinový úpadek dosavadních SNSs a stále větší nárůst popularity serveru Facebook.com. Firma Google se sice snažil o proniknutí na trh už dříve se svými projekty Orkut20 (r. 2004) a Buzz21(r. 2010), ale žádný velký úspěch nesklidila. Mezi nejznámější sociální weby českého původu patří seznamka Lidé22 (r. 1997/2002), server sdružující bývalé či současné spolužáky od základních až po vysoké školy Spolužáci23 (r. 2004) a seznamka LíbímSeTi24 (r. 2002). Celosvětový zájem o ně v letech 2005 – 2012, co se týče vyhledávání, můžete vidět na Obrázku 2.2.1.
Obrázek 2.2.1: Zájem o tři největší české SNSs z hlediska vyhledávání (Zdroj: [12])
14
www.youtube.com www.yahoo.com 16 www.twitter.com 17 www.badoo.com 18 www.pinterest.com 19 plus.google.com 20 www.orkut.com 21 V současné době už neexistující SNS 22 www.lide.cz 23 www.spoluzaci.cz 24 www.libimseti.cz 15
9
Kompletní seznam SNSs je možné shlédnout na anglické Wikipedii25. Je zde uvedeno přes 200 SNSs, včetně informací o jejich vzniku, základních rysech a ohodnocení serverem Alexa26, které uvádí, jak si jednotlivé SNSs stojí v žebříčku návštěvnosti v rámci všech světových webových stránek. Ale i přesto si můžeme být zcela jisti, že zde nenajdeme kompletní seznam všech webových stránek, které obsahují alespoň nějaké rysy internetové sociální sítě. Pro přehlednost je níže uvedena časová osa vzniku hlavních SNSs, o kterých bylo psáno v předešlém textu (Obrázek 2.2.2).
Flickr
Friendster MySpace
1997
…
2002
2003
Twitter
2004
2005
Facebook
Sixdegrees
LinkedIn
Pinterest
Yahoo
2006
…
2010
2011
2012
Badoo YouTube
Google+
Last.fm
Obrázek 2.2.2.: Časová osa dat spuštění mnoha hlavních SNSs
25 26
http://en.wikipedia.org/wiki/List_of_social_networking_websites www.alexa.com - světový lídr v oblasti analýzy
10
2.3
Jednotlivé SNSs
V této části se nachází podrobnější popisy nejvýznamnějších světových sociálních sítí, na základě jejíchž vlastností vznikl návrh sociální sítě zaměřené na komunitu lidí věnující se motocyklovému sportu. Největší důraz je kladen na SNS Google+, jelikož se jedná o nejnovější SNS, které se podařilo „okopírovat“ funkce nejvýznamnější sociální sítě současnosti - Facebooku, ale zároveň si zachovat jednoduchost a přehlednost. Ke každému popisu je vyobrazen i graf četnosti vyhledávání dané sociální sítě v průběhu času zpracovaný službou Google Trends27. Pětici největších sociálních sítí dnešní doby tvoří Facebook, Google+, YouTube, LinkedIn a Twitter (s výjimkou lokálních asijských sítí) [13]. V následujícím textu je zmíněna i SNS MySpace, která ještě donedávna patřila k absolutní světové špičce. Na Obrázku 2.3.1. můžeme vidět, jaké sociální sítě jsou nejnavštěvovanější v rámci jednotlivých států k prosinci r. 2012.
Obrázek 2.3.1: Světové rozložení sociálních sítí (Zdroj: [14])
27
http://www.google.cz/trends
11
2.3.1 Facebook V dnešní době nejnavštěvovanější celosvětová sociální síť. Založena 2. února roku 2004. Původně měla sloužit pouze studentům Harvardské univerzity. Zakladateli jsou Mark Zuckerberg a jeho kolegové ze školy a spolubydlící z kolejí Eduardo Saverin, Andrew McCollum, Dustin Moskovitz a Chris Hughes [15]. Vlastníkem je firma Facebook, Inc. Od roku 2006 je Facebook přístupný široké veřejnosti. V říjnu roku 2012 Facebook překročil hranici jedné miliardy aktivních uživatelů za měsíc [16]. Lidé se musí registrovat, aby tuto webovou službu mohli používat. Registrovaný uživatel si vytvoří svůj vlastní profil s úvodním obrázkem a informacemi o sobě, postupně si vytváří seznam přátel, se kterými si může posílat zprávy nebo sdílet informace, fotky, videa či odkazy. Registrovaný uživatel se může přihlásit do určitých zájmových skupin, odebírat příspěvky stránek, které ho zajímají, nastavovat si své soukromí i viditelnost jednotlivých příspěvků, vytvářet události a zvát na ně ostatní uživatele, „lajkovat“ příspěvky, své přátele rozdělovat do skupin, vytvářet své vlastní stránky, založit si profil kapely a využívat spousty dalších nabízených služeb. Facebook slouží také jako dobrý záznamník dat narození vašich přátel nebo reklamní plocha propagující nejrůznější typy firem a služeb. Jedná se o webovou službu, která je zaměřená především na osobní profil každého uživatele a sdružování lidí, kteří se vzájemně znají. Facebook nemá žádný specifický obsah. Průměrný uživatel je starý 22 let, nejvíce lidí používá Facebook v Brazílii, Indii, Indonésii, Mexiku a USA [17]. K říjnu 2012 používá aktivně Facebook 3 770 360 Čechů [18]. Níže jsou vyobrazen graf četnosti vyhledávání výrazu facebook.com na území celého světa od ledna r. 2005 do prosince r. 2012 (Obrázek 2.3.1.1).
Obrázek 2.3.1.1: Zájem o SNS Facebook z hlediska vyhledávání (Zdroj: [12])
12
2.3.2 MySpace Soukromá sociální síť poskytována v 15 světových jazycích. Vznikla v roce 2003 a v letech 2005 až 2008 byla nejnavštěvovanější SNS na celém světě [19]. V tomto roce však byla na vzestupu sociální webová služba Facebook a MySpace začala postupně přicházet o zájemce. Na konci roku 2008 měla SNS MySpace měsíčně 75.9 milionů unikátních uživatelů v rámci Spojených států Amerických. V květnu roku 2011 už se jednalo „pouze“ o 34.9 milionů[20]. Majitelem je firma Specific Media LLC a popový zpěvák a herec Justin Timberlake [21]. Registrace je stejně jako u Facebooku po uživatelích vyžadována. Každý registrovaný uživatel si vytvoří svůj vlastní profil, kterým se reprezentuje. Mezi produkty, které portál MySpace nabízí, patří hraní široké škály nejrůznějších her, sledování videí, poslouchání hudby nebo přihlašování se na akce a události. Dalšími možnostmi je sdílení indikátorů nálad (tzv. emotikonů), dvou základních"blurbů" (krátkých obsahů - o vlastní osobě a o tom, s kým se chci seznámit) a další aplikace charakterizující uživatele (zájmy, statusy, …) [7]. Jako u každé SNS nechybí komentáře k jednotlivým aktivitám či komunikace mezi uživateli, kterou zajišťuje vlastní Instant Messenger. Slouží také k jednoduchému přístupu k celkovému dění na serveru, všem novinkám, zprávám a upozorněním. Velmi populární se stalo také vytváření jedinečných URL pro firmy a umělce. Na Obrázku 2.3.2.1 je vyobrazen graf četnosti vyhledávání výrazu myspace.com na území celého světa od ledna r. 2005 do prosince r. 2012.
Obrázek 2.3.2.1: Zájem o SNS MySpace z hlediska vyhledávání (Zdroj: [12])
13
2.3.3 Twitter Celosvětově rozšířená sociální webová služba. Založena v roce 2006. Zakladateli jsou Jack Dorsey, Noah Glass, Evan Williams a Biz Stone [22]. V roce 2012 přesáhl počet 500 milionů aktivních uživatelů [23]. Jedná se o tzv. mikroblog/mikropublikační systém zaměřený především na sdílení krátkých zpráv (140 znaků) – tzv. tweetů. Neregistrovaný uživatel může tweety číst, registrovaný může rovněž reagovat na "tweety" ostatních uživatelů nebo je rovnou "retweetovat", tedy zveřejnit na své zdi. Každý uživatel si vybírá, čí příspěvky chce sledovat (tato osoba se nazývá follower – následovník) a komu budou jeho příspěvky přístupné. K využívání služeb tohoto komunitního webu není nutné mít profil přímo na něm, je možné se přihlásit i přes tzv. klienty (Twitter klient). S rostoucími požadavky na sociální sítě byly funkce rozšířeny i o sdílení fotek, videí a delších zpráv. Twitter si získal popularitu u firem především z reklamní branže, ale také u e-shopů. Většinu lidí také lákaly světové hvězdy, které tuto SNS používaly ke sdílení svých fotek a statusů. Zájem o tuto SNS v letech 2005 – 2012 z hlediska vyhledávání můžete vidět na Obrázku 2.3.3.1, který je uvedený níže.
Obrázek 2.3.3.1: Zájem o SNS Twitter z hlediska vyhledávání (Zdroj: [12])
2.3.4 Google+ Google+ je nejnovější sociální sítí dneška (založena na konci června r. 2011 [24]). Je provozována společností Google Inc. a má za cíl překonat úspěch sociální sítě Facebook. I přesto, že se jí podařilo vytvořit SNS poskytující všechny zásadní funkce, které poskytuje Facebook, odstranit určité jeho nedostatky a zároveň si zachovat jednoduchost a přehlednost, nebude jeho úloha vůbec lehká. Úspěšnost sociální sítě se odvíjí hlavně od faktu, kolik lidí ji používá, tzn. kolik svých přátel a nových zajímavých lidí zde mohu nalézt. Lidé si neradi zvykají na nové věci a nebudou navštěvovat stránky, kde se nemají s kým podělit o svoje zážitky. A i přes 14
velký nárůst uživatelů od začátku působení této SNS nejsou její šance na vítězství na poli sociálních sítí moc velké. Většina z této skupiny lidí má už dávno svůj profil na Facebooku a aktivní používání dvou sociálních sítí je pro většinu z nich neudržitelné, nebo minimálně nepřehledné. Níže jsou uvedeny všechny hlavní aspekty služby Google+, které byly hlavním podkladem pro obecný use case diagram (UCD) [25] pro sociální sítě a následný UCD pro SNS zaměřenou na komunitu lidí věnujících se motocyklového sportu. Obsahuje totiž všechny důležité prvky, které by sociální síť měla mít, inspirovala se nejpoužívanější SNS dnešní doby a je také nejnovějším dílem na tomto trhu.
Uživatelský profil Každý zájemce o využívání služeb sociální sítě Google+ se musí zaregistrovat. V tomto případě to znamená mít založený email na adrese http://mail.google.com, čímž získáte veřejný účet/profil u Google, který vám poskytuje přístup do všech aplikací touto firmou poskytovaných. Kruhy (circles) Google+ namísto hojně rozšířeného seznamu přátel nabízí sociální kruhy – tzv. circles. Tato myšlenka je založena na faktu, že každého člověka známe z určité zájmové či společenské oblasti, kterých může být nekonečně mnoho. Google+ proto nabízí službu, díky níž si můžete sami vytvářet kruhy, které pokryjí celou vaši sociální strukturu, od spolužáků ze základní školy až po dodavatele zboží vaší firmy. Filtrování příspěvků Stejně jako u Facebooku i zde můžete nastavovat viditelnost svých příspěvků a zároveň filtrovat příspěvky, které chcete dostávat. K tomuto účelu slouží výše zmiňované kruhy, kdy každý příspěvek může být veřejný nebo přístupným jen určitým kruhům. Přátelské vazby U většiny sociálních sítí platí, že pokud chcete s někým sdílet svá data a zároveň vidět příspěvky dotyčné osoby, musí mezi vámi být vytvořena oboustranná vazba (tzn.: jeden uživatel pošle žádost o přátelství druhému uživateli, který ji musí přijmout, aby vzájemná komunikace a sdílení informací mohlo probíhat). U Google+ však tohle neplatí. To, že máte někoho ve svých kruzích, ještě neznamená, že je to tak i naopak. Díky tomu mohou být sledovány i příspěvky od lidí, kteří vás nemají ve svých kruzích (musí však být nastaveny jako veřejné).
15
Soukromí I když se nastavování viditelnosti příspěvků jeví jako dostatečné zabezpečení, každý uživatel internetu si musí uvědomit, že na tomto místě soukromí prostě neexistuje. Nikomu ze svých „přátel“ nemůžete zabránit, aby váš příspěvek sdílel dál, udělal screenshot obrazovky nebo zpřístupnil svůj účet jiné osobě. Mazat nebo upravovat můžete pouze vlastní příspěvky a komentáře. Štítkování (tagging) Jedná se o označování konkrétních osob na fotografiích. Pokud jste na nějaké fotografii označeni, bude vám doručena systémová zpráva. Zákazat však tuto službu nelze (na rozdíl od Facebooku, kde je možné alespoň zakázat zveřejnění dané fotografie na vlastním profilu). Sdílení Se svými kruhy je možné sdílet svůj status v podobě textu, fotografie či celá alba (zprostředkovává Google Picassa), videa nebo odkazy. U každého příspěvku můžete využít služby Location Based Service (určování aktuální polohy), nastavit jeho viditelnost, označit další osoby nebo přidat komentář. Jednotlivé příspěvky lze také „lajkovat“ – označit pomocí +1 a sdílet dál mezi své přátele. Stream Takzvaná „zeď“, kde se zobrazují příspěvky od ostatních uživatelů. Funguje v aktuálním čase, což znamená, že nové příspěvky se zobrazují automaticky a jsou řazeny na začátek (od vrchu stránky). Vyhledávání kontaktů Můžete hledat podle jména nebo emailové adresy, střední školy, univerzity, pracoviště, atd. Zobrazují se i návrhy přátel, které byste eventuelně mohli znát, nebo zajímavé osobnosti. Hangouts Audio-video chat s lidmi, kteří jsou online a zároveň ve vašich kruzích. Chat Chatování s lidmi, se kterými máte oboustrannou přátelskou vazbu (jsou ve vašich kruzích a zároveň i vy jste v jejich kruzích). Komunity Nově byla přidána stránka s názvem „Komunity“, kde se můžete přidávat do skupin podle společných zájmů, vyznání, oblasti, kde žijete, oboru, ve kterém pracujete atd. a díky tomu 16
se seznámit s lidmi, se kterými máte něco společného. Je možné vytvořit i svou vlastní komunitu. Události Vytváření událostí s možností pozvání přátel a zobrazení v Google kalendáři. Následné sdílení fotek a zážitků se všemi účastníky na jednom místě. Dále jsou zde Novinky, Hry a Stránky (kde je možné si vytvořit svou vlastní stránku). Google+ je možné používat i jako aplikaci v mobilním zařízení. Níže je vyobrazen graf četnosti vyhledávání SNS Google+ od jejího vzniku po současnost – červen 2011 až konec roku 2012 (Obrázek 2.3.4.1).
Obrázek 2.3.4.1: Zájem o SNS Google+ z hlediska vyhledávání (Zdroj: [12])
2.3.5 YouTube YouTube je portál zaměřený výhradně na sdílení video souborů. Díky svému intuitivnímu ovládání a 800 milionům aktivních uživatelů měsíčně, kteří za stejnou dobu shlédnou 4 miliardy hodin videí, nemá YouTube konkurenci nikde na světě [26]. Tento webový portál byl založen roku 2005 a jeho tvůrci jsou Chad Hurley, Steve Chen a Jawed Karim, tehdejší zaměstnanci firmy PayPal [27]. Nejedná se o typického zástupce internetových sociálních sítí, ale určité sociální prvky jsou zde obsaženy. Pro přehrávání videí je nutností Adobe Flash Player. Neregistrovaný uživatel má možnost přehrávat veřejné audiovizuální soubory, posílat odkazy na konkrétní video soubory prostřednictvím sociálních sítí a číst obsahy diskusních fór a blogů. Registrovaný uživatel má svůj vlastní profil a navíc od neregistrovaného uživatele má právo video soubory nahrá-
17
vat či sdílet, přispívat do diskusních fór a blogů a jednotlivé soubory hodnotit (palec nahoru nebo dolů). Interakce mezi uživateli neprobíhá v reálném čase. Obrázek 2.3.5.1, uvedený níže, zobrazuje graf četnosti vyhledávání slovního spojení youtube.com na území celého světa v letech 2005 až 2012.
Obrázek 2.3.5.1: Zájem o SNS YouTube z hlediska vyhledávání (Zdroj: [12])
2.3.6 LinkedIn Jedná se o světově rozšířenou profesní SNS, která k červnu r. 2012 měla přes 175 milionů členů ve více než 200 zemích světa [28]. Díky těmto statistikám můžeme říci, že se jedná o zdroj největší obchodní sítě na zemi. Podobně zaměřenými SNSs jsou například Viadeo28 nebo XING29. SNS LinkedIn byla založena v roce 2002 a oficiálně spuštěna v květnu r. 2003. Zakladateli jsou Reid Hoffman, Allen Blue, Konstantin Guericke, Eric Ly and Jean-Luc Vaillant [29]. Lidé si zde zakládají profil hlavně kvůli navázání nových obchodních styků. Základem obchodní sítě každého uživatele jsou však především bývalí a současní spolupracovníci, spolužáci či jiní známí, se kterými prostřednictvím této SNS navazujeme spojení – tzv. connections. Profil uživatele slouží jako profesní životopis a díky propojení s lidmi, se kterými jste nebo jste byli v pracovním styku, jsou každému přímo dostupné i doporučení od vašich spolupracovníků či zaměstnanců. Cílem této sítě je dát zaměstnancům možnost najít novou a zajímavou práci a zaměstnavatelům vhodné uchazeče na potřebnou pracovní pozici. Komunikace mezi uživateli probíhá formou zasílání textových zpráv. Nově je zde i možnost vytvářet zájmové skupiny. Na Obrázku 2.3.6.1 níže můžeme pozorovat celosvětový zájem o SNS LinkedIn v letech 2005 až 2012, co se týče vyhledávání. 28 29
www.viadeo.com www.xing.com
18
Obrázek 2.3.6.1: Zájem o SNS LinkedIn z hlediska vyhledávání (Zdroj: [12])
19
2.4
Členění SNSs
Veškeré sociální sítě můžeme rozdělit na dvě základní skupiny: globální a specializované. Globální SNSs jsou ty komunitní weby, které jsou přístupné široké veřejnosti a nejsou ve své podstatě zaměřené na žádnou specifickou skupinu lidí. Oproti tomu záměrem specializovaných SNSs je shromažďovat kolem sebe lidi, kteří se nemusejí nutně znát, ale spojují je společné zájmy či profese. Globální SNSs tuto variantu také umožňují, ale není to jejich primární účel.
Globální: Facebook, MySpace
Specializované: Bandzone30 (kapely a jejich fanoušci), LinkedIn (profesní SNS), Spolužáci (jednotlivé třídy škol), Informační systém Masarykovy univerzity31 - IS MU (studenti, absolventi, učitelé a zaměstnanci Masarykovy univerzity)
Další základní dělení [30]:
Osobní/Soukromé (spojujícím znakem jsou především lidé, které znám) – sdílejí se osobní informace, umožňuje sdílet prakticky všechny informace Facebook – příklad SNS, který není zaměřený na specifický obsah MySpace – je zaměřený na specifickou oblast Bebo Classmates32 (u nás Spolužáci) Friendster
Profesní (neznámí lidé, sdružovaní podle společných zájmů, především profesních) – hledají se konkrétní informace LinkedIn – je zaměřen především na hledání profesních informací Naymz33, XING – jde především o správu kontaktů
A ještě jedno dělení pouze na dvě skupiny založené na otevřenosti a uzavřenosti skupin lidí, které se k daným sociálním sítím mohou připojit [31]:
Otevřené – registrovat se může kdokoliv (Facebook, MySpace, …)
Uzavřené – přístup mají lidé jen z určité skupiny, např. pracovníci konkrétní firmy, žáci jedné třídy, atd. (Spolužáci, IS MU, …)
30
bandzone.cz is.muni.cz 32 www.classmates.com 33 www.naymz.com 31
20
Trochu detailnější dělení SNSs podle serveru Digizen.org [32]:
Profilově založené sociální sítě -
důraz je kladen na uživatelský profil a vše kolem něj
-
Bebo, Facebook, MySpace, …
Obsahově založené sociální sítě -
Uživatelský profil je v sekundární roli
-
V centru pozornosti je obsah
-
Flickr, YouTube, last.fm, …
Sociální sítě typu “White-label” -
Tyto sítě umožňují uživateli vytvořit jejich vlastní verzi sociální sítě
-
Jsou to platformy jako například PeopleAggregator34 a Ning35
Virtuální sociální sítě -
jedná se o online virtuální prostředí
-
Second Life36, World of Warcraft37
Micro-blogovací sociální sítě -
Dovolují uživateli publikovat zprávy krátkého rozsahu
-
Twitter, Jaiku38(nefunkční od ledna r. 2012)
34
www.peopleaggregator.com www.ning.com 36 secondlife.com 37 worldofwarcraft.cz 38 www.jaiku.com 35
21
2.5
Výhody a nevýhody používání SNSs
Sociální sítě umožňují [33]: a) Virtuální propojení s nejrůznějšími skupinami lidí na celém světě b) Neustálé spojení s blízkými, kteří jsou vzdáleni i několik stovek kilometrů c) Nalezení starých přátel, spolužáků ze školy, spolupracovníků, se kterými jste ztratili kontakt d) Efektivní sdílení informací e) Všechno, co vás zajímá, na jednom místě díky propojení s lidmi se společnými zájmy a vytyčení zajímavých stránek f) Snadné získání nových přátel bez nutnosti se někdy osobně vidět g) Spojení s lidmi kdekoli na světě a kdykoli se Vám zachce – stačí mít pouze přístup k internetu h) Rovnocenné postavení uživatelů bez rasových, náboženských či věkových diskriminací (s výjimkou omezení používání různých SNS od určitého věku, kvůli ochraně dětí) S používáním sociálních sítí jsou spojena i určitá rizika [33]: a) Ztráta soukromí – „cizí“ lidé se mohou dostat k vašim soukromým údajům, fotkám, informacích o vaší práci, přátelích či rodině, nabourat se do vašeho profilu, … b) Závislost – (k říjnu r. 2012 překročil Facebook 1 miliardu aktivních uživatelů [16], YouTube má přes 4 miliardy zhlédnutí denně [34], Google+ zaznamenal 400 milionů registrovaných uživatelů, … [35]) c) Odloučení od reálného života d) Méně osobních kontaktů s lidmi e) Možnost „chycení“ viru – ztráta dat, softwaru, … f) Phishing - ukradení vašeho hesla a jeho zneužití g) Nevyžádaná reklama (spam) h) Nebezpečí pro děti plynoucí ze snadné komunikace s neznámými lidmi
22
2.6
Use case diagram pro SNSs
Na základě analýzy nejznámějších sociálních sítí byl navržen use case diagram vykreslený v programu Visual Paradigm for UML, který můžete vidět na obrázku 2.6.1. Některé sociální prvky se u většiny výše zmíněných SNSs opakují, jiné jsou však ojedinělé. Proto výsledný UCD zobrazuje jakýsi kompromis mezi nimi.
Obrázek 2.6.1: Obecný use case diagram pro SNSs
U většiny SNSs nemá uživatel nezaregistrovaný do systému vůbec žádná práva. Pro přístup do systému je nutná registrace a zadání základních údajů o uživateli včetně emailové adresy kvůli ověření účtu a možnému zaslání nového hesla při jeho ztrátě. Přístup do systému je umožněn po přihlášení. Registrovaný uživatel (dále jen uživatel) si vytvoří vlastní profil, který slouží především k jeho identifikaci mezi ostatními uživateli a sdílení určitého obsahu (textu, fotografií, videí, odkazů atd.). Profilové informace i obsah je možno vkládat, měnit i mazat a nastavovat jejich viditelnost pro ostatní uživatele. Každý uživatel může komunikovat s ostatními uživateli systému prostřednictvím zpráv, chatů, diskusních fór či video-hovorů. Velmi často je umožněno zakládat vlastní skupiny či stránky sloužící především ke shromažďování lidí se stejnými zájmy a názory. Vytváření událostí pak umožňuje setkávání uživatelů v reálném světě. 23
Pokud se chtějí uživatelé více seznámit a mít přístup ke všem informacím na profilu daného uživatele, je ve většině případů nutné schválení k přístupu k těmto informacím, které se uskutečňuje prostřednictvím vzniku „přátelské vazby“ – uživatel pošle jinému uživateli tzv. žádost o přátelství, která může být schválena nebo zamítnuta; po schválení získávají oba uživatelé přístup k informacím na profilu toho druhého a může mezi nimi probíhat online komunikace (pokud ji daná SNS umožňuje). Přátele je možno zařazovat do určitých skupin, ale také s nimi přátelské vazby rušit. Sociální sítě založené na profilu uživatele nabízejí také tzv. zeď. Jedná se o komunikaci mezi uživateli systému, která je založena na sdílení textu, fotografií, videí či odkazů na jednom místě – tzv. přidávání příspěvků. Každému uživateli se zobrazují příspěvky jeho přátel, často je umožněno i jejich filtrování (například podle rozdělení přátel do skupin). Příspěvky je možné vkládat, upravovat i mazat, přidávat k nim komentáře, označovat v rámci obsahu své přátele či jejich obsah hodnotit (líbí se mi/nelíbí se mi). Každá webová aplikace musí mít i svého správce. Jeho hlavním úkolem je zajišťování běhu systému a kontrola obsahu veškerých profilů, příspěvků a sdílených obsahů. Po registraci do systému souhlasí uživatel s určitými pravidly a podmínkami jeho používání. Pokud některý z uživatelů tyto pravidla porušuje, může být jeho sdílený obsah smazán, v horším případě je jeho profil a vše kolem něj odstraněno a přístup do systému odepřen. Uživatelé mohou sami nahlásit nevhodný obsah nebo zneužití profilového účtu. Dalším důležitým aspektem je zasílání upozornění všem uživatelům systému. Slouží především k tomu, aby byli uživatelé obeznámeni o věcech, které se týkají jejich uživatelského účtu – např.: označení vlastní osoby v příspěvku jiného uživatele, sdílení fotografie s vlastní podobiznou, schválení žádosti o přátelství aj.
24
2.7
SNSs a motocyklové závody
K návrhu výsledného systému bylo nutné analyzovat i webové stránky věnující se motocyklovému sportu, aby byly zjištěny jejich nejdůležitější prvky a následně byly zahrnuty do výsledného use case diagramu. Výsledkem této kapitoly je obecný UCD popisující především funkcionalitu webových stránek agentur pořádajících motocyklové závody (Obrázek 2.7.1). Sociální prvky budou přidány až do výsledného UCD popisujícího sociální síť pro motocyklový sport.
Obrázek 2.7.1: Obecný use case diagram pro motocyklový sport
25
U většiny webových stránek zaměřených na motocyklový sport v České republice můžeme pozorovat jen malé množství sociálních prvků. Tyto weby je možné rozdělit do dvou hlavních skupin: 1. Webové stránky píšící o motocyklovém sportu Hlavní náplní jsou články o dění ve světě motocyklových závodů. Obsah se liší podle toho, na co jsou zaměřené. Níže jsou uvedeni vybraní zástupci této skupiny, kteří obsahují co nejvíce sociálních prvků. Motorkáři.cz39 Jedná se o nejznámější a nejobsáhlejší internetový portál sdružující především motocyklové jezdce a nadšence v České a Slovenské republice. Náplní jsou mimo jiné články na nejrůznější motocyklová témata, katalog motocyklů, bazar motocyklů a veškerého příslušenství, katalog firem z daného odvětví a nedílnou součást tvoří diskusní fórum a registrovaní uživatelé a firmy. Nově registrovaný uživatel si vytvoří svůj profil. Podle zadaných informací je každého uživatele možno vyhledávat. Po registraci má uživatel právo vytvořit si seznam přátel (jsou možné jednosměrné i obousměrné vazby), zadávat inzerci do bazaru, vložit svůj motocykl/-y do daného katalogu a vytvořit mu tak profil, přidávat příspěvky do diskusního fóra, komentovat a hodnotit profily ostatních uživatelů, vkládat různé články, reportáže či cestopisy a účastnit se vypsaných soutěží. Komunikace mezi uživateli neprobíhá v reálném čase a je zajišťována pomocí diskusního fóra, komentářů a zpráv. Okruháři.cz40 Komunita lidí, která má za cíl ukázat lidem, že využívat potenciál silniční motorky je mnohem lepší a především bezpečnější na závodních okruzích než na silnicích (podobně jsou zaměřené i například webové stránky NaOkruh.cz41 nebo Bikes4Live42). Prvotní obsah webu byl zaměřen především na propagaci závodního týmu Okruháři.cz, který se účastnil vytrvalostních závodů seriálu Czech Endurance Championship. Postupem času se zájem rozrostl o širší dění ve světě motocyklových závodů pořádaných na okruzích. Najdeme zde články o závodech, technice jízdy, nejrůznějších akcích, závodním či redakčním týmem vyzkoušených doplňcích nebo o krásných dívkách, které k motocyklovým závodům neodmyslitelně patří. Nechybí bazar, katalog okruhů a českých i zahraničních agentur, fórum, kalendář akcí a výsledky včetně fotogalerie týmu Okruháři.cz. Ojedinělým prvkem tohoto portálu je tzv. Racebook. Jedná se o sociální síť umožňující registrovaným uživatelům vytvořit vlastní profil, budovat seznam přátel, hodnotit jejich profily, sdílet s ostatními obsah v podobě příspěvků, fotografií, videí, či odkazů na zdi, 39
www.motorkari.cz www.okruhari.cz 41 www.naokruh.cz 42 www.bikes4live.cz 40
26
zakládat vlastní skupiny nebo se přidávat k již založeným, vytvářet události a zvát na ně ostatní uživatele, posílat si vzájemně zprávy a komunikovat online prostřednictvím chatu. Dále je možné pozorovat velké množství webových stránek věnujících se pouze jednomu určitému typu závodů: 300Zatacek.cz43 - stránky věnované motocyklovému závodu 300 zatáček Gustava Havla a přírodnímu okruhu v Hořicích. BikeRacing.cz44 - „vše o motocyklovém sportu“ (road racing, motocross, supermoto, enduro, …). SilnicniMotorky.cz45 - stránky zaměřené na závody seriálů MotoGP a WSBK. Czech Road Racing Cup46 - webové stránky o všem, co se týká Poháru na přírodních okruzích v České republice. Mohlo by být popsáno mnoho dalších webových stránek, ale žádné neobsahují prvky, které by nebyly uvedeny výše nebo neměly alespoň podobný charakter. 2. Webové stránky organizující motocyklové závody Hlavní náplní je organizace seriálů a jednotlivých závodů, komunikace mezi závodníky není podporována. Uživatelé se musí do systému registrovat, ale získávají tím většinou jen práva přihlásit se na závody. Zobrazování informací o závodech, prohlížení výsledků a přihlášených týmů či jezdců je dostupné pro všechny návštěvníky webových stránek. Většinou se jedná o agentury pořádající určité typy závodů, které tyto stránky využívají především k poskytnutí informací o závodech (většinou se jedná o pravidla a popis kategorií, pro které se závody vypisují), k získání potřebných dat o účastnících závodů prostřednictvím jejich registrace do systému, k zobrazování výsledků a zveřejňování propagačních či informačních článků, fotografií a videí. Níže jsou popsány vybrané webové stránky agentur pořádajících motocyklové závody včetně nejdůležitějších prvků, které obsahují. IV Racing s.r.o. Jedná se o agenturu pořádající volné jízdy, mezinárodní mistrovství České republiky ve vytrvalostních závodech (Czech Endurance Championship), Přebor České republiky ve vytrvalostních závodech (Czech Endurance Cup 2) a sprint závody (Czech&Slovak Superstock Cup) na evropských okruzích.
43
www.300zatacek.cz www.bikeracing.cz 45 www.silnicnimotorky.cz 46 www.czech-cup.webnode.cz 44
27
Webové stránky této agentury47 obsahují domovskou stránku (Home Page), kde jsou zveřejňovány články o dění na jednotlivých závodech, aktuality, nejnovější fotografie a rozhovory s týmy, které se umístily na stupních vítězů. Dále jsou zde záložky pro každý seriál zvlášť, které obsahují popis daného seriálu, kalendář jednotlivých závodů (včetně data a místa konání a informace, zda jste na závod přihlášeni – zobrazuje se jen uživatelům přihlášeným do systému), seznam registrovaných týmů (pouze u týmových závodů), pravidla a výsledky ve formě PDF souborů. Někde jsou uvedeny i časové rozpisy. Důležitý je také kontakt na organizátory. Uživatelská registrace slouží pouze k přihlašování na jednotlivé závody a volné jízdy. Pro dokončení registrace je nutné potvrzení emailové adresy kvůli následné komunikaci s organizátory. Jednotliví uživatelé nemají možnost mezi sebou v rámci systému komunikovat. K dispozici jsou pouze seznamy registrovaných týmů a jejich členů. Po přihlášení uživatele či týmu na závod nebo volné jízdy je systémem poslán potvrzovací email. Racetrack.cz Tato agentura pořádá hodiny „moto-školy“ a závody seriálů Bikers Cup, Ducati Cup a Dvouvál Cup. Domovská stránka48 opět obsahuje články, novinky, videa a galerie fotografií z jednotlivých závodů. Stránky jednotlivých seriálů slouží k popisu seriálu, pravidel a závodních kategorií, zobrazují také tabulky výsledků jednotlivých závodů dělené podle kategorií. Webové stránky této agentury poskytují i určité informace o vybraných okruzích a opět nechybí kontakt na organizátory. Registrace uživatelů má stejný účel jako u agentury IV Racing s.r.o. Analýza dalších agentur pořádajících motocyklové závody v České republice nepřinesla žádnou další funkcionalitu, kterou by bylo nutné zahrnout do výsledného UCD pro popis webových stránek věnujících se motocyklovému sportu.
47 48
www.ivracing.cz www.racetrack.cz/home
28
3. Návrh nové sociální sítě pro motocyklový sport Cílem této diplomové práce bylo vytvoření sociální sítě, která bude obsahovat základní prvky SNS (především vytváření profilů uživatelů a vzájemnou komunikaci mezi nimi) a zároveň poskytovat veškerou funkcionalitu potřebnou pro pořádání motocyklových závodů (zakládání nových seriálů, přihlašování účastníků na závody, zobrazování výsledků atd.) a to na základě předchozí analýzy sociálních sítí a webových stránek věnujících se motocyklovému sportu. První podkapitola obsahuje UCD výsledného systému a popis konkrétních uživatelských rolí a interakcí uživatelů se systémem. Druhá podkapitola je věnována výslednému ERD a popisu jednotlivých entitních množin. Ve zbylé části kapitoly je často používáno slovo „profil“, jedná se o souhrn informací ukládaných v dané entitě, které výsledný systém reprezentuje formou profilové stránky. Podrobnější popisy jednotlivých profilů se nachází v kapitole 5 – Funkcionalita.
3.1
Use case diagram
Use case diagram neboli diagram případů užití slouží především k tomu, abychom si uvědomili hranice vytvářeného systému, určili uživatelské role, které budou daný systém používat, a definovali interakce mezi uživateli a systémem a uživateli samotnými. Získáváme tím nadhled nad budoucím systémem a jsme díky němu schopni snadněji přistupovat k jeho implementaci. Obrázek 3.1.1 níže zobrazuje UCD výsledného systému (modré případy užití značí sociální a zelené závodní stránku systému, žlutá barva je neutrální). Neregistrovaný uživatel Obecný uživatel internetových stránek, který není registrovaný v daném systému, má právo se do něj zaregistrovat, prohlížet si profily tratí, motocyklových výrobců, modelů motocyklů, jednotlivých seriálů včetně vypsaných závodů a přihlášených týmů a zobrazit si kontakt na organizátory (respektive provozovatele celého systému). Registrovaný uživatel Uživatel přihlášený do systému (dále jen uživatel) má práva na správu osobního profilu, vytvoření a správu seznamu přátel nebo profilu motocyklového výrobce, konkrétního modelu zvoleného výrobce či závodní trati. Má také právo založit si svůj vlastní tým nebo novou sezónu vybraného seriálu (stává se tak automaticky členem týmu respektive pořadatelem sezóny). Uživatelé mezi sebou mohou komunikovat prostřednictvím zpráv a mají přístup k informacím na profilu všech ostatních uživatelů i týmů. Uživatel může také posílat žádosti o přátelství a o zařazení do týmu.
29
Jezdec týmu Každý člen týmu má navíc od běžného uživatele systému právo vystupovat za tým a jeho jménem posílat ostatním uživatelům či týmům zprávy, spravovat žádosti o přidání do týmu, měnit obsazení týmu, spravovat jeho profilové informace a především přihlašovat jednotlivé členy týmu na vybrané závody. Pořadatel Pořadatel sezóny má právo spravovat informace na profilu dané sezóny seriálu, přidávat a spravovat závody, vkládat k nim výsledky a přidělovat vybraným uživatelům pořadatelská práva. Správce systému Tato uživatelská role může vykonávat stejnou funkcionalitu jako registrovaný uživatel a zároveň má právo měnit údaje vyskytující se na všech profilových stránkách (profil uživatele, týmu, sezóny seriálu, tratě atd.). Jeho hlavním úkolem je udržovat chod systému a kontrolovat jeho obsah.
Obrázek 3.1.1: Use case diagram výsledného systému 30
3.2
Datový model
Veškerá data používaná v rámci výsledného systému jsou ukládána do relační databáze, proto byl pro návrh datové struktury tohoto systému použit entitně-relační diagram (ERD) vykreslený stejně jako u předchozích UCD v programu Visual Paradigm for UML49. Datový model je pro přehlednost rozkreslen do tří menších částí pojmenovaných podle toho, jaké části systému se týkají (celkový ERD je možné vidět v Příloze A): motocyklová část (Obrázek 3.2.1.1), uživatelská část (Obrázek 3.2.2.1) a závodní část (Obrázek 3.2.3.1). Podrobný popis je obsahem následujících podkapitol (pozn.: pokud je v následujícím textu zmíněn „uživatel“, jedná se o registrovaného uživatele). I když je ve světě informačních technologií nepsaným pravidlem psát názvy entitních množin v anglickém jazyce a v množném čísle, v tomto případě jsou názvy v čísle jednotném. Důvodem je používání PHP aplikačního rámce, který mapuje třídy na entitní množiny, a protože se toto mapování provádí automaticky, musí mít názvy tříd a entitních množin stejný formát (názvy tříd v množném čísle by nebyly příliš vhodné).
3.2.1 Motocyklová část Motocyklová značka (make) Entita make představuje konkrétního výrobce motocyklů. Ukládají se základní informace (název, sídlo společnosti, popis). Atribut id_user představuje id uživatele, který entitu vytvořil a jako jediný (společně se správcem systému) má právo ji upravovat. Model motocyklu (model) Entita model reprezentuje model motocyklu určité značky (na kterou odkazuje atribut id_make). Každý model motocyklu musí mít určený typ (atribut id_model_type – např.: sportovní, cestovní, enduro, …), který představuje entita model_type, a objem motoru neboli kubaturu (atribut id_cubage – např.: 600 ccm), kterou reprezentuje entita cubage. Dalším povinným atributem je název (name). Ostatní atributy jako např.: maximální rychlost (max_speed), ročník modelu (year), výkon (performance) atd. jsou nepovinné. Motocykl (vehicle) Entita vehicle představuje konkrétní dopravní prostředek – v tomto případě motocykl, určitého modelu (sekundární klíč id_model).
49
Pozn.: Ikona žlutého klíče značí primární klíč, zelená šipka označuje cizí klíč a písmeno „N“ za atributem značí, že daný atribut může nabývat hodnoty NULL.
31
Vlastnictví motocyklu uživatelem Vlastnictví konkrétního motocyklu (sekundární klíč id_vehicle) konkrétním uživatelem (sekundární klíč id_user) v daném časovém období reprezentuje entita users_vehicle. Atribut owner_from obsahuje údaj o tom, od kdy uživatel motocykl vlastní/vlastnil. Atribut owner_to potom uvádí datum ukončení tohoto vlastnictví, které však nesmí být pozdější než datum dnešní. Nastavením tohoto údaje ztrácí majitel právo na upravování údajů o vlastnictví, může pouze předat vlastnictví jinému uživateli, čímž se vytváří historie daného motocyklu. Nejlepší čas (best_time) Entita best_time představuje nejlepší zajetý čas (atribut time) na konkrétním motocyklu uživatele (atribut id_users_vehicle) na zvoleném typu trati (atribut id_track_type) v určitý den (atribut date).
Obrázek 3.2.1.1: ERD – motocyklová část 32
3.2.2 Uživatelská část
Obrázek 3.2.2.1: ERD – uživatelská část
Uživatel (user) Informace identifikující uživatele jsou ukládány do entity user. Atribut email slouží jako přihlašovací jméno uživatele, protože je unikátní (není možné si založit email se stejnou adresou, kterou už někdo jiný vlastní). Z tohoto důvodu není možné zaregistrovat více uživatelů na jeden email. Tento údaj není v systému zveřejňován. Kromě jména a příjmení jsou všechny další atributy nepovinné, je však dobré je vyplnit, aby bylo možné podle nich vyhledávat jezdce s podobnými či stejnými vlastnostmi. Uživatel má právo vytvořit profilovou stránku vlastní osoby, motocyklové značky, modelu, trati, vlastního týmu nebo seriálu. Může posílat zprávy ostatním uživatelům i týmům a podávat žádosti o přátelství nebo zařazení do týmu. Tým (team) Entitu team má právo vytvořit libovolný uživatel systému. Každý člen týmu (uživatel, který má záznam v entitě rider_in_team) má právo pozvat jiného uživatele, aby se zařadil do týmu, a naopak (uživatel má právo poslat žádost o přidání do týmu, kterou může přijmout nebo zamítnout každý člen týmu), přihlásit tým na závod a deaktivovat či reaktivovat jakéhokoliv člena týmu. Všechny činnosti v rámci týmu provádí člen týmu tak, že si v uživatelském menu nastaví, že chce za konkrétní tým vystupovat.
33
Jezdec týmu (rider_in_team) Záznam v této entitě určuje konkrétního uživatele (atribut id_user), který je členem konkrétního týmu (atribut id_team). Atribut now určuje, zda daný uživatel je aktuálním (now = 1) nebo bývalým (now = 0) členem týmu. Zpráva (message) Zprávy v rámci systému lze posílat mezi dvěma uživateli, dvěma týmy nebo mezi uživatelem a týmem. V případě, že je odesílatelem uživatel, do atributu id_user_ from se nastaví id daného uživatele. Příjemcem pak může být buď uživatel (id_user_to) nebo tým (id_team_to). Pokud je odesílatelem tým, nastaví se atribut id_team_from. Příjemcem pak může být uživatel nebo tým (id_user_to/id_team_to). V každém případě jsou nastaveny pouze dva atributy ze čtyř výše zmiňovaných. Zbývající dva mají hodnotu NULL. Atribut state určuje stav zprávy: nepřečtená (state = 0), přečtená (state = 1). Atribut last označuje poslední zprávu v rámci dané konverzace a slouží k jednoduchému vybrání konverzace konkrétního uživatele/týmu z databáze. Přátelství (friendship) Přátelská vazba může v rámci systému vzniknout pouze mezi uživateli. Jeden záznam představuje relaci mezi dvěma uživateli, která není symetrická – např.: id_user_one = 1 a id_user_two = 2 znamená, že uživatel s id = 1 se přátelí s uživatelem s id = 2, ale neplatí to také naopak. Proto pokud je potvrzena žádost o přátelství, do entitní množiny friendship jsou uloženy dva záznamy (1. záznam: id_user_one = 1, id_user_two = 2; 2.záznam: id_user_one = 2 a id_user_two = 1), aby daná relace byla symetrická. Díky tomuto faktu je umožněno používání jednodušších dotazů týkajících se přátelství – např. při výpisu seznamu přátel uživatele „A“ nám stačí najít všechny záznamy, kde id_user_one = id uživatele „A“ a vypsat všechny uživatele, jejichž id je obsaženo v atributu id_user_two. Žádost (request) Uživatelé systému mohou posílat několik druhů žádostí: 1. Uživatel pošle týmu žádost o přidání do týmu (do atributu id_user_from se zapíše id přihlášeného uživatele a do id_team_to id týmu, kterého se žádost týká; v atributech id_user_to a id_team_from je hodnota NULL). 2. Uživatel pošle žádost o přátelství jinému uživateli (jsou vyplněny atributy id_user_from a id_user_to, v atributech id_team_from a id_team_to zůstává nezměněná hodnota NULL). 3. Tým pošle uživateli žádost o přidání se do týmu (atributy id_team_from a id_user_to jsou vyplněny příslušnými hodnotami, zbylé dva – id_team_to a id_user_from, obsahují hodnotu NULL).
34
Každá žádost má určitý stav (atribut state): 1. state = 0 – nepřečtená (žádost je poslána, ale příjemce si ji ještě nezobrazil) 2. state = 1 – nepotvrzená (přečtená žádost, která zatím nebyla potvrzena ani zamítnuta) 3. state = 2 – potvrzená (přečtená žádost, kterou příjemce potvrdil) 4. state = 3 – zamítnutá (přečtená žádost, kterou příjemce zamítnul)
3.2.3 Závodní část
Obrázek 3.2.3.1: ERD – závodní část
Sezóna seriálu (season) Většina závodů se jezdí v rámci seriálů, které jsou pořádány v určitém časovém období - tzv. sezóně. Entita season představuje konkrétní sezónu určitého seriálu, který je určený atributem series_name. Obvykle se jedná o časové období jednoho kalendářního roku, ale nemusí to tak být vždy. Proto je časové období sezóny ohraničeno daty pořádaných závodů, které spadají do určitého seriálu. Atribut description slouží k popisu celé sezóny – mj. závodů, které se v dané sezóně budou konat, v rámci jakých kategorií a za jakých podmínek. Součástí by měla být i pravidla, způsob hodnocení a další důležité organizační věci.
35
Organizátor sezóny (organizer_of_season) Uživatel, který založí novou sezónu seriálu, se automaticky stává jejím organizátorem (do entitní množiny organiser_of_season je vložen záznam s id přihlášeného uživatele – id_user a id nově vytvořené sezóny – id_season). Organizátor sezóny má právo spravovat veškeré informace o sezóně, zakládat nové závody a vkládat výsledky jednotlivých závodů do systému. Uživatel, který je organizátorem alespoň jedné sezóny, může jiného uživatele nastavit jako dalšího organizátora konkrétní sezóny. Závod (race) Entita race představuje konkrétní závod. Může se jednat o jednodenní závod, volné jízdy nebo o závodní víkend, který se skládá z tréninků, kvalifikace a závodu. Každý závod patří do určité sezóny (atribut id_season), jede se na konkrétním typu trati (atribut id_track_type) a je pořádán v určitém časovém období (atributy date_from a date_to). Dále je nutné nastavit atributy reg_date_from a reg_date_to, které vymezují časové období pro registraci. Závodní kategorie (category) Jedná se o kategorii, která určuje, kteří závodníci spolu mohou soutěžit – být si konkurenty. Většinou se jedná o výkon motocyklu, ale vymezení kategorie může být různé. Ukládá se pouze název, protože kategorie se stejným názvem většinou zahrnují stejnou skupinu závodníků. Pro popis kategorií je vyhrazen prostor v entitní množině season (konkrétně se jedná o atribut description). Závod dané kategorie (race_of_category) Tato entita představuje jeden konkrétní závod pouze jedné určité kategorie (atribut id_category), kterých se v rámci jedné akce (atribut id_race) může jet více a to i ve stejný čas. Přihlášení týmu na závod (rider_of_team_in_race) Každý uživatel může přihlásit tým, jehož je členem, na vybraný závod. Záznam v této entitní množině tedy reprezentuje přihlášku konkrétního uživatele reprezentujícího daný tým (id_rider_in_team) do konkrétní kategorie závodu (id_race_of_category). Výsledky závodů (pdf) Výsledky jednotlivých závodů jsou řešeny nahráváním souborů ve formátu PDF. Jsou řazeny podle sezóny (atribut id_season). Název (name) slouží k popisu toho, jakého závodu se výsledky týkají. Atribut type pak určuje, jestli se jednalo o závod, kvalifikaci, trénink nebo něco jiného.
36
Závodní trať (track) Informace ukládané do entitní množiny track, reprezentují závodní trať, na které je možné pořádat závody motocyklů. Kromě jména a země, kde se daná trať nachází, je možné popsat i další vlastnosti, které mají hlavně informativní účel, jak pro organizátory, tak pro účastníky závodů. Do atributu id_user se ukládá id uživatele, který danou entitu vytvořil a má tak právo ji upravovat. Typ trati (track_type) Závodní trať může mít několik typů – okruhy různé délky či pouze změna směru jízdy. Proto jsou všechny informace, které se obvykle u trati uvádějí, součástí entitní množiny track_type.
37
4. Implementace Tato kapitola je věnována implementační části celé diplomové práce a zaměřuje se především na popis významných a méně triviálních částí systému. Výsledný systém je naprogramován jako webová aplikace. Jedná se o internetovou sociální síť, tak je tato volba zřejmá. Jako hlavní programovací jazyk byl použit skriptovací jazyk PHP [36] společně se značkovacím jazykem HTML a jazykem pro popis vzhledu zobrazovaných stránek CSS. Pro určité prvky systému byla použita i volně dostupná javascriptová knihovna jQuery. Pro tvorbu systému byl použit bezejmenný aplikační rámec, který vznikl během vývoje komerčního projektu, na kterém jsem se podílela50. Tento aplikační rámec pomáhá vytvářet aplikace, které využívají princip MVC (Model-View-Controller). Jedná se o architektonkický vzor, „který rozděluje datový model aplikace, uživatelské rozhraní a řídicí logiku systému do tří nezávislých částí tak, že modifikace některé z nich má minimální vliv na ostatní“[37] (nákres propojení jednotlivých částí je možné vidět na Obrázku 4.1).
Obrázek 4.1: Propojení jednotlivých částí architektonického vzoru MVC [38]
Model (model) – tato část aplikace komunikuje s persistentním úložištěm (databází) a zajišťuje aplikační logiku. Pohled (view) – reprezentuje to, co uživatel vidí na svém monitoru – uživatelské rozhraní; zde se jedná o prezentační logiku. Řadič (controller) – zpracovává podněty ze strany uživatele, zajišťuje změny Pohledu a Modelu – zajišťuje řídící logiku systému.
50
Souhlas spoluautora o použití aplikačního rámce se nachází v Příloze B.
38
Každou část MVC podporuje určitá část výše zmiňovaného aplikačního rámce. Model reprezentují třídy ve složce managers. Pohled reprezentují soubory ve složce bpages – tyto soubory obsahují validní XML soubory a překládají se na soubory, které obsahují kombinaci PHP a HTML, což už nemusí být nutně validní XML kód. Řadič reprezentují třídy ve složce actionbeans, které zprostředkovávají vzájemnou komunikaci mezi komponentami modelu a pohledu, určují, která data mají být v daném pohledu zobrazena (volají funkce obsažené ve třídách složky managers a předávají řízení šablonám stránek ze složky bpages). Funkcionalitu systému popisují především třídy ze složky managers, a proto je jim věnována zbývající část této kapitoly, která je rozdělena do oddílů podle hlavních tří částí datového modelu výsledného systému (viz kapitola 3.2 Datový model).
4.1
Implementace motocyklové části
Motocyklová část výsledné aplikace slouží především k zakládání profilů jednotlivých motocyklových výrobců a konkrétních modelů motocyklů těchto výrobců uživateli systému. Další část tvoří vytváření profilů konkrétních kusů motocyklů a správa jejich vlastnictví uživatelem. Třída MakeManager Třída MakeManager zajišťuje funkcionalitu potřebnou pro založení profilu motocyklového výrobce a následnou správu uživatelem, který daný profil založil. Ostatním uživatelům (kromě správce systému) je přístup k úpravám odepřen. Dále umožňuje výpis seznamu všech motocyklových výrobců seřazených podle abecedy a následné zobrazení jejich profilů. Třída ModelManager Tato třída poskytuje podobnou funkcionalitu jako třída MakeManager, s tím rozdílem, že se jedná o modely motocyklů. Opět může uživatel zobrazovat abecedně uspořádaný seznam všech modelů a prohlížet si jejich profily. Dále poskytuje funkci na výpis všech modelů vybraného výrobce v rámci profilu tohoto výrobce. Modely je možné vkládat a upravovat, ne však mazat. Při vkládání nového modelu do systému jsou volány funkce pro výběr všech výrobců, typů modelů a kubatur uvedených v systému, aby mohly být zobrazeny v rámci formuláře pro vkládání. Výběrem vždy jedné z těchto možností se získávají potřebná id (atributy nutné pro vytvoření nové entity Model v databázi systému). Pokud v systému není požadovaný výrobce, musí ho uživatel nejdříve vložit a potom se vrátit na formulář pro vložení nového modelu motocyklu. Kubatury a typy motocyklů není možné přidávat. Jejich výčet by měl být v systému úplný.
39
Třída VehicleManager Zde jsou popsány metody pro vkládání, úpravu a výpis motocyklů konkrétního uživatele v rámci jeho uživatelského profilu. Při vkládání nového motocyklu je opět volána funkce pro výpis všech modelů v systému, kvůli získání id zvoleného modelu. Pokud není požadovaný model v seznamu, musí ho uživatel nejdříve přidat. Mazání motocyklů není podporováno, je však možné využít funkce pro předání konkrétního motocyklu novému majiteli (uživateli v rámci systému). Součástí je i metoda pro výpis abecedního seznamu všech motocyklů zvoleného modelu, který je přístupný přes profil konkrétního modelu, a metoda pro výběr všech motocyklů daného uživatele, potřebná pro formulář vkládání nejlepšího času zajetého tímto uživatelem. Třída BestTimeManager Motocyklovou část tvoří také metody pro vkládání a úpravu nejlepších časů zajetých konkrétním uživatelem na konkrétním motocyklu a konkrétním typu trati. Správu těchto časů provádí uživatel na svém vlastním profilu. Jejich výpis je pak možné zobrazit na profilu konkrétního uživatele.
4.2
Implementace uživatelské části
Třída UserManager Zajišťuje veškerou funkcionalitu potřebnou pro registraci nového uživatele a správu jeho profilu včetně metod potřebných pro správu seznamu přátel (přidání uživatele do seznamu/odstranění uživatele ze seznamu přátel). Vypisuje seznam všech uživatelů, seznam přátel daného uživatele a seznam aktuálních i bývalých členů týmu. Třída UserSearchManager Tato třída obsahuje rozsáhlé metody pro vyhledávání uživatelů podle zadaných parametrů v rámci zvolené tolerance s přihlédnutím k váze, která je danému parametru přiřazena. Výsledkem je seznam uživatelů splňujících zadaná kritéria, který je seřazen od nejvíce po nejméně vyhovující. Třída TeamManager Veškerou správu týmů poskytuje třída TeamManager. Založení nového týmu, úprava týmového profilu, správa stávajících i bývalých členů. Dále pak výpis abecedně seřazeného seznamu všech týmů v systému, výpis přihlášených týmů na závody v rámci konkrétní sezóny seriálu, výpis všech týmů, jichž je nebo byl zvolený uživatel členem a v neposlední řadě výpis všech členů zvoleného týmu (současných i bývalých).
40
Třída RequestManager Účelem této třídy je správa žádostí v rámci systému. Je možno poslat několik typů žádostí: žádost o přidání do seznamu přátel (od uživatele jinému uživateli), požadavek na přidání uživatele do týmu (od týmu zvolenému uživateli), žádost o přidání vlastní osoby do týmu (od uživatele zvolenému týmu). Tato třída zajišťuje také zobrazení žádostí pro daného uživatele či tým a po jejich zhlédnutí mění jejich stav na přečtený. Žádost je možno přijmout, zamítnout nebo na ni vůbec neodpovídat (pouze si ji přečíst). Třída MessageManager Obsahuje metody týkající se všeho kolem zpráv. Zasílání, nastavování jejich stavu (přečtená, nepřečtená) či zobrazování počtu nepřečtených zpráv. Dále také vypsání všech dosavadních konverzací a následně obsahu zvolené konverzace včetně všech poslaných zpráv v rámci dané konverzace a to seřazených od nejnovějších po nejstarší (směrem od vrchu obrazovky). Zprávy mohou posílat uživatelé i týmy a to buď uživatelům, nebo týmům. Vícenásobná konverzace není podporována.
4.3
Implementace závodní části
Třída SeasonManager Slouží pro správu sezón - zakládání nových a úpravu stávajících sezón, nastavení vybraného uživatele jako dalšího organizátora konkrétní sezóny. Obsahuje metody pro výpis všech sezón, který je rozdělený na sezóny aktuální a již odjeté. Dále pro výpis všech sezón, které organizuje daný uživatel, a také pro výpis všech organizátorů konkrétní sezóny. Třída TrackManager Jedná se o závodní tratě a jejich typy, kterým lze stejně jako motocyklovým výrobcům a modelům vytvářet profilové stránky, takže je možné je vkládat, upravovat a vypisovat jejich abecední seznam. Dále jsou zde obsaženy metody pro výpis všech typů zvolené závodní trati a zároveň výpis nejlepších časů zajetých uživateli systému na daném typu trati v rámci profilu trati. Je zde obsažena i metoda pro výpis seznamu všech tratí včetně variant potřebných pro formulář vkládání závodů a nejlepších časů daného uživatele. Třída CategoryManager Tato třída obsahuje metody pro správu závodních kategorií. Kromě toho vypisuje seznam všech kategorií daného závodu či sezóny v rámci jejich profilu a seznam všech kategorií v systému (pro formulář vložení nového závodu sezóny) a seznam všech kategorií zvoleného závodu (pro formulář přihlášení týmu na závod).
41
Třída RaceManager V rámci každé sezóny je možné vložit neomezené množství závodů. Pouze organizátoři sezóny a administrátoři mají právo tyto závody vkládat a upravovat. Tato třída také obsahuje metody pro výpis seznamu závodů, které jsou součástí dané sezóny nebo na které je přihlášen konkrétní závodní tým. Dále je možné vložit výsledky závodů dané sezóny a vypsat jejich seznam. Prostřednictvím této třídy se také uskutečňuje přihlašování týmů na závod v dané kategorii a sezóně.
42
5. Funkcionalita Tato kapitola je věnována podrobnějšímu popisu funkcionality výsledného prototypu systému, který byl cílem této práce. Některé prvky systému byly popsány už v předchozích kapitolách, v této kapitole však dostanou svoji konkrétní podobu a místo v rámci systému jako celku. Kapitola je rozdělena na podkapitoly podle UCD výsledného systému, který je vyobrazen na Obrázku 3.1.1. Důvodem je předchozí absence popisu jednotlivých případů užití, která však byla záměrná. Vysvětlování
funkcionality na konkrétních
příkladech
s konkrétními obrázky výsledného systému je totiž mnohem efektivnější nežli prostý text. V seznamu oprávněných uživatelů je vždy zmíněna uživatelská role, která jako první z hlediska dědičnosti může tento případ užití vykonávat.
5.1
Zobrazení kontaktu na organizátory
Oprávnění uživatelé: neregistrovaný uživatel. Odkaz na zobrazení příslušných údajů se nachází v patičce každé stránky. Po kliknutí na ni se zobrazí text popisující provozovatele tohoto systému – „O nás“ (pořadatelskou agenturu) nebo kontakt na něj – „Kontakt“. Ukázku je možno vidět na Obrázku 5.1.1 níže. U agentur se většinou jedná o emailový, telefonní a bankovní kontakt (kvůli platbám za závody). Uvádí se i sídlo společnosti.
Obrázek 5.1.1: Popis pořádající agentury
5.2
Zobrazení katalogu výrobců, modelů motocyklů a tratí
Oprávnění uživatelé: neregistrovaný uživatel. 43
Tato část systému se týká zobrazování seznamů a následně profilů motocyklových výrobců (v systému označováno jako Značky), modelů motocyklů (Modely) a závodních tratí (Tratě). Jedná se o profilové stránky založené některým z registrovaných uživatelů nebo správců systému. Součástí každého profilu je výpis obecných informací a libovolný popis, který může obsahovat text, fotografie či odkazy. Dále jsou zde záložky, které s daným profilem nějakým způsobem souvisí. U motocyklových výrobců je to seznam modelů dané značky, u modelů motocyklů je to seznam motocyklů daného modelu, které vlastní registrovaní uživatelé systému, a u tratí je to seznam variant dané trati a nejlepší časy registrovaných uživatelů na nich zajetých. Na obrázku 5.2.1 můžeme vidět ukázku vrchní části seznamu značek. Obrázek 5.2.2 potom ukazuje profil vybrané značky a seznam modelů této značky (po kliknutí na libovolný model se přejde na profil tohoto modelu).
Obrázek 5.2.1: Část seznamu značek
Obrázek 5.2.2: Ukázka profilu značky Yamaha 44
5.3
Zobrazení informací o seriálech
Oprávnění uživatelé: neregistrovaný uživatel. Po kliknutí na položku hlavního menu „Seriály“ se zobrazí abecední seznam všech sezón seriálů, který je dále rozdělený na seriály, které mají aktuální nebo neaktuální sezónu. Výběrem seriálu opět přejdeme na profil daného seriálu, který se skládá z několika částí: základních informací včetně popisu a seznamu organizátorů, kalendáře závodů, kategorií, pro které jsou dané závody vypsány, seznamu přihlášených týmů a výsledků jednotlivých závodů. Na Obrázku 5.3.1 můžeme vidět ukázku profilu vybrané sezóny seriálu. Obrázek 5.3.2 potom zobrazuje položky Kalendář závodů a Kategorie, Obrázek 5.3.3 Týmy a Výsledky.
Obrázek 5.3.1: Ukázka profilu seriálu Czech Endurance Cup 2012
Obrázek 5.3.2: Kalendář závodů a vypsané kategorie
45
Obrázek 5.3.3: Přihlášené týmy a výsledky
5.4
Vytvoření uživatelského profilu
Oprávnění uživatelé: neregistrovaný uživatel. Pro získání práv vkládat a upravovat v rámci systému je potřeba se zaregistrovat (vytvořit si uživatelský profil). Registrace spočívá ve vyplnění a odeslání příslušného formuláře, který můžeme vidět na Obrázku 5.4.1. Povinnými údaji jsou jméno, příjmení, emailová adresa a heslo o minimální délce 5 znaků. Heslo je při vkládání do databáze zakódováno pomocí hashovaní funkce, aby nebylo zjistitelné. Při špatném vyplnění formuláře, zadané hodnoty ve formuláři zůstávají (aby se nemusely vyplňovat opakovaně), heslo je však vymazáno a musí se zadat znovu, aby nemohlo dojít k jeho zneužití. E-mail se používá jako přihlašovací jméno uživatele kvůli jeho jedinečnosti, proto není možné vytvořit dva uživatelské účty se stejnou emailovou adresou. Jména a příjmení mohou být shodná. Po odeslání formuláře se správně zadanými údaji, je uživateli vytvořen „prázdný“ profil, který se mu však zobrazí až po přihlášení (Obrázek 5.4.2).
Obrázek 5.4.1: Registrační formulář
46
Obrázek 5.4.2: Prázdný profil
5.5
Přihlášení a odhlášení
Oprávnění uživatelé: registrovaný uživatel. Přihlášení probíhá formou vyplnění a odeslání přihlašovacího formuláře (Obrázek 5.5.1). Přihlašovacím jménem je emailová adresa zadaná při registraci. Po přihlášení se do systému je zobrazena vaše profilová stránka, která je na začátku prázdná (viz Obrázek 5.4.2), a uživatelské menu se rozroste o přístup k jezdcům a týmům zaregistrovaným do systému a o záložky týkající se uživatele (Moje motorky, Moje týmy, atd.). Odhlášení je možné z jakékoliv stránky systému po kliknutí na tlačítko v horním pravém rohu „Odhlásit“. Po odhlášení je daný uživatel přesměrován na přihlašovací formulář.
Obrázek 5.5.1: Přihlašovací formulář
47
5.6
Založení a správa vlastních profilů výrobců, modelů motocyklů a tratí
Oprávnění uživatelé: registrovaný uživatel. Každý registrovaný uživatel má právo vytvořit profilovou stránku trati, motocyklové značky nebo modelu motocyklu. Po jejím vytvoření se stává jejím správcem – nikdo kromě něj a správce systému ji nesmí upravovat (pouze tito uživatelé systému vidí při zobrazení příslušného profilu v pravém horním rohu tlačítko „Upravit – Obrázek 5.6.1).
Obrázek 5.6.1: Tlačítko pro úpravu profilu
Obrázek 5.6.2: Tlačítko pro vytvoření nového modelu
Obrázek 5.6.3: Formulář pro vytvoření nového modelu 48
Při zobrazení seznamu tratí, značek nebo modelů vidí každý registrovaný uživatel nabídku přidání nové tratě/značky/modelu, která se nachází přímo nad seznamem v pravém horním rohu (viz Obrázek 5.6.2 na předchozí straně). Po kliknutí na tuto nabídku se zobrazí příslušný formulář (Obrázek 5.6.3) a po vyplnění potřebných dat je formulář odeslán, data se uloží v databázi a uživatel je přesměrován na stránku profilu, kde je mu umožněno měnit základní informace a přidat nebo upravit popis, fotografii či odkaz (Obrázek 5.6.4).
Obrázek 5.6.4: Profil modelu
5.7
Zobrazení informací o jiných uživatelích nebo týmech
Oprávnění uživatelé: registrovaný uživatel. Přístup na profily jezdců nebo týmů má pouze registrovaný uživatel. Na profily týmů je možné přejít z hlavního menu výběrem konkrétního týmu nebo z části profilu uživatele „Týmy“. Na profil uživatele je možné přejít z hlavního menu, ze seznamu členů týmu, 49
ze seznamu organizátorů seriálu nebo ze seznamu motorek konkrétního modelu. Podrobné informace o uživatelském profilu a profilu týmu jsou v kapitolách 5.9 - Správa vlastního profilu a 5.12 - Správa profilů vlastních týmů.
5.8
Komunikování s uživateli nebo týmy
Oprávnění uživatelé: registrovaný uživatel. V rámci systému je možno posílat čtyři typy zpráv: uživatel-uživatel, uživatel-tým, tým-tým, tým-uživatel. Registrovaný uživatel najede na profil jiného uživatele nebo týmu a v pravém horním rohu se mu zobrazí nabídka „Poslat zprávu“ (Obrázek 5.8.1).
Obrázek 5.8.1: Nová zpráva pro uživatele Pokud chce zprávu poslat tým, musí se jezdec týmu přepnout do režimu vystupování za tým. Vybere si z nabídky horní lišty „Používat jménem“ (Obrázek 5.8.2), zvolí příslušný tým a pak opět přes profil jezdce nebo týmu může poslat novou zprávu.
Obrázek 5.8.2: Volba „Používat jménem“ Po kliknutí na nabídku v horním menu „Zprávy“ se zobrazí seznam všech konverzací a systémových zpráv týkajících se daného uživatele nebo týmu, jak je možné vidět na Obrázku 5.8.3 (počet nepřečtených zpráv je uvedený v závorce). Výběrem požadované konverzace se zobrazí všechny zprávy dané konverzace seřazené od nejnovějších po nejstarší a to směrem od vrchu dolů - seznam zpráv mezi dvěma týmy lze vidět na Obrázku 5.8.4 včetně vyplněného okna pro odeslání nové zprávy. Každá zpráva obsahuje jméno odesílatele, datum a čas odeslání a informaci o tom, že je nepřečtená (dokud je v tomto stavu).
50
Obrázek 5.8.3: Seznam konverzací a systémových zpráv
Obrázek 5.8.4: Konverzace mezi dvěma týmy Stav zprávy se změní z nepřečtené na přečtenou po 5 vteřinách po jejím zobrazení. Zprávy pro uživatele nebo tým změní svůj stav na „přečtená“ i na straně odesílatele až po přečtení daným uživatelem nebo týmem.
5.9
Správa vlastního profilu
Oprávnění uživatelé: registrovaný uživatel. Jak už bylo zmíněno v kapitole 5.4, po zaregistrování se novému uživateli vytvoří „prázdný profil“. Po úspěšném přihlášení může daný uživatel libovolně upravovat informace o sobě, založit profil svému motocyklu/motocyklům, založit si vlastní tým nebo sezónu seriálu (podrobný popis v kapitole 5.11), přidat si ostatní uživatele do seznamu přátel (popsáno v kapitole 5.10) a vytvořit si seznam nejlepších časů zajetých na různých typech tratí. Všech51
ny tyto informace jsou součástí uživatelského profilu a může je upravovat jen on sám nebo správce systému. Na Obrázku 5.9.1 je ukázka profilu registrovaného uživatele. První část obsahuje všeobecné informace a vlastní popis, který může obsahovat i fotografie nebo odkazy.
Obrázek 5.9.1: Uživatelský profil
Druhá část obsahuje profily motocyklů vlastněné i už nevlastněné daným uživatelem (Obrázek 5.9.2). Pokud daný uživatel už motocykl nevlastní, použije tlačítko „Už není moje“. Ztrácí tak právo upravovat její profil, ale může ji předat novému majiteli použitím tlačítka „Předat jinému uživateli“. Třetí část obsahuje seznam týmů, jimiž je nebo byl daný uživatel členem (Obrázek 5.9.3). Po kliknutí na jméno týmu se zobrazí profil daného týmu. Tento seznam týmů nelze měnit v uživatelském profilu, pouze přes profil daného týmu a to pouze v tom případě, že k tomu má daný uživatel právo (více viz kapitola 5.12). Obsahem čtvrté části je seznam sezón (respektive seriálů), které daný uživatel pořádá. Je uveden pouze název seriálu, ročník a informace o aktuálnosti. U každé sezóny je i tlačítko pro její úpravu. Kliknutím na název seriálu se přejde na profil dané sezóny seriálu.
52
Další položkou v profilovém menu je abecední seznam přátel. Uvádí se jméno a příjmení společně s aktuálním místem pobytu. U každého přítele je i tlačítko pro odstranění z přátel.
Obrázek 5.9.2: Profil motocyklu
Obrázek 5.9.3: Členství v týmech
Poslední část uživatelského profilu tvoří tabulka s nejlepšími časy zajetými na konkrétní motorce a typu trati (Obrázek 5.9.4). Tuto tabulku si vytváří a mění každý uživatel sám. 53
Obrázek 5.9.4.: Nejlepší časy uživatele
5.10 Vytvoření a správa vlastního seznamu přátel Oprávnění uživatelé: registrovaný uživatel. Jednotliví uživatelé systému mezi sebou mohou vytvářet obousměrné přátelské vazby. Při zobrazení jiného než vlastního uživatelské profilu a profilu přátel se zobrazí i volba „Přidat do seznamu přátel“. Po kliknutí na ni se danému uživateli odešle žádost o přátelství, kterou může přijmout, odmítnout nebo nechat nevyřízenou. Po jejím přijmutí vzniká přátelská vazba a seznamy přátel obou uživatelů se rozrůstají o jméno toho druhého. Aby mohla přátelská vazba vzniknout, je nutné se nejdříve dostat na profil daného uživatele. Možností je více a byly popsány už v předchozích kapitolách. Nejkratší cesta je však přes položku hlavního menu „Jezdci“. Po kliknutí na tuto položku se zobrazí vyhledávací tabulka, která obsahuje 20 různých parametrů, podle kterých je možné vyhledávat uživatele systému (Obrázek 5.10.1). Pod touto tabulkou se nachází kompletní seznam uživatelů, dokud nejsou zadány nějaké parametry pro vyhledávání a hledání není zahájeno. Podle daného parametru se nevyhledává, dokud není zadaná hodnota parametru a také nenulová váha parametru, která udává, jak moc je daný parametr pro výsledky vyhledávání důležitý (pokud se podle daného parametru vyhledává, tak je daný řádek označený zelenou barvou). Výsledkem vyhledávání je seznam registrovaných uživatelů systému, kteří splňují daná kritéria. Výsledný seznam je seřazen od nejvíce vyhovujících k nejméně a to směrem od vrchu dolů. Jak moc uživatelé splňují zadaná kritéria je znázorněno i barevným pruhem na levé straně od jména, kdy zelená označuje nejlepší výsledky vyhledávání a červená ty nejhorší (výsledky mezi tím přecházejí postupně přes žlutou až oranžovou barvu). Výsledky vyhledávání pro parametry z Obrázku 5.10.1 je možné vidět na obrázku 5.10.2. 54
Obrázek 5.10.1.: Vyhledávání registrovaných uživatelů
Obrázek 5.10.2.: Výsledky vyhledávání 55
Po vytvoření určitého seznamu přátel je možné tyto uživatele ze seznamu přátel odebrat. Stačí najet na vlastní uživatelský profil, zobrazit seznam přátel a u jména vybraného přítele kliknout na volbu „Odstranit z přátel“. Přátelskou vazbu je pak možné znovu vytvořit. Pro vyhledávání podle Obrázku 5.10.1 byl použit následující postup: Na obrázku vidíme, že hledáme uživatele, kteří se narodili v roce 1987 s tolerancí 2 roky – tzn. uživatele, jejichž rok narození spadá do intervalu 1985 až 1989 včetně. Čím blíže je rok narození porovnávaného uživatele roku 1987, tím zelenější má barvu pruh u jeho jména (uživatelé narozeni roku 1987 mají zelený pruh, uživatelé narozeni v letech 1988 nebo 1986 mají žlutý pruh a uživatelé narozeni v letech 1989 a 1985 mají červený pruh, protože se nejvíce vzdalují roku 1987 – viz Obrázek 5.10.2). Uživatelé narozeni mimo vymezený interval nejsou ve výsledném seznamu vůbec zobrazováni, protože nesplňují zadaná kritéria. Výsledné ohodnocení (rating) bylo vypočítáno pomocí vzorce:
kde
,
a
á
á
á á í,
ří
š á
á
.
Rozdíl zadané a vyhledávané hodnoty se dělí tolerancí kvůli vyjádření odchylky nalezené hodnoty z databáze od zadané hodnoty pro vyhledávání. Získáme tím uspořádání seznamu výsledných uživatelů od nejméně se vzdalujících zadanému parametru po nejvíce se vzdalující. Tento vzorec se použije na všechny vyhledávané parametry a jednotlivá ohodnocení se sčítají. Výsledkem je seznam jezdců seřazený podle výsledného ohodnocení (raitingu) od nejvyššího po nejnižší a to od vrchu dolů. Obrázek 5.10.3 graficky znázorňuje výsledek vyhledávání pro krajní body intervalu.
r = 1.0 r = 1.0 x = 1987
r
y = 1989 diff = 2
r = 0.0 1985
diff
1987
diff
1989
Obrázek 5.10.3.: Vyhledávání v krajních bodech 56
Po dosazení hodnot do vzorce dostáváme:
Názorně vidíme, že pro krajní body intervalu vychází ohodnocení rovno nule. Uživatelé s tímto výsledným ohodnocením nejsou zobrazováni ve výsledném seznamu. To ale v tomhle případě není dobře. Proto se k zadané toleranci přičítá malé číslo, které zajistí nenulový výsledek.
5.11 Založení profilu vlastního týmu nebo sezóny Oprávnění uživatelé: registrovaný uživatel. Každý registrovaný uživatel si může založit svůj vlastní tým nebo založit novou sezónu seriálu. Po kliknutí na položku „Týmy“ v hlavním menu se zobrazí abecední seznam všech týmů a nad tímto seznamem v pravém horním rohu se nachází volba „Nový tým“ (Obrázek 5.11.1). Po jejím zvolení se zobrazí formulář pro založení nového týmu. Uvádí se název týmu, rok založení a případně jeho vlastník. Po jeho správném vyplnění a odeslání se vytvoří novému týmu profil (Obrázek 5.11.2) a jeho zakládající uživatel se automaticky stává jeho členem. Každý člen týmu má právo tento profil upravovat, pokud vystupuje za daný tým (zvolí tým v nabídce „Vystupovat jako“).
Obrázek 5.11.1.: Tlačítko pro založení nového týmu Stejný postup je potřeba i pro založení nové sezóny seriálu. Výběrem položky „Seriály“ z hlavního menu se zobrazí seznam všech seriálů a s tím i tlačítko pro vytvoření nového seriálu. Do formuláře se zadává název seriálu, ročník (sezóna) a zaškrtává se aktuálnost dané sezóny. Profil seriálu, jak ho vidí neregistrovaný uživatel, byl uveden na Obrázku 5.3.1. Rozdíl je v uživatelském menu, ale hlavně v tom, že při zobrazení seznamu týmů nebo seriálů nemá neregistrovaný uživatel zobrazenou volbu pro vytvoření nového týmu nebo sezóny seriálu.
57
Obrázek 5.11.2.: Profil týmu
5.12 Správa profilů vlastních týmu Oprávnění uživatelé: jezdec týmu. První část správy týmového profilu zahrnuje vkládání a úpravu základních informací a libovolného popisu, který může obsahovat text, fotografie nebo odkazy (jak bylo možné vidět na Obrázku 5.11.2). Veškerou správu může vykonávat pouze člen týmu vystupující za tým nebo správce systému.
Obrázek 5.12.1.: Seznam členů týmu
Druhou část profilu tvoří abecední seznam aktivních a bývalých členů týmu. Po kliknutí na jméno uživatele se přejde na jeho uživatelský profil. Každý člen týmu může aktivního člena odebrat z týmu a bývalého člena opět přidat do týmu, jak je znázorněno na Obrázku 58
5.12.1. Nové členy je možné pozvat do týmu přes jejich uživatelský profil stisknutím tlačítka „Přidat do týmu…“. Jakýkoliv uživatel může vybranému týmu poslat žádost, že se chce přidat do týmu. Schválit, zamítnout nebo ji nechat nevyřízenou může každý člen týmu. Na Obrázku 5.12.2 je znázorněna žádost od uživatele pro tým týkající se jeho přidání do týmu. O každé činnosti v rámci týmu, která se týká ostatních členů, je posílána systémová zpráva všem aktivním členům týmu (viz kapitola 5.15).
Obrázek 5.12.2.: Žádost uživatele o přidání do týmu
Poslední část týmového profilu tvoří seznam závodů, na které je daný tým přihlášený, včetně výpisu jednotlivých jezdců zapsaných na závod a informaci o kategorii, ve které budou závodit. Libovolný člen týmu může přihlásit libovolného člena týmu na vybraný závod. Přihlašování probíhá přes profil sezóny seriálu a zvolení konkrétního závodu. Přihlašovací formulář na závod seriálu Czech Endurance Cup v sezóně 2013 je možné vidět na Obrázku 5.12.3 níže. Z daných možností se vybere závodní kategorie a zaškrtnou se členové týmu, kteří budou závodit v daném motocyklovém závodě.
Obrázek 5.12.3.: Registrace na závod
59
5.13 Správa profilů vlastních sezón Oprávnění uživatelé: pořadatel. Registrovaný uživatel, který založil profil nové sezóně seriálu, se automaticky stává správcem této sezóny. Opět může upravovat informace v první části profilu. Doporučenou součástí libovolného popisu je popis pravidel, která se musejí na závodech dodržovat, a popis závodních kategorií, pro které se budou závody během sezóny vypisovat. Pod popisem se nachází seznam organizátorů. Kliknutím na jméno je možné přejít na profil daného uživatele. Profil sezóny seriálu byl názorně ukázán v kapitole 5.3. V rámci správy sezóny seriálu může její pořadatel nastavit jiného uživatele jako dalšího pořadatele sezóny a to kliknutím na tlačítko „Přidat dalšího organizátora“ nacházejícího se nad seznamem aktuálních organizátorů. Dotyčnému uživateli je následně poslána systémová zpráva o jeho zařazení mezi organizátory. V části profilu Kalendář závodů je možné přidávat nové závody. Formulář je zobrazen na Obrázku 5.13.1. Seznam kategorií v další části profilu se aktualizuje podle vypsaných závodů a jejich kategorií v rámci dané sezóny. Seznam přihlášených týmů znázorňuje, na jaké závody jsou přihlášené jaké týmy. V poslední části může správce sezóny nahrávat výsledky jednotlivých závodů ve formátu PDF.
Obrázek 5.13.1.: Formulář pro nový závod
60
5.14 Zaslání upozornění V rámci systému je zasíláno několik druhů upozornění. Jedná se o systémové zprávy, které jsou poslány určitým uživatelům na základě činnosti jiného uživatele, jež se nějakým způsobem týkala těchto obeslaných osob. Ukázku systémové zprávy (upozornění na předání motorky) lze vidět na Obrázku 5.14.1. Zpráva není posílána uživateli, který danou činnost vykonal, ale je uložena v jeho seznamu zpráv, protože je nastaven jako odesílatel zprávy. Upozornění jsou zaslána když: 1. Když člen týmu pozve jiného uživatele do týmu (všichni aktivní členové týmu jsou o této činnosti vyrozuměni). 2. Když požádaný uživatel žádost týmu o přidání potvrdí (obesláni jsou všichni aktivní členové týmu). 3. Když člen týmu příjme žádost od uživatele o přidání do týmu.(všichni aktivní členové týmu) 4. Když člen týmu deaktivuje nebo reaktivuje jiného člena týmu (upozornění všem aktivním členům týmu) 5. Když pořadatel nastaví jiného uživatele jako dalšího pořadatele sezóny seriálu (uživatel, kterého se to týká – nový pořadatel). 6. Když registrovaný uživatel předá vlastnictví své bývalé motorky jinému uživateli (systémovou zprávu obdrží nový majitel motorky).
Obrázek 5.14.1.: Upozornění – systémová zpráva
5.15 Správa všech profilů Oprávnění uživatelé: správce systému. Veškerou funkcionalitu zmíněnou v předešlém textu, kterou může vykonávat registrovaný uživatel, může vykonávat i správce systému. Navíc kromě toho má právo měnit všechny profily v této kapitole zmíněné. Má tedy přístup ke všem informacím v systému a může je upravovat. Jeho veškerá činnost by však neměla narušovat chod systému. 61
6. Možná rozšíření a napojení na stávající systémy
Výsledný systém je pouze prototypem sociální sítě pro motocyklový sport. Jako každou SNS je možné ji stále vylepšovat, doplňovat nové funkce nebo starou funkcionalitu nahrazovat novou. Výsledná webová aplikace umožňuje pořádání závodů v plném rozsahu. Některá funkcionalita se děje vně systému (např.: čísla týmů a jezdců, měření časů, placení závodů,…), ale potřebný základ systém obsahuje. Výsledky závodů jsou řešeny vkládáním PDF souborů do systému, kde si je mohou registrovaní uživatelé přečíst. Tato funkcionalita je dostačující, o čemž svědčí i její časté využívání na mnoha webových serverech věnujících se motocyklovému sportu. Důležitou informací ale je, že velmi dobře propracovaný systém na zpracování výsledků z obecných motocyklových závodů již existuje. Jako bakalářskou práci ho vypracoval pan Bc. Pavel Grochal, student Fakulty informatiky Masarykovy univerzity, na jaře roku 2011. V budoucnu by určitě bylo možné tyto dva systémy propojit a vytvořit tak zcela jedinečný systém pro motocyklové závody. Pokud vezmeme v úvahu stávající systémy pro organizaci motocyklových závodů a funkcionalitu, kterou nabízející, tak by se dalo říct, že výsledný systém této práce by je mohl téměř plně nahradit (s přihlédnutím k faktu, že se jedná o prototyp). Některými doporučenými rozšířeními jsou:
větší zabezpečení ochrany soukromých dat nacházejících se na profilech uživatelů a týmů (např.: viditelnost jen pro přátele)
vícenásobná komunikace a posílání zpráv týmům i uživatelům přímo z nabídky „Zprávy“ – ve smyslu „poslat novou zprávu“ s možností výběru příjemce
přidání entitní množiny pro barvy motocyklů – další možný prvek pro vyhledávání uživatelů
skupiny přátel
přidání „zdi“ nebo diskusního fóra
vytváření událostí – například srazy motocyklových nadšenců, vyjížďky, motocampy atd.
galerie fotografií
možnost přidání videa
62
7. Závěr Podle zadání této diplomové práce byl vytvořen prototyp systému, který poskytuje uživateli základní prvky sociálních sítí dohromady se zázemím umožňujícím organizovat mu obecné motocyklové závody. Návrh tohoto systému není pouze teoretického charakteru, ale je podpořen analýzou sociálních sítí, webových stránek věnujících se motocyklovému sportu a vlastními zkušenostmi z prostředí motocyklových závodů i sociálního soužití motocyklových nadšenců. Podle výsledků analýzy webových portálů věnujících se motocyklovému sportu se dá s určitostí říct, že tento návrh systému najde nejedno uplatnění v praxi při organizování motocyklových závodů různého typu. Systém je možné libovolně rozšiřovat a přizpůsobovat konkrétním požadavkům pořádající agentury.
63
Internetové zdroje a literatura Internetové zdroje: [2] Wikipedie: Otevřená encyklopedie: Social Networking service [online]. 2012 [cit. 2012-09-20]. Dostupné z WWW: < http://en.wikipedia.org/wiki/Social_networking_service>. [3] BORNOVÁ, Lucie. Úvod do sociálních sítí. IBM: Developer works: 3MA547 – Moderní trendy v malém a středním podnikání: Technologické trendy a MSP: 6 sociální sítě a jejich využití v MSP: Úvod do sociálních sítí [online]. 7. 12. 2011 [cit. 2012-09-20]. Dostupné z WWW: < https:// www.ibm.com/developerworks/mydeveloperworks/wikis/home/wiki/W2ee553718f13_4825_ b4e6_343b81350b95/page/Úvod%20do%20sociálních%20sítí?lang=en>. [4] BOYD, Danah M. a Nicole B. ELLISON. Social Network Sites: Definition, History, and Scholarship . In: Journal of computer-mediated communication JCMC [online]. Indiana University, c2007 [cit. 2012-09-30]. Dostupné z WWW:
. [5] Dictionary.com [online]. 2012 [cit. 2012-09-30]. Dostupné z WWW: . [6] Dictionary.com [online]. 2012 [cit. 2012-09-30]. Dostupné z WWW: . [7] Zpravodajský server Aktuálně.cz: Sociální sítě [online]. 3. 7. 2011 [cit. 2012-10-02]. Dostupné z WWW: . [10] PLATKO, Ondřej. Sociální sítě 1.díl. Owebu.cz [online]. 29. 6. 2009 [cit. 2012-10-03]. Dostupné z WWW: . [11] KEJDUŠ, Radek. Stručná historie emailu: už 40 let si posíláme počítačové dopisy. cnews.cz [online]. 29. 6. 2009 [cit. 2012-10-03]. Dostupné z WWW: . [12] Google Trends [online]. c 2012 [cit. 2012-12-27 až 2012-12-31]. Dostupné z WWW: . [13] LAUSCHMANN, Jiří. Znáte 5 + 1 největších sociálních sítí? CD-R server s.r.o. [online]. 4. 10. 2012 [cit. 2012-10-09]. Dostupné z WWW: . [14] COSENZA, Vincenzo. La mappa dei social network nel mondo – dicembre 2012. Vincos.it [online]. 31. 12. 2012 [cit. 2012-12-31]. Dostupné z WWW: http://vincos.it/2012/12/31/lamappa-dei-social-network-nel-mondo-dicembre-2012/>.
64
[15] CARLSON, Nicholas. At Last – The Full Story Of How Facebook Was Founded. Business Insider [online]. 5. 3. 2010 [cit. 2012-10-09]. Dostupné z WWW: . [16] YAROW, Jay. Facebook Hits 1 Billion Users! Business Insider [online]. 4. 10. 2012 [cit. 2012-10-10]. Dostupné z WWW: . [17] Zpravodajský server Aktuálně.cz: Facebook se raduje. Počet uživatelů přesáhl miliardu [online]. 4. 10. 2012 [cit. 2012-10-10]. Dostupné z WWW: . [18] socialbakers.com: Facebook Statistics [online]. 2012 [cit. 2012-10-10]. Dostupné z WWW: . [19] TOWNES, Frederick. MySpace, America’s Number One. Mashable.com [online]. 11. 7. 2006 [cit. 2012-10-15]. Dostupné z WWW: . [20] GILLETTE, Felix. The Rise and Inglorious Fall of Myspace. Bloomberg Businessweek Magazine [online]. 22. 6. 2011 [cit. 2012-10-15]. Dostupné z WWW: . [21] STEEL, Emily. Myspace Scales Back Coming-Out Party. The Wall Street Journal [online]. 19.
9.
2011
[cit.
2012-10-15].
Dostupné
z WWW:
SB10001424053111904106704576579263962636624.html>. [22] Wikipedie: Otevřená encyklopedie: Twitter [online]. 2012 [cit. 2012-10-16]. Dostupné z WWW: . [23] DUGAN, Lauren. Twitter To Surpass 500 Million Registered Users On Wednesday. Mediabistro.com [online]. 21. 2. 2012 [cit. 2012-10-16]. Dostupné z WWW: . [24] KOLKOVÁ, Olga. Google+ opět povyrostl, na domácí půdě ale tolik nevyniká. CDR.cz [online]. 11. 10. 2012 [cit. 2012-10-16]. Dostupné z WWW: . [26] CLOUD, John. The YouTube Gurus. TIME Magazine.com [online]. 25. 12. 2006 [cit. 201210-20]. Dostupné z WWW: .
65
[27] LAWLER, Ryan. YouTube Is Launching A Redesign To Reduce Clutter And Put Videos Front And Center. TechCrunch.com [online]. 6. 12. 2012 [cit. 2012-12-28]. Dostupné z WWW: . [28] HORTON, Chris. Insight into the Emerging Taxonomy of Social Media. Business2Community.com [online]. 10. 7. 2012 [cit. 2012-10-20]. Dostupné z WWW: . [29] LinkedIn.com [online]. c2012 [cit. 2012-10-21]. Dostupné z WWW: . [30] obchodnimodely.blogspot.cz: Porovnání sociálních sítí, jejich přednosti a vize [online]. 13. 5. 2010 [cit. 2012-10-16]. Dostupné z WWW: . [31] PLATKO, Ondřej. Sociální sítě 2.díl, společné prvky. Owebu.cz [online]. 2. 7. 2009 [cit. 2012-10-16]. Dostupné z WWW: . [32] Types of social networking services. Digizen.org [online]. c2010 [cit. 2012-10-17]. Dostupné z WWW: . [33] NÝVLTOVÁ, Táňa. Sociální sítě. Kabinet informačních studií a knihovnictví [online]. 2010 [cit. 2012-10-17]. Dostupné z WWW: . [34] The Official YouTube Blog: Holy Nyans! 60 hours per minute and 4 billion views a day on YouTube [online]. 23. 1. 2012 [cit. 2012-12-20]. Dostupné z WWW: . [35] SAKR, Sharif. Google+ has 400 million members, a quarter of whom are active each month. engadget.com [online]. 18. 9. 2012 [cit. 2012-12-20]. Dostupné z WWW: . [37] Wikipedie: Otevřená encyklopedie: Model-view-controller [online]. 2012 [cit. 2012-12-14]. Dostupné z WWW: . [38] Wikipedia: The Free Encyclopedia: Model-view-controller [online]. 2012 [cit. 2012-12-14]. Dostupné z WWW: < http://en.wikipedia.org/wiki/Model–view–controller>.
66
Literatura: [1] WASSERMAN, Stanley a Katherine FAUST. Social Network Analysis: Methods and Applications. Cambridge: Cambridge University Press, 1994, 857 s. ISBN 0521387078. [8] BARNES, J. Arundel. Class and Committees in a Norwegian Island Parish. Human relations. 1954, roč. 7, č. 1, s. 39-58. doi: 10.1177/001872675400700102 [9] TRÁGE, Jiří. Bakalářská práce: Ochrana osobních údajů v sociálních sítích. Brno: Masarykova Univerzita, 2012, 43 s. Dostupné také online z WWW: . [25] ARLOW, Jim a Ila NEUSTADT. UML 2.0 and the unified process :practical objectoriented analysis and design. 2nd ed. Boston: Addison-Wesley, 2005. xxiii, 592. ISBN 0321321278. [36] GILMORE, W. Jason. Velká kniha PHP 5 a MySQL. Brno: Zoner Press, 2011, 3.vydání, 736 s. ISBN 978-80-7413-163-9.
67
Zdroje převzatých obrázků Obr. 2.2.1, zdroj: www.google.com/trends [2012-12-27]
9
Obr. 2.3.1, zdroj: www.vincos.it, Vincenzo Cosenza
11
Obr. 2.3.1.1, zdroj: www.google.com/trends [2012-12-28]
12
Obr. 2.3.2.1, zdroj: www.google.com/trends [2012-12-30]
13
Obr. 2.3.3.1, zdroj: www.google.com/trends [2012-12-30]
14
Obr. 2.3.4.1, zdroj: www.google.com/trends [2012-12-31]
17
Obr. 2.3.5.1, zdroj: www.google.com/trends [2012-12-31]
18
Obr. 2.3.6.1, zdroj: www.google.com/trends [2012-12-31]
19
Obr. 4.1, zdroj: en.wikipedia.org/wiki/Model–view–controller
38
68
Přílohy A. Entitně-relační diagram
69
B. Souhlas s použitím aplikačního rámce
70
C. Obsah přiloženého CD Přiložené CD obsahuje tyto soubory:
prototyp výsledného systému (ssms.zip)
MySQL databázi potřebnou pro správné fungování systému (ssms_sql.zip)
textové dokumenty obsahující zdroje ke všem obrázkům použitým v databázi výsledného systému (složka Zdroje)
71