Online softwarová burza. Jan Strádal



Podobné dokumenty
BOZP - akcepta ní testy

Specifikace systému ESHOP

Termíny zkoušek Komise Komise. subkomise 1 (obhaj.) :30 B subkomise 2 (obhaj.) :30 B8 120

Uºivatelská p íru ka Octopus

Integrování jako opak derivování

Pomocník diabetika Uživatelská příručka

Návod k použití aplikace MARKETINGOVÉ PRŮZKUMY.CZ

Registr UJO. Příručka pro uživatele. Institut biostatistiky a analýz. Lékařské a Přírodovědecké fakulty Masarykovy univerzity.

Vektory. Vektorové veli iny

IP kamerový systém Catr - uºivatelský návod k obsluze

Binární operace. Úvod. Pomocný text

Manuál Kentico CMSDesk pro KDU-ČSL

29 Evidence smluv. Popis modulu. Záložka Evidence smluv

P íklad 1 (Náhodná veli ina)

Správa požadavků. Semestrální práce

DeepBurner (testování UI)

e²ení systém lineárních rovnic pomocí s ítací, dosazovací a srovnávací metody

Odpov di na dotazy k ve ejné zakázce. 30/ SSZ Registr IKP

Preference v u ívání prost edk elektronické komunikace áky a studenty

Návod pro vzdálené p ipojení do sít UP pomocí VPN pro MS Windows 7

Testovací aplikace Matematika není věda

Výzva k podání nabídek (zadávací dokumentace)

INTERNETOVÝ TRH S POHLEDÁVKAMI. Uživatelská příručka

účetních informací státu při přenosu účetního záznamu,

Prezentace. Ing. Petr V elák 6. b ezna 2009

Seminá e. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, sem. 1-13

Smluvní podmínky (KTv)

Prohlá²ení. V Praze dne 18. dubna

Vodafone promo kit uživatelský manuál Uživatelský manuál pro aplikaci. Vodafone promo kit. Verze dokumentu: 2.

Využití EduBase ve výuce 10

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

Android Elizabeth. Verze: 1.3

PŘÍLOHA č. 2C PŘÍRUČKA IS KP14+ PRO OPTP - ZPRÁVA O REALIZACI

Podrobný postup pro doplnění Žádosti o dotaci prostřednictvím Portálu Farmáře. 1. kolo příjmu žádostí Programu rozvoje venkova ( )

1. Požadavky na provoz aplikací IISPP

Kritéria zelených veřejných zakázek v EU pro zdravotnětechnické armatury

V této části manuálu bude popsán postup jak vytvářet a modifikovat stránky v publikačním systému Moris a jak plně využít všech možností systému.

Novinky verzí SKLADNÍK 4.24 a 4.25

FAQ Aplikace GRIS 2017

Pokyny pro zdravotnické z a ízení poskytující substitu ní lé bu (papírové hlá enky)

Limity funkcí v nevlastních bodech. Obsah

2C Tisk-ePROJEKTY

Algoritmizace a programování

POKYNY. k vyplnění přiznání k dani z příjmů fyzických osob za zdaňovací období (kalendářní rok) 2012

Konceptuální modelování

vismo Edituj, co vidíš.

Kelvin v kapkový generátor

Komfortní datová schránka

ESKÁ ZEM D LSKÁ UNIVERZITA V PRAZE

Národního registru u ivatel léka sky indikovaných substitu ních látek (papírové hlá enky)

VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, o.p.s. Fakulta ekonomických studií katedra řízení podniku. Předmět: ŘÍZENÍ LIDSKÝCH ZDROJŮ (B-RLZ)

A. PODÍL JEDNOTLIVÝCH DRUHŮ DOPRAVY NA DĚLBĚ PŘEPRAVNÍ PRÁCE A VLIV DÉLKY VYKONANÉ CESTY NA POUŽITÍ DOPRAVNÍHO PROSTŘEDKU

Server. Software serveru. Služby serveru

Pravidla. používání Národního elektronického nástroje při realizaci zadávacích postupů prostřednictvím národního elektronického nástroje

170/2010 Sb. VYHLÁŠKA. ze dne 21. května 2010

Skalární sou in. Úvod. Denice skalárního sou inu

PRAVIDLA soutěže COOP DOBRÉ RECEPTY Jarní probuzení

Evko - uºivatelská p íru ka verze 5.1.0

DODATEČNÉ INFORMACE Č. 4 K ZADÁVACÍM PODMÍNKÁM VEŘEJNÉ ZAKÁZKY

Pokyny pro vypln ní elektronické žádosti

Návod k používání registračního systému ČSLH

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: jan.skrbek@tul.cz tel.: Konzultace: úterý

Pokusné ověřování Hodina pohybu navíc. Často kladené otázky

VŠEOBECNÉ PODMÍNKY PLATNÉ PRO

Koncepce rozvoje Polytematického strukturovaného hesláře (PSH)

ROZKLIKÁVACÍ ROZPOČET - ONLINE ZVEŘEJŇOVÁNÍ EKONOMICKÝCH DAT ÚŘADU

VÝSTUPY Z DOTAZNÍKU SPOKOJENOSTI. Setkání zpracovatelů projektů v rámci programu KLASTRY CzechInvest, Praha, Štěpánská

Obnova zámeckých alejí ve městě Vimperk

NÁHRADA ŠKODY Rozdíly mezi odpov dnostmi TYPY ODPOV DNOSTI zam stnavatele 1) Obecná 2) OZŠ vzniklou p i odvracení škody 3) OZŠ na odložených v cech

VŠEOBECNÉ PODMÍNKY PRO POSKYTOVÁNÍ TELEKOMUNIKAČNÍCH SLUŽEB

1. (18 bod ) Náhodná veli ina X je po et rub p i 400 nezávislých hodech mincí. a) Pomocí ƒeby²evovy nerovnosti odhadn te pravd podobnost

Seriál: Management projektů 7. rámcového programu

Věc: Výzva pro předložení nabídek k veřejné zakázce s názvem: VÚ a ŠJ PŠOV, Nákup nového osmimístného vozidla

MĚSTO BENEŠOV. Rada města Benešov. Vnitřní předpis č. 16/2016. Směrnice k zadávání veřejných zakázek malého rozsahu. Čl. 1. Předmět úpravy a působnost

Odůvodnění veřejné zakázky. Přemístění odbavení cestujících do nového terminálu Jana Kašpara výběr generálního dodavatele stavby

ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE

Manuál uživatele čipové karty s certifikátem

Vzor pro poskytnutí dotace na vodohospodářskou infrastrukturu

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST. Chemické výpočty. Aleš Kajzar Martin Honka

VÝZVA K PODÁNÍ NABÍDKY A ZADÁVACÍ DOKUMENTACE

Výzva pro předložení nabídek k veřejné zakázce malého rozsahu s názvem Výměna lina

Databáze RÚIAN a možnosti jejího využití pro geografickou podporu AČR

MEZINÁRODNÍ AUDITORSKÝ STANDARD ISA 505 EXTERNÍ KONFIRMACE OBSAH

Úřad vlády České republiky Odbor pro sociální začleňování (Agentura)

Vektor náhodných veli in - práce s více prom nnými

kolní ád Mate ské koly, sou ásti Základní koly Bílá 1, Praha 6 (dále jen mate ská kola )

2.5.1 Ulice íslo popisné Obec íslo orienta ní. P íjmení Jméno Titul za jménem Ulice íslo popisné

Aplika ní doložka KA R Ov ování výro ní zprávy

Usnesení. proti. Hejtík Zdeněk, nar.: , bytem Jateční 715, Kolín IV (značka: 3198 C 06/2014, C 06/2013) rozhodl takto: vydává

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

PRACOVNÍ MATERIÁLY PRACOVNÍ MATERIÁLY CHEMIE CHEMIE. Struktura vyu ovací hodiny. Záznamový Záznamový arch. P edm tový metodik: Ing.

Ovoce do škol Příručka pro žadatele

VY 2 IS ZVZ - CADR. Vzor 583a. 2.5 Sídlo / místo podnikání / bydli zadavatele Ulice íslo popisné Obec 2.5.

Databázové a informační systémy

INTELIGENTNÍ DŮM. Zdeněk Kolář, Viktor Daněk. Střední průmyslová škola sdělovací techniky Panská 856/3, Praha 1

ZADÁVACÍ DOKUMENTACE

Rozvojový projekt na rok 2012

Usnesení. Nevrlý Jaroslav, Ing., IČO: , nar , se sídlem Ocelíkova 672/1, Praha 4 - Háje. vydává DRAŽEBNÍ VYHLÁŠKU

Střední průmyslová škola Brno, Purkyňova, příspěvková organizace Provozní řád školy

Transkript:

ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta Bakalá ská práce Online softwarová burza Jan Strádal Vedoucí práce: Ing. Martin Bloch, CSc. Studijní program: Elektrotechnika a informatika, strukturovaný, Bakalá ský Obor: Výpo etní technika 8. ledna 2010

iv

v Pod kování Rád bych pod koval Ing. Blochovi za ujmutí se vedení mé bakalá ské práce a také koleg m a p átel m, kte í mi pomáhali s testováním a odla ováním chyb.

vi

vii Prohlá²ení Prohla²uji, ºe jsem práci vypracoval samostatn a pouºil jsem pouze podklady uvedené v p iloºeném seznamu. Nemám závaºný d vod proti uºití tohoto ²kolního díla ve smyslu Ÿ60 Zákona. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o zm n n kterých zákon (autorský zákon). V Praze dne 8. 1. 2010.............................................................

viii

Abstract The subject of this thesis is the project Open Burza - web based application which should oer improvement opportunities to both beginning and advanced coders and developers. Those can sign on and create their own account whereunder is possible to oer programmer products and other services and even get a job in IT. On the other side stand users registred as submitters - they can put up a post for needed software products or occupation in their companies. One of the main goals of this project is the support of the open source software so it can be competitive to the commercial products. Abstrakt P edm tem této práce je projekt Open Burza - webová aplikace, která by m la nabídnout moºnosti uplnatn ní za ínajícím i profesionálním programátor m a vývojá m. Ti se mohou do tohoto systému zaregistrovat a vytvo it si tak ú et, pod nímº budou nabízet své programátorské produkty i jiné sluºby a t eba i získat zam stnání v oboru IT. Na druhé stran uºivatelé registrovaní pod rolí zadavatele mohou vypisovat výb rová ízení na poptávané produkty i pozice ve vlastních rmách. Jedním z hlavních cíl projektu je podpora otev eného software a vytvá ení tak konkurence komer ním softwarovým produkt m. ix

x

Obsah 1 Úvod 1 1.1 Motivace....................................... 1 2 Popis problému, specikace cíle 3 2.1 Specikace poºadavk............................... 4 2.1.1 Poºadavky na technické zázemí...................... 4 2.1.2 Obecné poºadavky na vytvá ený systém Open Burzy.......... 5 2.1.3 Poºadavky na správu uºivatelského ú tu................. 5 3 Analýza a návrh e²ení 7 3.1 Existující e²ení................................... 7 3.1.1 Webtrh (http://www.webtrh.cz)..................... 8 3.1.2 Tvorba shopu (http://www.tvorba-shopu.cz/).............. 8 3.2 Analýza aktuálního zastoupení webových prohlíºe.............. 9 3.3 Specikace d leºitých pojm........................... 11 3.4 P ehled pouºitých technologií........................... 12 3.4.1 Serverová ást................................ 12 3.4.2 Klientská ást................................ 13 3.5 Návrh architektury................................. 15 3.5.1 Seznam ú astník............................. 15 3.5.2 P ípady uºití................................ 16 3.5.3 Struktura uºivatelských prol...................... 19 3.5.4 Komunikace mezi uºivateli......................... 20 3.5.5 Stránkování, vyhledávání a ltrování................... 20 3.5.6 Diagram t íd................................ 21 3.6 Gracký návrh webu................................ 22 4 Implementace 25 4.1 Serverová ást aplikace............................... 25 4.1.1 Formulá e.................................. 25 4.1.2 Práce se soubory.............................. 29 5 Testování 31 5.1 P ístupové údaje.................................. 31 5.2 Pr b h testování.................................. 32 xi

xii OBSAH 6 Záv r 33 6.1 Spln né zadání................................... 33 6.2 Rozsah práce.................................... 33 6.3 P ínos práce..................................... 34 Literatura 35 A Seznam pouºitých zkratek 37 B Instala ní a uºivatelská p íru ka 39 B.1 Instalace....................................... 39 B.2 Rady pro uºivatele................................. 39 C Dal²í Use case diagramy 41 D Adresá ová struktura 45

Seznam obrázk 3.1 http://www.download.com............................. 7 3.2 http://www.stahuj.cz................................ 8 3.3 http://www.webtrh.cz............................... 8 3.4 http://www.tvorba-shopu.cz/........................... 9 3.5 Zastoupení prohlíºe ve sv t 2009........................ 10 3.6 Model komponent.................................. 12 3.7 Ukázka z CMS Heblo................................ 14 3.8 Ukázka z CMS Heblo................................ 14 3.9 Users diagram.................................... 16 3.10 Use case: Správa sluºeb e²itele.......................... 17 3.11 Use case: Správa uºivatelského prolu...................... 18 3.12 Class diagram.................................... 21 3.13 Hlavní logo Open Burzy.............................. 22 3.14 Hlavní navigace................................... 23 3.15 Vedlej²í navigace.................................. 23 4.1 Zobrazení chybových hlá²ek u formulá e..................... 27 4.2 Ukázka vypln ného ltra ního a vyhledávacího formulá e............ 28 4.3 Práce se soubory.................................. 29 5.1 Bugtracker Mantis................................. 32 C.1 Use case: Neregistrovaný uºivatel......................... 41 C.2 Use case: Správa sluºeb zadavatele........................ 42 C.3 Use case: Správa po²tovní schránky........................ 43 D.1 Adresá ová struktura................................ 45 xiii

xiv SEZNAM OBRÁZK

Kapitola 1 Úvod Cílem této bakalá ské práce je vytvo it webovou aplikaci, která bude slouºit jako prost edník pro komunikaci a interakci mezi programátory a zadavateli softwarových produkt - systém jsem nazval Open Burza. Tato webová aplikace toho samoz ejm bude poskytovat více, ale základní my²lenkou je podpora otev eného software, tedy takových programátorských produkt, které autor poskytne pod jednou z 'otev ených' licencí. 1.1 Motivace S tímto tématem jsem se setkal jiº d íve b hem vysoko²kolského studia, kdy byl zadán podobný projekt, ale nikdy nebyl po ádn realizován. My²lenka tohoto projektu v²ak ve mn p etrvala a protoºe jsem ji povaºoval za zajímavou i uºite nou, rozhodl jsem se ji realizovat v rámci bakalá ské práce. V ím, ºe tento projekt neskon í 'v ²uplíku', p estoºe v tuto chvíli nejspí² nemá ambice dosahovat ohromujících ísel v náv²t vnosti. V rozsahu (který je ov²em nemalý), v jakém byla zpracována v rámci bakalá ské práce, je Open Burza velmi nad jným stavebním kamenem pro budoucí roz²i ování funk nosti i pokrytí potencionálních sluºeb, které je moºno v oboru IT nabízet a poskytovat. 1

2 KAPITOLA 1. ÚVOD

Kapitola 2 Popis problému, specikace cíle Jak bylo e eno vý²e, p edm tem této práce je vytvo ení systému, který bude v základu pracovat obdobn jako jakákoliv burza. Bude umoº ovat uºivatel m v závislosti na jejich roli bu nabízet nebo poptávat produkty a sluºby z oblasti informa ních technologií. Protoºe vytvo ení tohoto projektu by m lo mimo jiné podporovat tvorbu otev eného software, je nutné obeznámit se samotnou specikací produkt s otev enými licencemi, která se m ºe pouze zdánliv zdát jednoduchá. Protoºe má v²ak tento druh software dlouhou historii, vyvinuly se dal²í poddruhy, které se li²í podmínkami uºívání a ²í ení, a je tedy nutné je v²echny správn specikovat. P i analýze poºadavk na funkcionalitu vytvá eného systému jsem do²el k záv ru, ºe rozsah práce p ekra uje doporu enou dobu 200 hodin (podle ECTS [1]), proto budou primárn navrºeny a implementovány pouze základní plánované funkce a v p ípad, ºe bude zbývat as, tak se na vzniklý základ budou 'nabalovat' dal²í ásti plánovaného e²ení. Protoºe je v rámci tohoto projektu vytvá ena webová aplikace, musí být kladen velký d raz na 'user-friendly' prost edí. V p ípad ºe p ijde náhodný náv²t vník na tento web, musí být u in no v²e pro to, aby zde co nejdéle z stal a p edev²ím, aby se zaregistroval a za al systém naplno vyuºívat. Toho se dá docílit vhodn zvoleným grackým návrhem webu a p edev²ím nabízenými funkcemi, které musí na uºivatele p íjemn zap sobit. Zkrátka je nutné vºít se do pozice potencionálního uºivatele a ud lat v²e pro jeho získání. Jedná o rozsáhlej²í projekt - z toho d vodu bude jeho realizace provád na s jistým ádem áste n ízeným UML modelama (budou vytvo eny n které diagramy) a bude dodrºována jistá posloupnost realizovaných ástí tak, aby se nap íklad návrh struktury aplikace nemusel zp tn upravovat v pr b hu programování funk ních prvk. D leºitou ástí e²ení bude i vhodný návrh databáze, který bude klí ový pro celou strukturu webové stránky. Tato databáze musí být konzistentní a co nejvíce zabezpe ená vzhledem k obsahu s jakým budou uºivatelé pracovat. V záv re ných fázích projektu musí dojít k rozsáhlému testování funk nosti v²ech naprogramovaných prvk, a to i na jiných platformách a p edev²ím v jiných prohlíºe ích - zde se jedná hlavn o odlad ní nekompatibility kódu CSS (sou ástí analýzy by m l být sou asný stav pouºívání jednotlivých prohlíºe, aby bylo známo, na které se zam it). Za ú elem testování by m lo být vyuºito v²ech dostupných prost edk, aby bylo zaji²t no odstran ní v²ech chyb - z t chto d vod bude nutné uvést webovou aplikaci do testovacího provozu, s tím je spojené zaji²t ní hostujícího serveru a domény. 3

4 KAPITOLA 2. POPIS PROBLÉMU, SPECIFIKACE CÍLE Zde je tedy shrnutí hlavních cíl tohoto projektu v bodech: Seznámení se se specikací otev eného software Navrºení struktury webové aplikace Navrºení databáze Vytvo ení vhodného grackého návrhu pro tuto webovou aplikaci Nakódování grackého návrhu Naprogramování ve²kerých funk ních prvk stanovených v návrhu struktury D kladné testování webové aplikace za ú elem odlad ní v²ech potencionálních bug Jak bylo e eno, po adí t chto bod by m lo být p i vytvá ení oné webové aplikace dodrºeno. V pr b hu celé realizace bude vytvá ena projektová dokumentace v podob UML diagram a popis jednotlivých ástí e²ení - tato dokumentace bude sou ástí této ti²t né práce. 2.1 Specikace poºadavk Následuje seznam poºadavk, které by m ly být p i realizaci této práce spln ny. Jsou azeny prioritn, takºe v p ípad, ºe nebude z asových d vod moºné splnit v²echny, ubírat by se m lo zezadu. V ím v²ak, ºe v ase vy len ném na vytvo ení této práce, bude realizováno v²e tak, jak jsem naplánoval. Poºadavky jsem rozd lil do t í skupin (hierarchicky) Poºadavky na technické zázemí Obecné poºadavky na vytvá ený systém Open Burzy Poºadavky na správu uºivatelského ú tu 2.1.1 Poºadavky na technické zázemí Vytvá ení webové aplikace, která komunikuje s databází (dále jen DB), s sebou p iná²í nutnost p ípravy technického zázemí pro samotnou tvorbu. Protoºe funk ní prvky aplikace budou implementovány v jazyku PHP, který bude p istupovat do DB pomocí jazyka SQL, je nutná instalace p íslu²ného serveru a databáze. A to jak na lokálním disku po íta e, kde bude systém vytvá en, tak i na ve ejném serveru, kde bude systém testován. (obr. 2.1)

2.1. SPECIFIKACE POšADAVK 5 2.1.2 Obecné poºadavky na vytvá ený systém Open Burzy Zde jsou obecné poºadavky na systém, jeho strukturu a funk nost. Uºivatelské ú ty Návrh struktury a samotná implementace uºivatelských ú t bude klí ovou ástí celé práce, je nutné umoºnit uºivatel m systému co nejv t²í volnost ve správ svého prolu tak, aby se cítil na Open Burze co nejpohodln ji, podrobn j²í specikace poºadavk na uºivatelské ú ty je níºe. Správa sluºeb Kaºdý uºivatel bude mít (v závislosti na roli v jaké je registrován v systému) v rámci svého prolu moºnost vytvá ení nabídek i poptávek a dal²ích sluºeb, které bude Open Burza uºivateli poskytovat. Správa t chto sluºeb musí být p ehledná a p edev²ím funk ní tak, aby v²em umoº ovala kompletní nadvládu nad svými ú ty. Formulá e Dá se íci, ºe celý systém - jeho správa i prohlíºení - bude postaven na internetových formulá ích. Tyto formulá e musí být navrºeny tak, aby poskytovaly rychlé, p esné a p edev²ím bezpe né komunikování s informacemi a daty v DB. Musí být zaji²t no pat i né o²et ení nap íklad proti op tovnému odeslání stejného formulá e a také kontrola vypln ní povinných poloºek a správnosti typu poloºek. Výpisy a seznamy Protoºe se jedná o projekt burzy, p edpokládá se, ºe asem zde vznikne velké mnoºství nabídek i poptávek. Je tedy pot eba zajistit p ehledné a co nejvíce detailní seznamy a umoºnit uºivateli velmi snadné ltrování i vyhledávání ve zobrazených výsledcích. 2.1.3 Poºadavky na správu uºivatelského ú tu Jak jiº bylo e eno vý²e, je nutné navrhnout inteligentní strukturu uºivatelského ú tu a zajistit co nejvíce moºných operací tak, aby m l uºivatel pocit komfortnosti. Vytvo ení ú tu bude p edcházet registrace, v ní by m ly být obsaºeny následující poloºky: Uºivatelské jméno a heslo Jméno a p íjmení Role, pod kterou se uºivatel registruje Kompletní adresa Kontakty na uºivatele (e-mail, telefon, atd.) Krátký odstavec obsahující info o uºivateli M lo by být jasn vymezené, které poloºky jsou povinné a které nepovinné a také by m lo být uºivateli umoºn no uchovat n které osobní informace v soukromí (v databázi v²ak musí být zaneseny kv li zaji²t ní transparentnosti celého systému).

6 KAPITOLA 2. POPIS PROBLÉMU, SPECIFIKACE CÍLE

Kapitola 3 Analýza a návrh e²ení Tato kapitola se bude zabývat analýzou a návrhem v²ech realizovaných poºadavk na webovou aplikaci, která je p edm tem této práce. Bude obsahovat tyto ásti: Analýzu existujících e²ení Analýza aktuálního zastoupení webových prohlíºe Specikace pojmu otev ený software P ehled pouºitých technologií Datový model P ípady uºití 3.1 Existující e²ení Sou ástí analýzy byl i pr zkum trhu - p i n m jsem narazil na velké mnoºství web, které poskytují (nebo spí²e shromaº ují) softwarové produkty a umoº ují je náv²t vník m webu stahovat. Produkty jsou sem vkládány pod v²emoºnými licencemi - tedy i t mi komer ními. Obrázek 3.1: http://www.download.com 7

8 KAPITOLA 3. ANALÝZA A NÁVRH E ENÍ Obrázek 3.2: http://www.stahuj.cz Tyto weby ov²em neumoº ují jakoukoliv poptávku, slouºí ist jako úloºi²t software pro jeho dal²í ²í ení. Mezi nejznám j²í weby tohoto druhu pat í ve sv t nejnav²t vovan j²í portál http://www.download.com (obr. 3.1) a jeho eská obdoba http://www.stahuj.cz (obr. 3.2). Jak bylo e eno, tyto weby se ale tomu mému podobají pouze v nabízení softwarových produkt. Hledal jsem tedy dál a poda ilo se mi objevit následující dva weby, které jsou více i mén podobné Open Burze: 3.1.1 Webtrh (http://www.webtrh.cz) Tento web je asi nejvíce podobný mému projektu, je zde moºnost nabízet i poptávat softwarové produkty (obr. 3.3) a stejn jako na Open Burze také nabízet i shán t zam stnání. Celý web je vytvo en skute n komplexn - co do ²í e má je²t Open Burza co dohán t, nicmén nap íklad oproti tomuto webu jsem se snaºil vytvá et sv j projekt mnohem p ehledn j²í a gracky více vyhovující lidskému oku. Komplexnost na Webtrhu je zde realizována na úkor p ehlednosti a náv²t vník webu je po spat ení domovské stránky zahlcen obrovským mnoºství sekcí, odkaz a v bec informací, coº je myslím spí²e na ²kodu. 3.1.2 Tvorba shopu (http://www.tvorba-shopu.cz/) Druhý web není podobný co do struktury v bec, nicmén po stránce obsahu je Open Burze p íbuzný. Celý systém je zde koncipován jako diskuzní fórum (obr. 3.4), na n mº mohou uºivatelé nabízet i shán t softwarové aplikace. Tento web je mnohem jednodu²²í, coº plyne Obrázek 3.3: http://www.webtrh.cz

3.2. ANALÝZA AKTUÁLNÍHO ZASTOUPENÍ WEBOVÝCH PROHLÍšEƒ 9 Obrázek 3.4: http://www.tvorba-shopu.cz/ uº ze samotného pojetí webu jako diskuze. Myslím, ºe jsem ho svým projektem p ekonal práv díky mnohem lépe organizované struktu e systému a také uºivatelskými ú ty, na které jsem kladl velký d raz a které nabízejí ²iroké moºnosti správy. 3.2 Analýza aktuálního zastoupení webových prohlíºe Vytvá ím webovou aplikaci, je tedy d leºité si uv domit, ºe existuje více webových prohlíºe, ve kterých bude tato aplikace otev ena. N které prvky CSS (kaskádové styly pouºívané pro naformátování vzhledu webové stránky) se chovají r zn v závislosti na prohlíºe i, který uºivatel pouºívá - je to dáno rozdílnou interpretací t chto prvk. Na²t stí existují metody, jak nakódovat layout stránky tak, aby vypadal ve v²ech prohlíºe ích úpln nebo aspon p ibliºn stejn. Takºe jedním z úkol by m lo být zji²t ní aktuálního zastoupení daných prohlíºe, vybrání t ch nejpouºívan j²ích a pro tyto optimalizovat webovou aplikaci. T chto statistik jsem na internetu na²el n kolik r zných, které se více i mén shodovali ve výsledcích. Na obrázku 3.5 je tedy znázorn no zastoupení pro rok 2009 [2]. Na tomto míst by se hodilo uvést zajímavost - v lo ském roce (2009) totiº poprvé do²lo k tomu, ºe prohlíºe Mozilla Firefox p ekonal doposud neporazitelný Internet Explorer 6.0. V souvislosti s hlavní my²lenkou této práce - totiº podpora otev eného software - je tato skute nost oko en na o fakt, ºe Mozilla je prohlíºe vydávaný pod licencí Open Source a tedy pat í mezi otev ený software (Internet Explorer je ryze komer ní produkt z dílny Microsoftu). Nicmén i tak vévodí Microsoft se svým prohlíºe em v²em pr zkum m, nebo p es 60% uºivatel je rozd leno mezi v²echny jeho verze a Mozilla je pouºíváná z 'pouhých' 25%. Zvlá²t pro kodéry a vývojá e webových stránek je toto smutná skute nost, nebo odla ování jejich produkt práv pro IE je mnohdy no ní m ra. Z výsledk této analýzy tedy vyplývá, ºe hlavními prohlíºe i, pro které bude optimalizována moje webová aplikace jsou oba zmín né produkty a navíc si je²t dovolím p idat dal²í dva - první, který v tomto pr zkumu dopadl ²patn, nicmén podle eských statistik si stojí mnohem lépe a o eské uºivatele v této práci p edev²ím jde. Jedná se o prohlíºe Opera - já osobn ho navíc povaºuji za nejlep²í sou asný, p estoºe jeho zastoupení je pod 10%. A tvrtým prohlíºe em bude nedávno zve ejn ný projekt Googlu - Google Chrome. Tento produkt má ur it díky své jednoduchosti a kvalitnímu zázemí této významné rmy velkou budoucnost.

10 KAPITOLA 3. ANALÝZA A NÁVRH E ENÍ Obrázek 3.5: Zastoupení prohlíºe ve sv t 2009 Zde tedy je²t záv re né shrnutí: Internet Explorer Mozilla Firefox Opera Google Chrome Ostatní minoritní produkty nebudu brát p íli² v úvahu, nicmén díky tomu, ºe budu web optimalizovat pro ony ty i vý²e zmín né prohlíºe e, m lo by být v²e optimalizováno i pro v²echny ostatní. Hlavní rozdíly v interpretaci CSS jsou predev²ím v jiº n kolikrát zmín ném Internet Exploreru - Opera, Google Chrome, i nap. Safari se chovají velmi podobn jako Mozilla Firefox.

3.3. SPECIFIKACE D LEšITÝCH POJM 11 3.3 Specikace d leºitých pojm Protoºe v tomto projektu pracuji s pojmy jako Otev ený software nebo nap. Public Domain licence, je nutné tyto pojmy specikovat a vzhledem k jejich d leºitosti tak iním v této ásti práce a nikoliv pouze v podob p ílohy. P i vyhledávání specikace t chto termín jsem erpal p edev²ím z wikipedie a jedná se p eváºn o mírn p eformulované citace s uvedenými zdroji. Otev ený software Otev ený software je po íta ový software s otev eným zdrojovým kódem. Otev enost zde znamená jak technickou dostupnost kódu, tak legální dostupnost - licenci software, která umoº uje, p i dodrºení jistých podmínek, uºivatel m zdrojový kód vyuºívat, nap íklad prohlíºet a upravovat. Existuje n kolik druh licencí, zde je jejich vysv tlení: Freeware Freeware je software, který je distribuován bezplatn nebo za symbolickou cenu (nap. nan ní dar na podporu dal²ího vývoje, v²echno je v²ak dobrovolné). Autor si u freeware zpravidla ponechává autorská práva, nap íklad nedovoluje program upravovat (zdrojový kód z stává skrytý) nebo omezuje pouºití zdarma jen pro nekomer ní i osobní pot ebu. Freeware software se t mito podmínkami li²í open source software. [3] Open Source Programy typu Open Source (n kdy také Svobodný software) jsou k dispozici v etn svého zdrojového kódu. Tento kód lze upravovat, ale nelze ho vyuºívat pro tvorbu zisku. Je v²ak moºné vybírat poplatky odpovídající náklad m na vývoj a distribuce t chto program. P esné vymezení v²ech pravidel je komplikované a hlavn dlouhé (viz http://www.gnu.cz/). Typickým p íkladem Open Source licence je licence GNU, pod kterou je ²í en nap íklad opera ní systém Linux, gracký program GIMP, i kancelá ský balík OpenOce org. [4] Public Domain Public domain je ekvivalentem volného díla ve smyslu ustanovení Ÿ 28 odst. 1 autorského zákona, tedy díla, u kterého uplynula doba trvání majetkových práv a jeº tak m ºe kaºdý bez dal²ího voln uºít. U po íta ového programu ozna ovaného jako public domain se tak p edpokládá, ºe m ºe být v²emi osobami voln uºíván (i pro komer ní ú ely), a to v etn provád ní zm n tohoto po íta ového programu. Skute nost, ºe je ur itý po íta ový program ozna ován jako public domain v²ak nemusí v praxi znamenat, ºe je taktéº dostupný jeho zdrojový kód. Tento po íta ový program tak m ºe být p ípadným koncovým uºivatel m k dispozici pouze ve form spustitelného souboru. [5] Shareware Shareware je ozna ení pro software chrán ný autorským právem, který je moºné voln distribuovat. Uºivatel má moºnost software po ur itou dobu zkou²et, zda mu vyhovuje nebo ne. Pokud ho ale nadále pouºívá, je povinen se ídit podle autorovy licence a zpravidla zaplatit cenu programu nebo se t eba jen registrovat. Voln ²í ený shareware má obvykle zabudovaná omezení ( asová trial, funk ní crippleware, omezující uºivatel v komfort adware, nagware). Pak mluvíme o demoverzi. Heslo nebo softwarový klí pro p ístup k pln funk ní verzi obdrºí uºivatel po zaplacení. N které programy z kategorie shareware plnohodnotn fungují i po vypr²ení testovacího období. [6]

12 KAPITOLA 3. ANALÝZA A NÁVRH E ENÍ Obrázek 3.6: Model komponent 3.4 P ehled pouºitých technologií Celá webová aplikace byla vyvíjena primárn na lokálním serveru (localhost), av²ak pro pot eby záv re ného testování byla nahrána i na ve ejný server - ve²keré p ístupové údaje (a uº k databázi, ftp serveru nebo administra nímu zázemí systému, na kterém je aplikace postavena) jsou uvedeny v kapitole Testování. 3.4.1 Serverová ást V p ípad práce na lokálním po íta i bylo nejprve pot eba nainstalovat technologie pot ebné k vývoji a testování: Server Apache 2.2 Databázový server MySQL 5.0.51 Programovací jazyk PHP 5 a s ním spojené nástroje Tyto t i technologie (n kdy také nazývané jako triáda) je moºné instalovat jak odd len tak i v podob velkého balíku v²ech pot ebných komponent. Server Apache je vlastn platforma, na které probíhá komunikace jazyka PHP s databází MySQL. MySQL Je více druh databázových serveru (MSSQL, PostgreSQL, Oracle,...), nicmén jsem zvolil tento z n kolika d vod. Zaprvé v n m mám nejvíce zku²eností, dále je kompletn zdarma a kone n umoº uje velmi jednoduchou a p ehlednou správu databáze pomocí velmi výkoného nástroje - phpmyadminu. V této webové aplikaci je moºné obsluhovat databázi v podstat s minimální znalostí jazyka SQL (jazyk pro obsluhu DB - vytvá ení a úpravy tabulek, vkládání, mazání a vybírání ádk, atd.) - v²e je ovládáno prostým klikáním my²í. Tím samoz ejm ne íkám, ºe by byl problém obsluhovat DB nap. pomocí p íkazové ádky, nicmén pro nevyuºít ²ikovného nástroje pro usnadn ní práce. PHP

3.4. P EHLED POUšITÝCH TECHNOLOGIÍ 13 Programovací jazyk PHP je dle mého nejideáln j²í nástroj pro tvorbu dynamických webových aplikací. Je velmi snadné ho za lenit do jazyka HTML (jazyk, ve kterém je nakódována statická ást webové aplikace) a v²echny skripty jsou provád ny na stran serveru, takºe k uºivateli se dostávají aº jejich výsledky. Syntaxe jazyka PHP je inspirována programovacím jazykem C a to byl pro m dal²í d vod, pro jej zvolit - v jazyku C a C++ mám bohaté zku²enosti. Existují i jiné moºnosti p i výb ru jazyka pro implementaci dynamické ásti webu - po php je asi nejoblíbenej²í jazyk Java, který se vyuºívá nejen k programování klasických softwarových produkt, ale práv i k vytvá ení sloºitých webových aplikací, nap. herních server, burzovních systém a jiných podobných web. V tomto jazyce mám v²ak minimální znalosti a proto nep ipadal v úvahu. Z dal²ích jmenuji snad uº jen relativn nový programovací jazyk Ruby, který se pomocí platformy Rails snaºí konkurovat ob ma vý²e zmín ným jazyk m. Má úsilí o co nejv t²í zjednodu²ení programování tak, aby psaní zdrojového kódu simulovalo reálný jazyk. Ruby sice zachovává klasické konstrukce a struktury programování, ale zp sobem, kterým by si mohl získat p edev²ím za ínající programátory díky velice snadnému pochopení syntaxe jazyka. Moje symptatie (a myslím, ºe je to názor v t²iny PHP programátor ) si v²ak Ruby nezískal - i proto jsem se nakonec rozhodl pro PHP. V p ípad práce na testovacím provozu aplikace, který je provád n na ve ejném serveru, nebylo nutné nic instalovat - v t²ina server má triádu zprovozn nou jiº p i rozb hnutí serveru. 3.4.2 Klientská ást Moje webová aplikace je vyvíjena jako XHTML 1.0 Strict validní [7]. Ov ení této validnosti je popsáno v kapitole 5 - Testování. Celý web je postaven na redak ním systému Heblo. Tento CMS (content management system - systém na správu obsahu) je oproti jiným, t eba i komer n nabízeným produkt m velice jednoduchý - zd raz uji ºe se nijak nepodílí na dynamické ásti mojí webové aplikace, která tvo í 95% celkové práce. Jediné, v em usnad uje práci je fakt, ºe do mnou vytvo ené ²ablony pro Open Burzu (nakódovaný gracký návrh) vkládá na mnou ur ené místo p íslu²né skripty (taktéº mnou ur ené). Reáln p iná²í CMS Heblo ty i výhody: Zásadní zp ehledn ní struktury webu Moºnost p ístupu ke kódu skrze rozhraní p ímo v prohlíºe i Generování uºivatelsky 'pohledných' URL adres Moºnosti snadné správy webové aplikace i pro mén zku²enné uºivatele Zp ehledn ní v²ak usnad uje práci pouze vývojá ovi, který má tak lep²í p ehled o umíst ní svých skript (zvlá²t to ocení p i velkém mnoºství php kódu rozd leném do spousty men²ích soubor - coº je i moje situace v p ípad Open Burzy). Koncový uºivatel - tedy náv²t vník webu - by v bec nepoznal rozdíl, kdyby byla aplikace vystav na bez jakéhokoliv CMS.

14 KAPITOLA 3. ANALÝZA A NÁVRH E ENÍ Obrázek 3.7: Ukázka z CMS Heblo P ístup do struktury webu skrze webové rozhraní uº jsem mnohokrát ocenil v p ípadech, kdy m p i vývoji napadlo n jaké vylep²ení i jsem byl na dálku upozorn n na chybu, ale v danou chvíli jsem nem l p ístup k po íta i. Díky CMS jsem v t chto situacích mohl upravovat n které prvky a funkce ze svého mobilního telefonu, ze kterého bych t ºko komunikoval s FTP serverem. Systém Heblo, ostatn jako nejspí² v²echny redak ní systémy, umí pro v²echny podtránky webové aplikace vygenerovat 'p kné' URL adresy. Tyto adresy vytvá í z názvu podstránky (který v CMS navolím) tak, ºe odstraní ve²kerou diakritiku a speciální znaky (+,?,!,apod.) a ponechaná slova spojí v jeden et zec odd lený poml kami. Vznikne tak URL adresa, která je snadno a rychle itelná a umoº uje tak lep²í orientaci pro náv²t vníka webu. Jedním z d vodu vystav ní Open Burzy na redak ním systému byl i fakt, ºe tento systém by se jednou mohl aplikovat i na jiné produkty i úpln jiné oblasti neº IT. Z toho d vodu je p edpokládáno, ºe by jednou mohl systém Open Burzy spravovat lov k nep íli² zku²enný ve tvorb webových stránek a práv jemu by m l redak ní systém usnadnit ºivot. Obrázek 3.8: Ukázka z CMS Heblo

3.5. NÁVRH ARCHITEKTURY 15 3.5 Návrh architektury V této kapitole budou navrºeny základní stavební kameny celé aplikace - bude se v zásad jednat o datový model v etn n kolika p iloºených UML diagram. 3.5.1 Seznam ú astník Uºivatelé systému Open Burzy se dají rozd lit na nejvy²²í úrovni na t i skupiny: Administrátor Registrovaný uºivatel Neregistrovaný uºivatel Administrátor je správce celé aplikace, vzhledem k plánované maximální automatizaci systému by m la pln posta it jedna osoba, je v²ak moºné, ºe v budoucnu dojde k roz²í ení po tu administrátor z d vodu zvy²ující se náv²t vnosti. Úkolem administrátora jsou pravidelné revize funk nosti systému, záloha dat z databáze a p ípadné odstra ování chyb. Dále je moºná komunikace s ostatními ú astníky, pouze v²ak za ú elem podání ur ité informace i rady ve smyslu helpdesku (nem la by být e o v cech týkajících se výb rových ízení, apod. - p edev²ím kv li ochran spravedlivého výb ru). Administrátor má také mimo jiné moºnost kontroly nad IP adresami v²ech ú astník Open Burzy, a tudíº m ºe v p ípad jakýchkoliv problém n které uºivatele blokovat a mazat jim ú ty. Neregistrovaní uºivatelé jsou v zásad náhodní kolemjdoucí, kte í se prost ednictvím n jakého backlinku (zp tný odkaz) nebo doporu ení dostanou na Open Burzu. Práva t chto uºivatel jsou zna n omezená a dala by se shrnout jedním slovem: read-only. Neregistrovaný uºivatel se m ºe jakkoliv pohybovat po webu, prohlíºet si seznamy nabídek i poptávek, v²emoºn vyhledávat i ltrovat výsledky, m ºe si pro ítat diskuze jak v hlavním fóru tak i v diskuzích u jednotlivých produkt. Tím v²ak vý et jeho moºností kon í. Dá se íci, ºe neregistrovaný uºivatel nem ºe provád t jakékoliv interakce se samotným systémem a databází. Na úvodní stránce celého webu by m lo být na viditelném míst popsáno, jaké výhody danému uºivateli registrace p inese. Bude-li to vhodn provedeno, je velká pravd podobnost, ºe se poda í získat nového ú astního Open Burzy. V p ípad ºe tedy dojde na registraci uºivatele, je mu systémem (v p ípad úsp ²ného vypln ní formulá e) vytvo en ú et. D leºitou poloºkou registrace je Role - na základ hodnoty tohoto pole m ºeme registrované uºivatele dále d lit na: e²itele Zadavatele P edpokládá se, ºe uºivatelé registrovaní pod rolí e²itele budou pravdepodobn programáto i a vývojá i. T m totiº bude Open Burza nabízet moºnosti p ivýd lku v podob

16 KAPITOLA 3. ANALÝZA A NÁVRH E ENÍ Obrázek 3.9: Users diagram pen z inkasovaných za úsp ²n nabízené produkty a také za úsp ²n odvedené práce na projektech, které jsou vypisovány zadavateli. e²itelé se tedy mohou hlásit do výb rových ízení vypsaných na konkrétní zakázky i na pozice v softwarových rmách. Dále si budou moci vyplnit svoje kvalika ní proly a vypsat si ºádosti o zam stnání. Naproti tomu zadavatelé, jak jiº bylo e eno, budou vypisovat výb rová ízení na zakázky - produkty, které nap. pot ebují do rmy, ale nemají dost nan ních prost edk na zaplacení drahých licencí komer ních produkt. Také budou moci nabízet volná místa ve svých rmách nebo si rovnou vybírat z ad e²itel a sami je kontaktovat. Dal²í drobností, kterou bude Open Burza zadavatel m umoº ovat bude hodnocení e²itel - nap. v p ípad dob e odvedené práce na vypsané zakázce nebo jako prosté ocen ní p ínosu daného uºivatele. 3.5.2 P ípady uºití P ípady uºití (Use Case) byly navrhovány p ed samotným za átkem implementace - dá se íci, ºe jsem se vºil do role p íchozího uºivatele a p edstavoval si, jaké bude mít moºnosti, a pomocí t chto diagram jsem ty moºnosti realizoval. Use case jsou koncipovány tak, aby podávaly p edstavu o rozsahu projektu a v tomto sm ru byly i pro m velmi uºite né. V této fázi návrhu jsem se prozatím nezabýval konkrétními technologiemi, snaºil jsem se pomocí p irozeného jazyka co nejv rn ji znázornit provád né akce. Pro p edstavu zde uvádím dva takové diagramy a dal²í je moºno nalézt v p íloze C - UML diagramy.