Object-Oriented Hypermedia Design Model Ing. Martin Molhanec, CSc. České vysoké učení technické Fakulta elektrotechnická Katedra elektrotechnologie Česká republika
Úvod Webová sídla se v současnosti stávají centrem zájmu tvůrců informačních systémů Zatímco analytické metody pro tvorbu informačních systémů jsou všeobecně známé. Znalost analytických metody pro tvorbu webových sídel je minimální.
Webové sídlo Návrh webového sídla si žádá svoji metodiku podobně jako návrh informačních systémů nebo jiný inženýrsko-technický úkol Webové sídlo až na výjimky není umělecký artefakt, ale informační systém - technický produkt
Šílení grafici V současné době převládá často důraz na grafický vzhled, ale informační (přehlednost a navigace) obsah je mnohdy velice nevyhovující a to i u renomovaných firem Jsme v zajetí šílených grafiků?
Trocha problémů Typickým znakem je nedostatečná navigace Uživatel musí projít množstvím pro něj nezajímavých stránek, než se dostane na tu kterou hledá Je obtížné rozpoznat kudy se dát ke svému cíli
Problémy pokračují Mezera mezi tvůrci a zákazníky –Zákazník je laik a neví o webové technologii příliš mnoho, předpokládá, že mu tvůrce poradí se strukturou sídla –Tvůrce, se soustřeďuje pouze na technickou problematiku (HTML, grafika) a myslí si, že mu zákazník dodá podklady a řekne jaká je struktura webového sídla
Co s tím ? Tvorba webového sídla je inženýrsko technický úkol Pro jeho tvorbu je nutné použít analytické a návrhové metody Ale! –Klasické analytické metody moc nehovoří o návrhu GUI aplikace
Hypermedia Od konce 80tých let vznik analytických metod pro podporu vývoje hypertextových a hypermediálních aplikací –Kladen velký důraz na Grafické uživatelské rozhraní Navigaci v aplikaci
Současný stav Od počátku 90tých let vznikají analytické metody pro podporu tvorby webových aplikací (sídel) Často navazují na metody pro podporu tvorby hypermediálních aplikací
Na co navazují Využívají pochopitelně všechny stávající metody –Entitně-relační model –Objektově orientovaný model –Funkční a procesní metody
Přehled metod HDM – Hypermedia Design Model OOHDM – Object Oriented based design method with hypermedia domain specific extensions RMM – A methodology for the structure design of hypermedia systems ERMIA – High level design method based on E-R modelling Thuring Framework – A design based methodology based on cognitive issues
OOHDM (Object-Oriented Hypermedia Design Method) Autoři –Daniel Schwabe a Gustavo Rossi, PUC- Rio (Rio de Janeiro, Brasilie) Navazuje na starší HDM –Objektová orientace –Webová orientace
Základní kroky Konceptuální modelování Navigační návrh Návrh abstraktního rozhraní Implementace
Vztahy mezi částmi OOHDM
Konceptuální modelování Hledá –Objekty (objects), vztahy (relationships) a spolupráce (collaborations) Používá konstrukty –Třída (class), vztah (relationship) a sub- system
Konceptuální modelování Dovoluje –více-typové atributy (různý pohled na tutéž realitu) Využívá metodu –Class and Relationship Cards
Konceptuální diagram
Návrh navigace Kritický krok pro úspěšný návrh aplikace Navigační model je pohled (View) na konceptuální model Může být několik navigačních modelů pro jeden model konceptuální
Návrh navigace Které objekty se účastní navigace? Jaké mají atributy? Jaké jsou vztahy mezi objekty? Jaká je pozadí navigace? V jakém kontextu uživatel naviguje? Zavedení pojmu navigační kontext? Jak vypadají navigační objekty v tom kterém kontextu. Zavedení pojmů V kontextu a dekorace navigačních objektů. Jaké jsou navigační objekty? Odkazy, cesty, indexy, průvodci, atp.
Návrh navigace Dvě schémata –Schéma navigačních tříd –Schéma navigačních kontextů Navigační transformace –Harelovy Statecharts –Colemanovy Objectcharts
Schéma navigačních tříd
Definice uzlu STORY
Typy kontextů Simple class based – splňují objekty, které jsou téže třídy C a jsou vybrány prostřednictvím atributu P, který splňuje danou podmínku. Například „all Stories“ pokud je P vždy pravdivé. Class based group – je množina kontextů, které jsou typu Simple class based. Například „Stories by type“ je skupina kontextů, kde každý jednotlivý kontext je Story určitého typu.
Typy kontextů Link based – objekty v tomto kontextu jsou stejné třídy a jsou vybrány prostřednictvím vztahu 1:M. Například „all Stories by Bob Woodward“. Link based group – je množina kontextů, kde každý z nich je Link based. Například „Stories by Author“. Enumarated – v tomto případě jsou jednotlivé elementy kontextu jmenovitě vyjmenovány.
Diagram navigačních kontextů
In Context Node a dekorační třída
In context třída STORY
Návrh abstraktního rozhraní Zabývá se aspekty uživatelského rozhraní Je oddělena od navigace, čili jedna navigace může mít několik rozhraní! V praxi jsme často omezeni určitým vývojovým prostředím
Návrh abstraktního rozhraní ADV (Abstract Data View) jsou objekty popisující uživatelské rozhraní, popisují svůj stav a rozhraní, nikoliv svoji implementaci! ADV mohou obsahovat jiné ADV Je také možné využívat hierarchie
Co vyjadřují ADV? 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.
ADV diagramy
Vztah ADV diagramu a skutečné stránky
Implementace Mapování informačních složek –Vyjadřuje souvislost mezi obsahem ADV a DBS, kde je uložen její obsah Implementace kontextu –Zabývá se způsobem, jak zachovat stavovou informaci Implementace rozhraní –Teprve zde se zabýváme způsobem, jak dynamicky generovat skutečné grafické rozhraní
Mapování informačních složek Grafické rozhraní je popsáno objektově Data jsou nejčastěji uloženy v relační DBMS Mapování OO modelu do modelu ER –Mé příspěvky od poloviny 90tých let (Programování, Datasem, Tvorba software, Objekty)
Implementace kontextu Kontext vyžaduje zachování stavové informace HTTP je ale bezestavový protokol Existují různé metody –Neviditelné proměnné ve formuláři –Cookies
Implementace rozhraní Ve většině případů bude nutné dynamicky generovat Existují různé technologie –ASP, JSP, PHP, templates (Cold Fusion, StoryServer) –Mé příspěvky na konferenci Tvorba software popisují různé vhopdné technologie Od autorů OOHDM existuje – nástroj OOHDM-Web, jazyk Lua
OOHDM-Web
Implementace třídy STORY
Dynamická generace
Závěr Nezbytnost použití analytických metod pro návrh webových sídel Jejich malá znalost v odborné veřejnosti Mezera mezi analýzou a vývojovými nástroji
Reference Stránky autorů metodologie věnované metodologii OOHDM (uvedeno ve sborníku) rio.br/oohdm/oohdm.html
Ing. Martin Molhanec, CSc. ČVUT-FEL K-313 Technická PRAHA 6 Tel.: Martin.feld.cvut.cz/~mmm Molhasoft Křivenická PRAHA 8 Tel.: