Table of Contents Introduction ................................................................................................................................................ 5 Analytický doménový model ..................................................................................................................... 5 Activity .................................................................................................................................................... 5 Comment ................................................................................................................................................ 5 Horse ...................................................................................................................................................... 6 Message ................................................................................................................................................. 6 Photo ...................................................................................................................................................... 6 Post ........................................................................................................................................................ 6 Stable ..................................................................................................................................................... 6 Track ...................................................................................................................................................... 6 Training .................................................................................................................................................. 6 User ........................................................................................................................................................ 6 Doménový model ..................................................................................................................................... 6 Fotografie ............................................................................................................................................... 7 Jezdec .................................................................................................................................................... 8 Jízda ....................................................................................................................................................... 8 Komentář ................................................................................................................................................ 8 Kůň ......................................................................................................................................................... 8 Majitel koně ............................................................................................................................................ 8 Majitel stáje ............................................................................................................................................ 8 Post ........................................................................................................................................................ 8 Stáj ......................................................................................................................................................... 8 Tréning ................................................................................................................................................... 8 Uživatel................................................................................................................................................... 8 Zpráva .................................................................................................................................................... 8 Model architektury .................................................................................................................................... 8 View........................................................................................................................................................ 9 View........................................................................................................................................................ 9 Kontrolery ............................................................................................................................................. 9 ActivitiesController .............................................................................................................................. 9 ApplicationController ........................................................................................................................... 9 HorsesController ............................................................................................................................... 10 ProfileController ................................................................................................................................ 10 SessionsController ............................................................................................................................ 10 StablesController .............................................................................................................................. 10 TrainingsController............................................................................................................................ 10 Modely ................................................................................................................................................ 10 Activity .............................................................................................................................................. 10 Authorization ..................................................................................................................................... 10 Comment .......................................................................................................................................... 11 Horse ................................................................................................................................................ 11 Message ........................................................................................................................................... 11 Photo ................................................................................................................................................ 11 Post................................................................................................................................................... 11 Stable................................................................................................................................................ 11 Track ................................................................................................................................................. 11 Training ............................................................................................................................................. 11 User .................................................................................................................................................. 11 Views .................................................................................................................................................. 11 _form.html.erb ................................................................................................................................... 12
edit.html.erb ...................................................................................................................................... 12 index.html.erb ................................................................................................................................... 12 layout.html.erb .................................................................................................................................. 12 new.html.erb ..................................................................................................................................... 12 show.html.erb ................................................................................................................................... 12 Model databáze ...................................................................................................................................... 12 activities................................................................................................................................................ 14 authorizations ....................................................................................................................................... 14 comments ............................................................................................................................................. 14 horse_stable ......................................................................................................................................... 14 horses................................................................................................................................................... 14 messages ............................................................................................................................................. 14 photos................................................................................................................................................... 14 posts ..................................................................................................................................................... 14 riders_horses........................................................................................................................................ 14 stables .................................................................................................................................................. 14 tracks .................................................................................................................................................... 14 trainings ................................................................................................................................................ 14 users..................................................................................................................................................... 14 Bussines procesy ................................................................................................................................... 14 Jízda s koněm .................................................................................................................................... 15 Uživatel dojel s koněm do cílového bodu .......................................................................................... 15 Jezdec na mobillním zařízení dá zahájit nahrávání jízdy pomocí GPS ............................................. 15 Jezdec ukončí nahrávání trasy přes GPS a ukončí jízdu na koni ..................................................... 15 Jezdec vybere koně, na kterém jel, vytvoří jízdu a vloží gpx soubor trasy ........................................ 15 Jít na webové stránky horse tracker ................................................................................................. 15 Jízda na koni..................................................................................................................................... 16 Nahrát trasu přes aplikaci v mobilním zařízení ................................................................................. 16 Systém nahraje jízdu, kterou jezdec na koni ujel a zobrazí její mapu ............................................... 16 Ukončit jízdu na koni ......................................................................................................................... 16
................................................................................................................................... 16 Fyzická aktivita jezdce a koně .......................................................................................................... 16 Práce s mobilním zařízením v terénu ............................................................................................ 16 Jezdova aktivita na internetu ............................................................................................................ 16 <<System>> .................................................................................................................................. 16 Jezdec ........................................................................................................................................... 16 Nahrát trasu ihned na místě?............................................................................................................ 16 Ukončení jízdy na koni ...................................................................................................................... 16 Ukončení jízdy na koni ...................................................................................................................... 16 Zadat trasu ručně přes webové rozhraní .......................................................................................... 16 Začátek jízdy na koni ........................................................................................................................ 16 Model požadavků ................................................................................................................................... 17 Funkční požadavky ............................................................................................................................. 17 REQ1001 - Přihlášení ....................................................................................................................... 18 REQ1002 - Profil uživatele................................................................................................................ 19 REQ1003 - Správa Stájí ................................................................................................................... 19 REQ1004 - Správa koní .................................................................................................................... 19 REQ1004 - Tréninkový deník............................................................................................................ 19 REQ1005 - Záznam trasy ................................................................................................................. 19 REQ1006 - Rozhraní pro aplikace třetích stran ................................................................................ 19 REQ1007 - Tréninkové šablony ........................................................................................................ 19 REQ1101 - Fotky koní ...................................................................................................................... 19 Nefunkční požadavky ......................................................................................................................... 19 REQ5001 - Framework Ruby on Rails .............................................................................................. 20 Model případů užití ................................................................................................................................. 20 Účastníci ............................................................................................................................................. 22
Jezdec .............................................................................................................................................. 22 Majitel koně....................................................................................................................................... 22 Majitel stáje ....................................................................................................................................... 22 Uživatel ............................................................................................................................................. 22 Případy užití ........................................................................................................................................ 22 Odebrat autentifikační službu ........................................................................................................... 24 Odebrat fotku .................................................................................................................................... 24 Pozvat koně do stáje......................................................................................................................... 24 Přidat autentifikační službu ............................................................................................................... 24 Přidat fotku........................................................................................................................................ 24 Přihlásit se ........................................................................................................................................ 24 Přijmout koně do stáje ...................................................................................................................... 24 Přijmout pozvání koně do stáje ......................................................................................................... 24 Smazat koně ..................................................................................................................................... 24 Smazat stáj ....................................................................................................................................... 24 Trénovat koně ................................................................................................................................... 24 Nahrát trasu k aktivitě.................................................................................................................... 24 Vytvořit aktivitu .............................................................................................................................. 24 Vytvořit trénink .............................................................................................................................. 24 Trénovat někomu koně ..................................................................................................................... 25 Upravit koně...................................................................................................................................... 25 Upravit profil...................................................................................................................................... 25 Upravit stáj ........................................................................................................................................ 25 Vytvořit koně ..................................................................................................................................... 25 Vytvořit stáj ....................................................................................................................................... 25 Zaslat žádost o členství ve stáji ........................................................................................................ 25 Zobrazit koně .................................................................................................................................... 25 Zobrazit stáj ...................................................................................................................................... 25 Stavové diagramy .................................................................................................................................. 25 Aktivita ................................................................................................................................................ 25 Neodjetá ........................................................................................................................................... 26 Odjetá ............................................................................................................................................... 26 Final .................................................................................................................................................. 26 Initial ................................................................................................................................................. 26 Uživatel ............................................................................................................................................... 26 Nepřihlášen....................................................................................................................................... 27 Přihlášen ........................................................................................................................................... 27 Initial ................................................................................................................................................. 27 odhlásit ............................................................................................................................................. 27 přihlásit ............................................................................................................................................. 27 Model komunikace ................................................................................................................................. 27 Přihlášení ............................................................................................................................................ 27 User .................................................................................................................................................. 28 ................................................................................................................................... 28 ................................................................................................................................... 28 ................................................................................................................................... 28 ................................................................................................................................... 29 ................................................................................................................................... 29 ................................................................................................................................... 29 ................................................................................................................................... 29 Authorization.exists? ......................................................................................................................... 29 User exists ........................................................................................................................................ 29 Uživatel ............................................................................................................................................. 29 Vytvoření jízdy .................................................................................................................................... 29 User .................................................................................................................................................. 30 Uživatel zadal trasu........................................................................................................................... 30
Vytvoření koně .................................................................................................................................... 30 User .................................................................................................................................................. 31 Vytvoření stáje .................................................................................................................................... 31 User .................................................................................................................................................. 31 Model nasazení ...................................................................................................................................... 32 Databáze .............................................................................................................................................. 32 Postgresql ......................................................................................................................................... 32 Server ................................................................................................................................................... 32 Apache.............................................................................................................................................. 32 config.ru ............................................................................................................................................ 32 database.yml .................................................................................................................................... 32 HorseTracker aplikace ...................................................................................................................... 32 Ruby >= 1.9.3 ................................................................................................................................... 32 Thin ................................................................................................................................................... 33
Analytický doménový model Balíček zachycuje požadavky na nový systém reprezentovaný pomocí "UML class diagramu". Jednotlivé třídy jsou navrženy na základě doménového modelu, případu užití a požadavků na nový systém. Model jako celek zachycuje základní strukturu nového systému. class Analytický doménov ý model
Prvky tohoto modelu jsou pojmenované anglicky, aby přesně odpovídaly výsledným prvkům v kódu aplikace.
Comment *
-
text :string
Post *
1
-
text :text Jízda je zde rozdělena na aktivitu a trasu. 1
1
1
1
1 1
-
email name admin avatar
1
jezdí na
User 0..*
:string :string :bool :image
Horse
0..* -
vlastní 1
Activ ity
name :string
1
0..* -
name :string note :string
Track 1
0..* 0..*
1
1
0..1 -
gpx :xml distance :int duration :int
1
1
od
pro
je č lenem
vlastní
0..* Message -
subject :string text :string
je souč ástí
0..* 1
0..*
Stable -
name :string
0..*
Photo -
photo :image title :string description :string
1 0..* Training
-
name :string date :datetime note :string status :enum
Figure: 1
Activity Aktivita kone zastupuje realnou cinnost, kterou kun vykonnava. Touto cinosti muze byt napriklad chuze, klus, cval, krokovani v kolotoci ci plaveni kone. Pokud aktivita reprezentuje jízdu, přidává se trasa kudy kůň šel .
Photo Fotka patří buď koni, nebo uživateli. Uživatel to má jako avatar, kůň jako fotku do alba .
Stable Stáj je skupina koní. Každý uživatel co má koně ve stáji vidí aktivity ostatních koní .
Training Seznam naplánovaných jízd (aktivit), které kůň má odjet .
Doménový model Balíček obsahuje objekty modelované domény a popis jejich vzájemných vztahů. Pro grafickou reprezentaci těchto informací využívá UML diagram tříd. Třídy mají definovány pouze atributy bez datových
typů. Třídy, které se mohou nacházet v různých stavech (a tyto stavy jsou důležité/užitečné sledovat v reálném světě), jsou doplněny o stavový diagram. class Doménov ý model Uživ atel -
pro
email jméno admin profilová fotka
Zpráv a -
od
předmět text
vytváří
Maj itel koně
Jezdec
Maj itel stáj e
Komentář -
vlastní
jezdí
vlastní
Kůň -
Stáj
je členem
jméno
text
0..*
0..*
-
Post
jméno
-
text
1 1
1 absolvuje
0..*
0..*
Tréning
Fotografie -
foto popisek popis
-
název datum poznámka status
Jízda je součástí 0..*
0..* 1 -
název popisek
Figure: 2
Fotografie Fotografie patří buď koni, nebo uživateli. Uživatel ji využívá jako profilovou fotku, kůň jako fotku do alba .
Komentář Komentář k příspěvku .
Kůň Kůň domácí (Equus caballus) nebo pouze kůň je domestikované zvíře patřící mezi lichokopytníky. V minulosti se koně používali především na přepravu. Od 20. století se na nich jezdí hlavně rekreačně .
Post Příspěvek na nástěnce uživatele .
Stáj Stáj je skupina koní .
Tréning Seznam jízd (aktivit) koně .
Zpráva Zprávou je myšlena soukromá zpráva od jednoho uživatele druhému
.
Model architektury Balíček obsahuje popis logického členění navrhované aplikace na vrstvy, které umožňují znadnou rozšiřitelnost a udržovatelnost aplikace. Jednotlivé vrstvy obsahují další balíčky, do kterých jsou seskupeny třídy, podle jejich logických souvislostí.
Figure: 3
Kontrolery cmp Kontrolery «ActionController::Base» ApplicationController +
current_user() :User
«before_filter» - require_login() :void
+ + + + + + +
SessionsController
ProfileController
HorsesController
StablesController
Activ itiesController
TrainingsController
new() :void create() :void send_email() :void confirm_create() :void revoke() :void confirm_email() :void destroy() :void
+ + +
+ + + + + + +
+ + + + + + +
+ + + + + + + +
+ + + + + + +
index() :void edit() :void udpate() :void
index() :void show() :void new() :void create() :void edit() :void update() :void destroy() :void
index() :void show() :void new() :void create() :void edit() :void update() :void destroy() :void
index() :void show() :void new() :void create() :void edit() :void update() :void destroy() :void track() :void
index() :void show() :void new() :void create() :void edit() :void update() :void destroy() :void
Figure: 4
ActivitiesController Kontroler spravuje aktivity a jejich trasy .
ApplicationController Základní kontroler, zajišťuje přihlášení uživatele a autorizaci pro api .
HorsesController Kontroler spravující koně, umožňuje zobrazení seznamu koní a metody nutné pro správu koní .
ProfileController Kontroler pro správu a zobrazení uživatelova profilu .
SessionsController Kontroler pro vytváření účtů a přiřazování, odebirání autentizačních služeb .
StablesController Kontroler pro správu a zobrazení stájí .
TrainingsController
Modely cmp Modely «ActiveRecord::Base» Comment +
«ActiveRecord::Base» Post
text :text
+
«belongs_to» + user :User + post :Post
*
1
text :text
«belongs_to» + user :User
1
«has_many» + comments :Comment [0..*]
*
«belongs_to polymorphic» * + object :Postable
1
1 1 «ActiveRecord::Base» Authorization +
extra :blob
+
«belongs_to» + user :User «notnull» + provider :string + uid :string
1
«ActiveRecord::Base» User
*
avatar :image jezdí na
«notnull» + name :string 1 + admin :string
*
«notnull readonly» + email :integer
1
«ActiveRecord::Base» Activ ity +
«notnull» + name :string * + onwer :User + riders :User [0..*]
vlastní
«has_many» + horses :Horse [0..*] + ride_horses :Horse [0..*] + messages :Message [0..*] + sent_messages :Message [0..*]
1
«ActiveRecord::Base» Horse
1
*
1
«has_many» + stables :Photos [0..*] + activities :Activity [0..*] + photos :Stable [0..*]
«notnull» + name :string
*
«belongs_to» + horse :Horse
+
1
gpx :blob
«notnull» + distance :integer 0..1 + duration :integer
1
«notnull belongs_to» + activity :Activity
«has_one» + post :Post 1
«has_one» + post :Post 1
«ActiveRecord::Base» Track
note :string
*
1 je součástí
1 od
1
je členem
vlastní
pro *
*
*
«ActiveRecord::Base» Message
«ActiveRecord::Base» Stable
*
«notnull» + subject :string + text :text
+
«notnull belongs_to» + recipient :User + sender :User
«has_many» + members :Horse [1..*]
*
name :string
+ +
«notnull beongs_to» + owner :User
Figure: 5
«ActiveRecord::Base» Photo
1
*
title :string description :text
«ActiveRecord::Base» Training * + +
date :datetime note :string
«notnull» + photo :image
«notnull» + name :string
«belongs_to» + horse :Horse
«belongs_to» + horse :Horse
«has_one» + post :Post
«has_many» + activities :Activity [0..*]
Views
Figure: 6
_form.html.erb Pomocná partial templata pro zobrazení formuláře dané entity .
edit.html.erb Zobrazení formuláře pro upravení entity .
index.html.erb Hlavní stránka, zobrazení seznamu entit .
layout.html.erb Template obsahujcí hlavní layout aplikace, header, footer, html hlavičky .
new.html.erb Formulář přo vytvoření nové entity .
show.html.erb Zobrazení informacé o dané entitě
.
Model databáze
Figure: 7
Bussines procesy Jízda s koněm act Jízda s koněm
Začátek jízdy na koni
<> * Uživatel má v systému vytvořeného koně. * Uživatel má sebou mobilní zařízení
Fyzická aktivita jezdce a koně
Práce s mobilním zařízením v terénu
Jezdec na mobillním zařízení dá zaháj it nahráv ání j ízdy pomocí GPS
Jízda na koni Uživ atel doj el s koněm do cílov ého bodu
Ukončení jízdy na Nahrát trasu přes aplikaci koni v mobilním zařízení
Nahrát trasu ihned na místě?
Ano
Zadat trasu ručně přes webové rozhraní Jezdec ukončí nahráv ání trasy přes GPS a ukončí j ízdu na koni
Ne Ne
Ano
Jezdova aktivita na internetu
Ukončení jízdy na koni
Jezdec
Jít na w ebov é stránky horse tracker
<<System>>
Jezdec v ybere koně, na kterém j el, v ytv oří j ízdu a v loží gpx soubor trasy
Figure: 8
Systém nahraj e j ízdu, kterou j ezdec na koni uj el a zobrazí j ej í mapu
Model požadavků Balíček obsahuje seznam a popis funkčních a nefunkčních požadavků.
Figure: 9
Funkční požadavky req Funkční požadav ky REQ1001 - Přihlášení
REQ1002 - Profil uživatele
REQ1003 - Správa Stájí
REQ1004 - Správa koní
REQ1005 - Záznam trasy
REQ1101 - Fotky koní
REQ1006 - Rozhraní pro aplikace třetích stran
REQ1007 - Tréninkové šablony
Figure: 10
REQ1001 - Přihlášení Předpokládá se, že budoucí uživatel HT je před vytvořením profilu zaregistrován alespoň na jedné z těchto sociálních sítí Facebook, Google+ či Twitter. Jinak nebude možné profil vytvořit .
REQ1002 - Profil uživatele V profilu bude uživatel mít možnost si nahrát svou vlastní fotku z počítače a napsat něco o sobě .
REQ1003 - Správa Stájí Pokud uživatel vytvoří svou stáj, stává se z něho majitel. Ve své stáji pak může přizvat koně nebo akceptovat jejich žádost o přijetí do stáje. Na stránce stáje budou zobrazeny aktivity všech koní ve stáji .
REQ1004 - Správa koní Uživatelé si budou moct v systému vytvářet koně. Pokud uživatel vytvoří nového koně, stává se z něho Majitel koně .
REQ1004 - Tréninkový deník Uživatel si bude moci dopředu naplánovat aktivitu, kterou bude s koněm dělat, zadat u nich čas kdy je má splnit a po splnění je označit za ukončené. Následně se mu zobrazí skutečný čas u kdy byla splňěna aktivita splněna. Bude moct označit aktivitu jako opakující se, dupikovat aktivity již zadané - usnadnění vytváření aktivit. V tréninkovém deníku pak bude mít seznam všech aktivit, které kdy vykonal. Speciální aktivita je jízda, po níž vzniká záznam trasy .
REQ1005 - Záznam trasy Majitel i jezdec mohou během probíhající jízdy zaznamenávat trasu přes mobilní zařízení, které budou mít u sebe. Toto zařízení musí mít aplikaci spolupracující s horsetrackerem. Po skončení jízdy na koni, uživatel ukončí nahrávání trasy a bude moct odeslat přes webové služby horsetracker informace z právě ujeté jízdy na web horsetracker. Tam se zobrazí jako mapa, pomocí google maps .
REQ1006 - Rozhraní pro aplikace třetích stran Aplikační rozhraní musí být přístupné pro třetí strany kvůli plánovaným mobilním aplikacím .
REQ1007 - Tréninkové šablony Tréninková šablona je soubor aktivit, ze kterých se skládá trénink. Je určena především k usnadnění práce s tréninky jako takovými. Pokud je například s koněm cvičen dvakrát denně delší, ale stejný trénink, bylo by zbytečně pracné ho pokaždé zadávat znova. Každý odcvičený trénink tedy lze uložit jako tréninkovou šablonu a pak ho znovu používat .
REQ1101 - Fotky koní Každý uživatel bude mít své fotoalbum, kam bude moci nahrávat fotky z počítače
Nefunkční požadavky
.
req Nefunkční požadav ky REQ5001 - Framework Ruby on Rails
Figure: 11
REQ5001 - Framework Ruby on Rails
Model případů užití Balíček obsahuje seznam a popis účastníků, seznam a popis případů užití a jejich scénářů. Pro grafickou reprezentaci používá UML Use case diagram. uc Model případů užití
Přidat fotku
Odebrat fotku
(from Případy užití)
(from Případy užití)
REQ1101 - Fotky koní
Smazat stáj
(from Funkční požadavky)
Přihlásit se
REQ1001 - Přihlášení (from Případy užití)
(from Funkční požadavky)
(from Případy užití)
REQ1003 - Správa Stájí Uprav it stáj (from Funkční požadavky) (from Případy užití)
Uprav it profil
REQ1002 - Profil uživatele (from Případy užití) (from Funkční požadavky)
Vytv ořit stáj
(from Případy užití)
REQ1004 - Tréninkový deník (from Funkční požadavky) REQ1005 - Záznam trasy
Trénov at někomu koně
(from Případy užití)
Přidat autentifikační službu
(from Případy užití)
(from Funkční požadavky) REQ1006 - Rozhraní pro aplikace třetích stran
Odebrat autentifikační službu
(from Funkční požadavky) Trénov at koně
REQ1004 - Správa koní
(from Případy užití)
(from Funkční požadavky) (from Případy užití)
Smazat koně
Uprav it koně
Zobrazit koně
Vytv ořit koně
(from Případy užití)
(from Případy užití)
(from Případy užití)
(from Případy užití)
Figure: 12
Účastníci uc Účastníci
Uživ atel
Jezdec
Maj itel stáj e
Maj itel koně
Figure: 13
Jezdec Jezdec je uživatel, který má oprávnění jezdit na koni a měnit některé informace o něm jako trasy, tréninky .
Majitel koně Majitel koně je uživatel, který vlastní příslušného koně a má k němu tedy neomezený přístup .
Majitel stáje Majitel stáje je uživatel, který stáj vytvořil a vlastní ji, má k této stáji neomezené pravomoci .
Uživatel Pojmem uživatel, je míněna osoba jenž je do sysému přihlášena a smí jej využívat
Případy užití
.
uc Případy užití Profil
Přihlásit se
Uprav it profil
Odebrat autentifikační službu
Koně
Přidat autentifikační službu
Stáje
Vytv ořit koně
Vytv ořit stáj Uživ atel (from Účastníci)
Zobrazit koně
Zobrazit stáj
Uprav it koně
Smazat koně
Uprav it stáj Maj itel koně
Maj itel stáj e
(from Účastníci)
(from Účastníci) Smazat stáj
Přij mout pozv ání koně do stáj e Jezdec
Přij mout koně do stáj e
(from Účastníci) Zaslat žádost o členstv í v e stáj i
Pozv at koně do stáj e
Trénov at koně
Fotky
Přidat fotku
Odebrat fotku
Figure: 14
Odebrat autentifikační službu Dovolí uživateli odstranit vybranou autentifikační službu pokud není jediná zbývající .
Pozvat koně do stáje Majitel stáje pošle pozvánku uživateli, který může přijmout členství svého koně ve stáji .
Přidat autentifikační službu Uživatel si ke svým stávajícím službám přidá další autentifikační službu .
Přihlásit se Možnost přihlášení pomocí jedné z authentizačních služeb. (Google, Facebook, Twitter )
Přijmout koně do stáje Majitel stáje přijme požadavek na přijetí do stáje. Tím se kůň stává členem stáje .
Přijmout pozvání koně do stáje Reakce majitele koně na pozvání koně do stáje majitelem stáje .
Smazat koně Přii smazání koně se smažou všechny jeho aktivity, trasy, tréningy a fotky .
Smazat stáj Vyloučí všechny koně ze stáje a stáj odstraní .
Trénovat koně Trénovat vlastního koně znamená možnost vytvářet koni aktivity, nahrávat k nim mapu (odjet jízdu) a vytvářet tréninky.
Trénovat někomu koně Pokud uživatel označí jiného uživatele jako jezdce na svém koni, může mu druhý uživatel koně trénovat a upravovat některé atributy koně .
Upravit koně Majitel koně může editovat veškeré informace o koni, jezdec může upravovat jen omezenou podmnožinu informací .
Upravit profil Uživatel může upravit svůj profil, to obsahuje možnost změny profilové fotografie (avatar), jména a krátkého popisu své osoby .
Upravit stáj Majitel stáje může upravit všechy informace o stáji .
Vytvořit koně Uživatel si může vytvořit nového koně, poté se stává majitelem tohoto koně .
Vytvořit stáj Uživatel může založit stáj .
Zobrazit koně Uživatel může zobrazovat koně ostatních uživatelů .
Zobrazit stáj Uživatel může zobrazit informace o stáji
.
Stavové diagramy Aktivita stm Aktiv ita Vytvoření aktivity
Neodj etá
Smazání aktivity
Final
Initial Nahrání trasy Smazání trasy Odj etá
Figure: 15
Smazání aktivity
Uživatel stm Uživ atel - stav přihlášení Nepřihlášen Initial
přihlásit
Přihlášení probíhá pomocí ověření přihlášení u autorizační služby Twitter, Google nebo Facebook
odhlásit
Odhášení probíhá pouze v rámci systému Přihlášen
Figure: 16
Model komunikace Přihlášení Proces probíhající po přesměrování uživatele od autorizační služby zpět do aplikace. sd Přihlášení :SessionsController User
create()
alt [user_signed_in?] alt Authorization.exists? [exists?] confirm_create()
[else]
create(current_user) :Authorization
«ActiveRecord::Base» Authorization
[else] find_user_for_authorization()
alt User exists [user.exists?]
user_sign_in()
[else]
«ActiveRecord::Base»
create(omniauth_data)
create(user)
user_sign_in(user)
Figure: 17
User «ActiveReco... :Authorization
Vytvoření jízdy Vytvoření jízdy včetně vytvoření trasy, pokud uživatel zadal trasu. sd Vytv oření j ízdy ActivitiesControl... User
create() build(params[:activity])
«ActiveReco... Activity
alt Uživ atel zadal trasu [params[:activity][:track].any?] build(params[:activity][:track])
save()
track=(track)
save()
Figure: 18
«ActiveReco... Track
Vytvoření koně sd Vytv oření koně
HorsesController User
create()
build(params[:horse])
«ActiveReco... Horse
save()
Figure: 19
Vytvoření stáje sd Vytv oření stáj e
StablesController User
create()
build(params[:stable])
save()
Figure: 20
«ActiveReco... Stable
Model nasazení Balíček obsahuje popis umístění jednotlivých částí aplikace na jednotlivé fyzické uzly a způsob jejich komunikace a verze software potřebného pro chod aplikace. deployment Model nasazení «device» Serv er
«device» Databáze
Ruby >= 1.9.3 TCP/IP
«use» Postgresql
Rack Apache
Thin «use»
HorseTracker aplikace
database.yml
«script» config.ru
Figure: 21
Apache Webový server .
config.ru Inicializační script pro spuštění rack aplikace .
database.yml Konfigurační soubor pro připojení k databázi .
HorseTracker aplikace Ruby >= 1.9.3 Thin Apliakční server pro rails aplikaci
.
«use»