WEB TAIKOMŲJŲ PROGRAMŲ PROJEKTAVIMASTomas Dabašinskas, IFF-7
PlanasKas tai yra? Kas atlieka? Kodėl tai svarbu?WEB aplikacijų kokybėProjektavimo tikslaiWEB inžinerijos projektavimo piramidėPlačiau apie sąsajos projektavimąPlačiau apie architektūros projektavimąKeletas klausimų
Kas tai yra?Techninė ir netechninė veiklaIšvaizda ir turinys (grafinis projektavimas)Išdėstymas (sąsajos projektavimas)Techninė struktūra (architektūros projektavimas)
Kas tai atlieka?WEB  inžinieriaiDizaineriaiTurinio kūrėjaiKiti tarpininkai
Kodėl tai svarbu?Leidžia sukurti projekto modelįĮvertinti jo kokybęTobulinti, esant poreikiuiTai atliekama prieš:Rašant kodąPateikiant projektą galutiniam vartotojuiApsprendžia viso būsimo projekto kokybę!
WEB aplikacijų kokybė
Projektavimo tikslaiPaprastumas (Simplicity)Nuoseklumas (Consistency)Atpažįstamumas (Identity)Gyvybingumas (Robustness)Navigacijos tinkamumas (Navigability)Grožis (VisualAppeal)Suderinamumas (Compatibility)
WEB Inžinerijos projektavimo piramidėVartotojasTechnologijos
Sąsajos projektavimasGreitaNesikrauna per ilgai, veiksmai atliekami greitaiAiškiVartotojas žino, kur yraVartotojas žino, kaip ir kokius veiksmus gali atliktiSuderinama (Compatible)Sąsaja veikia naudojant skirtingas naršyklesSąsaja veikia skirtinguose prietaisuosePrieinama (Accessible)Regėjimo negalių turintiems žmonėmsPaieškos sistemoms
Kaip nedaryti
Kaip daryti
Architektūros projektavimasAplikacijos architektūra suskaidyta į sluoksniusDidesniems projektams – MVC (Model-View-Controller)OOP Projektavimo šablonai (design patterns)Katalogų/failų struktūra
MVC DB DBValdiklis (Controller)DBModelis(Model)Vaizdas(View)
Katalogų/Failų struktūraStatiniai dokumentai:CSS, JavaScript, paveikslėliaiDinaminiai failai:Aplikacijos branduolysMVC dalysKonfigūracijaVisa kita:Laikini failaiDokumentacijaCronJob failaiŽurnalo (log) įrašai
Ačiū už dėmesįTomas Dabašinskas, IFF-7
KlausimaiKodėl WEB aplikacijų projektavimas yra svarbus?Kokius kriterijus turėtų atitikti kokybiška WEB aplikacija?Kokie yra projektavimo tikslai (bent 4)?Kokie yra WEB aplikacijų projektavimo lygiai?Kokios yra MVC dalys bei jų funkcijos (trumpai)?

WEB Taikomųjų Programų Kūrimas