Download - Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí

Transcript
Page 1: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí

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í

Ú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í

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í

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í

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í

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í

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í

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í

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í

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í

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í

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í

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í

OOHDMOOHDMkonceptuální modelkonceptuální model

Page 15: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí

OOHDMOOHDMkonceptuální modelkonceptuální model

Page 16: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí

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í

OOHDMOOHDMschéma navigačních kontextůschéma navigačních kontextů

Page 18: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí

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í

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í

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í

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í

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í

Tabulka kontextTabulka kontext

Page 24: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí

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í

OOHDM-WebOOHDM-Web

Page 26: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí

OOHDM-WebOOHDM-Web

Page 27: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí

OOHDM-WebOOHDM-Web

Page 28: Metodologie OOHDM, jazyk Lua a tvorba webových aplika cí

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í

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