Mittefunktsionaalsed nõuded
Käesolev dokument kirjeldab e-ehituse platvormi rakenduste mittefunktsionaalseid nõudeid koos viidetega vastavatele allikatele või täiendavale infole.
Nõude kirjeldus | Kategooria | |
1. | Rakenduse arhitektuur peab lähtuma EHR arhitektuuridokumendist. | arhitektuur |
2. | Rakenduse kasutajaliides peab olema juurdepääsetav ning vastama vähemalt Web Content Accessibility Guidelines (WCAG) 2.1 tasemele AA. | kasutajaliides |
3. | Rakenduse kasutajaliides peab olema kasutatav järgmiste veebibrauseritega: Chrome, Safari, Firefox, Edge, AndroidChrome ja IOS lehitsejad. | kasutajaliides |
4. | Rakenduse kasutajaliides peab ühilduma täielikult HTML5, CSS3 ja Javascript kehtivate standarditega ning kõikide nõutud veebilehitsejate viimaste versioonidega. | kasutajaliides |
5. | Rakenduse kasutajaliides peab kohanduma erinevate ekraanivaadetega (arvuti, tahvel ja mobiiltelefon). | kasutajaliides |
6. | Rakenduse kasutajaliidese disainiotsused tuleb tellijaga kooskõlastada. | kasutajaliides |
7. | Rakenduse kasutajaliides peab olema tehtud lähtudes värskeimatest UX trendidest. | kasutajaliides |
8. | Rakenduse kasutajaliidese kujunduses tuleb lähtuda e-ehituse stiiliraamatust. | kasutajaliides |
9. | Rakenduse kasutajaliidese aluskomponentideks on MTA komponendid. | kasutajaliides |
10. | Kasutajaliidese komponendid peavad olema dokumenteeritud. | kasutajaliides |
11. | Kasutajaliidese komponendi Git projekti readme.md failis peab olema (vt näidisfail Ehitise kehtivate andmete teenus ja Swagger):
| kasutajaliides |
12. | Rakendus peab töötama veebibrauseritega, mis toetavad ID-kaarditarkvara 2 viimast versiooni. | eID |
13. | Rakendus peab kasutama kasutaja tuvastamiseks keskset TARA autentimisteenust. | eID |
14. | Arendusprojekti juhtimiseks ja projekti läbiviimiseks kasutatakse MKM projektijuhtimistarkvara Jira. (Selgitus: Arendustööde tellimused ja tarkvaravigade haldamine.) | organisatsioon |
15. | Arendusprojekti käigus loodav lähtekood esitatakse dokumenteerituna läbi koodihalduskeskkonna: https://git.ehr.ee/projekti_nimi. | organisatsioon |
16. | Arendusprojekti käigus loodavate rakenduste versioone tähistatakse vastavalt Semver 2.0 standardile „versioon-x.x.x”. Versiooni numbrid peavad kajastuma koodihoidla Git Tag’ ides. | organisatsioon |
17. | Statistilisi parameetreid mõõdetakse Google Analytics keskkonna kaudu. (Selgitus: Tellija annab omalt poolt vastava Google Analytics konto andmed.) | analüütika |
18. | Jõudluse parameetrid:
| kvaliteet |
19. | API rakenduse endpoint-id peavad olema vastavuses juhendiga EHR API teenuste nimetused ja teenuste kirjeldamine. | kvaliteet |
20. | API rakenduse kõik „route“-d peavad olema varustatud Katalon testiga, mis testib sisend/väljundit ja kiirust. | kvaliteet |
21. | Rakendus peab tagama isikuandmete töötlemise vastavalt isikuandmete kaitse üldmäärusele ja isikuandmete kaitse seadusele: Euroopa Parlamendi ja nõukogu määrus (EL) 2016/679, 27. aprill 2016. | infoturve |
22. | Rakenduse ja andmebaasi turvalisuse tagamiseks tuleb järgida OWASP-i parimaid praktikaid: OWASP Cheat Sheet. | infoturve |
23. | Rakendus ei tohi lubada ühe kasutajaga mitut samaaegset sessiooni. | infoturve |
24. | Rakenduse ja kasutaja vaheline infovahetus tohib käia ainult üle HTTPS protokolli. | infoturve |
25. | Rakendus peab olema kirjutatud arvestades töödeldavatele andmetele määratud ISKE turvaklassi nõudeid. (Selgitus: ISKE turvaklassi täpsustab Tellija. Täpsem info RIA infoturbe lehel.) | infoturve |
26. | Krüptograafiliste algoritmide valimisel lähtuda RIA krüptograafiliste algoritmide elutsükli uuringutest. | infoturve |
27. | API rakendus peab olema turvatud Denial-Of-Service (DOS), Cross-Site-Scripting (XSS), Brute Force ja SQL/NoSQL Injection rünnakute vastu. | infoturve |
28. | API peab sisaldama: …/version route‘i, mis tagastab API kehtiva versiooni ja k8s liveness probe, mille abil K8s kontrollib API rakenduse „elus“ olekut. | infoturve |
29. | Loodav infosüsteem majutatakse riigipilve keskkonda ning sellega tuleb arvestada arhitektuuri planeerimisel. | infra |
30. | Eelistatud on vabavaraliste andmebaaside platvormide kasutamine, nt PostgreSQL. | infra |
31. | Rakendusserverite ja andmebaasi teenuste jooksutamise tuleb kasutada plokksalvestuskeskkonda. | infra |
32. | Faililao loomisel eelistatakse objektsalvestuskeskkonna kasutamist S3 REST API-ga. | infra |
33. | Rakenduse logimine peab vastama isikuandmete kaitse seaduses §36 kehtestatule. | andmekaitse |
34. | Automaatseks rakenduse ehitamiseks ja paigaldamiseks kasutame Gitlab CI/CD töövooge koos Docker‘iga. | DevOps |
35. | Rakendused käitatakse Docker konteinerites Kubernetese klastrites. Kubernetes haldamiseks kasutame Rancher’it. | DevOps |
36. | Kubernetesesse paigalduseks tuleb rakendusele lisada Helm chart, mis arvestab, et rakendust paigaldatakse erinevatesse Rancher projektidesse. | DevOps |
37. | Helm chart peab sisaldama paigalduse juhendit koos rakenduse tööks vajalike secretite ja configmap muutujate kirjeldusega failis app-readme.md ning paigalduseks vajalike muutujate kirjeldusi failis questions.yml. | kvaliteet |
38. | Rakenduse kasutajaliidese kood peab olema silutud ning linter “Eslint“ Airbnb reeglitele vastav väljund ei tohi sisaldada vea ning hoiatusteateid. | kvaliteet |
39. | Rakenduse testimiseks peavad olema koostatud testilood ning igale testiloole peab olema koostatud sellele vastav Katalon automaattest. Automaattestid peavad töötama ilma vigadeta. | kvaliteet |
40. | Rakendusele html kujul kasutusjuhendit tuleb täiendada ja viia see vastavusse rakenduses tehtud muudatustega. | kvaliteet |
41. | Kasutajajuhendi stiil lähtub e-ehituse stiiliraamatust . | kvaliteet |
42. | Kasutusjuhend peab olema kasutusloo põhine, ehk juhendama kasutajat samm sammult iga konkreetse kasutusloo läbiviimisel. | kvaliteet |
43. | Kasutusjuhendi kirjutamisel tuleb lähtuda nendest juhistest. | kvaliteet |
44. | Kasutajajuhend peab olema kontekstipõhiselt lingitud kasutajaliidese elementidega. | kvaliteet |
45. | Rakendusele peab olema koostatud paigaldusjuhend ja taasteplaan. | turve |
46. | Rakenduse loomisel tuleb arvestada võimalusega muuta see mitmekeelseks (nt inglise, eesti, vene). | kasutajaliides |
47. | Rakendused peavad väljastama logikirjed JSON formaadis. | infoturve |
Viimati muudetud 30.01.2023