ŠPECIFIKÁCIA POŽIADAVIEK NA SOFTVÉRdai.fmph.uniba.sk/courses/tvorbaIS/ex/specifikacia_pozia...1...
Transcript of ŠPECIFIKÁCIA POŽIADAVIEK NA SOFTVÉRdai.fmph.uniba.sk/courses/tvorbaIS/ex/specifikacia_pozia...1...
FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍSLOVENSKÁ TECHNICKÁ UNIVERZITA
letný semester 2008/2009
Pavel ParoulekMartin PaulechAlexander Šimko
ŠPECIFIKÁCIA POŽIADAVIEK NA SOFTVÉR
LIETAČIK
Obsah1Úvod.........................................................................................................................................................1
1.1Predmet špecifikácie.........................................................................................................................11.2Rozsah projektu a funkcie systému...................................................................................................11.3Slovník pojmov, Skratky...................................................................................................................11.4Odkazy..............................................................................................................................................1
2Celkový opis.............................................................................................................................................12.1Kontext systému................................................................................................................................12.2Funkcie systému...............................................................................................................................32.3Triedy používateľov a ich vlastnosti.................................................................................................42.4Budúca verzia systému.....................................................................................................................4
3Špecifikácia požiadaviek..........................................................................................................................53.1Vyhľadaj let.......................................................................................................................................53.2Rezervuj let.......................................................................................................................................63.3Vyber sedadlo...................................................................................................................................83.4Vykonaj platbu..................................................................................................................................93.5Zobraz podrobnosti letu....................................................................................................................93.6Zisti stav rezervácie........................................................................................................................10
4Ďalšie požiadavky..................................................................................................................................104.1Výkonnostné požiadavky................................................................................................................104.2Dostupnosť......................................................................................................................................114.3Bezpečnostné požiadavky...............................................................................................................11
Príloha A: Dátový slovník........................................................................................................................12
ii
1 Úvod
1.1 Predmet špecifikácieTá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émuSysté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émuLietač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
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
Obrázok 1: Kontext systému Lietačik
2.1.3 Hardvérové rozhraniaSysté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émuPrehľad funkcií, ktoré systém Lietačik poskytuje je znázornený diagramom prípadov použitia na Obrázku 2.
3
Obrázok 2: Diagram prípadov použitia systému Lietačik
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: 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.
Alternatívna cesta: 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.
Výnimky: 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žiadavkyvyhľ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 Popisvyhľ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.kontrolaMinulosť
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
Krok Činnosť
Bežná cesta: 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.
0.8 Systém vypíše rezervačný kód.
Alternatívna cesta: 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
Krok Činnosť
Bežná cesta: 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: Nie sú žiadne.
Výnimky: 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
Krok Činnosť
Bežná cesta: 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 Priorita: vysoká
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ň
Krok Činnosť
Bežná cesta: 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
3.6 Zisti stav rezervácie
3.6.1 Popis prípadu použitia
Označenie: UC06 Názov: Zisti stav rezervácie Priorita: stredná
Popis: Zobrazenie detailu rezervácie spolu s jej stavom.
Vstupné podmienky:
Výstupné podmienky:
Opakovanosť: do desaťkrát denne
Krok Činnosť
Bežná cesta: 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.
Alternatívna cesta: Nie sú žiadne.
Výnimky: 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íkvyhľ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