Rajníček - Čechovský - Chovančák- špecifikácia
From Princípy tvorby software
Grantový systém pre ministerstvo
Contents |
Verzia dokumentu
Verzia 1.0 - schválená
Pripravili Ján Rajnícek, Jozef Cechovský, Matej Chovancák
22.03.2010
Úvod
Úcel
Úcelom tohto dokumentu je popísat a podrobne špecifikovat požiadavky grantového systému pre ministerstvo.
Cielové skupiny, návrhy pri cítaní
Tento dokument je urcený pre developerov, projekt manažéra, analytikov, programátorov a zákazníka. Dokument sa odporúca citat v poradí ako je napísaný.
Vysvetlenie pojmov
Stav - urcuje úroven spracovania požiadavky
Krok - cast na ktorú je rozdelená registrácia
Program - oblast do ktorej spadá žiadost
Podprogram - konkrétnejšia oblast v rámci programu
Konvencie
Použité skratky
- CWP - Client Web Portal
- SKC - Servisná komponenta pre komunikáciu
- MGA - Ministerská grantová aplikácia
- SHA - Secure Hashing Algorithm
- SSL - Secure Sockets Layer
Zámer
Tento systém má byt kompletný systém urcený na zautomatizovanie podávania žiadostí o grant prostredníctvom web portálu. Dalej má pomáhat pri vybavovaní žiadostí a ulahcit proces spracovávania žiadosti.
Celkový popis
Perspektíva produktu
Tento produkt je urcený na podávanie žiadostí o grant prostredníctvom webovej aplikácie a následné spracovávanie žiadostí na ministerstve pomocou aplikácie. Produkt bude ulahcovat administratívnu prácu a proces schvalovania grantov.
Architektúra systému
Systém bude rozdelený na viac castí.
- Client Web Portal (CWP)
- Servisná komponenta pre komunikáciu (SKC)
- Ministerská grantová aplikácia(MGA)
- Databáza
Funkcie produktu
Client Web Portal (CWP)
- možnost podat žiadost
- výber programu
- výber podprogramu
- generovanie formulára
- zistenie požiadaviek pre formulár prostredníctvom SKC
- vyplnenie preddefinovaných údajov do formulára
- vyplnenie údajov užívatelom
- validácia
- odoslanie formulára
- operácie so stavom formulára
- uloženie aktuálneho stavu
- nacítanie stavu formulára
- vygenerovanie žiadosti pre tlac
- overenie stavu
Servisná komponenta pre komunikáciu (SKC)
- Validácia údajov
- Ukladanie žiadostí do databázy
- Generovanie kódu žiadosti
- Odoslanie kódu pre CWP
- Získanie dát o žiadosti pre
- Zobrazenie histórie v CWP
- Zobrazenie stavu v CWP
- Vytvorenie session pre používatela MGA , zistenie a priradenie práv pre používatela
- Získanie dát pre potreby MGA
- Zistenie jednotlivých stavov
- Pre spárovanie žiadostí
- Zistenie grantových programov
- Zistenie požiadaviek pre registracné formuláre
- Zistenie žiadostí
- Zistenie pravidiel pre jednotlivé stavy
- Automatické vyradenie nespárovaných žiadostí
Ministerská grantová aplikácia(MGA)
- Spracovanie žiadosti (tzn. prechod jednotlivými stavmi)
- Spárovanie žiadosti
- Potvrdzovanie žiadostí (a) podpísanie ministerstvom
- Správa grantových programov
- Pridávanie programu
- Editovanie programu
- Mazanie programu
- Správa požiadaviek pre registracné formuláre
- Pridávanie požiadavky
- Editovanie požiadavky
- Mazanie požiadavky
- Správa žiadostí
- Zobrazenie žiadosti
- Zmazanie žiadosti
- Správa jednotlivých užívatelov
- Pridanie užívatela
- Špecifikácia práv užívatela
- Editovanie užívatela
- Mazanie užívatela
- Správa zoznamu pravidiel pre jednotlivé stavy
- Logovanie udalostí
Databáza
- Výber dát
- Editovanie dát
- Ukladanie dát
- Mazanie dát
Charakteristika a skupiny používatelov
Administrátor
- tento užívatel má všetky práva
- má prístup ku všetkým funkcionalitám system.
Žiadatel
- má prístupnú celú funkcionalitu web portálu
Pracovníci ministerstva
- budú mat našpecifikované práva, podla ktorých môžu pristupovat k funkcionalitám program (práva budú nadefinované pocas vytvárania konta)
Podrobný popis funkcionality
Client Web Portal (CWP)
Možnost podat žiadost
-
výber programu
- táto funkcionalita umožní výber programu z ktorého žiadatel žiada o grant. Podla výberu programu sa následne zobrazia podprogramy. -
výber podprogramu
- táto funkcionalita umožní výber podprogramu z ktorého žiadatel žiada o grant. Podla výberu podorogramu sa urcuje, ktorý formulár sa zobrazí. -
generovanie formulára
- táto funkcionalita zistí požiadavky pre formulár prostredníctvom SKC a podla typu formulára vyplní preddefinované údaje -
vyplnenie údajov užívatelom
- umožnuje vyplnenie údajov do formulára -
validácia
- odošle vyplnený formulár do SKC a SKC vráti, ci sú vyplnené udaje validné. V prípade, že nie sú, SKC pošle výpis polícok ktoré nevyhovujú -
odoslanie formulára
- umožnuje poslanie validnej žiadosti na ministerstvo. Po odoslaní bude možnost vygenerovat žiadost pre tlac. Každej odoslanej žiadosti bude pridelené unikátne ID, ktoré bude zobrazené užívatelovi
Operácie so stavom formulára
-
uloženie aktuálneho stavu
- táto funkcionalita umožnuje hocikedy pocas vyplnania uložit stav formulára na disk -
nacítanie stavu formulára
- umožnuje nacítanie a vyplnenie údajov do fomulára zo súboru vytvorenom z CWP. V prípade, že nie je súbor korektný alebo nie je uložený stav z toho istého typu formulára vypíše upozornenie
Vygenerovanie žiadosti pre tlac
- vygeneruje žiadost to formátu, ktorý sa dá vytlacit
Overenie stavu žiadosti
- táto funkcionalita umožní po zadaní ID žiadosti zistit v akom sa nachádza stave na ministerstve
Ministerská grantová aplikácia (MGA)
Spracovanie žiadosti
Každá žiadost bude mat stav z ktorého sa dá urcit aká je úroven spracovania. Každý stav bude mat nejaké definované pravidlá podla ktorých bude stav jednoznacne daný. Žiadost bude mat tieto stavy a ich pravidlá.
Stavy
- Žiadost v stave prijatia
- Žiadost v stave spárovania
- Žiadost v stave posudzovania
- Žiadost v stave podpisovania
- Žiadost podpísaná
- Žiadost v stave overenia
- Žiadost podpísaná a uložená
Pravidlá
V jednotlivých stavoch sú nadefinované pravidlá, ktoré musí žiadost splnat na prechod do dalšieho stavu.
- Žiadost v stave prijatia
- Žiadost musí mat korektne vyplnené jednotlivé položky, kde ich korektnost sa overí pomocou validacných funkcií.
- Žiadost musí obsahovat štruktúrovaný popis projektu
- Žiadost nemôže byt staršia ako pol roka, inak je odstránená zo zoznamu
- Žiadost v stave spárovania
- Kód elektronickej žiadosti musí odpovedat kódu vytlacenej žiadosti.
- Žiadost v stave posudzovania
- Žiadost musí byt schválená aspon 3 zo 4 pracovníkov ministerstva, ktorí túto žiadost posudzujú. Svoj súhlas s udelením grantu vyjadria do predom pripraveného formulára, kde zadajú svoj identifikacný kód.
- Žiadost v stave podpisovania
- Žiadost musí prejst procesom podpisovania, ktorý zahrna vytvorenie zahašovanej formy žiadosti a jej následné podpísanie verejným klúcom ministerstva (ktorý majú len oprávnené osoby).
- Žiadost v stave overenia
- Podpis žiadosti sa overí s privátnym klúcom ministerstva.
- Žiadost podpísaná a uložená
Správa grantových programov a podprogramov
Na správu grantových programov a podprogramov bude musiet mat užívatel príslušné práva.
-
Pridávanie programu
- Funkcionalita umožní pridat nový grantový program do zoznamu. Od užívatela sa bude vyžadovat zadat meno nového programu a vybrat ministerskú sekciu, kde bude program patrit - Pridávanie podprogramu
- Funkcionalita umožní pridat nový grantový podprogram už existujúcemu programu . Bude vyžadované zadat meno nového podprogramu. - Editovanie programu
- Funkcionalita umožní editovat existujúci grantový program zo zoznamu. Umožní zmenit meno programu, pridat, editovat, mazat podprogram. Umožní zmenu požiadaviek pre registracné formuláre pomocou Správy požiadaviek pre registracné formuláre. - Editovanie podprogramu
- Funkcionalita umožní editovat existujúci grantový podprogram. Zmenit mu meno, zmenit zoznam pravidiel pre jednotlivé stavy podprogramu. - Mazanie programu
- Funkcionalita umožní mazat existujúci grantový program zo zoznamu. - Mazanie podprogramu
- Funkcionalita umožní mazat existujúci grantový podprogram.
Správa požiadaviek pre registracné formuláre
Na správu požiadaviek pre registracné formuláre bude musiet mat užívatel príslušné práva.
- Pridanie požiadavky
- Užívatel po zvolení programu bude mat umožnené pridat novú položku (požiadavku) do formulára a nadefinovat spôsob jej validácie v SKC. - Mazanie požiadavky
- Umožní zmazat požiadavku z formulára, pricom za zmaže aj jej validácia v SKC.
Správa žiadostí
- Zobrazenie žiadosti
- Zobrazí všetky žiadosti, podpísané i nepodpísané - Zmazanie žiadosti (treba mat príslušné oprávnenie)
- Umožní zmazat žiadost zo zoznamu, pricom sa odošle mail žiadatelovi o zmazaní jeho žiadosti
Správa jednotlivých užívatelov
- Na správu jednotlivých užívatelov bude musiet mat užívatel príslušné práva.
- Pridanie užívatela
- Funkcionalita umožní pridat nového používatela a špecifikovat mu užívatelské práva. Nového užívatela bude možné vybrat len zo zoznamu ministerských zamestnancov. Nový používatel bude upozornený mailom o vytvorení konta. - Špecifikácia práv užívatela
- Umožní špecifikovat práva užívatela, pricom bude povolné menit práva len používatelom s nižšími právami ako má užívatel samotný a nastavenie práv bude možné takiež len do užívatelovej úrovne. - Editovanie užívatela
- Umožní editovat práva už existujúceho užívatela pomocou rozhrania pre špecifikáciu práv užívatela. Používatel bude upozornený mailom o zmene práv. - Mazanie užívatela
- Funkcionalita umožní vymazat užívatela zo zoznamu.
Logovanie udalostí
Funkcia zaznamenáva všetky chyby a výnimky, ktoré nastali pocas behu program. V prípade nového záznamu sa automaticky obsah log súboru odošle na špecifikovanú mail adresu. A na preddefinované telefónne císlo sa odošle SMS správa o chybe.
Servisná komponenta pre komunikáciu (SKC)
Uloženie žiadosti
- Validácia údajov
- Funkcia skontroluje všetky položky v registracnom formulari, podla nadefinovaných pravidiel pre jednotlivé položky. - Generovanie kódu žiadosti
- Funkcia vygeneruje náhodný textový retazec, skontroluje jeho výskyt v databáze. - Odoslanie kódu pre CWP
- Pošle textový retazec do CWP.
Získanie dát o žiadosti pre
- Zobrazenie histórie v CWP
- Funkcia získa dáta o histórii žiadosti a odošle ich so CWP - Zobrazenie stavu v CWP
- Funkcia získa dáta o stave žiadosti a odšle ich do CWP.
Vytvorenie session pre používatela MGA , zistenie a priradenie práv pre používatela
Funcionalita vytvorí session pre užívatela na základe získaných dát o užívatelovi z databázy a priradí mu príslušné práva. Pocas celej doby používania aplikácie bude užívatel vystupovat pod touto session.
Získanie dát pre potreby MGA
- Zistenie jednotlivých stavov
- Zistí stavy príslušiace k danému podprogramu - Pre spárovanie žiadostí
- Zistí kód priradený k neschválenej žiadosti na základe mena a priezviska žiadatela a podprogramu - Zistenie grantových programov
- Zistí grantové programy uložené v databázi - Zistenie požiadaviek pre registracné formuláre
- Zistí požiadavky pre konkrétny registracný formulár - Zistenie žiadostí
- Vytvorí zoznam všetkých požiadaviek v databáze - Zistenie pravidiel pre jednotlivé stavy
- Zistí pravidlá pre konkrétny stav v konkrétnom podprograme
Automatická správa žiadostí
Všetky nepodpísané žiadosti, ktoré sú staršie ako pol roka a stále sa nachádzajú v stave prijatia budú automaticky odstránené.
Nefunkcné požiadavky
Prostredie pre nasadenie
CWP – portál bude optimalizovaný pre prehliadace(Mozzila Firefox .., Internet Explorer 8, Google Chrome) , pre rozlíšenie 1280x800 pixelov.
MGA – aplikácia bude optimalizovaná pre tieto operacné systémy: Windows XP SP2, Windows Vista, Windows 7. Aplikácia bude používat .NET 3.0 framework.
SKC – server s nainštalovaným operacným systémom Windows Server 2008 a s nainštalovaným .NET 3.0 frameworkom.
Databáza – databázový server s nainštalovaným Oracle DBMS.
Požiadavky na výkon
Systém bude dimenzovaný pre spracovanie cca 1000 žiadostí denne. Pricom v jednom momente bude musiet systém zvládat obslúžit minimálne 200 užívatelských požiadaviek naraz. Databáza bude optimalizovaná pre aspon 10000 transakcií denne.
Bezpecnostné požiadavky
Komunikácia medzi jednotlivými komponentmi systému bude prebiehat šifrovane cez SSL protokol. Citlivé dáta v databáze budú uložené šifrovane pomocou SHA256 šifrovacieho algoritmu. Pre používanie MGA aplikácie bude nutná autentizácia užívatela prostredníctvom SKC komponenty.
Testovacie požiadavky
Testovacia fáza projektu bude musiet byt v trvaní minimálne 1 mesiac. Po nasadení softvéru bude prebiehat dalšie testovanie, kde bude nutné splnit podmienku 2-tyždnovej bezchybnej prechádzky. Testy sa budú delit na testy bezpecnosti, integrity dát a zátažové testy zamerané na výkon systému.
