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

Post on 10-Jan-2016

34 views 2 download

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 Presentation

Transcript of 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

ÚvodÚvod

• Tvorba webových sídel jako inženýrský úkol - Tvorba software 2001

• The Object-Oriented Hypermedia Design Model (OOHDM) - Objekty 2001

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ů

Lua – datové typyLua – datové typy

• Number

• String

• Function – podobně jako Javascript

• Nil

• Userdata – pro komunikaci např. s C++

• Table – asociativní (objekty)

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)

Lua - poleLua - pole

Pole = {}

Pole[”barva”] = ”zelena”

X = pole.barva

Y = pole[”barva”]

Jine_pole = {barva = ”modra”}

Lua - objektyLua - objekty

Zam1 = zamestnanec { parent = osoba{ RC=123456789, Vek=30, Jmeno=”John Novak” }, Telefon = 123456, Mistnost = ”450/B3”}

CGILuaCGILua

• Aplikace jazyku Lua určená pro psaní CGI skriptů

• Koncovka souborů .lua

• Lua scripts

• HTML templates

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>')  

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>  

HTML templatesHTML templates Code fieldsCode fields

<!--$$function SubscriptionCharge() dofile( 'charges.lua') return value_subscriptionend$$--><b>The value of the Subscription: $|SubscriptionCharge()|$</b>

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>

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)

OOHDMOOHDMkonceptuální modelkonceptuální model

OOHDMOOHDMkonceptuální modelkonceptuální model

OOHDMOOHDMschéma navigačních třídschéma navigačních tříd

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

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

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)

OOHDM-WebOOHDM-Web

• OOHDM analýza

• CGILua – skriptovací nástroj pro vytváření dynamických stránek

• Lua – jazyk skriptů

databázové tabulkydatabázové tabulkyodpovídajíodpovídají konceptuálnímu diagramukonceptuálnímu diagramu

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

Tabulka kontextTabulka kontext

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>” )’}

OOHDM-WebOOHDM-Web

OOHDM-WebOOHDM-Web

OOHDM-WebOOHDM-Web

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 !

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: molhanec@fel.cvut.cz

phone: ++420 (2) 2435 2118

http://martin.feld.cvut.cz/~mmm

http://k313.feld.cvut.cz