290 likes | 420 Views
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.
E N D
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. • If you hold down the shift key before using the resize handles, you will maintain the proportions of the object you wish to resize. Metodologie OOHDM, jazyk Lua a tvorba webových aplikací Martin Molhanec ČVUT-FEL, K-313
Úvod • Tvorba webových sídel jako inženýrský úkol - Tvorba software 2001 • The Object-Oriented Hypermedia Design Model (OOHDM) - Objekty 2001
Lua • 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ů
Lua – datové typy • Number • String • Function – podobně jako Javascript • Nil • Userdata – pro komunikaci např. s C++ • Table – asociativní (objekty)
Lua – navratové hodnoty Function Pokus (par1, par2) Local Nasobeno = par1 * par2 Local Deleno = par1 / par2 Return Nasobeno, Deleno End X, Y = Pokus(20, 2)
Lua - pole Pole = {} Pole[”barva”] = ”zelena” X = pole.barva Y = pole[”barva”] Jine_pole = {barva = ”modra”}
Lua - objekty Zam1 = zamestnanec { parent = osoba{ RC=123456789, Vek=30, Jmeno=”John Novak” }, Telefon = 123456, Mistnost = ”450/B3” }
CGILua • Aplikace jazyku Lua určená pro psaní CGI skriptů • Koncovka souborů .lua • Lua scripts • HTML templates
CGILua cgilua.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>')
HTML templatesExpression fields Good Morning,<b>$|firstname|$</b> <input type="text" name="cor" value="$|cgi.cor|$"> <ahref= "$|cgilua.mkurl("ajuda.html", cgi )|$" >Ajuda</a>
HTML templatesCode fields <!--$$ functionSubscriptionCharge() dofile( 'charges.lua') returnvalue_subscription end $$--> <b>The value of the Subscription: $|SubscriptionCharge()|$ </b>
HTML templatesLoop and If directives <table border=1><tr> <!--$$ LOOP start='i=1', test='i<10', action='i=i+1‚ $$--> <td>$|i|$</td> <!--$$ ENDLOOP $$--> </tr></table>
OOHDM • 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)
OOHDMAbstract 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
OOHDMImplementace • 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)
OOHDM-Web • OOHDM analýza • CGILua – skriptovací nástroj pro vytváření dynamických stránek • Lua – jazyk skriptů
databázové tabulkyodpovídajídiagramu kontextů • 6 tabulek popisujících všechny kontexty • Tabulka kontext • Název, typ – kontextu • 5 tabulek pro jednotlivé kontexty
OOHDM-Webknihovna funkcí Index {context = ”build_alpha”, anchor = ”building_name”, function = ’Horizontal_Tab( col = 6, par_table = ”align-center cellspacing = 12”, par_cell = ”<center>” )’ }
Zá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 !
Ing. Martin Molhanec, CSc. České vysoké učení technické Fakulta elektrotechnická Katedra elektrotechnologie Technická 2 166 27 PRAHA 6, Dejvice Česká republika mailto: molhanec@fel.cvut.cz phone: ++420 (2) 2435 2118 http://martin.feld.cvut.cz/~mmm http://k313.feld.cvut.cz