Lajtos - Lorincz - Pnacek - specifikacia
From Princípy tvorby software
Contents
|
Úvod
Účel
Táto špecifikacia sa zaoberá popisom softvéru Dochádzkový/Prístupový systém pre školu. Primárne je vytvorený pre určenie rozsahu a definovanie funkcionality projektu. Produkt zabezpečuje úplné sledovanie pohybu v budove. Softvér bude mat seriovú verziu 1.0.
Konvencie
Text je rozdelený do kapitol a podkapitol, ktoré sú zvýraznene tučným písmom. V niektorých častiach su použité nasledujúce skratky:
- PHP - Hypertext Preprocessor
- SQL - Structured Query Language
- HTML - Hypertext Markup Language
- CSS - Cascading Style Sheets
- XSS - Cross Site Scripting
Komu je dokument určený
Dokument je halvne určený pre programátorský a testovací tím softvéru. Niektoré casti sú však určene pre administrátorov (kapitoly 3, 4, 5) a aj pre zákazníkov (kapitoly 1, 5.3).
Ciele produktu
Cieľom tejto aplikácie je evidencia príchodov a odchodov žiakov, učiteľov, zamestnancov, či iných návštevníkov školy, pomocou čipových kariet a terminálov. Vstup návštevníka do miestností je podmienený pridelenými právami vlastníka karty a zároveň je pohyb danej osoby v budove monitorovaný systémom.Vďaka evidencií príchodov/odchodov vie systém generovať zoznam meškajúcich, resp. neprítomných osôb. Neprítomný alebo meškajúci žiak môže byť vopred alebo dodatočne ospravedlnený rodičom.
Referencie
Celkový popis
Perspektívy produktu
Aplikácia bude integrovaná so študentským systémom, ak je dostupný. V inom prípade bude slúžiť ako samostatný systém.
Funkcie produktu
Systém obsahuje nasledovnú funckionalitu:
- evidencia príchodov a odchodov osôb
- generovanie zoznamu neprítomných/meškajúcich osôb
- povolenie vstupu do miestnosí v budove podľa pridelených práv
- ospravedľňovanie neprítomnosti osôb
- monitorovanie pozície osoby v budove
Kategórie používateľov
Žiak:
- prehliadanie svojich záznamov o príchodoch a odchodoch
- zobrazenie zoznamu jemu prístupných miestností
Rodič:
- prehliadanie záznamov žiaka o jeho príchodoch a odchodoch
- možnosť ospravedlniť žiaka
Učiteľ:
- prehliadanie svojich záznamov o príchodoch a odchodoch
- zobrazenie zoznamu jemu prístupných miestností
- generovanie zoznamu (ne)prítomných osôb v danej miestnosti
Riaditeľ:
- možnosť monitorovať všetky osoby v systéme
- generovanie zoznamu (ne)prítomných osôb vo všetkých miestnostiach budovy
- prideľovanie práv používateľom
- možnosť vypnutia čítačiek v jednotlivých miestnostiach
Administrátor:
- možnosť globálneho vypnutia čítačiek vo všetkých miestnostiach
- správa používateľov (pridávanie/odoberanie používateľov)
- prideľovanie práv používateľom
Návštevník:
- nevie sa prihlásiť do systému
- pri začiatku návštevy je oboznámený s tým, kde má povolený vstup
Operačné prostredie
Systém beží na dedikovanom serveri v školských priestoroch, na ktorý sú napojené čítačky čipových kariet. Informácie z nich sa ukladajú do databázy. Používatelia majú prístup k systému sprostredkovaný cez internet.
Systém potrebuje k behu PHP 5.x a Zend Framework vo verzií 1.10. Ako databázové úložisko je potrebbné MySQL 5.x. Ako webserver bude použitý Apache 2.1. Použitý operačný systém je Debian GNU/Linux 5.0.
Klientska časť bude využívať HTML 5, CSS 3 a JavaScript (DoJo toolkit), teda klient musí mať nainštalovaný moderný webový prehliadač (Internet Explorer 8, Mozilla Firefox 3, Opera 10, …).
Návrhové a Implementačné Obmedzenia
- Dĺžka odozvy systému pri prihlásení je maximálne 500 milisekúnd
Užívateľské príručky
- návod obsluhu aplikácie(užívateľská príručka)
- administrátorský manuál
- online nápoveď pre rodičov
Predpoklady a Závislosti
Aplikácia bude používať nasledujúce moduly zo Zend Frameworku
- Zend_Auth - zabezpečuje autorizáciu do systému
- Zend_Acl - povoľuje užívateľom prístup do systému podľa pridelených práv
- Zend_Cache - modul na správu cachovania údajov na serveri
Požiadavky externého rozhrania
Užívateľské rozhranie
Užívateľské rozhranie tvorí internetová aplikácia, rozdelená do troch častí:
- Administrátorské rozhranie: umožňuje si pozriet prítomných a neprítomných ľudi v škole; dovoluje pridať a odstrániť uživatelov, príp. zmenit si používatelské meno a heslo.
- Študentsé rozhranie: dovoluje iba si pozriet vlastné vstupy a výstupy do jednotlivých miestnostiach.
- Rodičské rozhranie: dovoluje si pozriet pohyb vlastného dieťaťa v škole a tiez napísať ospravedlnenku.
Hardvérové rozhranie
- CPU: Intel Core i7 930 @ 2.8GHz
- RAM: 12GB - 6x DDR3 2GB
- HDD: 4x 500GB, 32M cache, WD Caviar Black
- HDD-Backup: 1.5TB SEAGATE Barracuda 7200.11
- Sieťová karta: INTEL PRO/1000 PT Server Adapter
Softvérové rozhranie
- Debian GNU/Linux 5.0
- MySQL 5.x
- PHP 5.x
Komunikačné rozhranie
Aplikácia využíva šifrované ssl pripojenie cez internet. Čítačka kariet pošle spravu do systému podla toho, čo chce užívatel robiť (ENTER alebo LEAVE). Systém podľa tej spravy a údajov z databázy sa rozhodne, a pošle odpoveď naspät (ALLOWED alebo DENIED).
Funkcionalita systému
Prihlásenie do systému
Opis a priorita
Používateľ sa do systému prihlasuje pomocou prihlasovacieho formuláru na webovej stránke systému.
Stimuly/Odozva
- Používateľ vloží svoje prihlasovacie údaje do formuláru.
- Používateľ potvrdí správnosť údajov a stlačí tlačítko "Prihlásiť".
- Systém následne overí identitu prihlasovaného užívateľa.
- Po úspešnom prihlásení môže používateľ vykonávať povolené operácie
Funkčné požiadavky
- Osoba musí byť registrovaný užívateľ, t.j. všetky role okrem návštevníka
Generovanie zoznamu (ne)prítomných osôb
Opis a priorita
Učitelia, riaditeľ a administrátor majú práva na generovanie zoznamu (ne)prítomných osôb. Pomocou nich sa môže zisťovať dochádzka žiakov alebo aj účasť na učiteľských schôdzach, či rodičovských stretnutiach.
Stimuly/Odozva
- Úspešné prihlásenie sa do systému.
- Výber položky "Zoznam prítomných žiakov" alebo "Zoznam neprítomných žiakov" z navigácie.
- Výber požadovanej miestnosti pre zobrazenie zoznamu.
- Zobrazenie zoznamu užívateľovi.
- Možné dodatočné filtrovanie zoznamu podľa rôznych údajov.
Funkčné požiadavky
- Osoba musí byť registrovaný používateľ
- Používateľ musí byť prihlásený v systéme
- Používateľ musí mať dostatočné práva (učiteľ/riaditeľ/administrátor)
Ospravedlnenie žiaka
Opis a priorita
Neprítomnosť alebo oneskorenie žiaka je možné osprevedlniť ak má používateľ dostatočné práva. Rodič môže ospravedlniť len svojho potomka. Učiteľ len žiaka na hodine, ktorú vyučuje. Riaditeľ môže ospravedlniť kohokoľvek.
Stimuly/Odozva
- Prihlásenie sa do systému.
- V navigácii vybrať položku "Ospravedlnenie žiaka".
- Používateľ má na výber, či chce ospravedlniť dodatočne alebo vopred. Ak dodatočne je mu zobrazený zoznam neprítomností žiaka.
- Používateľ vyplní dôvôd oneskorenia alebo neprítomnosti. Ak sa jedná o dodatočné ospravedlnenie - dátum, čas, miestnosť sú predefinované, inak vyplní aj tie.
- Odoslanie a spracovanie formuláru.
Funkčné požiadavky
- Osoba musí byť registrovaný používateľ
- Používateľ musí byť prihlásený v systéme
- Používateľ musí mať dostatočné práva na ospravedlnenie daného žiaka
Zapnutie / Vypnutie čítačiek čipových kariet
Opis a priorita
V systéme je možné vypnúť alebo zapnúť všetky alebo len vybrané čítačky čipových kariet v budove.
Stimuly/Odozva
- Prihlásenie sa do systému.
- Z navigácie vybrať položku "Čítačky čipových kariet".
- Používateľ môže zoznam čítačiek filtrovať podľa časti budovy, označenia miestnosti ku ktorej čítačka prislúcha, atď.
- Následne môže každej z nich zmeniť stav, ak má na to dostatočné právo. Ak nemá nebude mu táto akcia ani poskytnutá. Používateľ môže hromadne meniť stavy. Zmeny sa vykonávajú okamžite.
Funkčné požiadavky
- Osoba musí byť registrovaný používateľ
- Používateľ musí byť prihlásený v systéme
- Používateľ musí mať právo na zapnutie/vypnutie čítačky/iek čipových kariet
Monitorovanie pozícií osôb
Opis a priorita
Riaditeľ školy má možnosť monitorovať všetky osoby v budove.
Stimuly/Odozva
- Prihlásenie sa do systému.
- Z navigácie vybrať položku "Lokalizácia osôb".
- Používateľ zadá meno osoby, ktorú chce nájsť a potvrdí požiadavku.
- Systém vráti informáciu o pozícií osoby - konkrétnu miestnosť alebo že sa v budove nenachádza.
- Ak sa osoba presunie do inej miestnosti, používateľ bude na to upozornený.
Funkčné požiadavky
- Osoba musí byť registrovaná v systéme
- Používateľ musí mať dostatočné práva (t.j. rola riaditeľa)
Správa užívateľov
Opis a priorita
Do systému je možné pridávať nových používateľov, ktorí vlastnia čipovú kartu, mazať ich, či editovať ich údaje.
Stimuly/Odozva
- Prihlásenie sa do systému.
- Z navigácie vybrať položku "Správa užívateľov".
- Používateľ vyberie akciu, ktorú chce previesť - "Pridať nového používateľa" alebo editácia existujúcich používateľov, čo zahŕňa aj ich vymazanie zo systému.
- Po editácií užívateľ potvrdí vykonané akcie, ktoré sa prejavia v databáze.
Funkčné požiadavky
- Osoba musí byť registrovaný používateľ
- Používateľ musí byť prihlásený v systéme
- Používateľ musí mať práva na spravovanie používateľov (t.j. byť administrátor systému)
Iné nefunkčné požiadavky
Požiadavky na výkon
- Aplikácia musí zvládať 100 prihlásení / odhlásení na sekundu
- Aplikácia musí zvládať 10 000 prihlásených užívateľov naraz
Ochranné požiadavky
Systém bude spľňať všetky bezpečnostné požiadavky, ohladom na požiar, výpadok elektrického prúdu alebo inej núdzi. Ak sa nastane hocijaký nečakaný problém systemu (napr. výpadok prúdu, zemetrasenie, iné nebezpečenstvo), dvere budu odblokované (buď automaticky alebo manualne prostredníctvom riaditeľa alebo administrátora).
Bezpečnostné požiadavky
- Web rozhranie musí byť odolné voči XSS a SQL injection útokom
Kvalitatívne atribúty aplikácie
- Aplikácia musí byť user-friendly t.j.
- prihlásenie / odhlásenie do systému maximálne na 3 kliky myšou
- stránka musí byť optimalizovaná pre nevidiacich
- Všetky operácie na serveri sa musia vykonávať tranzkačne
- zaručenie ACID pravidiel (Atomicity, Consistency, Durability, Isolation)
Business pravidlá
Aplikácia bude odovzdaná, nainštalovaná a kompletne nakonfigurovaná na školské servery najneskôr do 22.7.2010
