FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ SLOVENSKÁ TECHNICKÁ UNIVERZITA
ŠPECIFIKÁCIA POŽIADAVIEK NA SOFTVÉR LIETAČIK
letný semester 2008/2009 Pavel Paroulek Martin Paulech Alexander Šimko
Obsah 1Úvod.........................................................................................................................................................1 1.1Predmet špecifikácie.........................................................................................................................1 1.2Rozsah projektu a funkcie systému...................................................................................................1 1.3Slovník pojmov, Skratky...................................................................................................................1 1.4Odkazy..............................................................................................................................................1 2Celkový opis.............................................................................................................................................1 2.1Kontext systému................................................................................................................................1 2.2Funkcie systému...............................................................................................................................3 2.3Triedy používateľov a ich vlastnosti.................................................................................................4 2.4Budúca verzia systému.....................................................................................................................4 3Špecifikácia požiadaviek..........................................................................................................................5 3.1Vyhľadaj let.......................................................................................................................................5 3.2Rezervuj let.......................................................................................................................................6 3.3Vyber sedadlo...................................................................................................................................8 3.4Vykonaj platbu..................................................................................................................................9 3.5Zobraz podrobnosti letu....................................................................................................................9 3.6Zisti stav rezervácie........................................................................................................................10 4Ďalšie požiadavky..................................................................................................................................10 4.1Výkonnostné požiadavky................................................................................................................10 4.2Dostupnosť......................................................................................................................................11 4.3Bezpečnostné požiadavky...............................................................................................................11 Príloha A: Dátový slovník........................................................................................................................12
ii
1 Úvod 1.1 Predmet špecifikácie Táto špecifikácia požiadaviek na softvér (ďalej ŠPS) popisuje používateľské, funkčné a parametrické požiadavky prvej verzie systému pre online objednávanie leteniek. ŠPS je určená pre tím, ktorý bude výsledný softvér implementovať. Špecifikácia je súčasťou zmluvy medzi objednávateľom a dodávateľom. Bude slúžiť ako východisko pre vyhodnocovanie správnosti softvéru.
1.2 Rozsah projektu a funkcie systému Systém pre online objednávanie leteniek, Lietačik, bude vo svojej prvej verzii poskytovať funkcie týkajúce sa výhradne leteniek. Úlohou tejto verzie je vytvoriť potrebný základ pre nasledovné verzie systému, ktorých smerovanie bude zamerané na prídavné produkty a komplexné služby. Úlohou softvéru je priniesť epodnikanie na nezaplnený trhový segment. Vytváraný systém prestavuje tzv. frontend. Používať ho bude výhradne zákazník na objednanie produktov. Administratívne úlohy súvisiace s nasledovný spracovaním rezervácie, vystavenia letenky a pod. realizuje iný systém.
1.3 Slovník pojmov, Skratky GDS
global distribution system systém pre vyhľadávanie a rezerváciu leteniek, hotelov a pod. Presnejšie v [1].
časový filter
mechanizmus zadávania času odletu a času príletu
dojča
dieťa do 24. mesiaca života
segment
úsek letu bez prestupu
1.4 Odkazy [1] Špecifikácia komunikačného rozhrania s GDS systémom [2] Špecifikácia komunikačného rozhrania s Bankovým systémom [3] Firemné logo a propagačné materiály
2 Celkový opis 2.1 Kontext systému Lietačik predstavuje nový systém pre novo vznikajúce podnikanie. Kontextový diagram (obrázok 1) poskytuje pohľad na okolie systému. So systémom pracuje zákazník, ktorý si pomocou neho objednáva produkty. Systém komunikuje s GDS systémom, prostredníctvom ktorého realizuje rezerváciu letov. Bankový systém umožňuje online platbu.
1
Obrázok 1: Kontext systému Lietačik
2.1.1 Systémové rozhrania SR1
Rozhranie ku GDS.
SR1.1
Lietačik pomocou GDS vyhľadáva lety.
SR1.2
Lietačik získava z GDS podrobnosti letu.
SR1.3
Lietačik rezervuje v GDS letenky.
SR1.4
Lietačik zisťuje z GDS stav rezervácie.
SR1.5
Komunikačné rozhranie bude implementované podľa špecifikácie [1].
SR2
Rozhranie ku bankovému systému.
SR2.1
Lietačik vykonáva online BankPay platbu.
SR2.2
Komunikácia so systémom musí prebehnúť podľa špecifikácie [2].
2.1.2 Používateľské rozhrania PR1
Používateľské rozhranie musí byť zladené vo firemných farbách (viď logo a prezentačné materiály [3]).
PR2
Používateľské rozhranie musí byť vytvorené formou web aplikácie.
PR3
Aktualizácie údajov v rámci tej istej stránky budú vykonané pomocou technológie AJAX bez obnovenia celej stránky.
PR4
Systém bude prispôsobený pre nevidiacich – všetky používateľské prvky bude možné ovládať klávesnicou.
2
2.1.3 Hardvérové rozhrania Systém neobsahuje žiadne hardvérové rozhrania.
2.1.4 Softvérové rozhrania SSR1
Lietačik bude vytvorený ako web aplikácia v technológii Java Enterprise Edition 5.
SSR2
Používateľské rozhranie musí korektne fungovať v prehliadačoch Internet Explorer 7, Firefox 3, Opera 9 a Google Chrome.
2.1.5 Komunikačné rozhrania KR1
Po úspešnej rezervácii pošle systém zákazníkovi faktúru emailom.
2.1.6 Inicializačné požiadavky IP1
Do konfiguračných súborov je potrebné zadať prihlasovacie údaje do GDS.
2.2 Funkcie systému Prehľad funkcií, ktoré systém Lietačik poskytuje je znázornený diagramom prípadov použitia na Obrázku 2.
Obrázok 2: Diagram prípadov použitia systému Lietačik
3
2.3 Triedy používateľov a ich vlastnosti Trieda
Popis
Zákazník
Zákazníkom je ľubovoľná fyzická alebo právnická osoba, ktorá má záujem kúpiť si letenku cez Internet. Nakoľko je systém určený pre širokú verejnosť, žiadne ďalšie obmedzenia alebo požiadavky sa na zákazníka nekladú. Predpokladá sa, že k systému budú zákazníci najčastejšie pristupovať z domu, prípadne zamestnania. Zákazníci budú vyžadovať poslanie elektronickej faktúry. Niektorí zo zákazníkov majú záujem o výber konkrétneho sedadla v lietadle.
2.4 Budúca verzia systému Verzia 2 Funkcia
Popis
Ubytovanie
Vyhľadanie a rezervovanie ubytovania vo svetových mestách.
Balík
Súčasné vyhľadanie a rezervovanie letu a ubytovania.
Transport
Priobjednanie odvozu z letiska do ubytovania.
Verzia 3 Funcia
Popis
Pripoistenie
Doplnkové poistenie nad rámec povinného poistenia.
Počasie
Zobrazovanie predpovede a aktuálneho počasia v destinácii.
Vyhliadková plavba
Vyhľadanie a rezervovanie vyhliadkovej plavby v destinácii.
3 Špecifikácia požiadaviek 3.1 Vyhľadaj let 3.1.1 Popis prípadu použitia Označenie:
UC01
Názov:
Vyhľadaj let
Priorita:
vysoká
Popis:
Používateľ si vyhľadá let pomocou definovania vyhľadávacích kritérií (viď Prílohu Dátový slovník). Výsledkom je zoznam letov vyhovujúcich zadaným kritériám.
Vstupné podmienky:
Výstupné podmienky:
Opakovanosť:
stokrát do dňa Krok
Činnosť 4
Bežná cesta:
Alternatívna cesta:
Výnimky:
0.1
Zákazník vyberie možnosť vyhľadanie letu.
0.2
Systém požaduje zadanie vyhľadávacích kritérií.
0.3
Zákazník zadá kritéria.
0.4
Systém zobrazí zoznam letov vyhovujúcich kritériám.
1.1
(po kroku 0.4) Zákazník nastaví časy v časovom filtri (viď 1.3 Slovník pojmov).
1.2
Systém aktualizuje zoznam letov podľa časového filtra.
V1
Boli porušené obmedzenia na vyhľadávacie kritériá (obmedzenia sú definované v Tabuľke 1).
V1.1
Systém zobrazí varovanie o porušení obmedzenia.
V1.2a
Zákazník vyhľadávanie ukončí. Prípad použitia končí.
V1.2b
Zákazník upraví vyhľadávacie kritériá. Prípad použitia pokračuje bodom 0.4.
Tabuľka 1: Zoznam obmedzení vyhľadávacích kritérií Označenie požiadavky vyhľadanieLetu.kritériá.povinnéPoložky vyhľadanieLetu.kritériá.dátum.priamy.kontrolaMinulosť vyhľadanieLetu.kritériá.dátum.spiatočný.kontrolaMinulosť vyhľadanieLetu.kritériá.dátum.spiatočný.kontrolaČasovejNáslednosti vyhľadanieLetu.kritériá.početOsôb.kontrolaDojčat
3.1.2 Funkčné požiadavky Označenie
Popis
vyhľadanieLetu.kritériá.povinnéPoložky
Kontrola, či zákazník vyplnil všetky povinné polia. Povinné údaje sú všetky údaje z vyhľadávacie kritéria (viď Prílohu Dátový slovník) okrem dátum návratu a čas návratu.
vyhľadanieLetu.kritériá.dátum.priamy.kontrolaMin ulosť
Kontrola, či zadaný dátum nepredchádza aktuálnemu dátumu.
vyhľadanieLetu.kritériá.dátum.spiatočný
Ak zákazník zvolí spiatočný let, tak systém si vyžiada aj informácie o dátume a čase odletu z destinácie.
vyhľadanieLetu.kritériá.dátum.spiatočný.kontrolaČ asovejNáslednosti
Kontrola, či zadaný dátum nepredchádza dátumu odletu.
vyhľadanieLetu.kritériá.početOsôb.kontrolaDojčat
Kontrola, či počet dojčiat nie je väčší ako počet dospelých.
vyhľadanieLetu.vyhľadaj.opätovnéHľadanie
Nasledovné hľadanie bude začínať s predvyplnenými 5
údajmi z predchádzajúceho hľadania. vyhľadanieLetu.vyhľadaj.GDS
Vyhľadáva sa online z GDS systému.
vyhľadanieLetu.vyhľadaj.schémaHľadania
Vyhľadáva sa viackrát a z týchto hľadaní sa zostaví. výsledný zoznam letov. Zvyšuje pravdepodobnosť nájdenia vyhovujúceho letu.
vyhľadanieLetu.výsledok.usporiadaj
Výsledný zoznam letov bude používateľovi prezentovaný vzostupne zoradený podľa ceny.
vyhľadanieLetu.výsledok.prázdny
V prípade prázdneho zoznamu letov, systém zákazníka upozorní,že vyhovujúci let sa nenašiel.
vyhľadanieLetu.výsledok.časovýFilter
Systém umožňuje dodatočne filtrovať zoznam letov podľa času odletu a času príletu.
3.2 Rezervuj let 3.2.1 Popis prípadu použitia Označenie:
UC02
Názov:
Rezervuj let
Priorita:
vysoká
Popis:
Zákazník si rezervuje zvolený let tým, že k danému letu vyplní potrebné osobné údaje.
Vstupné podmienky:
Zákazník si vyhľadal let.
Výstupné podmienky:
Opakovanosť:
desiatkykrát do dňa
Bežná cesta:
Krok
Činnosť
0.1
Zákazník vyberie let zo zoznamu.
0.2
Systém vyžiada od zákazníka osobné údaje o prepravovaných osobách, kontaktné a fakturačné údaje.
0.3
Zákazník zadá požadované údaje.
0.4
Zákazník potvrdí akceptovanie prepravovaných podmienok.
0.5
Zákazník si zvolí spôsob platby.
0.6
Systém vykoná rezerváciu.
0.7
Systém zobrazí pokyny pre platbu. Bod rozšírenia pre prípad použitia Vykonaj platbu. Podmienka rozšírenia: zvolený typ platby BankPay.
Alternatívna cesta:
0.8
Systém vypíše rezervačný kód.
1
(po kroku 0.8) Výber sedadla. 6
Bod rozšírenia pre prípad použitia Vyber sedadlo. Výnimky:
V1
Nevyplnené povinné údaje (krok 0.3).
V1.1
Systém zobrazí upozornenie.
V1.2a
Zákazník ukončí rezerváciu. Prípad použitia končí.
V1.2b
Zákazník doplní chýbajúce údaje. Prípad použitia pokračuje bodom 0.4.
V2
Chyba rezervácie (z GDS).
V2.1
Systém zobrazí upozornenie na chybu v rezervácií. Prípad použitia začína odznova.
3.2.2 Funkčné požiadavky Označenie
Popis
rezervácia.formátEmailu
Kontrola zadaného emailu, či spĺňa vzor.
rezervácia.povinnéÚdaje
Kontrola, či zákazník vyplnil všetky povinné polia. Povinné údaje sú všetky údaje z Rezervácie (viď Prílohu Dátový slovník) okrem názvu spoločnosti, IČO a DIČ.
rezervácia.vytvor
Vykoná sa rezervácia v GDS, iba v prípade úspešného ukončenia sa rezervácia zapíše do lokálnej databázy.
rezervácia.rezervujLokálnaDB
Zapíše rezerváciu do lokálnej databázy.
rezervácia.rezervačnýKód
Lokálny rezervačný kód je zhodný s rezervačným kódom získaným z GDS systému.
rezervácia.rezervujGDS
Zapíše rezerváciu do systému GDS.
rezervácia.chybaRezervácie
V prípade neúspešnej rezervácie v systéme GDS sa pokúša túto rezerváciu znovu vykonať, maximálne však 5krát.
3.3 Vyber sedadlo 3.3.1 Popis prípadu použitia Označenie:
UC03
Názov:
Vyber sedadlo
Priorita:
nízka
Popis:
Zákazník si vyberie sedadlo v lietadle. Pre každý segment letu si vyberá sedadlo samostatne.
Vstupné podmienky:
Aspoň pre jeden segment letu je možné vybrať si sedadlo.
Výstupné podmienky:
Opakovanosť:
desiatkykrát do dňa
7
Bežná cesta:
Krok
Činnosť
0.1
Systém zobrazí segmenty, pre ktoré je možné vybrať si sedadlo.
0.2
Zákazník si vyberie segment (viď 1.3 Slovník pojmov).
0.3
Systém zobrazí zoznam voľných sedadiel, ktoré zodpovedajú zvolenej triede letu (viď Prílohu Dátový slovník).
0.4
Zákazník vyberie sedadlo.
0.5
Zákazník priradí sedadlu prepravovanú osobu.
0.6
Pre všetky prepravované osoby zákazník vykoná kroky 0.4, 0.5.
0.7
Zákazník vykoná kroky 0.2 až 0.6 pre všetky segmenty letu.
0.8
Zákazník potvrdí registráciu sedadiel.
Alternatívna cesta: Výnimky:
Nie sú žiadne. V1
Chyba rezervácie (z GDS).
V1.1
Systém zobrazí upozornenie na chybu v rezervácií. Prípad použitia začína odznova.
3.3.2 Funkčné požiadavky Označenie
Popis
vyberSedadlo.rezervujGDS
Ku existujúcej rezervácii v systéme GDS zapíše informácie o rezervovaných sedadlách.
3.4 Vykonaj platbu 3.4.1 Popis prípadu použitia Označenie:
UC04
Názov:
Vykonaj platbu
Priorita:
stredná
Popis:
Realizácia platby prostredníctvom systému BankPay banky Bank a.s.
Vstupné podmienky:
Výstupné podmienky:
Opakovanosť:
do desaťkrát denne
Bežná cesta:
Krok
Činnosť
0.1
Systém presmeruje zákazníka na vstupný bod systému BankPay.
8
0.2
Zákazník realizuje platbu podľa inštrukcií platobného systému.
0.3
Zákazník je presmerovaný späť do systému Lietačik.
Alternatívna cesta:
Nie sú žiadne.
Výnimky:
Nie sú žiadne.
3.4.2 Funkčné požiadavky Označenie
Popis
platba.presmerovanieDoBankPay
Zabezpečí aby sa zákazníkovi zobrazil vstupný bod systému BankPay. Odošle do systému BankPay informácie o platbe.
platba.presmerovanieDoLietačik
Po vykonaní platby zabezpečí aby sa zákazníkovi zobrazil systém Lietačik.
3.5 Zobraz podrobnosti letu 3.5.1 Popis prípadu použitia Označenie:
UC05
Názov:
Zobraz podrobnosti letu
Popis:
Zobrazenie detailnejších informácií o lete.
Vstupné podmienky:
Zákazník si vyhľadal lety.
Výstupné podmienky:
Opakovanosť:
stokrát za deň
Bežná cesta:
Priorita:
Krok
Činnosť
0.1
Zákazník si vyberie let, pre ktorý chce vedieť detail.
0.2
Systém zobrazí detail.
Alternatívna cesta:
Nie sú žiadne.
Výnimky:
Nie sú žiadne.
3.5.2 Funkčné požiadavky Označenie
Popis
detail.GDS
Zistí detail o lete z externého systému GDS.
9
vysoká
3.6 Zisti stav rezervácie 3.6.1 Popis prípadu použitia Označenie:
UC06
Názov:
Zisti stav rezervácie
Popis:
Zobrazenie detailu rezervácie spolu s jej stavom.
Vstupné podmienky:
Výstupné podmienky:
Opakovanosť:
do desaťkrát denne
Bežná cesta:
Krok
Činnosť
0.1
Systém si vyžiada rezervačný kód.
0.2
Zákazník rezervačný kód zadá.
0.3
Systém zobrazí informácie o rezervácií a jej stav.
stredná
Nie sú žiadne.
Alternatívna cesta: Výnimky:
Priorita:
V1
Rezervačný kód neprislúcha žiadnej rezervácií.
V1.1
Systém zobrazí upozornenie. Prípad použitia končí.
3.6.2 Funkčné požiadavky Označenie
Popis
stav.GDS
Zistí stav rezervácie z externého systému GDS.
4 Ďalšie požiadavky 4.1 Výkonnostné požiadavky VP1
Vyhľadávanie letov musí v 90% prípadoch prebehnúť do 20 sekúnd vrátane.
VP2
Dohľadanie podrobností letu nesmie v 90% prípadoch trvať viac ako 5 sekúnd.
VP3
Vykonanie rezervácie musí v 90%prípadoch prebehnúť do 10 sekúnd vrátane.
4.2 Dostupnosť D1
V pracovné dni počas pracovných hodín musí byť dostupnosť systému 99%.
D2
V pracovné dni mimo pracovných hodín a počas víkendov musí byť dostupnosť systému 95%.
10
4.3 Bezpečnostné požiadavky BP1
Pri vykonávaní platby musí komunikácia prebiehať cez bezpečné HTTPS spojenie.
11
Príloha A: Dátový slovník vyhľadávacie kritéria=
letisko odletu +letisko príletu +typ cesty +dátum odletu +čas odletu +(dátum návratu) +(čas návratu) +typ letenky +prestup +počet dospelých +počet mládežníkov +počet detí +počet dojčiat +počet seniorov
typ cesty=
[spiatočná | jednosmerná]
letisko odletu=
* trojpísmenový medzinárodný kód letiska *
letisko príletu=
* trojpísmenový medzinárodný kód letiska *
dátum odletu=
* formát v lokalizovanom tvare *
dátum návratu=
* formát v lokalizovanom tvare *
čas odletu=
[nezáleží | 00:0009:59 | 10:00 – 11:59 | 12:00 – 16:59 | 17:0023:59]
čas návratu=
[nezáleží | 00:0009:59 | 10:00 – 11:59 | 12:00 – 16:59 | 17:0023:59]
typ letenky=
[ekonomická | biznis]
prestup=
[áno | nie] * majú sa vyhľadať aj lety s prestupmi? *
počet dospelých=
* celé číslo od 0 do 8 vrátane *
počet mládežníkov=
* celé číslo od 0 do 8 vrátane *
počet detí=
* celé číslo od 0 do 8 vrátane *
počet dojčiat=
* celé číslo od 0 do 8 vrátane *
počet seniorov=
* celé číslo od 0 do 8 vrátane *
informácia o lete=
prepravca +typ letenky +letisko odletu +dátum odletu +presný čas odletu +letisko príletu +dátum príletu +presný čas príletu 12
+dĺžka cesty +cesta späť dátum odletu +cesta späť čas odletu +cesta späť dátum príletu +cesta späť čas príletu +cesta späť dĺžka cesty prepravca=
* názov prepravnej spoločnosti *
presný čas odletu=
* čas v lokalizovanom tvare *
presný čas príletu=
* čas v lokalizovanom tvare *
dĺžka cesty=
* počet hodín a minút, ktoré trvá celý let vrátane prestupov *
cesta späť dátum odletu=
* ako dátum odletu len pre cestu späť v spiatočnom lete *
cesta späť čas odletu=
* ako čas odletu len pre cestu späť v spiatočnom lete *
cesta späť čas príletu=
* ako čas príletu len pre cestu späť v spiatočnom lete *
cesta späť dĺžka cesty=
* ako dĺžka cesty len pre cestu späť v spiatočnom lete *
detail o lete=
1:*{segment} * segmenty cesty tam * +(1:*{segment}) * segmenty cesty späť *
segment=
letisko odletu +letisko príletu +dátum odletu +čas odletu +dátum príletu +čas príletu +dĺžka segmetu +prepravca +číslo letu
dĺžka segmentu=
* počet hodín a minút, ktoré trvá let nadanom segmente
rezervácia=
1:*{informácie o pasažierovi} +kontaktné informácie +fakturačné informácie +rezervačný kód
informácie o pasažierovi=
meno +priezvisko +dátum narodenia +pohlavie
meno=
* všetky mená okrem priezviska a bez titulu*
priezvisko=
* priezvisko bez titulu *
dátum narodenia=
* dátum v lokalizovanom tvare *
pohlavie=
[muž | žena] 13
kontaktné informácie=
osoba +telefónne číslo +email +(názov spoločnosti) +(IČO) +(DIČ)
osoba=
* meno a priezvisko *
telefónne číslo=
* telefónne číslo ako ľubovolná postupnosť číslic*
email=
* musí obsahovať @ a bodku v spomenutom poradí *
názov spoločnosti=
* názov spoločnosti spolu s právnou formou *
IČO=
* postupnosť číslic *
DIČ=
* postupnosť číslic *
fakturačné informácie=
osoba +ulica +mesto +PSČ +krajina
ulica=
* názov ulice *
mesto=
* názov mesta *
PSČ=
* postupnosť piatich číslic *
krajina=
* názov krajiny *
rezervačný kód=
* postupnosť písmen a číslic *
14