Lajtos - Lorincz - Pnacek - specifikacia

From Princípy tvorby software

Jump to: navigation, search

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

Cvičenia z PTS


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

  1. Používateľ vloží svoje prihlasovacie údaje do formuláru.
  2. Používateľ potvrdí správnosť údajov a stlačí tlačítko "Prihlásiť".
  3. Systém následne overí identitu prihlasovaného užívateľa.
  4. Po úspešnom prihlásení môže používateľ vykonávať povolené operácie

Funkčné požiadavky

  1. 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

  1. Úspešné prihlásenie sa do systému.
  2. Výber položky "Zoznam prítomných žiakov" alebo "Zoznam neprítomných žiakov" z navigácie.
  3. Výber požadovanej miestnosti pre zobrazenie zoznamu.
  4. Zobrazenie zoznamu užívateľovi.
  5. Možné dodatočné filtrovanie zoznamu podľa rôznych údajov.

Funkčné požiadavky

  1. Osoba musí byť registrovaný používateľ
  2. Používateľ musí byť prihlásený v systéme
  3. 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

  1. Prihlásenie sa do systému.
  2. V navigácii vybrať položku "Ospravedlnenie žiaka".
  3. Používateľ má na výber, či chce ospravedlniť dodatočne alebo vopred. Ak dodatočne je mu zobrazený zoznam neprítomností žiaka.
  4. 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.
  5. Odoslanie a spracovanie formuláru.

Funkčné požiadavky

  1. Osoba musí byť registrovaný používateľ
  2. Používateľ musí byť prihlásený v systéme
  3. 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

  1. Prihlásenie sa do systému.
  2. Z navigácie vybrať položku "Čítačky čipových kariet".
  3. Používateľ môže zoznam čítačiek filtrovať podľa časti budovy, označenia miestnosti ku ktorej čítačka prislúcha, atď.
  4. 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

  1. Osoba musí byť registrovaný používateľ
  2. Používateľ musí byť prihlásený v systéme
  3. 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

  1. Prihlásenie sa do systému.
  2. Z navigácie vybrať položku "Lokalizácia osôb".
  3. Používateľ zadá meno osoby, ktorú chce nájsť a potvrdí požiadavku.
  4. Systém vráti informáciu o pozícií osoby - konkrétnu miestnosť alebo že sa v budove nenachádza.
  5. Ak sa osoba presunie do inej miestnosti, používateľ bude na to upozornený.

Funkčné požiadavky

  1. Osoba musí byť registrovaná v systéme
  2. 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

  1. Prihlásenie sa do systému.
  2. Z navigácie vybrať položku "Správa užívateľov".
  3. 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.
  4. Po editácií užívateľ potvrdí vykonané akcie, ktoré sa prejavia v databáze.

Funkčné požiadavky

  1. Osoba musí byť registrovaný používateľ
  2. Používateľ musí byť prihlásený v systéme
  3. 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

Príloha: Use case diagram

Use Case Diagram

Personal tools