Návrhy Internetových Aplikací
Total Page:16
File Type:pdf, Size:1020Kb
Bankovní institut vysoká škola Praha Katedra informačních technologií a elektronického obchodování Návrhy internetových aplikací Bakalářská práce Autor: Jiří Nachtigall Informační technologie, MPIS Vedoucí práce: Ing. Jiří Rotschedl Praha Srpen, 2010 Prohlášení Prohlašuji, že jsem bakalářskou práci zpracoval samostatně a s použitím uvedené literatury. V Praze, dne 24. srpna 2010 Jiří Nachtigall Poděkování Na tomto místě bych rád poděkoval vedoucímu práce Ing. Jiřímu Rotschedlovi za vedení a cenné rady při přípravě této práce. Dále bych chtěl poděkovat Ing. Josefu Holému ze společnosti Sun Microsystems za odbornou konzultaci. Anotace Tato práce se zaměřuje na oblast návrhu internetových aplikací. Podrobně popisuje celý proces návrhu počínaje analýzou za použití k tomu určených nástrojů jako je use case a user story. Další částí procesu je návrh technologického řešení, které se skládá z výběru serverového řešení, programovacích technik a databází. Jako poslední je zmíněn návrh uživatelského rozhraní pomocí drátěných modelů a návrh samotného designu internetové aplikace. Annotation This work focuses on web application design. It describes whole process of design in detail. It starts with analysis using some tools especially created for this purpose like use case and user story. Next part of the process is technical design which consists from selection of server solution, programming language and database. And finally user interface prepared using wireframes is mentioned here alongside with graphical design of the web application. Obsah Úvod ...................................................................................................................................... 7 1. Analýza požadavků........................................................................................................ 8 1.1 Požadavky ............................................................................................................... 8 1.1.1 Typy požadavků .............................................................................................. 9 1.1.2 Dokumentace ................................................................................................... 9 1.2 Use case analýza ................................................................................................... 10 1.2.1 Realizace ........................................................................................................ 10 1.2.2 Popis .............................................................................................................. 10 1.2.3 Třídy analýzy ................................................................................................. 10 1.2.4 Odpovědnosti ................................................................................................. 10 1.2.5 Asociace......................................................................................................... 11 1.2.6 Chování .......................................................................................................... 11 1.2.7 Popis atribut ................................................................................................... 12 1.3 Use cases ............................................................................................................... 12 1.3.1 Zaměření ........................................................................................................ 13 1.3.2 Stupeň detailu ................................................................................................ 14 1.3.3 Notace ............................................................................................................ 15 1.3.4 Šablony .......................................................................................................... 15 1.3.5 Omezení ......................................................................................................... 19 1.4 Use case diagramy ................................................................................................ 20 1.4.1 Use case vztahy ............................................................................................. 21 1.5 User stories............................................................................................................ 22 1.5.1 Vytváření user story....................................................................................... 23 1.5.2 Příklady .......................................................................................................... 23 1.5.3 Použití ............................................................................................................ 23 1.5.4 Výhody .......................................................................................................... 24 1.5.5 Omezení ......................................................................................................... 24 1.6 Shrnutí user stories a use cases ............................................................................. 25 2. Design architektury...................................................................................................... 25 2.1 Serverová řešení .................................................................................................... 26 2.1.1 LAMP ............................................................................................................ 26 2.1.2 WINS ............................................................................................................. 29 2.2 Aplikační vrstva .................................................................................................... 32 2.2.1 PHP ................................................................................................................ 33 2.2.2 Python ............................................................................................................ 34 2.2.3 Ruby............................................................................................................... 35 2.2.4 Java ................................................................................................................ 37 2.3 Databáze ................................................................................................................ 38 2.3.1 MySQL .......................................................................................................... 43 2.3.2 Oracle............................................................................................................. 45 2.3.3 PostgreSQL .................................................................................................... 47 2.3.4 MS SQL Server ............................................................................................. 48 3. Wireframe design ........................................................................................................ 49 3.1 Papírové prototypování ......................................................................................... 50 3.2 Microsoft Office Visio .......................................................................................... 51 3.3 Axure RP Pro ........................................................................................................ 52 4. Visual design ............................................................................................................... 53 Závěr .................................................................................................................................... 56 Citace ................................................................................................................................... 59 Seznam použité literatury .................................................................................................... 60 Seznam obrázků ................................................................................................................... 63 Seznam tabulek .................................................................................................................... 63 Úvod Celosvětová síť Internet zažívá v posledním desetiletí velký rozmach. Není proto divu, že se spousta vývojářů softwarových aplikací začíná orientovat na vývoj internetových aplikací. Na samém počátku se vyvíjely pouze statické webové prezentace, které se postupně doplňovaly o nové prvky, až se postupem času dospělo k propracovaným a složitým aplikacím. Tyto aplikace těží z řady výhod, které běžným uživatelům poskytují. Jde především o možnost přístupu k takové aplikaci prakticky odkudkoliv bez nutnosti jakékoliv instalace. Zároveň ale umožňují chování velice podobné jako běžné aplikace instalované na konkrétním počítači. Průběžně tak vzniká velké množství technologií, nástrojů a platforem, které nabízí vývojářům široké možnosti využití. Hlavním omezujícím prvkem internetových aplikací je tak samotný internetový prohlížeč, přes který se k takovýmto aplikacím přistupuje. V praxi to pak vypadá tak, že aplikace je uživateli prezentována přes internetový prohlížeč pomocí základních technologií, jako jsou HTML, CSS, JavaScript a další. Samotná implementace aplikace však již není závislá na internetovém prohlížeči a jeho schopnostech, ale může být naprosto odlišná. Tato část aplikace je tvořená pomocí serverových technologií, jako jsou PHP, CGI skripty, databáze. Základní podmínkou však zůstává nutnost standardního výstupu, který je schopen internetový prohlížeč správně zobrazit. Hovoříme tak o architektuře klient/server, kde se jeden či více klientů připojují k serveru, na kterém běží potřebné služby