Kovac - Silar - Vince - specifikacia

From Princípy tvorby software

Jump to: navigation, search

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

  1. Aplikácia overí, či je používateľ prihlásený ako administrátor. Pokiaľ používateľ nie je autentifikovaný, zobrazí sa mu prihlasovacia stránka.
  2. Administrátor zvolí v menu aplikácie funkcionalitu „Užívatelia“.
  3. 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.
  4. Aplikácia validuje všetky vstupné polia.
  5. Aplikácia zobrazí administrátorovi používateľov zodpovedajúcich zadaným kritériám
  6. 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).
  7. 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

  1. Aplikácia overí, či je používateľ prihlásený ako správca. Pokiaľ používateľ nie je autentifikovaný, zobrazí sa mu prihlasovacia stránka.
  2. Spráca zvolí v menu aplikácie funkcionalitu „Knihy“.
  3. 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.
  4. Aplikácia validuje všetky vstupné polia.
  5. Aplikácia zobrazí správcovi knihy zodpovedajúce zadaným kritériám.
  6. 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

  1. Aplikácia overí, či je používateľ prihlásený ako knihovník. Pokiaľ používateľ nie je autentifikovaný, zobrazí sa mu prihlasovacia stránka.
  2. 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.
  3. Aplikácia validuje správnosť vstupného poľa.
  4. Aplikácia zobrazí knihovníkovi formulár záznamov o výpožičkách zodpovedajúce danému čitateľovi.
  5. 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

  1. Aplikácia overí, či je používateľ prihlásený ako knihovník. Pokiaľ používateľ nie je autentifikovaný, zobrazí sa mu prihlasovacia stránka.
  2. 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.
  3. Aplikácia validuje správnosť vstupného poľa.
  4. Aplikácia zobrazí knihovníkovi formulár záznamov o výpožičkách zodpovedajúce danému čitateľovi.
  5. 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

  1. Aplikácia overí, či je používateľ prihlásený ako knihovník. Pokiaľ používateľ nie je autentifikovaný, zobrazí sa mu prihlasovacia stránka.
  2. 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.
  3. 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.
  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

  1. Aplikácia overí, či je používateľ prihlásený ako knihovník. Pokiaľ používateľ nie je autentifikovaný, zobrazí sa mu prihlasovacia stránka.
  2. 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.
  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

  1. Čitateľ zadá prihlasovacie údaje a stlačí tlačidlo "Prihlásiť".
  2. 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.
  3. 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.

Prílohy

Use Case Diagram

Personal tools