metodologie oohdm, jazyk lua a tvorba webových aplika cí
DESCRIPTION
To insert your company logo on this slide From the Insert Menu Select “Picture” Locate your logo file Click OK To resize the logo Click anywhere inside the logo. The boxes that appear outside the logo are known as “resize handles.” Use these to resize the object. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/1.jpg)
Metodologie OOHDM, jazyk Lua Metodologie OOHDM, jazyk Lua a tvorba webových aplikaa tvorba webových aplikacící
Martin Molhanec
ČVUT-FEL, K-313
![Page 2: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/2.jpg)
ÚvodÚvod
• Tvorba webových sídel jako inženýrský úkol - Tvorba software 2001
• The Object-Oriented Hypermedia Design Model (OOHDM) - Objekty 2001
![Page 3: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/3.jpg)
LuaLua
• Vyvinut na universitě PUC-Rio v Brasilii • Skriptovací jazyk• Embadded jazyk• Object oriented jazyk• Mnoho aplikací• Aktivní rozvoj• Přeložen pro mnoho platforem• Free včetně zdrojových textů
![Page 4: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/4.jpg)
Lua – datové typyLua – datové typy
• Number
• String
• Function – podobně jako Javascript
• Nil
• Userdata – pro komunikaci např. s C++
• Table – asociativní (objekty)
![Page 5: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/5.jpg)
Lua – navratové hodnotyLua – navratové hodnoty
Function Pokus (par1, par2)
Local Nasobeno = par1 * par2
Local Deleno = par1 / par2
Return Nasobeno, Deleno
End
X, Y = Pokus(20, 2)
![Page 6: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/6.jpg)
Lua - poleLua - pole
Pole = {}
Pole[”barva”] = ”zelena”
X = pole.barva
Y = pole[”barva”]
Jine_pole = {barva = ”modra”}
![Page 7: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/7.jpg)
Lua - objektyLua - objekty
Zam1 = zamestnanec { parent = osoba{ RC=123456789, Vek=30, Jmeno=”John Novak” }, Telefon = 123456, Mistnost = ”450/B3”}
![Page 8: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/8.jpg)
CGILuaCGILua
• Aplikace jazyku Lua určená pro psaní CGI skriptů
• Koncovka souborů .lua
• Lua scripts
• HTML templates
![Page 9: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/9.jpg)
CGILuaCGILuacgilua.htmlheader()
write('<html>')
if cgi.language == 'english' then
greeting = 'Hello World!'
elseif cgi.language == 'portuguese' then
greeting = 'Olá Mundo!'
else
greeting = '[unknown language]'
end
write('<head></head><body>')
write('<b>'..greeting..'</b>')
write('</body></html>')
![Page 10: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/10.jpg)
HTML templatesHTML templatesExpression fieldsExpression fields
Good Morning, <b>$|firstname|$</b>
<input
type="text" name="cor"
value="$|cgi.cor|$">
<a href=
"$|cgilua.mkurl("ajuda.html", cgi )|$"
>Ajuda</a>
![Page 11: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/11.jpg)
HTML templatesHTML templates Code fieldsCode fields
<!--$$function SubscriptionCharge() dofile( 'charges.lua') return value_subscriptionend$$--><b>The value of the Subscription: $|SubscriptionCharge()|$</b>
![Page 12: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/12.jpg)
HTML templatesHTML templatesLoop and If directivesLoop and If directives
<table border=1><tr>
<!--$$ LOOP
start='i=1', test='i<10',
action='i=i+1‚
$$-->
<td>$|i|$</td>
<!--$$ ENDLOOP $$-->
</tr></table>
![Page 13: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/13.jpg)
OOHDMOOHDM
• 1. Konceptuální modelování (Conceptual Modeling)
• 2. Návrh navigace (Navigational Design)
• 3. Návrh abstraktního rozhraní (Abstract Interface Design)
• 4. Implementace (Implementation)
![Page 14: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/14.jpg)
OOHDMOOHDMkonceptuální modelkonceptuální model
![Page 15: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/15.jpg)
OOHDMOOHDMkonceptuální modelkonceptuální model
![Page 16: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/16.jpg)
OOHDMOOHDMschéma navigačních třídschéma navigačních tříd
![Page 17: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/17.jpg)
OOHDMOOHDMschéma navigačních kontextůschéma navigačních kontextů
![Page 18: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/18.jpg)
OOHDMOOHDMAbstract Interface DesignAbstract Interface Design
• Způsob, jak jsou jednotlivé prvky rozhraní strukturovány pomocí agregace a hierarchie
• Způsob, jak jsou staticky spojeny s navigačními objekty. V OOHDM se zde využívají tzv. Configuration Diagrams
• Jak se chovají na vnější události, například klik nebo dvojklik myší, atp. V OOHDM se využívají tzv. ADV-Charts nebo Petri-Net like notation
![Page 19: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/19.jpg)
OOHDMOOHDMImplementaceImplementace
• Mapování informačních položek– Jsou uloženy v databázi (OOER)
• Implementace kontextu– Přenos stavové informace (cookies)
• Implementace rozhraní– Dynamické stránky (ASP, PHP, JSP)– OOHDM-Web (based on CGILua)
![Page 20: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/20.jpg)
OOHDM-WebOOHDM-Web
• OOHDM analýza
• CGILua – skriptovací nástroj pro vytváření dynamických stránek
• Lua – jazyk skriptů
![Page 21: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/21.jpg)
databázové tabulkydatabázové tabulkyodpovídajíodpovídají konceptuálnímu diagramukonceptuálnímu diagramu
![Page 22: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/22.jpg)
databázové tabulkydatabázové tabulkyodpovídajíodpovídají diagramudiagramu kontextů kontextů
• 6 tabulek popisujících všechny kontexty
– Tabulka kontext• Název, typ – kontextu
– 5 tabulek pro jednotlivé kontexty
![Page 23: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/23.jpg)
Tabulka kontextTabulka kontext
![Page 24: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/24.jpg)
OOHDM-WebOOHDM-Webknihovna funkcíknihovna funkcí
Index {context = ”build_alpha”, anchor = ”building_name”, function = ’Horizontal_Tab( col = 6, par_table = ”align-center cellspacing = 12”, par_cell = ”<center>” )’}
![Page 25: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/25.jpg)
OOHDM-WebOOHDM-Web
![Page 26: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/26.jpg)
OOHDM-WebOOHDM-Web
![Page 27: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/27.jpg)
OOHDM-WebOOHDM-Web
![Page 28: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/28.jpg)
ZávěrZávěr
• Praktické využití metodologie pro návrh webových sídel
• Navržena kompletní cesta od analýzy až po implementaci
Jen tak dál !
![Page 29: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí](https://reader036.vdocuments.site/reader036/viewer/2022062422/56814261550346895dae89ac/html5/thumbnails/29.jpg)
Ing. Martin Molhanec, CSc.Ing. Martin Molhanec, CSc.
České vysoké učení technickéFakulta elektrotechnickáKatedra elektrotechnologieTechnická 2166 27 PRAHA 6, DejviceČeská republika
mailto: [email protected]
phone: ++420 (2) 2435 2118
http://martin.feld.cvut.cz/~mmm
http://k313.feld.cvut.cz