Rajníček - Čechovský - Chovančák- špecifikácia

From Princípy tvorby software

Jump to: navigation, search

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.

Prípady použitia

Personal tools