Inspirace pro seminární práci předmětu Techniky a CASE nástroje vývoje IS výtah z ukázkového příkladu Cestovní kancelář z knihy Buchalcevová Alena, Stanovská Iva. Příklady modelů analýzy a návrhu aplikace v UML, 1. vyd. Praha : Oeconomica, 2013. ISBN: 978-80-245-1922-7 není to ideální vzor je to jen výtah, proto tam některé věci nejsou a není to úplně přesně je to vždy poznamenáno Zadání aplikace Úkolem je realizovat rezervační systém fiktivní cestovní kanceláře SunnyTour. Základní princip fungování cestovní kanceláře SunnyTour je takový, že CK nakoupí od zahraničních partnerů jednotky ubytování a prodává je s příslušným ziskem svým zákazníkům. CK také nabízí dopravu do cílových destinací s pomocí různých dopravců. Sled kroků je následující: 1. V dostatečném předstihu před začátkem sezóny si CK objedná jednotky ubytování v jednotlivých objektech. 2. Ze smluvených cen vytvoří CK pomocí různých kalkulačních nástrojů nabídku zájezdů. 3. Svou nabídku zájezdů a pobytů CK prezentuje veřejnosti. 4. Pomocí vhodných nástrojů CK zpracovává objednávky a spravuje obsazenost pokojů a apartmánů v jednotlivých objektech. 5. CK svým zákazníkům vystavuje různé dokumenty, především cestovní smlouvu a vouchery. 6. Do hotelů a apartmánů CK zasílá před každým zájezdem seznam cestujících. Nejdůležitější požadovanou funkcionalitou je kompletní správa zájezdů od definice cílových objektů přes tvorbu sezón, termínů a kalkulace cen až po, evidenci obsazenosti ubytovacích kapacit a vystavování cestovních dokumentů, přehledy prodaných zájezdů a z toho vyplývající platby zahraničním partnerům. Cestovní kancelář si také vede agendu svých zákazníků, provizních prodejců a dalších subjektů, se kterými přijde do styku. Tuto funkcionalitu musí aplikace také umožňovat. Důležitou funkcí je také možnost prezentace zájezdů na webových stránkách cestovní kanceláře propojená s rezervačním systémem a systémem pro provizní prodejce. Vzhledem k tomu, že cestovní kancelář předpokládá rozšiřování a zřizování nových poboček, je nutné zajistit přístup k aktuálnímu stavu všech důležitých dat i z geograficky odlišných míst.
Analýza byznys procesů Seznam procesů seznam všech procesů (procesní mapa nebo diagram návaznosti procesů) v ukázce není Detailní popis min 3 procesů v ukázce jsou jen 2 V této podkapitole jsou demonstrovány dva klíčové byznys procesy cestovní kanceláře. Obrázek 1 zachycuje byznys proces zájezdu. Na obrázku 2 je zachycen byznys proces, pomocí něhož cestovní kancelář Sunny Tour objednává jednotky ubytování u poskytovatelů ubytování. Byznys procesy jsou zachyceny v notaci BPMN 2.0 a vytvořeny v CASE nástroji PowerDesigner.
Požadavek na novou rezervaci Zadání vstupních dat Trvá zájem o jiné jednotky ubytování? Zákazník ztratil zájem Byla zadána správně? Nastal termín zaplacení zálohy Informování o nedostupnosti Jsou jednotky ubytování dostupné? Odeslání Kontrola dostupnosti jednotek ubytování Záloha zaplacena před koncem termínu XOR Kontrola zaplacení zálohy Nově založená Archivovaná Zaevidování platby Byla zaplacena záloha? Informování o expiraci Expirovaná Archivace Rezervace se zaplacenou zálohou XOR2 Částka doplacena před koncem termínu Nastal termín doplacení zbývající částky Požadavek na stornování Kontrola doplacení zbývající částky Došlo ke stornování? Stornování Stornovaná Informování o stornování Byla doplacena zbývající částka? Nadešel termín zájezdu Požadavek na stornování2 Zaevidování platby zbývající částky Zaplacená XOR3 Došlo ke stornování? Uskutečněná Obrázek 1: Proces
Požadavek na jednotky ubytování Rezervování jednotek ubytování Jsou jednotky ubytování rezervované? Vytvoření nabídky zájezdů pro jednotky ubytování Zpřístupnění nabídky veřejnosti Zpřístupněná nabídka zájezdů Obrázek 2: Proces objednání jednotek ubytování CK Analýza aplikace Model případů užití V rámci první iterace bylo vybráno devět požadavků, kterým odpovídají případy užití. Případy užití byly doplněny jednoznačným identifikátorem (např. UC1).. V následujícím seznamu jsou stručně charakterizovány jednotlivé případy užití: Zobrazení rezervací zobrazení všech založených rezervací. Zobrazení zákazníků zobrazení všech zákazníků uložených v databázi. Přihlášení do systému přihlášení uživatele systému uživatelským jménem a heslem. Zobrazení zájezdů zobrazení všech zájezdů uložených v databázi. Zobrazení zájezdů s filtrem vyhledání zájezdů podle vyhledávácích kritérií, které si uživatel zvolí. Tyto zájezdy se dají třídit podle různých kritérií. Zobrazení detailu zájezdu zobrazení detailu zájezdů, zobrazuje se umístění daného objektu, termíny, ceny, možné příplatky a způsoby dopravy. Založení založení pro konkrétní zájezd v termínu. Po úspěšném provedení tohoto procesu se uloží do databáze. Založení zákazníka tento případ užití je součástí případu užití Založení a slouží pro definování zákazníka, který zájezd v termínu bude platit. Založení cestujícího v průběhu se definují cestující, kteří pojedou na zájezd v termínu.
Obrázek 3: Model případů užití Specifikace případů užití V této podkapitole jsou uvedeny příklady specifikace dvou případů užití Zobrazení zájezdů s filtrem a Založení. Specifikace jsou vytvořeny dle šablony metodiky MMSP. Zobrazení zájezdů s filtrem Název případu užití Identifikace případu užití Identifikace funkčního požadavku Identifikace obrazovek Byznys pravidla Cíl případu užití Primární aktér(ři) Pomocný aktér(ři) - Vstupní podmínky Výstupní podmínky Zobrazení zájezdů s filtrem UC56 F053 OBR_01A, OBR_01B, OBR_02 Zobrazení zájezdů dle zvolených kritérií a řazení Správce rezervací, Správce zájezdů, Dealer, Zákazník, Admin Zákazník na webových stránkách, správce zájezdů a dealer přihlášený do systému, zobrazí se hlavní stránka, kde je možné zvolit kritéria, dle kterých se zobrazí výpis zájezdů Zobrazí se výpis zájezdů dle vybraných kritérií a zvoleného řazení
Základní scénář 1 Aktér nadefinuje jednotlivá kritéria, dle kterých chce vyhledat zájezdy, může volit z těchto kritérií: Země, Oblast, Středisko, Odjezd od (může vepsat ručně nebo vybrat z kalendáře), Návrat do (může vepsat ručně nebo vybrat z kalendáře), Počet dní (1denní, 2denní, 5denní, 7denní, 9denní, 11denní, 13denní), Typ zájezdu (pobytový, poznávací, lázně a wellness, lyžařský), Doprava (letecky, autobusem, vlakem,), Strava (bez stravy, snídaně, večeře, polopenze, plná penze, all inclusive), Cena od (zadává ručně), Cena do (zadává ručně) 2 Aktér klikne na tlačítko Vyhledat 3 Systém zobrazí všechny zájezdy vyhovující zvoleným kritériím dle UC58 4 Aktér může zvolit, podle čeho chce zobrazené zájezdy řadit (dle ceny vzestupně přednastaveno defaultně, dle ceny sestupně, data odjezdu vzestupně, data odjezdu sestupně) 5 Systém seřadí zobrazené zájezdy dle zvoleného řazení Kritériím nevyhovuje žádný zájezd 3a1 Systém zobrazí hlášení: Žádný zájezd nenalezen! 3a2 Systém možnost zadání jiných kritérií 3a3 Aktér pokračuje dle 1. kroku základního scénáře Aktér nenadefinuje kritéria Aktér nezvolí řazení 1a1 Aktér klikne na tlačítko Vyhledat 1a2 Systém zobrazí všechny aktuální zájezdy uložené v DB 1a3 Aktér pokračuje dle 4. kroku základního scénáře 4a1 Aktér nezvolí řazení zájezdů 4a2 Systém končí 3. krokem základního scénáře Založení Název případu užití Identifikace případu užití Identifikace funkčního požadavku Identifikace obrazovek Byznys pravidla Cíl případu užití Primární aktér(ři) Pomocný aktér(ři) - Založení UC6 F006 OBR_04, OBR_05, OBR_06, OBR_07, OBR_08 Vytvoření nové a její uložení do DB Dealer, Správce rezervací, Zákazník
Vstupní podmínky Výstupní podmínky Aktér je přihlášený k aplikaci, je zobrazena hlavní stránka, kde je možné zvolit kritéria, dle kterých se zobrazí výpis zájezdů. Rezervace vytvořena Základní scénář Aktér nechce pokračovat v rezervaci Aktér nechce pokračovat v rezervaci 1 Systém UC57 2 Systém zobrazí nové okno pro zakládání, nahoře je vypsán Název hotelu, Země, Oblast a Středisko, Typ zájezdu, dále se zobrazí pole: Počet osob a Počet osob do 12 let (podle součtu těchto počtů se u zakládání cestujících zobrazí počet formulářů), Počet dní, Termín (pouze ty, které odpovídají zvolenému počtu dní), Počet jednotek ubytování, Typ jednotky ubytování (dostupné dle počtu jednotek ubytování ve vybraném termínu), Tlačítko pro přidávání dalšího počtu a typu jednotky ubytování, Strava, Doprava, v dolní části obrazovky Prodejní cena 3 Aktér vyplní všechna pole 4 Systém zobrazí Prodejní cenu 5 Aktér pokud chce zájezd rezervovat, klikne na tlačítko Pokračovat 6 Systém zobrazí další okno 7 Aktér založí zákazníka dle UC7 8 Aktér klikne na tlačítko Pokračovat 9 Systém zobrazí další okno 10 Aktér založí cestující dle UC8 11 Aktér klikne na tlačítko Pokračovat 12 Systém zobrazí další okno se souhrnem, zobrazují se informace o zájezdu, zákazníkovi a cestujících 13 Aktér potvrdí rezervaci kliknutím na tlačítko Odeslat 14 Systém zobrazí další okno s hlášením: Rezervace úspěšně odeslána! a tabulkou, kde je zobrazeno: ID, Výše zálohy, Splatnost, Č. Účtu, Variabilní symbol a hlášení: Informace o Vaší rezervaci byly zaslány na Váš e-mail! 5a1 Aktér pokud se chce vrátit zpět na detail zájezdu, klikne na tlačítko Zpět 5a2 Systém zobrazí stránku s detailem zájezdu 5b1 Aktér pokud chce vyhledávat zájezdy dle jiných kritérií, klikne na tlačítko Nové vyhledávání
5b2 Systém zobrazí hlavní stránku s vyhledáváním zájezdů Analytický (konceptuální) model tříd Na obrázku 4 je zachycen analytický model tříd. Analytický model tříd zachycuje třídy v dané problémové oblasti, tedy byznys třídy a vazby mezi nimi. Protože je model hodně velký, jsou na obrázku 4 zachyceny jen názvy tříd bez atributů a metod vy byste ale měli zobrazit i s atributy Obrázek 4: Analytický (konceptuální) model tříd