Kovac - Silar - Vince - specifikacia
From Princípy tvorby software
Software Requirements Specification for "Knižničný systém"
Version 1.0 approved
Prepared by Dávid Kováč, Ján Šilar, Michal Vince
13.03.2010
Contents |
Úvod
Účel dokumentu
Dokument definuje špecifikáciu a popis požiadaviek pre aplikáciu "Knižničný systém", ktorá vo všeobecnosti poskytuje nasledujúcu funkcionalitu:
- práca s knihami (pridávanie, editovanie, vyraďovanie, vyhľadávanie a rezervácie)
- práca s čitateľmi (pridávanie, editovanie, mazanie, vyhľadávanie a blokovanie)
- kontrola dátumov vrátenia
- údaje o výpožičkách
Konvencie
Dokument je rozdelený na niekoľko hlavných kategórii, ktoré sú ďalej rozdelené na podkategórie.
Tabuľka použitých skratiek a pojmov
| Skratka/Pojem | Popis |
|---|---|
|
správca |
administrátor alebo knihovník |
|
user |
bežný užívateľ |
|
aplikácia |
aplikácia Knižničný systém |
Cieľové skupiny
Tento dokument je určený pre pracovníkov knižnice, produktových manažérov, vývojárov a testerov aplikácie.
Celkový popis
Funkcie produktu
- Zobrazenie kníh a informácií o knihách (požičaná, rezervovaná, voľná)
- Hľadanie kníh
- Rezerváciu kníh
- Záznamy o vypožičaní kníh
- Údaje o vrátení knihy (dátum predpokladaného vrátenia a skutočný dátum vrátenia knihy)
- Kontrolu dátumov vrátenia a výpočet pokuty za omeškanie vrátenia knihy
- Pridávanie kníh
- Vyraďovanie kníh
- Úpravu údajov o knihách
- Pridávanie nových čitateľov
- Odoberanie čitateľov
- Úpravu údajov o čitateľoch
Užívateľské skupiny
Užívateľské skupiny predstavujú základné vyjadrenie aktérov alebo rôl používateľov, ktorí so systémom pracujú. Požívateľ systému môže vystupovať vo viacerých rolách.
Administrátor
Administrátor aplikácie. Má oprávnenie pridávať, blokovať a odstraňovať používateľov. Môže pridávať, vyraďovať knihy a modifikovať údaje o knihách.
Knihovník
Môže pridávať, vyraďovať knihy a modifikovať údaje o knihách. Má oprávnenie registrovať nových čitateľov a upravovať ich registračné údaje, požičiavať a prijímať vrátené knihy
Čitateľ
Bežný používateľ aplikácie. Po prihlásení si môže vyhľadať a rezervovať knihy.
Aplikácia
Archivuje staré záznamy, kontroluje dátumy vrátenia, vypočítava pokuty za omeškanie vrátenia knihy. Ukladá záznamy o vypožičaní knihy a dátumy predpokladaného a skutočného vrátenia knihy.
Operačné prostredie
Klientská časť
Aplikácia funguje ako webová aplikácia, preto funkčnosť aplikácie na klientskom počítači nie je závislá od operačného systému. Pre používanie aplikácie na strane klienta je potrebný ľubovoľný prehliadač s podporou JavaScriptu.
Serverová časť
Operačný systém - Linux
Server - Apache HTTP Server 2.2
Databáza - Oracle Server Enterprise Edition 10g Release 2 (10.2.0.4)
Dokumentácia
Sučasťou aplikácie bude aj dodanie Užívateľskej príručky.
Požiadavky externého rozhrania
Užívateľské rozhranie
Užívateľské rozhranie je grafické a je zobrazované na dynamicky generovanej webovej stránke. Užívateľ pracuje s aplikáciou používaním textových polí, check-boxov, tlačidiel a linkov. Pre prácu s aplikáciou je potrebné, aby bol užívateľ prihlásený, preto sa ako prvá stránka zobrazuje stránka s formulárom pre prihlásenie - formulár obsahuje vstupné polia Prihlasovacie meno a Heslo. Po úspešnom prihlásení sa užívateľovi zobrazí menu s funkcionalitami, ktoré môže užívateľ vykonať. Zoznam funkcionalít je závislý od toho, do ktorej užívateľskej skupiny užívateľ patrí.
Hardvérové rozhranie
Pre používanie aplikácie je potrebný počítač s pripojením na Internet.
Softvérové rozhranie
Na ukladanie dát slúži databáza Oracle Server Enterprise Edition 10g Release 2 (10.2.0.4). Aplikácia je napísaná v jazyku PHP5 (modul Oracle OCI) a beží na serveri Apache HTTP Server 2.2.
Komunikačné rozhranie
Aplikácia používa HTTP protokol na komunikáciu medzi klientom a serverom.
Funkcie systému
Správa používateľov
Opis a priorita
Funkčnosť umožňuje administrátorovi zobraziť prehľad všetkých registrovaných používateľov aplikácie. Prehľad používateľov je možné filtrovať na základe zadaných kritérií. Administrátor má možnosť pridať, zablokovať resp. odblokovať a vymazať používateľa z databázy. Priorita je normálna.
Stimuly a odozva
- Aplikácia overí, či je používateľ prihlásený ako administrátor. Pokiaľ používateľ nie je autentifikovaný, zobrazí sa mu prihlasovacia stránka.
- Administrátor zvolí v menu aplikácie funkcionalitu „Užívatelia“.
- Administrátor vyberie kritéria, podľa ktorých má aplikácia filtrovať záznamy a stlačí tlačidlo:
- „Zobraziť“ - aplikácia pokračuje bodom 4.
- „Odstrániť kritéria“ – aplikácia odstráni všetky hodnoty vo filtri.
- Aplikácia validuje všetky vstupné polia.
- Aplikácia zobrazí administrátorovi používateľov zodpovedajúcich zadaným kritériám
- Administrátor môže v zozname:
- Zobraziť podrobnosti účtu kliknutím na funkcionalitu „Detaily“. V prípade potreby zablokovať/odblokovať, zmeniť práva alebo vymazať daného užívateľa kliknutím na príslušnú funkcionalitu.
- Povoliť (pridať) nového používateľa(knihovníka, admina).
- Administrátor ďalej môže:
- Vykonávať správu kníh – viď. funkcionalitu "Správa kníh"
Funkčné požiadavky
- počítač s pripojením na internet
Správa kníh
Opis a priorita
Funkčnosť umožňuje správcovi zobraziť prehľad všetkých kníh databázy. Prehľad kníh je možné filtrovať na základe zadaných kritérií. Správca má možnosť pridať, vyradiť a upravovať knihy v databáze. Priorita je normálna.
Stimuly a odozva
- Aplikácia overí, či je používateľ prihlásený ako správca. Pokiaľ používateľ nie je autentifikovaný, zobrazí sa mu prihlasovacia stránka.
- Spráca zvolí v menu aplikácie funkcionalitu „Knihy“.
- Správca vyberie kritéria, podľa ktorých má aplikácia filtrovať záznamy a stlačí tlačidlo: „Odstrániť kritériá“ - aplikácia odstráni všetky hodnoty vo filtri.
- Aplikácia validuje všetky vstupné polia.
- Aplikácia zobrazí správcovi knihy zodpovedajúce zadaným kritériám.
- Správca môže v zozname:
- Zobraziť podrobnosti knihy kliknutím na funkcionalitu „Detaily“. V prípade potreby editovať zobrazené údaje alebo vymazať danú knihu kliknutím na príslušnú funkcionalitu.
- Po kliknutí na funkcionalitu „Pridať knihu“ sa zobrazí prázdny formulár na pridanie novej knihy do databázy. Po jeho vyplnení a odoslaní sa kniha zapíše do databázy.
Funkčné požiadavky
- počítač s pripojením na internet
Archivácia starých záznamov
Opis a priorita
Aplikácia bude archivovať záznamy o všetkých výpožičkách, vráteniach kníh a udelených pokutách za neskoré vrátenie v databáze. Priorita je normálna.
Stimuly a odozva
- Aplikácia overí, či je používateľ prihlásený ako knihovník. Pokiaľ používateľ nie je autentifikovaný, zobrazí sa mu prihlasovacia stránka.
- Knihovník zvolí v menu aplikácie funkcionalitu „Vrátiť knihu“. Po tejto voľbe sa mu zobrazí formulár, do ktorého napíše prihlasovacie meno čitateľa a formulár odošle.
- Aplikácia validuje správnosť vstupného poľa.
- Aplikácia zobrazí knihovníkovi formulár záznamov o výpožičkách zodpovedajúce danému čitateľovi.
- Knihovník zaznačí checkboxy tých kníh, ktoré daný čitateľ vrátil, pričom môžu nastať tieto prípady:
- Po vrátení knihy čitateľom do stanoveného termínu vrátenia, sa z tabuľky Výpožičky odstráni záznam o požičaní a tento istý záznam sa zapíše do archívu.
- Po vrátení knihy čitateľom po stanovenom termíne vrátenia, sa vypočíta pokuta za neskoré vrátenie a zapíše sa do tabuľky Výpožičky. Záznam o požičaní sa odstráni po zaplatení danej čiastky v kolónke pokuta a tento záznam ale aj s vypočítanou pokutou sa zapíše do archívu.
Funkčné požiadavky
- počítač s pripojením na internet
Omeškania a pokuty
Opis a priorita
Aplikácia bude pri každom vrátení knihy kontrolovať, či je kniha včas vrátená. V prípade, že kniha bude vrátená neskôr ako predpokladaný termín vrátenia, aplikácia vypočíta pokutu za omeškanie. Priorita je normálna.
Stimuly a odozva
- Aplikácia overí, či je používateľ prihlásený ako knihovník. Pokiaľ používateľ nie je autentifikovaný, zobrazí sa mu prihlasovacia stránka.
- Knihovník zvolí v menu aplikácie funkcionalitu „Vrátiť knihu“. Po tejto voľbe sa mu zobrazí formulár, do ktorého napíše prihlasovacie meno čitateľa a formulár odošle.
- Aplikácia validuje správnosť vstupného poľa.
- Aplikácia zobrazí knihovníkovi formulár záznamov o výpožičkách zodpovedajúce danému čitateľovi.
- Knihovník zaznačí checkboxy tých kníh, ktoré daný čitateľ vrátil, pričom môžu nastať tieto prípady:
- Po vrátení knihy čitateľom do stanoveného termínu vrátenia, sa z tabuľky Výpožičky odstráni záznam o požičaní a tento istý záznam sa zapíše do archívu.
- Po vrátení knihy čitateľom po stanovenom termíne vrátenia, sa vypočíta pokuta za neskoré vrátenie a zapíše sa do tabuľky Výpožičky. Záznam o požičaní sa odstráni po zaplatení danej čiastky v kolónke pokuta a tento záznam ale aj s vypočítanou pokutou sa zapíše do archívu.
Funkčné požiadavky
- počítač s pripojením na internet
Výpožičky
Opis a priorita
Aplikácia bude pri každom požičaní knihy zapisovať údaje o knihe, čitateľovi a dátumoch vypožičania a vrátenia. Priorita je vysoká.
Stimuly a odozva
- Aplikácia overí, či je používateľ prihlásený ako knihovník. Pokiaľ používateľ nie je autentifikovaný, zobrazí sa mu prihlasovacia stránka.
- Knihovník zvolí v menu aplikácie funkcionalitu „Požičať knihu“. Po tejto voľbe sa mu zobrazí formulár, do ktorého napíše prihlasovacie meno čitateľa a formulár odošle.
- Ak mal čitateľ nejaké rezervované knihy, zobrazí sa ich zoznam. Knihovník cez checkboxy vyberie tie, ktoré si čitateľ požičiava. Knihovník odošle formulár a údaje o vypožičaných knihách a čitateľovi sa zapíšu do tabuľky Výpožičky. Ak si čitateľ nepožičia niektorú rezervovanú knihu, rezervácia prepadne. Ak čitateľ nemal rezervovanú žiadnu knihu, krok č. 3 sa preskočí a pokračuje sa na krok č. 4.
- Knihovník zadá údaje o knihách a odošle formulár a údaje o vypožičaných knihách a čitateľovi sa zapíšu do tabuľky Výpožičky. Na jeden formulár je možne vypožičať najviac 5 kníh, v prípade väčšieho počtu požičaných kníh, sa pokračuje na krok č.2.
Funkčné požiadavky
- počítač s pripojením na internet
Registrácia nového čitateľa
Opis a priorita
Knihovník môže registrovať nového čitateľa na základe údajov poskytnutými čitateľom, ktoré si knihovník overí podľa preukazu totožnosti čitateľa. Priorita je normálna.
Stimuly a odozva
- Aplikácia overí, či je používateľ prihlásený ako knihovník. Pokiaľ používateľ nie je autentifikovaný, zobrazí sa mu prihlasovacia stránka.
- Knihovník zvolí v menu aplikácie funkcionalitu „Registrácia“. Po tejto voľbe sa mu zobrazí registračný formulár s poliami pre údaje potrebné k registrácii, ktorý knihovník vyplní a odošle. Pozn.: Ak je čitateľ už registrovaný, môže knihovníka požiadať o zmenu svojich údajov. Knihovník zvolí v menu aplikácie funkcionalitu „Zmeň údaje“. Po tejto voľbe sa mu zobrazí formulár pre vyhľadanie čitateľa podľa prihlasovacieho mena, po jeho vyplnení a odoslaní sa zobrazí vyplnený registračný formulár s údajmi daného čitateľa. Knihovník potom vyplní zmenené údaje a formulár odošle. Aplikácia ďalej pokračuje na krok č. 3.
- Aplikácia validuje (syntaktickú) správnosť údajov. Ak je validácia úspešná, registrácia prebehla úspešne, inak sa krok č. 2 opakuje.
Funkčné požiadavky
- počítač s pripojením na internet
Manipulácia s knihami
Opis a priorita
Čitateľ po prihlásení do aplikácie môže skontrolovať koľko kníh má požičaných, koľko času mu ostáva do ich vrátenia, koľko bude platiť za prípadné pokuty a môže si rezervovať knihy. Priorita je normálna.
Stimuly a odozva
- Čitateľ zadá prihlasovacie údaje a stlačí tlačidlo "Prihlásiť".
- Aplikácia overí, či je používateľ zadal správne prihlasovacie údaje. V prípade správnosti sa pokračuje na krok č. 3, inak aplikácia vyhodí chybovú hlášku a pokračuje sa na krok č. 1.
- Po úspešnom prihlásení môže čitateľ vykonať nasledujúce operácie:
- Pozrieť zoznam kníh, ktoré má vypožičané a aká doba mu ostáva do ich vrátenia.
- Pozrieť, či za nejakú knihu bude platiť pokutu.
- Rezervovať knihy z databázy.
- Zrušiť prípadnú rezerváciu.
Funkčné požiadavky
- počítač s pripojením na internet
Ďalšie nefunkčné požiadavky
Požiadavky na výkon
Aplikácia by mala byť schopná spracovávať údaje pri neobmedzenom počte súčasne prihlásených používateľov.
Požiadavky na bezpečnosť
Údaje v databáze sú pravidelne zálohované, takže nehrozí ich strata alebo znehodnotenie ani pri nečakaných výpadkoch servera. Za ochranu údajov zodpovedá administrátor. Heslá užívateľov sú kódované MD5 hashovaním, v databáze nie sú ukladané v pôvodnej forme, preto nehrozí ich zneužitie.
