| Dokumendiregister | Tervise- ja heaolu infosüsteemide keskus |
| Viit | 6-2/5659-1 |
| Registreeritud | 28.01.2026 |
| Sünkroonitud | 05.02.2026 |
| Liik | Väljaminev kiri |
| Funktsioon | 6 Projektid ja E-teenuste juhtimine |
| Sari | 6-2 Välisvahenditega seotud projektid ja hankedokumentatsioon |
| Toimik | 6-224/4816 |
| Juurdepääsupiirang | Avalik |
| Juurdepääsupiirang | |
| Adressaat | Helmes AS, Helmes AS |
| Saabumis/saatmisviis | Helmes AS, Helmes AS |
| Vastutaja | Maiu Nagel (TEHIK, Äriteenuste osakond, Heaolu valdkond, Arenduste tiim) |
| Originaal | Ava uues aknas |
Hankelepingu projekt
Tervise ja Heaolu Infosüsteemide Keskus (edaspidi tellija), registrikood 70009770, aadress Pärnu
mnt 132, 11317 Tallinn, keda esindab põhimääruse alusel direktor Margus Arm ja
_____ (edaspidi täitja), registrikood_______., aadress ________, keda esindab põhikirja alusel _____,
edaspidi eraldi pool või koos pooled, sõlmisid raamlepingu nr 3-9/4283-1 alusel käesoleva
hankelepingu (edaspidi leping) alljärgnevas:
1. Lepingu ese
1.1. Lepingu esemeks on „SKAIS2 hallatavate teenuste ja nendega seotud tarkvara
arhitektuursete ning tehniliste probleemide alased tööd“ Tehnilises kirjelduses nimetatud
tööd (edaspidi tööd).
1.2. Lepingu tööde maht on kuni 1 132 000 (üks miljon ükssada kolmkümmend kaks tuhat) eurot
ilma käibemaksuta.
2. Töö üleandmise ja vastuvõtmise tingimused
2.1. Täitja annab töö üle vastavuses lepingu lisas 1 kirjeldatud projekti vaheetappide ajakavale,
lepingu lõpptähtaeg on 31.12.2027.
2.2. Töötunni põhise lepingu korral esitab täitja eelmise kuu töötundide ajaaruande, mis sisaldab
teostatud töötunde ja nende jooksul teostatud töid. Ajaaruanne esitatakse allkirjastatult
hiljemalt järgmise kalendrikuu 5. tööpäeval. Viimane ajaaruanne esitatakse koos aktiga.
2.3. Tellitavad tööd antakse vastuvõtutestimiseks üle vastavalt lepingu lisas 1 „Tehniline
kirjeldus“ kokkulepitud tingimustele.
2.4. Tellija vaatab töö üle vastavalt raamlepingu tingimustele.
2.5. Koos üle antava tööga annab täitja tellijale üle kõik tööde intellektuaalse omandi õigused
vastavalt raamlepingus kirjeldatule.
3. Lepingu hind
3.1. Lepingu täitmine toimub töötunnipõhisel arvestusel, tellija tasub üksnes lepingu alusel
tellitud ja teostatud töötundide eest.
3.2. Ühe töötunni maksumuseks lepingu täitmisel on ____ (maksumus sõnadega) eurot
käibemaksuta.
3.3. Arve esitatakse e-arvena, pärast akti tellija poolt allkirjastamist.
3.4. Täitja esitab tellijale e-arve pärast töö üleandmise-vastuvõtmise akti allkirjastamist. Arvel
tuleb märkida raamlepingu ja hankelepingu number, lepingu osa viitenumber, riigihanke
viitenumber ja tellija kontaktisiku nimi.
3. Poolte vahelised teated ja kontaktisikud
3.1. Teadete edastamisel ja kätte toimetamisel lähtutakse raamlepingu regulatsioonist.
3.2. Tellija kontaktisikuks lepingu täitmisel on Maiu Nagel, projektijuht, tel +372 5090 782, e-post
[email protected] või Epp Laanepõld, Heaolu valdkonnajuht, telefon +372 512 9729, e-
post: [email protected]
3.3. Täitja kontaktisikuks lepingu täitmisel on ________, tel ________, e-post ______.
4. Lõppsätted
4.1. Leping jõustub sellele poolte poolt allakirjutamise hetkest ja kehtib kuni poolte poolt oma
lepinguliste kohustuste täitmiseni.
4.2. Lepingu dokumendid koosnevad riigihanke alusdokumentidest, sh lepingu lisadest, lepingu
muudatustest ja pakkumusest.
4.3. Lepingu lahutamatuteks osadeks lepingu sõlmimise hetkel on järgmised dokumendid, mida
ei allkirjastata koos lepinguga:
4.3.1. Lisa 1 - Tehniline kirjeldus;
4.3.2. Lisa 2 – Pakkumus;
4.3.3. Lisa 3 – Isikuandmete töötlemise tingimused.
5. Poolte allkirjad
Tellija: Täitja:
Lisa 1
Tehniline kirjeldus - SKAIS2 hallatavate teenuste ja nendega seotud tarkvara arhitektuursete ning tehniliste probleemide alased tööd.
1. Mõisted ja lühendid
Mõiste/Lühend Kirjeldus
EBS Majandustarkvara Oracle E-Business Suite
GAP-analüüs Lahknevusanalüüs, olemasoleva SKA infosüsteemi analüüs vastu arhitektuuri tulevikuvisiooni (TO-BE), et selgitada välja ja prioriseerida lahknevuste (GAP) likvideerimiseks vajalikud tööd
GovSSO Riigi SSO teenus (tehnilise nimega GovSSO) on Riigi Infosüsteemi Ameti poolt keskselt osutatav teenus, millega asutus saab oma e-teenuses ühekordse sisselogimisega autentida ID-kaardi, mobiil-ID, smart-ID ja Euroopa Liidu eID kasutaja (võimaldab kasutajal sisse logida ühe ja sama identifikaatori ja parooliga mitmes seotud, kuid omaette seisvas tarkvarasüsteemis)
SKA Sotsiaalkindlustusamet
SKAIS1 Sotsiaalkaitse infosüsteem (vananenud platvormil)
SKAIS2 Sotsiaalkaitse infosüsteem uus rakendus (hõlmab Ametnikurakendust ja Iseteenindust)
TO-BE lahendus SKA infosüsteemi arhitektuuri tulevikuvisiooni väljatöötamise projekt
UAT Vastuvõtutestimine (user acceptance test)
2. Ülevaade
Sotsiaalkindlustusamet (SKA) kasutab ülesannete täitmiseks sotsiaalkaitse infosüsteemi, mis
koosneb SKAIS1, EBS, ja SKAIS2 rakendustest. Tegemist on infosüsteemiga, mida on arendatud hulk
aastaid nii, et uute funktsionaalsuste loomise kõrval ei ole jätkunud ressurssi tehnoloogilise
ajakohasuse tagamiseks. Süsteemis tekkinud oluliste kitsaskohtade leevendamiseks käivitati
2025.aastal SKA infosüsteemi arhitektuuri tulevikuvisiooni (TO-BE lahenduse) väljatöötamise
projekt, mille käigus loodi arhitektuuri reeglistik, millele peavad vastama teostatavad arendused ning
migreerimisplaan. Ühtlasi kaardistati probleemid ja eesmärgid, teostati GAP-analüüs, st analüüsiti
olemasolevat lahendust vastu TO-BE arhitektuuri, et selgitada välja ja prioriseerida GAP
likvideerimiseks vajalikud tööd. Lisaks oli juba varasemast teada kitsaskohti (nt seotud
taustaprotsessidega), mis vajavad lahendamist.
Antud lepingusse on koondatud mitmed olulised SKAIS2 hallatavate teenuste ja nendega seotud
tarkvara arhitektuursete ja tehniliste probleemide alased alamprojektid ning SKAIS2 infosüsteemi
töökorras hoidmiseks ja arendusprotsessi toetamiseks vajalikud regulaarsed tööd.
2.1. SKAIS2 Taustaprotsessid.
Täna on SKAISis väga palju erinevate andmeallikatest regulaarseid päringuid, mida siis töödeldakse,
nt. Rahvastikuregister. Need protsessid on hetkel ühes kohas ning ei ole eriti hästi jälgitavad. Projekti
eesmärk on taustaprotsessid ümberstruktureerida, liigutada need ärimoodulitesse, ehitada neile
juurde keskne haldusliides.
Eelneva töö käigus on analüüsitud ja kaardistatud olemasolevate SKAIS2 infosüsteemi
taustaprotsesside seis üle keskkondade ning on välja pakutud mikroteenuse lahendus, mille
ülesandeks on taustaprotsesside töö orkestreerimine ja haldamine. Ühtlasi on välja selgitatud
arendusvajadused koos esialgsete mahuhinnangutega pakutud lahenduse realiseerimiseks.
Lisainfo:
https://wiki.sm.ee/spaces/SKAIS2/pages/407087806/Ettepanek+cronjob-service+teenus
2.2. GAP 2.1: API lüüsi loomine
Vajalik on luua ühine otspunkt kõigile süsteemivälistele API päringutele (ei hõlma X-tee päringuid).
API lüüsi (API Gateway) muster on mikroteenuste arhitektuuris kriitilise tähtsusega komponent, mis
võimaldab üheselt hallata teenuste otspunkte, nendega seotud turvapoliitikaid, päringute suunamist
ja koormuse kontrolli (rate limiting).
Ajalooliselt on iga SKAIS kasutajaliidese komponent pöördunud otse vastava ärifunktsionaalsuse eest
vastutava sisemise serverikomponendi poole. Selline arhitektuur ei võimalda üheselt kontrollida
süsteemi jõudvate päringute juurdepääsuõiguseid ega juhtida jõudlust. Samuti on kasutajaliidese
konfiguratsiooni keerulisem, kuna peab iga otspunkti eraldi sisaldama.
GovSSO-ga liitumisel loodi GovSSO autentimist haldav otspunkt, mille kaudu liiguvad kõik SKAIS
iseteeninduse päringud. Käesoleva projekti käigus on vaja luua lisaks kõikehõlmav API lüüsi moodul
(või täiendada GovSSO jaoks loodud moodulit viimaks see üle täielikult API lüüsi rolli süsteemis).
SKAIS serverimoodulite vahelise suhtluse koordineerimine ei jää käesoleva projekti skoopi,
serveritevahelist suhtlust käsitletakse Teenus võrgu projektis.
Kuna tegemist on potentsiaalse pudelikaelaga, siis tuleb lahenduse loomisel juba eos mõelda jõudluse
peale.
Lisainfo:
https://wiki.sm.ee/spaces/SKAIS2/pages/403843996/2.1.+API+l%C3%BC%C3%BCsi+loomine
2.3. GAP 2.5: Töökindel sõnumivahetus
Töökindel sõnumivahetus ja idempotentsuse kontroll on süsteemi andmete terviklikkuse tagamise
üks alustaladest.
Idempotentsus - omadus teatud tehetel ja operatsioonidel matemaatikas ja informaatikas, mis
tähendab, et operatsiooni on võimalik mitu korda rakendada ilma, et tulemus muutuks peale esimest
rakendamist. SKAIS kontekstis tähendab see, et igasugune andmevahetus-töötlus protsess peab
olema korratav kõrvalmõjudeta, s.t. sama sisendi mitmekordsel töötlemisel jääb süsteemi lõppseis
alati samaks - sama tegevuse mitmekordsel läbimisel ei muutu tulemus, n.t. teenus saab sama
sõnumi kaks korda - teistkordsel saabumisel ei töödelda sõnumit topelt.
SKAIS puhul on hetkel puudu andmete terviklikkuse tagamine, so puudu on:
kõige lihtsam säilenõtkus lühiajaliste infrastruktuuriprobleemide korral (mida ei ole julgetud implementeerida kartuses andmetes vigu tekitada);
andmete salvestamise ja saatmise terviklikkuse tagamine (outbox muster); idempotentsuse tagamine.
Probleemi kõrvaldamiseks on SKAIS Arhitektuuri TO-BE vaates välja pakutud kolmest osast koosneva
lahenduse ettepanek, kusjuures nende osade õiges järjekorras implementeerimine on oluline:
1) Idempotentsuse raamistiku juhendi ja tööpõhimõtte kirjelduse loomine (GAP 1.7.) – mis on sisendiks antud lepinguga tellitavale tööle ja mille teostab TEHIK tähtajaga hiljemalt 30.06.2026;
2) Idempotentsuse raamistiku loomine – mis on antud lepingu tööde skoobis;
3) Säilenõtkuse mehhanism (GAP 1.6) - mille teostab TEHIK tähtajaga hiljemalt 31.12.2027 - 1.6.REST/RabbitMQteenustetarbimisesäilenõtkus
Vt ka
https://wiki.sm.ee/spaces/SKAIS2/pages/403844005/2.5.+T%C3%B6%C3%B6kindel+s%C3%B5numi
vahetus
2.4. GAP 2.3: Jälgitavus
SKAISis on juba implementeeritud omajagu meetrikat ja logimist, kuid puudub selgelt ette kirjutatud
standard ning mitmes kohas puudub halduritel adekvaatne ülevaade süsteemi protsesside tööst.
Vajalik on luua läbimõeldud ja kõikehõlmav jälgitavuse raamistik, mis on iga infosüsteemi stabiilse
töö aluseks. Korralikult implementeeritud jälgitavus muudab probleemidega tegelemise pigem
ennetavaks tegevuseks, kuid annab süsteemi halduritele robustsed tööriistad probleemidele kiiresti
reageerimiseks. Jälgitavuse probleem tuleb lahendada 4 osas:
Logimine o Kuigi logimine on tehnilisest mõttes õigesti lahendatud, tuleb üle vaadata logide sisu. o Auditeerida kõik tausta- ja automaatsed protsessid ning teha kindlaks, et nendega
seotud logiväljundid vastavad SKAIS arendus- ja TEHIKu MFN standarditele. Serveri meetrika
o Viia kogu serveri meetrika ühtsele OpenTelemetry standardile. o Luua (või täiendada commons-telemetry teeki) ühine teek meetrika
implementeerimise standardiks. Teek peab võimalikult palju mustri ja/või standardi alusel automaatselt tekitatavat meetrikat pakkuma ning võimaldama äriloogika spetsiifilist meetrikat võimalikult lihtsalt lisada.
Kasutajaliidese meetrika o Tuleb kasutusele võtta RUM (real user monitoring) teek, mis võimaldab
kasutajaliidese meetrikat koguda OpenTelemetry formaadis. Teek peab võimalikult palju mustri ja/või standardi alusel automaatselt tekitatavat meetrikat pakkuma ning võimaldama äriloogika spetsiifilist meetrikat võimalikult lihtsalt lisada.
Graafikud ja teavitused o Analüüsida olemasolevaid graafikud ning teavitusi kaardistamaks jälgitavuse
tühimikke. o Kõik graafikud ja teavitused peavad olema kirjeldatud koodis või
konfiguratsioonifailides ning olemas hallatud versioonikontrolliga.
Lisaks on vajalik luua standard reageerimisjuhiste formaadile, reageerimisjuhendid seni teada
olevatele tüüp-probleemidele ning luua eeskiri, mille alusel luuakse esmakordselt esinevale
probleemile reageerimisjuhis.
Vt ka: https://wiki.sm.ee/spaces/SKAIS2/pages/403844001/2.3.+J%C3%A4lgitavus
2.5. GAP 1.10: Suitsutestide automatiseerimine
SKAIS infosüsteemi GAP analüüsi kohaselt parendab suitsutestide automatiseerimine süsteemi tööd
ja stabiilsust olulisel määral ning aitab kaasa SKAIS vastavusse viimisele Arhitektuurimanifestiga.
Suitsutestide automatiseerimise eesmärk:
Tagada kiire ja automatiseeritud kontroll, kas süsteem on pärast muudatusi kasutuskõlblik; Tuvastada varakult kriitilised vead, mis takistavad põhilist funktsioneerimist.
Tööde fookus:
Põhivoogude kontroll suitsutasemel; Lahendus ei kata detailset äriloogikat ega asenda regressiooniteste; Lahendus peab olema paindlik ja edasiarendatav.
2.6. SKAIS2 Autotestid
SKAIS2 infosüsteemis on arendustööde käigus loodud ja luuakse erinevaid automaatteste mis
moodustavad SKAIS2 autotestide raamistiku.
2025.aastal käivitati SKAIS2 autotestide uuenduse projekt, mille eesmärk on hoida ja parandada
SKAIS2 autotestide ning tagada stabiilne suitsu- ja regressioonitaseme katvus ka muutuvate
arenduspartnerite korral.
Alustati töödega, et kaardistada, millised vood ja tegevused on juba olemasolevate autotestide poolt kaetud ning millised vood ja tegevused on testide poolt katmata ja järjestada need prioriteetsuse järgi;
Tööd kokku lepitud skoobi alusel. Käesolev projekt keskendub SKAIS2 autotestide töökindlusele ja jätkusuutlikkusele.
2.7. SKAIS2 Tehnilised kaasnevad tööd
SKAIS2 infosüsteemi töökorras hoidmiseks ja arendusprotsessi toetamiseks on vajalik teostada
igakuiselt erinevaid kaasnevaid töid, sh:
keskkondadega seotud probleemide lahendamine ja keskkondade seadistamine; gitlab pipeline'ide korrastamine, erinevate väiksemate tehniliste probleemide ja vigade
juurpõhjuste kõrvaldamine; arenduste code review, tarnetegevused; arhitektuuri alased konsultatsioonitööd.
3. Hankelepingu eesmärk
Lepingu eesmärgiks on realiseerida SKAIS2 hallatavate teenuste ja nendega seotud tarkvara
arhitektuursete ning tehniliste probleemide lahendamise alaseid töid.
4. Tellitavad tööd
4.1. Lepinguga tellitakse SKA infosüsteemi taustaprotsesside ümberstruktureerimise, SKA infosüsteemi arhitektuuri tulevikuvisiooni (TO-BE lahenduse) ja olemasoleva olukorra lahknevuse (GAP) analüüsi töid, SKAIS2 kvaliteedi tagamise süsteemi (autotestid, regressioonitestid) parendamise ning SKAIS2 infosüsteemi töökorras hoidmiseks ja arendusprotsessi toetamiseks vajalikud tööd, sh vähemalt:
4.1.1. Taustaprotsesside ümberstruktureerimine – luua uus mikroteenus cronjob-service, mis kasutab db-scheduler teeki
-service teenuse loomine: pipeline’id, repo, uus mikroteenus, graafiline kasutajaliides;
Taustaprotsesside migratsioon: (28 teenust, 97 taustaprotsessi): cronjob põhjal Liquibase skripti tegemine, RabbitMQ binderi taha panek, KeyDB paigaldamine, FF taha panek;
Testimine;
Koodi puhastamine: @Scheduled/@SchedulerLock annotatsioonidega seotud kood, taustaprotsesside konfiguratsioonid, andmebaasi tabelid, FF-d;
Dokumentatsiooni uuendamine.
4.1.2. GAP 2.1: API lüüsi loomine
Luua 2 API lüüsi teenust – ametnikurakendust ning iseteenindust teenindavad API lüüsi teenused
4.1.3. GAP 2.5: Töökindel sõnumivahetus
Idempotentsuse raamistiku loomine – s.t. ühiskasutatav tarkvara teek, millega on kaetud SKAIS põhilised andmesalvestusloogikad võimaldades täielikku protsesside täielikku idempotentsust.
4.1.4. GAP 2.3: Jälgitavus
Logimine Kuigi logimine on tehnilisest mõttes õigesti lahendatud, tuleb üle vaadata logide sisu. Auditeerida kõik tausta- ja automaatsed protsessid ning teha kindlaks, et nendega seotud logiväljundid vastavad SKAIS arendus- ja TEHIKu MFN standarditele.
Serveri meetrika Viia kogu serveri meetrika ühtsele OpenTelemetry standardile. Luua (või täiendada commons-telemetry teeki) ühine teek meetrika implementeerimise standardiks. Teek peab võimalikult palju mustri ja/või standardi alusel automaatselt tekitatavat meetrikat pakkuma ning võimaldama äriloogika spetsiifilist meetrikat võimalikult lihtsalt lisada.
Kasutajaliidese meetrika Tuleb kasutusele võtta RUM (real user monitoring) teek, mis võimaldab kasutajaliidese meetrikat koguda OpenTelemetry formaadis. Teek peab võimalikult palju mustri ja/või standardi alusel automaatselt tekitatavat meetrikat pakkuma ning võimaldama äriloogika spetsiifilist meetrikat võimalikult lihtsalt lisada.
4.1.5. GAP 1.10: Suitsutestide automatiseerimine
Töö sisu (kõrgtasemel):
Luua suitsutestide automatiseerimise lahenduse ülesehitus; olemasoleva süsteemi ja testimise konteksti arvestamine; kriitiliste funktsionaalsuste katmine suitsutestidega; edasist kasutamist võimaldava dokumentatsiooni loomine.
4.1.6. SKAIS2 Autotestid
Töö sisu (kõrgtasemel):
olemasolevate autotestide stabiliseerimine; testide struktuuri ja loetavuse parandamine; ebastabiilsete testide vähendamine; tehnilise võla vähendamine autotestides
Skoobis olevad ärivaldkonnad (indikatiivne loetelu, mitte nõuete nimekiri):
pensionid (sh SKAIS2 arvestus ja väljamaksed); arstlik ekspertiis (P26);
puudega isiku toetused; nõuded ja kohustused; registriliidestused (nt rahvastikuregister); tingimuskontrollid; tööülesanded; suhtlus ja teavitused; abivahendid, TSD, ESD.
4.1.7. SKAIS2 Tehnilised kaasnevad tööd
gitlab pipeline'ide korrastamine, erinevate väiksemate tehniliste probleemide ja vigade
juurpõhjuste kõrvaldamine; arenduste code review, tarnetegevused; arhitektuuri alased konsultatsioonitööd.
4.1.8. Alamprojektide tööde alguses teostatakse analüüs 4.1.1 Taustaprotsesside ümberstruktureerimine puhul, kus analüüs on 2025.aastal teostatud):
arendusskoobi täpsustamiseks; arendustööde prioriseeritud nimekirja koostamiseks. Nimekiri peab olema kirjeldatud
detailsusega, mille alusel on võimalik iga töö suurusjärku hinnata; Tööde käigus täpsustakse ka automaattestidega kaetud funktsionaalsus ja koormustestide skoop, hinnatakse arendusskoobi teostusmaht (prioriseeritud tööde nimekirjas (backlogis) olevatele töödele esialgsete mahuhinnangute täpsustamine) ning täpsustatakse koostöös tellijaga projekti vaheetappide detailne kava ja ajaplaan.
Tööde teostamine lähtuvalt alamprojektide täpsustatud vaheetappide kavast ja
vahetähtaegadest. 4.1.10. Arenduste testimise tagasiside alusel lahenduse täiendused ja parendused. Tööd tuleb üle anda vastuvõtutestimisteks vastavalt käesoleva dokumendi punktis 6 toodud ajakavale. 4.2. Tööde loetelu tekib eelnevalt kokkulepitud backlogi alusel ja hallatakse Jiras:
Eelanalüüsi suunatud ülesanded (analüüsi task), mille tulemusel valmivad mahuhinnangutega kasutajalood (story’d) ja tehnilised eeldustööd (technical taskid);
Arendusse suunatud kasutajalood (story’d) ja tehnilised eeldustööd (technical taskid) backlog staatuses vastavalt tööde järjekorrale (rank).
4.3. Tellijal on õigus koostöös täitjaga täpsustada ja/või korrigeerida hankega tellitavate tööde skoopi ja/või ajaplaani juhul kui tööde elluviimise käigus selgub selleks põhjendatud vajadus.
4.4. Juhul, kui töö käigus selgub täiendavaid ärinõudeid või detaile, mille realiseerimine on küll vajalik, kuid ei mahu punktis 4.1 kirjeldatud skoopi, tehakse ühine taasesitamist võimaldavas vormis otsus (Tellija ja Täitja poolt) vastavalt töö mahule ja/või kriitilisuse astmele, kas täiendavat tööd teostatakse käesoleva või uue lepingu raames.
Juhul, kui töö käigus selgub, et mõistlik on punktis 4.1 kirjeldatud skoobist midagi välja jätta, teeb selle otsuse taasesitamist võimaldavas vormis Tellija.
4.5. Hankelepingu mahu muutumine, st täiendavate tööde tellimine või skoobis kirjeldatud tööde teostamata jätmine, lepitakse Poolte vahel kokku hankelepingu muudatusega.
4.6. Punktis 4.1 on välja toodud loetelu teostatavatest põhitöödest, mis täitjal tuleb teostada. Antud loetelule lisaks kohustub täitja teostama ka muud tööd, mis on vajalikud teenuse nõuetekohaseks toimimiseks.
5. Tööprotsess ja tulemid
Järgnevalt täpsustatakse Täitjaga sõlmitud raamlepingus (nr 3-9/4283-1) kirjeldatud tingimusi tööprotsessi, dokumenteerimise, töökorralduse, testimise ja mittefunktsionaalsete nõuete osas.
5.1 Tööprotsess
5.1.1. Tööraamistik peab tuginema etapiviisilisele planeerimisele, võimaldades arendusmeeskonna prioriteete jooksvalt muuta;
5.1.2. Tööraamistik peab võimaldama süsteemset ülevaadet iga kokkulepitud töö saavutustest; 5.1.3. Tööraamistik peab võimaldama arendusmeeskonna tulemuslikkuse (kasvu) jälgimist ajas; 5.1.4. Tööraamistik peab tagama, et arendusmeeskond tegeleb omal initsiatiivil enda
tulemuslikkuse parandamisega ja parendusettepanekute esitamisega; 5.1.5. Täpsem töökorraldus lepitakse kokku pärast lepingu sõlmimist; 5.1.6. Tööde loetelu tekib eelnevalt kokkulepitud backlogi alusel ja hallatakse Jiras: 5.1.6.1. Eelanalüüsi suunatud ülesanded (analüüsi task), mille tulemusel valmivad
mahuhinnangutega kasutajalood (story’d) ja tehnilised eeldustööd (technical taskid); 5.1.6.2. Arendusse suunatud kasutajalood (story’d) ja tehnilised eeldustööd (technical taskid)
backlog staatuses vastavalt tööde järjekorrale (rank).
5.2 Dokumentatsioon
Vastavalt punktis 4 kirjeldatud skoobile tuleb töö käigus luua ja täiendada SKAIS2 dokumentatsiooni,
milleks on minimaalselt:
5.2.1. Funktsionaalsuse ja äriprotsesside kirjeldused kokkulepitud kujul (nt BPMN standard, diagrammid ja kirjeldused Confluence’is) koos ärireeglitega, mida peab olema hiljem võimalik täiendada järgnevates etappides lisanduva funktsionaalsuse alusel ning siduda tervikliku protsessi- ja ärireeglite kirjeldusega.
5.2.2. Tehniline dokumentatsioon (nt paigaldusjuhendid, Confluence keskkonnas). 5.2.3. Andmemudel. 5.2.4. Dokumentatsiooni täpsed liigid ja sisu formaat lepitakse kokku tööde käigus kuid see peab
vastama minimaalselt TK Lisa 2 – Nõuded arendusprojektide dokumentatsioonile SKAISi näitel kirjeldatud nõuetele ning nõuded liidestuste dokumenteerimisele on kirjeldatud TK Lisa 3 – Andmevahetusteenuse kirjelduse mall (draft).
5.3 Töökorraldus
Projekti töökorraldus toetub kodukorrale. Täitja peab tagama piisava kaasamise ja ülevaadete
andmise Tellijale.
5.3.1 Tööde üleandmine
Arendustööde lähtekoodi tarne toimub pideva integreerimise (continuous integration) teel. Tööde
järjekord, üleandmise aeg ja UAT tagasiside andmise aeg lepitakse kokku tööde käigus taasesitamist
võimaldavas vormis (Tellija ja Täitja poolt).
Töö üleandmisel kontrollib Tellija üle töö nõuetekohasuse ning annab vajadusel tähtaja töö
parandamiseks.
Täitja teab, et tellija võib igat üle antud funktsionaalsust paigaldada toodangusse ning täitja peab
tagama, et lõplikult valmimata funktsiooni protsessid on võimalik toodangust välja lülitada (feature
flags). Funktsioonide sisse-välja lülitamise võimekus lepitakse Tellija ja Täitja vahel kokku tööde
käigus.
5.4 Nõuded automaattestimisele
Automaattestide tegemine lepitakse Tellija ja Täitja poolt kokku tööde käigus.
Automaattestimise nõuete täitmisel tuleb lähtuda nõuetest, mis on leitavad TEHIK arendusjuhendid veebilehelt menüüpunktist Automaattestide nõuded.
Testidega kaetakse serveripoolne ja kasutajaliidese kood. Kaetavuse kontrolliks ja raporteerimiseks seatakse Tellija koodihoidla keskkonnas (Gitlab) üles pideva integratsiooni töövoog, mis seadistatakse koos toimima SonarQube koodi ja testide kaetavuse analüsaatoriga.
Automaattestid peavad üle antavas lähtekoodis continuous-integration’i töövoo edukalt läbima.
Samuti peab Täitja hoolt kandma, et varasemalt loodud testid jäävad töö lõpetamisel edukalt
läbitavaks. Nõuete muutumisel peab Täitja viima testid vastavusse uute nõuetega või neid
eemaldama, kui selliseid nõudeid enam ei eksisteeri.
5.5 Koormustestimised
Koormustestide tegemine lepitakse Tellija Täitja poolt kokku tööde käigus.
5.6 Mittefunktsionaalsed nõuded
Mittefunktsionaalsete nõuete täitmisel tuleb lähtuda järgnevast:
5.6.1. Loodud kasutajaliidesed peavad vastama Euroopa standardi EN 301 549 V3.2.1 nõuetele. 5.6.2. Uue funktsionaalsuse loomisel tuleb lähtuda raamlepingus (nr 3-9/4283-1) ja selle lisades
kirjeldatud nõuetest ning SKAISi Arhitektuurimanifestist. 5.6.3. Täpsemad mittefunktsionaalsed nõuded, millest lähtuda, on leitavad TEHIK
arendusjuhendid veebilehelt menüüpunktist Mittefunktsionaalsed nõuded.
5.6.4. Nõuded kiirusele ja latentsusele
Allpool kirjeldatud nõuded kehtivad ainult SKAIS2 sisemisele rakendusele ehk väliste süsteemide
vasteaegasid ei loeta ajalise nõude sisse.
API teenustele ning keskmine päringu teenindamise aeg ei tohi olla suurem kui 2 sekundit.
Teenuse kvaliteedi tõstmiseks on poolel õigus teha teisele poolele ettepanekuid kiiruse ja latentsuse
nõuete muutmiseks. Muudatuste korral kirjeldatakse kasutuslugude vastuvõtukriteeriumidesse
mittefunktsionaalse nõudena.
5.7. Tulemid
5.7.1. Projekti tööde SKAIS2 poolsed arendused vastavalt skoobile ja nõuetele
5.7.1.1. Taustaprotsesside ümberstruktureerimine
Taustaprotsesside haldus on viidud äriteenuste seest cronjob-service teenuse sisse, mis haldab neid
protsesse keskselt. Võimalik on ametnikurakenduse kaudu taustaprotsesse konfigureerida ja muuta.
Samuti on võimalik ametnikurakenduse kaudu taustaprotsesside hetke seisu näha. Võimalik on ka
taustaprotsesside manuaalne käivitamine ametnikurakenduse kaudu. Äriteenuste seest on varasem
taustaprotsesside konfiguratsioon ja kood eemaldatud. Samuti on puhastatud vastava äriteenuse
andmebaasi skeema varasema taustaprotsesside funktsionaalsusest (seotud tabelid). Teenustest on
eemaldatud taustaprotsessidega seotud Shedlock teegi kasutus. Uuendatud on dokumentatsioon.
5.7.1.2. GAP 2.1: API lüüsi loomine
Loodud on eraldi API lüüs iseteenindusele ja ametnikurakendusele. Tulemiks on töötav(ad) API lüüsi
moodul(id), SKAIS täielikult API lüüs arhitektuurile üle viidud.
5.7.1.3. GAP 2.5: Töökindel sõnumivahetus
Loodud on kaaskasutatav raamistik teegi kujul, mida saab SKAIS moodulites integreerida
andmetöötlemise loogikasse ning selle integreerimine SKAIS moodulites.
5.7.1.4. GAP 2.3: Jälgitavus
Loodud on:
SKAIS mooduliteülene logide audit; OpenTelemetry toega ühiskasutatav serveri meetrika teek ning selle integreerimine
kõikidesse SKAIS moodulitesse; OpenTelemetry toega ühiskasutatav kasutajaliidese meetrika teek ning selle integreerimine
SKAIS kasutajaliidesega (ITP ja AR).
5.7.1.5. GAP 1.10: Suitsutestide automatiseerimine
Automatiseeritud suitsutestide kogum, mida saab regulaarselt käivitada Selged ja kiiresti tõlgendatavad testitulemused Tehniline alus edasiseks laiendamiseks.
5.7.1.6. SKAIS2 Autotestid
Oodatav tulemus:
stabiilsemad autotestide käivitused; testitulemused, mis peegeldavad päris probleeme, mitte tehnilisi tõrkeid; autotestide raamistiku parem hallatavus ja arusaadavus meeskonnale.
5.7.1.7. SKAIS2 Tehnilised kaasnevad tööd
Jooksvalt teostatavad kaasnevad tööd vastavalt igakuiselt kooskõlastatavatele arendusprotsessi
toetamise ja SKAIS2 töökorras hoidmise vajadustele.
5.7.2. Valminud tööde tulemid antakse üle hiljemalt 31.12.2027 üleandmise-vastuvõtmise aktiga,
tööde tulemid peavad sisaldama: 5.7.2.1. Viiteid dokumentatsioonile Confluence’is; 5.7.2.2. Viited tehtud töödele (Jira piletitena); 5.7.2.3. Viiteid koodile GitLabis. 5.7.2.4. Toimiv rakendus ja paigaldusjuhend.
6. Tööde teostamise ajakava ja tähtaeg
6.1. Projekti käigus teostatavate tööde vaheetappide ajakava ja tähtajad on toodud alljärgnevas tabelis, detailsem tegevusplaan ja vahetähtajad täpsustatakse projekti käigus lähtuvalt vaheetappide alguses teostatava detailanalüüsi tulemustest:
Jrk Vastuvõtutestimiseks üle antava alamprojekti kirjeldus, sh seonduvad tööd
Arendustööde üleandmise tähtaeg1 (hiljemalt)
Lõpptähtaeg
6.1.1. Taustaprotsesside ümberstruktureerimine - mikroteenuse cronjob-service loomine
31.10.2026
Järgneb toe periood 2 kuud
31.12.2026
6.1.2. GAP 2.1: API lüüsi loomine 31.10.2026
Järgneb toe periood 2 kuud
31.12.2026
6.1.3. GAP 2.5: Töökindel sõnumivahetus 31.03.2027
Järgneb toe periood 2 kuud
31.05.2027
6.1.4. GAP 2.3: Jälgitavus 31.10.2026
Järgneb toe periood 2 kuud
31.12.2026
6.1.5. GAP 1.10: Suitsutestide automatiseerimine 30.09.2026
Järgneb toe periood 2 kuud
30.11.2026
6.1.6. SKAIS2 Autotestid 2025: jätkutööd ja stabiliseerimine
2026: planeeritud hooldus ja vajaduspõhised täiendused
jooksvalt 31.12.2026
6.1.7. SKAIS2 Tehnilised kaasnevad tööd jooksvalt 31.12.2027
6.2. Kõikide eelnevalt kirjeldatud arendustööde vastuvõtutestimiseks (so Jira piletid "Ready for AT" ja toodangu keskkonda paigaldatav kvaliteetne lähtekood) üleandmise lõpptähtaeg on sätestatud punktis 6.1. ja täpsustatakse projekti käigus lähtuvalt detailanalüüsi tulemustest.
Lepingu lõpptähtaeg on 31.12.2027.
6.3. Tööde üleandmisele järgneb Tellija poolne Tööde testimine mõistliku aja jooksul ja vajadusel Täitja poolne paranduste tegemine üle antud Töödes, kui testimise käigus ilmneb, et Tööd ei ole lõpptähtajaks teostatud nõuetekohaselt.
6.4. Tööd loetakse teostatuks tööde üleandmise-vastuvõtmise akti tellija poolt allkirjastamise hetkest.
6.5. Muudatused punktis 6.1 toodud ajakavas on võimalikud vaid tulenevalt arendustööde käigus selgunud asjaoludest kokkuleppel tellijaga tingimusel, et see ei ohusta järgnevate vaheetappide tähtaegu ja/või hanke objekti tarnimise tähtaega ning muudatusega ei muudeta lepingu üldist olemust.
1 Kõikide eelnevalt kirjeldatud arendustööde vastuvõtutestimiseks (so Jira piletid „Ready for AT“ ja toodangu keskkonda paigaldatav kvaliteetne lähtekood) üleandmise lõpptähtaeg
7. Tehnilise kirjelduse (ehk TK) lisad:
- TK Lisa 1 – SKAISi Front-end arendusreeglid;
- TK Lisa 2 – Nõuded arendusprojektide dokumentatsioonile SKAISi näitel;
- TK Lisa 3 – Andmevahetusteenuse kirjelduse mall (draft)
Lisa 3
ISIKUANDMETE TÖÖTLEMISE TINGIMUSED
Tervise ja Heaolu Infosüsteemide Keskus (edaspidi tellija), registrikood 70009770, aadress Pärnu
mnt 132, 11317 Tallinn, keda esindab põhimääruse alusel direktor Margus Arm
ja
AS HELMES, (edaspidi volitatud töötleja), registrikood 10364097, aadress Lõõtsa tänav 6 Tallinn
11415, keda esindab volikirja alusel Julia Mozberg,
on sõlminud käesoleva isikuandmete töötlemise lepingu hankelepingu nr 3-9/4283-.... lisana nr 3
(edaspidi leping):
1. Ese ja eesmärk
1.1. Lepingu esemeks on volitaja ja volitatud töötleja (edaspidi koos nimetatud kui pooled)
vaheliste tingimuste sätestamine seoses SKAIS tööde käigus käsitletavate andmete
töötlemisega.
1.2. Isikuandmete vastutavaks töötlejaks on Sotsiaalkindlustusamet, kes on andud
Volitajale 16.10.2018 teenuslepinguga nr 1-10/1486-1 (p 3.8) õiguse kaasata
isikuandmete töötlemiseks täiendavaid volitatud töötlejaid seoses
Sotsiaalkindlustusameti (edaspidi SKA) infosüsteemide arendamise, hooldamise või
muu taolise eesmärgi täitmiseks.
1.2.1. Ligipääs isikuandmetele võimaldatakse vajaduspõhiselt üksnes konkreetset
tööülesannet täitvale isikule ja üksnes mahus, mis on vältimatult vajalik ilmnenud
vea kõrvaldamiseks.
1.2.2. Volitatud töötlejal on õigus saada ligipääs isikuandmete töötlemiseks üksnes
raamlepingu nr 3-9/4283-1 täitmiseks, täpsemalt on õigus saada ligipääs
raamlepingus kokku lepitud toodangu-eelses ja toodangukeskkonnas tekkivate
vigade juurpõhjuste tuvastamiseks ja lahendamiseks, mida ei ole võimalik teisel
viisil lahendada.
1.3. Lepingu täitmiseks on volitatud töötleja isikuandmete töötlemisega seotud tegevused
lepingu alusel piiratud hankelepingu täitmiseks vajalike tegevustega.
2. Isikuandmed
2.1. Volitatud töötlejale võivad hankelepingu täitmise käigus teatavaks saada volitaja poolt
hallatavas infosüsteemis või andmekogus töödeldavad isikuandmed (SKAIS
põhimääruse § 7 -15 kirjeldab võimalikud isikuandmete koosseisud):
2.1.1. isiklikud andmed, nt inimese nimi, sünniaeg, isikukood, isikut tõendava
dokumendi andmed;
2.1.2. kontaktandmed, nt aadress, telefoninumber ja e-posti aadress;
2.1.3. eriliigilised isikuandmed, nt andmed isiku või tema pereliikme terviseseisundi,
majandusliku seisundi või perekonna kohta
2.1.4. jne
3. Volitatud töötleja kohustused
3.1. Volitatud töötleja on kohustatud:
3.1.1. tagama lepingueelsete läbirääkimiste ja lepingu täitmise käigus volitajalt ükskõik mis
vormis saadud isikuandmete konfidentsiaalsuse ja mitte edastama ega võimaldama
sellele teabele juurdepääsu kolmandale isikule ilma volitaja sellekohase selgesõnalise
kirjaliku nõusolekuta;
3.1.2. tagama, et lepingu täitmise raames töödeldavaid isikuandmeid ei edastata väljapoole
Euroopa Liidu liikmesriikide ja Euroopa Majandusühendusse kuuluvate riikide
territooriumi ilma volitaja sellekohase selgesõnalise kirjaliku nõusolekuta;
3.1.3. kasutama ja töötlema isikuandmeid üksnes hankelepingu täitmiseks ja volitaja
dokumenteeritud juhiste alusel, välja arvatud juhul, kui volitatud töötleja on
kohustatud teavet töötlema volitatud töötleja suhtes kohalduva õiguse alusel. Viimati
nimetatud juhul teavitab volitatud töötleja volitajat vastava kohustuse olemasolust
enne teabe töötlemist;
3.1.4. võimaldama juurdepääsu isikuandmetele ainult nendele isikutele, kellel on selleks oma
tööülesannete täitmiseks vajadus ning tagab, et need isikud on teadlikud ning järgivad
isikuandmete töötlemis alaseid nõudeid ja õigusakte, nad on saanud asjakohase
koolituse eelmainitud nõuete kohta, on võtnud endale konfidentsiaalsuskohustuse või
neile kehtib asjakohane seadusest tulenev konfidentsiaalsuskohustus;
3.1.5. teavitama volitajat toimunud või põhjendatult kahtlustatavast lepingu punktis 3.1.4.
sätestatud konfidentsiaalsuskohustuse rikkumisest viivitamatult;
3.1.6. täitma kõiki kehtivaid isikuandmete töötlemisalaseid nõudeid, andmete turvalisust
puudutavaid ning isikuandmete kaitse alaseid Euroopa Liidu ja Eesti Vabariigi
õigusakte ja muid eeskirju;
3.1.7. rakendama alltoodud organisatsioonilisi, füüsilisi ja infotehnilisi turvameetmeid
isikuandmete kaitseks juhusliku või tahtliku volitamata muutmise; juhusliku hävimise
ja tahtliku hävitamise eest ning õigustatud isikule andmete kättesaadavuse
takistamise eest, volitamata töötlemise, sh avalikustamise eest:
3.1.7.1. vältima kõrvaliste isikute ligipääsu isikuandmete töötlemiseks kasutatavatele
seadmetele;
3.1.7.2. ära hoidma andmete omavolilist lugemist, kopeerimist ja muutmist
andmetöötlussüsteemis, samuti andmekandjate omavolilist teisaldamist;
3.1.7.3. ära hoidma isikuandmete omavolilist salvestamist, muutmist ja kustutamist ning
tagama, et tagantjärele oleks võimalik kindlaks teha, millal, kelle poolt ja
milliseid isikuandmeid salvestati, muudeti või kustutati või millal, kelle poolt ja
millistele isikuandmetele andmetöötlussüsteemis juurdepääs saadi;
3.1.7.4. tagama, et igal andmetöötlussüsteemi kasutajal oleks juurdepääs ainult temale
töötlemiseks lubatud isikuandmetele ja temale lubatud andmetöötluseks;
3.1.7.5. tagama andmete olemasolu isikuandmete edastamise kohta: millal, kellele ja
millised isikuandmed edastati, samuti selliste andmete muutusteta säilimise;
3.1.7.6. tagama, et isikuandmete edastamisel andmesidevahenditega ja andmekandjate
transportimisel ei toimuks isikuandmete omavolilist lugemist, kopeerimist,
muutmist või kustutamist;
3.1.7.7. pidama arvestust isikuandmete töötlemisel kasutatavate tema kontrolli all
olevate seadmete ja tarkvara üle, dokumenteerides järgmised andmed:
3.1.7.7.1. seadme nimetus, tüüp ja asukoht ning seadme valmistaja nimi;
3.1.7.7.2. tarkvara nimetus, versioon, valmistaja nimi ja kontaktandmed.
3.1.8. teavitama kirjalikult volitajat turvameetmete rikkumisest, mis põhjustab, on
põhjustanud või võib põhjustada töödeldavate isikuandmete juhusliku või
ebaseadusliku hävitamise, kaotsimineku, muutmise või loata avalikustamise või neile
juurdepääsu viivitamata, kuid mitte hiljem kui kakskümmend neli tundi pärast sellest
teada saamist. Juhul, kui rikkumisest teadasaamine langeb nädalavahetusele või
riiklikule pühale, kohustub volitatud töötleja volitajat kirjalikult teavitama
viivitamatult, kuid mitte hiljem kui nelikümmend kaheksa tundi pärast rikkumisest
teada saamist. Kirjeldatud teates tuleb vähemalt:
3.1.8.1. kirjeldada isikuandmetega seotud rikkumise laadi, sealhulgas puudutatud
andmesubjektide liike ja arvu ning puudutatud kirjete liike ja arvu;
3.1.8.2. teatada andmekaitsespetsialisti või mõne teise täiendavat teavet andva
kontaktisiku nimi ja kontaktandmed;
3.1.8.3. soovitada meetmeid isikuandmetega seotud rikkumise võimalike negatiivsete
mõjude leevendamiseks;
3.1.8.4. kirjeldada isikuandmetega seotud rikkumise võimalikke tagajärgi;
3.1.8.5. kirjeldada volitatud töötleja poolt pakutud või võetud meetmeid
isikuandmetega seotud rikkumisega tegelemiseks ja
3.1.8.6. esitada muud teavet, mis on mõistlikult nõutav, et volitaja saaks täita
kohaldatavaid andmekaitse õigusakte, sealhulgas riigiasutustega seotud
teavitamise ja avaldamise kohustusi, näiteks teavet, mis on nõutav
andmesubjekti tuvastamiseks.
3.1.9. lõpetama eelnevalt kirjeldatud rikkumised või tegema kõik endast oleneva nende
lõpetamiseks ja kohaldama meetmeid isikuandmetega seotud rikkumise
lahendamiseks, sealhulgas vajaduse korral rikkumise võimaliku kahjuliku mõju
kõrvaldamiseks ja leevendamiseks;
3.1.10. kustutama, niivõrd kui see on võimalik, lepingu lõppemisel kõik tööde teostamise
käigus teatavaks saanud isikuandmed ja nimetatute koopiad 30 päeva jooksul, v.a
juhul, kui õigusaktidest tuleneb teisiti;
3.1.11. tegema volitajale kättesaadavaks kogu teabe, mida volitaja peab vajalikuks lepingus
sätestatud kohustuste täitmise tõendamiseks;
3.1.12. võimaldama volitajal või volitaja poolt määratud audiitoril teha seoses isikuandmete
töötlemisega auditeid ja kontrolle ning panustama nendesse.
4. Lõppsätted
4.1. Volitatud töötleja ei või oma lepingujärgseid kohustusi anda üle kolmandale isikule ega
kaasata oma lepingujärgsete kohustuste täitmiseks kolmandat isikut.
4.2. Isikuandmete konfidentsiaalsena hoidmise kohustus jääb kehtima ka pärast käesoleva
lepingu lõppemist tähtajatult.
4.3. Isikuandmete konfidentsiaalsena hoidmise kohustus ei laiene teabe avaldamisele
volitatud töötleja audiitorile ja advokaadile.
4.4. Leping on kehtiv poolte poolt allkirjastamisest kuni hankelepingu järgsete kohustuste
täitmiseni, v.a konfidentsiaalsuskohtustus, mis kehtib tähtajatult.
5. Poole allkirjad
Volitaja: Volitatud töötleja:
/Allkirjastatud digitaalselt/ /Allkirjastatud digitaalselt/
HANKIJA NIMI: Tervise ja Heaolu Infosüsteemide Keskus
Pakkumusettepaneku nimetus: „SKAIS2 hallatavate teenuste ja nendega seotud tarkvara arhitektuursete
ning tehniliste probleemide alased tööd.“
Käesolevaga teeb Tervise ja Heaolu Infosüsteemide Keskus (Hankija) Teile ettepaneku esitada pakkumus
„SKAIS2 hallatavate teenuste ja nendega seotud tarkvara arhitektuursete ning tehniliste probleemide alased
tööd“ teostamiseks raamlepingu nr 3-9/4283-1 alusel. Hankeleping sõlmitakse tulenevalt vajadusest
realiseerida SKAIS2 hallatavate teenuste ja nendega seotud tarkvara arhitektuursete ning tehniliste
probleemide lahendamise alaseid töid.
Hankija soovib hankelepingu sõlmida ühe partneriga. Hankija soovib kõrvale kalduda raamlepingu
„Sotsiaalkaitse valdkonna teenuste arendus- ja hooldustööd“ nr 3-9/4283-1 tellimuse esitamise korrast ja
pöörduda kohe paremusjärjestuselt järgmise pakkumuse teinud raamlepingu täitja poole tuginedes
raamlepingu punktile 6.2.4, Pakkumuse esitamise tähtaeg on 09.02.2026 kell 16:00 (võib esitada ka varem).
Pakkumus saata e-posti aadressile [email protected].
Pakkumus tuleb esitada eesti keeles ja digitaalselt allkirjastatult.
Pakkumus esitatakse Hankelepingu eseme tehnilises kirjelduses (Lisa 1) toodud tööde teostamiseks.
Alternatiivsete pakkumuste esitamine ei ole lubatav.
Töid tellitakse mahus kuni 1 132 000 eurot (ilma km-ta). Lepingu täitmist rahastatakse riigieelarve raames.
Töid teostatakse jooksva tunnihinna arvestuse põhiselt lähtudes projekti vaheetappide ajakavast ja
vaheetappide raames kavandatud funktsionaalsusest. Tööde ajaaruandes tuuakse välja tööde teostamiseks
kulunud töötunnid isikute lõikes, seostades nimetatud isikud Jiras logitud tööülesannete ja kirjeldatud
tegevustega.
Projekti käigus teostatavate tööde aluseks on SKA infosüsteemi arhitektuuri tulevikuvisiooni (TO-BE
lahenduse) väljatöötamise projekti käigus loodud arhitektuuri reeglistiku ja teostatud GAP-analüüsi käigus välja
selgitatud ning prioriseeritud GAP likvideerimiseks vajalikud tööd. Lisaks oli juba varasemast teada kitsaskohti
(nt seotud taustaprotsessidega), mis vajavad lahendamist ning SKAIS2 infosüsteemi töökorras hoidmiseks ja
arendusprotsessi toetamiseks vajalikud regulaarsed tööd.
Projekti vaheetappide sisu kirjeldus ja hetkel teadaolev ajakava on toodud Hankelepingu eseme tehnilise
kirjelduse (Lisas 1) punktis 6.
Vaheetappide käigus loodav funktsionaalsus tuleb vastuvõtutestimiseks üle anda tähtaegadeks:
1.vaheetapp: Taustaprotsesside ümberstruktureerimine - mikroteenuse cronjob-service
loomine - hiljemalt 31.10.2026;
2.vaheetapp: GAP 2.1: API lüüsi loomine – hiljemalt 31.10.2026;
3.vaheetapp: GAP 2.5: Töökindel sõnumivahetus – hiljemalt 31.03.2027
4.vaheetapp: GAP 2.3: Jälgitavus – hiljemalt 31.10.2026
5.vaheetapp: GAP 1.10: Suitsutestide automatiseerimine – hiljemalt 30.09.2026
6.vaheetapp: SKAIS2 Autotestid - vastavalt analüüsi tulemina täpsustatud vahetähtaegadele;
Kõikide kirjeldatud tööde lõpptähtaeg on 31.12.2027.
Pakkuja meeskond peab olema koheselt valmis täistööajaga panustama üksnes selle projekti õnnestumisse.
Pakkumusena tuleb esitada:
1. Tööde teostamiseks planeeritud meeskonnaliikmed isikuliselt, tuues välja ka meeskonnaliikmete
roll. Tööde teostamiseks peavad täitja meeskonda kuuluma minimaalselt 1 analüütik, 1 arhitekt, 4
arendajat, 1 testija ning projektijuht, kes vastutab tööde korrektse ja tähtajalise elluviimise ning
tellijaga suhtluse eest. Töid peavad teostama pakkumuses nimetatud isikud. Kui meeskonnaliikmed
erinevad riigihankes pakutud meeskonnast, tuleb pakkujal esitada nõuetele vastavate
meeskonnaliikmete andmed etteantud vormil koos pakkumusega;
2. Tööde teostamise ühe töötunni hind (ilma käibemaksuta);
3. Tööde teostamise detailne projektiplaan, mis lähtub Hankelepingu tehniline kirjeldus (Lisas 1)
punktis 6 toodud vaheetappide ajakavast.
Pakkumuse esitamisega kinnitab pakkuja, et pakkuja on suuteline kinni pidama Hankelepingu eseme tehnilise
kirjelduse (Lisas 1) punktis 6 toodud vaheetappide ajakavast ja lepingu tähtaja saabumiseks on teostatud
Hankelepingu eseme tehnilises kirjelduse (lisas 1) punktis 4 toodud tööd.
Pakkujal ei ole õigust tööde teostamiseks nõuda ajapikendust, täiendavat tasu või väljamakseid.
Küsimuste tekkimise korral palun võtke ühendust enne pakkumuse esitamise tähtaega aadressil
Pakkumusettepanekuga koos edastatavad dokumendid:
Lisa 1. Hankelepingu eseme tehniline kirjeldus (koos lisadega)
Lisa 2. Hankelepingu projekt.
Lisa 3. Isikuandmete töötlemise tingimused.
Front-end arendusreeglid FE arendusreeglid Versioon: 1.0
Lühendid
FE – Front-end BE – Back-end FF – Mozilla Firefox IE – Internet Explorer UI – (kasutajaliides)User interface SEO – Search engine optimization
Eesmärk ja sihtgrupp FE arendusreeglid on mõeldud kõigile FE ja BE arendajatele. Reeglite järgimine on kohustuslik.
Veebilehitsejate tugi
A klass: IE10+, Chrome (viimane versioon), FF (viimane versioon), Microsoft Edge (viimane versioon)
Lõpptulem kujundusest erineda, välja arvatud veebilehitsejate implementatsioonist tulenevad erandid (näide: selectboxi native ei tohi kujundus on veebilehitsejates omavahel erinev ja see on lubatud)
B klass: Safari
Visuaalselt korrektne, aga võib erineda algsest kujundusest. Optimeerimise ja kodeerimise lihtsustamise eesmärkidel ei pea näiteks toetama ümarad nurkasid, gradiente jne.
Stiililehed
Üks peamine stiilileht nimega main.css, kus sees loogilises järjestuses kommentaaridega eristatult kõik rakenduse stiilid. Printimise jaoks on print media abil eraldi kuvatav stiilifail, mille eesmärk on kuvada sisuosa ilma illustreerivate elementideta. Ära peidetud on navigatsiooni elemendid, mis prinditud versioonis ei ole olulised.
Kataloogide stuktuur
gfx – CSSid koos CSSis defineeritud piltidega. – HTMLis lingitud pildid. Alamkataloogid vajadustel komponendi põhistele elementidele, kui on ühes komponendis kasutusel rohkem kui 15 pilti.images
– rakenduses kasutatavad fondi failid.fonts – rakenduses kasutatavad JS failid.scripts
CSSi haldamine
CSSi stiilidel on üks haldaja ja vastutaja, kes on kursis kõigi muudatustega. Tema kohustus on üle vaadata teiste poolt kirjutatud CSS ja vastavalt vajadusele muuta või saata tagasi arendajale parandamiseks. CSSi haldamise eesmärk on, et ainult CSSi haldaja ja/või FE meeskond kirjutab CSSi. Arendajad peavad pöörduma CSSi haldaja ja/või FE meeskonna poole, kui on muudatusi vaja. CSSi haldaja koordineerib teiste arendajate tööd. BE arendajad tohivad stiile kirjutada ainult põhilise stiilifaili lõppu pärast vastavat kommentaari. Enda arendused peavad olema kommenteeritud nii, et CSSi haldaja saaks võimalikult kiirelt koodi üle vaadata ning sobivasse asukohta paigutada ja vajadusel koodi muuta. Eelnev kirjeldab olemas oleva koodi muutmist või väikseid uusi arendusi olemas olevas raamistikus. Uute arenduste korral tuleb tellida FE antud ala spetsialist, kellele on edastatud antud dokument. Kui uue koodi kirjutada ei ole CSSi haldaja on haldajal kohustus ülevaadata uus kood.
Illustreerivad pildid
Illustreerivad pildid peavad olema lisatud CSSi abiga. Pildid on optimeeritud. Salvestamisel valitud sobiv laiend vastavalt suurusele ja kvaliteedile. Võimalusel kasutatud Fireworksi, PNG optimizerit või antud hetkel sobivat vahendit vähendamaks piltide mahtu. Photoshopis tuleks pildid salvestada abil. JPG puhul võib salvestada 75-80% ilma, et oleks visuaalset kadu. Kui pildi suuruseks on u save for web 150KB, siis kontrollida üle optimeerimise võimalused. CSSis ja HTMLis lingitud pildid asuvad eraldi kataloogis. CSSis lingitavad illustreerivad pildid asuvad CSSiga samas kataloogis. Eelistada illustreerivate piltide kuvamist läbi CSSi. HTMLis lingitud piltide nimetamisel arvestada SEOd ja ühtset stiili. CSSi pildid nimetada sarnase loogikaga. Ikoonide alguses on icon_, taustapiltidel bg_ logodel logo_, nimekirjadel ul_ ja komponentide spetiifiliste piltidel puhul selle classi nimetus. Pildi nimed on läbivalt inglise keeles ja semantiliste nimetusega. kirjeldada pildil olevat värvi.Ei tohi
1. 2. 3. 4.
5.
Semantika
Front-end kood peab vastama semantika reeglitele, välja arvatud juhul, kui kokkulepitud kasutatav raamistik ei võimalda seda saavutada. Kodeerimisel tuleb arvestada versioonile üleminekuga.responsive (kohandub iseenesest ümber erinevatele ekraanisuurustele)
Olulisemad punktid
Classi nimed on üldised või komponendi spetsiifilised Classi nimedes olla kasutatud visuaalseid kirjeldusi.ei tohi
Näiteks värvid, suurused jne. Kasutada semantiliselt korrektseid HTMLi elemente.
Näiteks nimekirjade puhul peab olema kasutatud UL või OL tagi vastavalt sisule. BR kasutada.ei tohi Layouti loomisel kasutada tabeleid.ei tohi Inline elemendi sisse panna block elemente.ei tohi Paragraafide sisse kirjutada DIVe.ei tohi
Vältida tühjade HTMLi elementide kasutamist.
Re-usable front-end Enne kodeerimist tutvuda olemasolevate komponentidega. Võimalusel kasutada olemasolevaid elemente. Kujunduses olevate väikeste erinevuste puhul pakkuda välja ühtlustamise võimalusi ja lahendusi. Kasutada üldiseid classi nimetusi ja arvestada kodeerimisel, et antud stiile oleks võimalik kasutada läbivalt. Erandite puhul kasutada eraldi classi nimetust. Kodeerimisel arvestada, et uue elemendi muutmine ja haldamine oleks võimalikult lihtne. Näiteks arvestada keelsusega. Võimalusel vältida keelte jaoks erandite tegemist.
HTMLi reeglid
HTML peab valideeruma kasutades HTML valideerimisvahendit.https://validator.w3.org Inline CSSi kirjutada ja kasutada.ei tohi Cellpadding'uid ja 'uid kasutada HTMLis.cellspacing ei tohi Võimalusel kirjutada optimeeritud koodi ja vältida üleliigseid elemente ja defineeringuid. Kasutada läbivalt ühtset stiili.
Jutumärkideks on topelt jutumärgid näide class="style01"
Arenduse failid on ühe tabi abil trepitud. Arvestada SEO soovitusi
Vajadusel illustreeritavatel piltidel korrektsed alt väärtused. Meta tagid vastavalt kaasaegsetele nõudmistele.
Piltide või ikoonide puhul, mis on kasutusel linkidena, kasutada title tagi. Title sisu peab kasutajale andma informatsiooni, et kuhu see link kasutaja suunab.
Näide logo title väärtus on "Avalehele" HTMLis vältida ja eemaldada üleliigsed kommentaarid.
CSSi reeglid
Kehtib FE arendaja poolt loodud stiililehtede kohta. Ei kehti juhul, kui kokkulepitud kasutatav raamistik ei võimalda seda saavutada.
CSS peab valideeruma kasutades CSS valideerimisvahendit.https://jigsaw.w3.org/css-validator/ CSSi treppimine
Selektori ja loogeliste sulgude vahele üks tühik. Üks tab enne atribuuti (laiuselt võrdne nelja tühikuga). Selektorid ja atribuudid on eraldi ridadel. Näide
ul*{ ****margin:*0; }
Selectori blokkide vahel tühjad read eraldamaks erinevaid elemente aga üldiselt ilma tühja reata.
1.
2.
h1 { font-size: 34px; } h2 { font-size: 24px; } a { color: #08c; } a:focus, a:hover { color: #ff6; }
Esimese taseme ja teise taseme kommentaari ees ja järgi üks tühi rida. CSSis blokkide järjekord:
normalize/reset, global common vastavalt struktuurile header, content ... Plugina CSSid, kui on tegemist pluginaga, mida kasutatakse samade stiilidega erinevates asukohtades, siis antud CSS lisada eraldi faili. media queries
CSS Atribuutide järjekord:
display: ; position: ; top: ; float: ; clear: ; width: ; height: ; overflow: ; margin: ; padding: ; outline: ; border: ; background: ; list-style: ; table-layout: ; border-collapse: ; vertical-align: ; text-align: ; text-indent: ; text-transform: ; line-height: ; word-spacing: ; color: ; font: ; cursor: ; visibility: ; opacity: ; z-index: ; content: ; quotes: ; CSS3
Ühikud Eelistatult läbivalt kasutada pixleid. 0 väärtuse korral ühik pole vajalik. 0em == 0px == 0
Class' ja ID nimetused läbivalt väikeste tähtedega, semantilised ja eralduseks kasutatud sidekriipsu. Näide: data-table-outer
Classide nimetamisel kasutada läbivalt inglise keelt. ID kasutada ainult juhul, kui ollakse täiesti kindel, et seda elementi tulevikus ei kasutata lehel korduvalt. Näiteks lehe layout päis, jalus, menüü. CSSis on kaks taset kommentaare.
esimene tase /** =Kommentaar */ teine tase /** =Kommentaar */
Kommentaarid läbivalt inglise keeles. Vajadusel rakenduse spetiifilisi mõisteid kasutada eesti keeles. Välja kommenteeritud koodi jätta alles.ei tohi Margin ja paddingute korrektne kasutamine. Paddingut kasutada antud elemendi sisse nn õhu jätmiseks ja marginit väljapoole. Tekstide joondamisel vältida line-heighti abil joondamist ja eelistada paddingut. Floatide clearimiseks on class clear, mis läheb floatitud elementide ümber olevale tagile.
.clear:before,
.clear:after { content: " "; display: table; } .clear:after { clear: both; }
CSS kirjutada ainult selleks mõeldud faili. Inline CSSi ja HTMLi failis eraldi <style> kasutada . Võimalusel vältida ka visuaalsete stiilide ei tohiks defineerimist JS failides. Pildi URLi lisamisel jutumärke vaja kasutada.ei ole Vältida veebilehitsejaspetiifilisi häkke. Kodeerimisel arvestada mõistlikkuse piirides "Web Content Accessibility Guidelines (WCAG) 2.0" soovitusi.
http://www.w3.org/WAI/WCAG20/quickref/ http://kristjankure.com/
Optimeerimine FE tehnikate abil
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Writing_efficient_CSS tbody#select-01 => #select-01 #navigation li a => #nav a tr.tr-name -name => .td-nametd.td
HTMLis olevatele piltide määrata kõrgus ja laius, kui on võimalik. Eesmärk vähendada re-flow'ed. Gradientide, ümarate nurkade jne puhul kasutada CSS3 ning vanematel veebilehitsejatel peab kujundus välja nägema visuaalselt korrektne aga ei pea olema visuaalselt identne. Kontrollida veebilehitseja võimalusi siit .http://caniuse.com/ Kui on võimalik illustreerivad pildid nt nooled, bulletid asendada CSS3 lahendusega, siis seda võimalust kasutada. Kui vajadus tühja elementi kasutada, siis selle asemel kasutada CSSis before'i võimalust. Selle juures tuleks arvestada veebilehitsejate tuge ja kasutajamugavust mõistlikuse piirides. Informatsioon peab olema arusaadav ja kättesaadav ka B klassi veebilehitseja toele. Reflow ja repaint'iga arvestamine. CSSi reseti asemel kasutada normalize. Värvid kirjutada koodi abil (soovitavalt hex aga vajadusel rgba) ja läbivalt väikeste tähtedega. Võimalusel lühendada kolme tähelisteks.
#ffffff => #fff #ff88aa => #f8a, #ff0000 => #f00
Võimalusel CSSi väärtused tõsta kokku ühele reale. Border-top, border-left, border-bottom, border-right => border
CSSis kasutada * lahendust määramaks kõigile elementide CSSi väärtuseid.ei tohi Important kasutamist CSSi failis .vältida Normalize/reseti puhul olla defineeritud elemente, mida praktikas ei kasutata. Uue projekti alguses tuleks reset/normalize optimeerida ja ei tohiks vajadusel jooksvalt juurde lisada elemente. Võimalusel ja vajadusel kasutada sprite tehnikat. Pluginatega kaasa tulevat CSSi peab ülevaatama, optimeerima ja järjekorda uuendama.
Kujundus
Linkidele, nuppudele alati korrektsed :hover, :focus ja :active staatused määrata. hoveri ja fookuse puhul on eesmärk tuua visuaalselt element rohkem esile ja paremini loetavaks. aktiivse staatuse puhul tuleks jätta mulje, et nupule või lingile on vajutatud. Visuaalselt poolelt näiteks gradient on vastupidine või lingi värv on tagasihoidlikum.
Arvestada olemasoleva kujundusega ja jälgida sellele sarnast stiili. Ühtlustada ja jälgida lõpptulemuse joonduseid.
Nõuded arendusprojektide dokumentatsioonile SKAISi näitel
Versioon kuupäev muutja kommentaar
0.1 04.07.2024 Epp Laanepõld esmane versioon tagasiside saamiseks
Sissejuhatus 1. Süsteemi üldine kirjeldus
1.1. Sõnastik 2. Teenuste ja kasutuslugude dokumentatsioon
2.1. Näide: 2.2. CRUD maatriks
3. Arhitektuuri dokumentatsioon 3.1. Näide:
3.2. Andmebaasi kirjeldus 3.3. Näide: Andmebaasimudel:
4. Paigaldus ja administreerimisjuhend(TO DO) Versiooni muudatuse kirjeldus (release notes)
5. Täitja poolt teostatud testide dokumentatsioon
Sissejuhatus Projekti väitel annab Täitja Tellijale üle dokumentatsiooni vastavalt arendusetapi kokkulepitud tulemitele. Dokumentatsioon luuakse ja antakse üle digitaalsel ja redigeeritaval(Confluence wiki lehena) kujul Tellija Confluence keskkonnas. Üleandmise hetkel fikseeritakse üleantav versioon. Dokumentatsioon peab sisaldama versiooni ajalugu, et oleks üheselt tuvastatav dokumendi versiooni sisse viidud muudatused võrreldes viimati üleantuga. Vajadusel vormistatakse dokumentidest PDF-versioonid. Dokumenteerimisel valmivad joonised ja prototüübid antakse Tellijale üle ka redigeeritavate failidena (joonised on redigeeritavad, eelistatult .EAP formaadis või draw.io). Prototüübid on redigeeritavad FIGMA tarkvaraga.
Minimaalselt peab olema kaetud arendusprojektide läbiviimisel alljärgnevad osad dokumentatsiooniga:
Süsteemi üldine kirjeldus Teenuste/kasutuslugude dokumentatsioon Arhitektuuri dokumentatsioon Paigaldus ja administreerimisjuhend Loodavate testide dokumentatsioon Juhendid ja abimaterjal Vajadusel migratsiooniga seotud dokumentatsioon Mittefunktsionaalsete nõuete vastavustabel*
*vastavuste/mittevastavuste fikseerimine vorm on projektimeeskonna kokkulepe.
Iga loodav dokument peab olema:
Struktureeritud; Loetav ja selge; Kindlas kõneviisis ning keeleliselt korrektselt kirjutatud; Täpsete andmeväljade nimetustega ja mõistetega; Vormistatud lõppversioonis nii, et tekst ei sisalda enam täiendavaid kommentaare ja täpsustusi.
1. Süsteemi üldine kirjeldus
Kirjeldada mis on arendusprojekti eesmärk, loodava funktsionaalsuse põhiülesanne; Mis on arendusprojekti taust, probleemi või hetkeolukorra kirjeldus(Sisend arenduvajaduse vormilt); Mis on arendusprojekti skoop;
Viited õigusaktidele; Huvigrupid ja kasutajate kirjeldus; Liidestused teiste infosüsteemidega; Kasutatavad klassifikaatorid.
1.1. Sõnastik
Ot sta rv e:
Kirjeldada projektis läbivalt kasutatavaid mõisteid ja lühendeid.
Si su:
Ühtne projekti(de) ülene sõnastik. Mõistete selgitamisel võib kasutada näiteid, mis annavad edasi mõistete sisu ning viidata dokumentidele, milles mõisted enim kasutusel on, kuid see ei ole kohustuslik.
Ül ea nd mi ne:
Dokument esitatakse Tellijale kinnitamiseks jooksvalt vastavalt projektiplaanile ja projekti tegevustele. Dokument on järk-järgult täienev ning dokumendi lõppversioon fikseeritakse üleandmise hetkel – vastavalt projektiplaanile kas projekti vaheetappide üleandmisel ja/või lõppemisel. Järgnevate projektide tulemite loomisel võidakse aluseks võtta juba eelmiste projektide käigus loodud sõnastik, mida täiendatakse.
Vii te d:
Wiki
2. Teenuste ja kasutuslugude dokumentatsioon
Eeld us dok ume ndil e:
Süsteemi üldine kirjeldus
Otst arve:
Kirjeldab detailselt üleantavaid teenuseid/kasutuslugusid.
Sisu: Kasutuslugude kirjeldamise käigus koostatakse kõikide kasutusjuhtude kirjeldused kasutaja ja süsteemi vahelise interaktsiooni vormis. Kirjeldused luuakse mitmel erineval tasemel – kirjeldatakse süsteemi ja kasutaja vahelist interaktsiooni koos süsteemisiseste tegevustega ning kasutaja ja süsteemi objektide vahelist interaktsiooni. Kirjeldused tehakse nii tekstiliselt kui vajadusel graafiliselt (nt. activity, sequence,
diagrammidena), et saada võimalikult hea ülevaade kasutusjuhtudest.collaboration, usecase
Dokument sisaldab:
· Kasutusloo/teenuse kirjeldust;
· Ärinõudeid ja piiranguid;
· Ärireegleid(teostatavaid kontrolle);
· Tehnilise teenuse kirjeldust(API);
· Põhiprotsess ja mõned sagedamini esinevad alternatiivsed protsessid(vastavalt vajadusele);
· Üldine kirjeldus, kuidas ja kus kajastub antud teenus/kasutuslugu tervikprotsessis;
· Nõudeid ja reegleid toetavad(sisu mõistmisele kaasaaitavad) pildid, diagrammid, tabelid, loendid jne;
· Andmevahetuse teenuste kirjeldus(andmete küsimine/vastuvõtmine, turvalisus, teenuse andmestik, klassifikaatorid, xml/xsd schemad);
· Protsesside UML vaated;
· Feature flagide nimekiri.
2.1. Näide:
2.2. CRUD maatriks
On tööriist mida kasutatakse selleks, et kaardistada kasutaja poolseid tegevusi andmebaasi tasemel. See on lühend neljast põhitoimingust, mida rakendused saavad andmetega teha:
Loomine Lugemine Värskendamine/uuendamine Kustutamine
Maatriks koosneb tabelist milles erinevad andmeükskused on paigutatud veergu ja CRUD toimingud on paigutatud piki teist telge. Iga maatriksi lõikepunkt näitab, kas konkreetset toimingut saab teha konkreetse andmeüksusega.
3. Arhitektuuri dokumentatsioon
Eeldus dokume ndile:
Süsteemi üldine kirjeldus, teenuste ja kasutuslugude dokumentatsioon
Otstarve: Dokumendi eesmärgiks on kirjeldada loodava süsteemi üldist ehitust. Kirjeldatakse rakenduse loogilist struktuuri, näidates ära selle kihtideks jagunemise korda. Kirjeldatakse ka füüsilist arhitektuuri, antakse ülevaade kasutatavatest tehnoloogiatest ning vahenditest.
Sisu: Dokumendis on kirjeldatud:
· Topoloogia, süsteemi füüsiline arhitektuur(süsteemi komponendid – andmebaasiserver, rakendusserver, meiliserver, xtee server jne.) sh süsteemi soovituslikud näitajad komponentide kaupa: näiteks andmesidekiirused, andmemahud, protsessori kiirus, mälumaht, kettasüsteemi jõudlus jne.
· Liidesed teiste süsteemidega ja sõltuvused teistest süsteemidest;
· Kolmandate osapoolte poolt toodetud kasutatavad tarkvarad/riistvada mis on vajalikud süsteemi toimimiseks;
3.1. Näide:
3.2. Andmebaasi kirjeldus
Eeldus dokumendile: Süsteemi üldine kirjeldus, teenuse ja kasutuslugude dokumentatsioon
Otstarve: Kirjeldada andmeobjekte ja nendevahelisi seoseid.
Sisu Füüsilise andmebaasi andmetabelite ja -objektide seoste diagramm koos tabelite semantika kirjeldusega kujul:
Tabeli nimi Semantika
PERSON Siin tabelis hoitakse inimestega seotud andmestikku....
Ja olemite omaduste kirjeldustega (andmetüübid, NULL/NOT NULL, kohutuslik, semantika, jne.)kujul:
Atribuudid Tüüp NULL/NOT NULL Semantika
PERSON_ID INTEGER NOT NULL Tabeli primaarvõti
.... ...... ..... .....
3.3. Näide:
Loogiline andmemudel
Andmebaasimudel:
4. Paigaldus ja administreerimisjuhend(TO DO)
Eeldus dokume ndile:
Süsteemi üldine kirjeldus, arhitektuuri dokumentatsioon, teenuste/kasutuslugude dokumentatsioon
Otstarve :
Süsteemi paigaldamiseks ja administreerimiseks loodud dokumentatsioon.
Sisu: Juhendis on kirjeldatud sõltuvalt tarnest:
· Süsteemi parameetrite(seadistuste) kirjeldus;
· Logimise realisatsiooni kirjeldused(kuhu, mida, logide struktuur);
· Rutiinsete hooldusprotseduuride kirjeldus(komponentide taaskäivituse vajadus parameetrite muutmisel);
· Nõuded rakenduse komponentidele;
· Andmete alglaadimine*;
· Varundusskriptid;
· Monitooringu kirjeldus.
Paigaldusjuhendis kirjeldatakse iga realiseeritud osa rakendamine koos spetsiifiliste seadistustega, sh tuuakse välja esmakordsel paigaldusel vajalikud tegevused ning erisused. Paigaldusprotseduurid peavad olema kirjutatud selliselt, et TEHIK administraator suudab rakenduse paigaldada ilma kõrvalise abita.
Taasteplaan vajadusel*
Versiooni muudatuse kirjeldus (release notes)
Otsta rve:
Anda tellijale ülevaade infosüsteemi versioonide muudatustest ja versiooni ülespaneku hetkel teada olevatest vigadest.
Sisu: Detailne info iga versiooniuuenduse kohta – avaldamise kuupäev, versiooni number, tehtud muudatused, viited taskidele, ülevaade teadaolevatest probleemidest, nt. vead mis ei sisaldu selles tarnes.
5. Täitja poolt teostatud testide dokumentatsioon
Otsta rve:
Anda Tellijale ülevaade läbiviidud testimiste tulemustest. Testide dokumentatsiooni järgides peab olema Tellijal võimalik kontrollida süsteemi nõuetekohast toimimist.
Sisu: Dokumentatsioon sisaldab teostatud arenduste testimisel saadud informatsiooni:
· Testiplaan;
· Testlood;
· Testraport;
· Jms.
Dokumenteeritakse iga testimise eesmärgid, tegevused ja tulemid. Teste mitteläbinud testlugudele on lisatud parandused või ülesjäänud vead. Sisaldab jõudlus- ja mahutestide infot ning versioonide infot.
Automaattestide puhul antakse üle kood ning ülevaade Sonarqube’is(testide nimekiri, testide käivitamise tulemus, koodi kaetus).
Viited: JIRA keskkonda kasutatakse testimispiletite haldamiseks.
Andmevahetusteenuse kirjelduse mall (draft)
Teenuse nimi Teenuse kirjeldus
Teenuse tehniline spetsifikatsioon Päringu ja andmetöötluse arhitektuur Päringu näide
Päringu väljundi vastavus päriva registri X mooduli andmetabelite väärtustega Seotud klassifikaatorid Kasutuslood Andmetöötlus Veahaldus Monitooring
Ärivajadustest lähtuv monitooring Tehniline monitooring
Teenuse nimi
Teenuse kirjeldus
Teenuse tehniline spetsifikatsioon
Teenuse kirjeldus Link dokumentatsiooni keskkondawww.x-tee.ee
Teenuse kood RR458
Teenuse liik SOAP/REST
Teenuse WSDL x-tee.ee/catalogue-data/EE/EE/GOV/70008440/rr/173.wsdl
Versioon V2
Näidis päringu tegemiseks Mis selle all mõeldi, all näide olemas
Dokumentatsioon (Registripidajalt) RR458 dokumentatsioon
Päringu ja andmetöötluse arhitektuur
Kirjeldus ja diagramm teenusega seotud moodulitest ning nende omavahelistest suhtlustest, võiks olla valmistatud kasutades draw.io pluginat otse wikis et hilisemad täiendused oleks lihtsasti teostatavad
Päringu näide
Üks või rohkem näiteid päringu sisust (xml) + Sisendparameetrid
NÄIDE SISEND XML
Vcurl --location ' ' \https://xtee6.test --header 'Content-type: text/xml; charset=UTF-8' \ --data '<SOAP-ENV:Envelope xmlns:SOAP-ENV=" " xmlns:iden=" " xmlns:prod="http://schemas.xmlsoap.org/soap/envelope/ http://x-road.eu/xsd/identifiers ht
" xmlns:xro=" ">tp://rr.x-road.eu/producer/rr http://x-road.eu/xsd/xroad.xsd <SOAP-ENV:Header> <xro:userId>EE11111111111</xro:userId> <xro:id>my1XSJpzA0THmGa404Lweg</xro:id> <xro:protocolVersion>4.0</xro:protocolVersion> <xro:client iden:objectType="SUBSYSTEM"> <iden:xRoadInstance>ee-test</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass> <iden:memberCode>10364097</iden:memberCode> <iden:subsystemCode>helmesskais2</iden:subsystemCode> </xro:client> <xro:service iden:objectType="SERVICE"> <iden:xRoadInstance>ee-test</iden:xRoadInstance> <iden:memberClass>GOV</iden:memberClass> <iden:memberCode>70008440</iden:memberCode> <iden:subsystemCode>rr</iden:subsystemCode> <iden:serviceCode>RR458isikuTDkontroll</iden:serviceCode> <iden:serviceVersion>v2</iden:serviceVersion> </xro:service> </SOAP-ENV:Header> <SOAP-ENV:Body> <prod:RR458isikuTDkontroll xmlns:ns2=" ">http://rr.x-road.eu/producer <request> <Isikukood>39703030012</Isikukood> <pohjus>pohjus</pohjus> </request> </prod:RR458isikuTDkontroll> </SOAP-ENV:Body> </SOAP-ENV:Envelope>'astuse näide
NÄIDE SISENDPARAMEETRID
Sisendparameeter Kohustuslikkus Lisainfo
Isikukood Kohustuslik Isiku isikukood
Pohjus Mittekohustuslik Päringu põhjus (kui see väli on täidetud, siis see kuvatakse andmejälgijas - . Andmejälgija | RIA )
Päringu vastuse näide
Üks või rohkem näiteid päringu vastuse sisust (xml)
NÄIDE VASTUS XML
<SOAP-ENV:Envelope xmlns:SOAP-ENV=" " xmlns:xsd=" " xmlns:xrd="http://schemas.xmlsoap.org/soap/envelope/ http://www.w3.org/2001/XMLSchema http " xmlns:prod=" " xmlns:xsi=" " xmlns:id="://x-road.eu/xsd/xroad.xsd http://rr.x-road.eu/producer http://www.w3.org/2001/XMLSchema-instance http://x-road.eu
" xmlns:repr=" " xmlns:SOAP-ENC=" ">/xsd/identifiers http://x-road.eu/xsd/representation.xsd http://schemas.xmlsoap.org/soap/encoding/ <SOAP-ENV:Header> <xrd:client id:objectType="SUBSYSTEM"> <id:xRoadInstance>ee-dev</id:xRoadInstance> <id:memberClass>GOV</id:memberClass> <id:memberCode>70008440</id:memberCode> <id:subsystemCode>viisaregister</id:subsystemCode> </xrd:client> <xrd:service id:objectType="SERVICE"> <id:xRoadInstance>ee-dev</id:xRoadInstance> <id:memberClass>GOV</id:memberClass> <id:memberCode>70008440</id:memberCode> <id:subsystemCode>rr</id:subsystemCode> <id:serviceCode>RR458isikuTDkontroll</id:serviceCode> <id:serviceVersion>v2</id:serviceVersion> </xrd:service> <xrd:issue>elukohateate testimine</xrd:issue> <xrd:userId>EE47905250367</xrd:userId> <xrd:id>11ea521824f8c942c706238e71e39692d5f0190b</xrd:id> <xrd:protocolVersion>4.0</xrd:protocolVersion> </SOAP-ENV:Header> <SOAP-ENV:Body> <prod:RR458isikuTDkontrollResponse> <request> <isikukood>37704020965</isikukood> <!--Optional:--> <pohjus>1</pohjus> </request> <response> <dokumendid> <dokument> <nimetus>ELAMISLUBA</nimetus> <number>1009889467/TE</number> <asutus>POLITSEI- JA PIIRIVALVEAMET</asutus> <valjaKpv>22.04.2020</valjaKpv> <kehtibKuni>22.04.2025</kehtibKuni> <staatus>KEHTIV</staatus> <isikukood>37704020965</isikukood> <perenimi>TEHIKJK</perenimi> <eesnimi>JUKU</eesnimi> </dokument> <dokument> <nimetus>ELAMISÕIGUS</nimetus> <number>1009930329/TO</number> <asutus>POLITSEI- JA PIIRIVALVEAMET</asutus> <valjaKpv>05.01.2023</valjaKpv> <kehtibKuni>04.01.2028</kehtibKuni> <staatus>KEHTIV</staatus> <valjastamiseAlus>TA01</valjastamiseAlus> <valjastamiseAluseTekst>ELKS § 22 lg 1 TO pereliikmele</valjastamiseAluseTekst> <isikukood>37704020965</isikukood> <perenimi>TEHIKJK</perenimi> <eesnimi>JUKU</eesnimi> </dokument> <dokument> <nimetus>ELAMISLOAKAART</nimetus> <number>BD2002024</number> <asutus>POLITSEI- JA PIIRIVALVEAMET</asutus> <valjaKpv>14.05.2020</valjaKpv> <kehtibKuni>11.12.2020</kehtibKuni> <staatus>KEHTETU</staatus> <isikukood>37704020965</isikukood> <perenimi>TEHIKJK</perenimi> <eesnimi>JUKU</eesnimi> </dokument> </dokumendid> </response> </prod:RR458isikuTDkontrollResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
NÄIDE VÄLJUNDPARAMEETRID
Väljund Andmetüüp Tingimus, kirjeldus
Dokument Dokument andmete plokk.
dokument.nimetus Tekst RRis dokumendi liigi nimetus.
dokument.number Tekst Dokumendi number, kui puudub, siis väärtus tühi.
dokument.seeria Tekst Dokumendi seeria, kui puudub, siis väärtus tühi.
Päringu väljundi vastavus päriva registri X mooduli andmetabelite väärtustega NÄIDE
RR458 Väljund
RR458 Andmetüüp
Kommentaar DM tabel DM andmeväli DM andme tüüp
Kohustu slik
nimetus Tekst Dokumendi nimetus RR, võimalikud väärtused vaata cl RR458 teenus assifer DO_LIIK
. DOCUME NT
DOCUMENT_TYPE_ CL_ID
VARCHAR2 (18)
EI
number Tekst Dokumendi number . DOCUME NT
DOCUMENT_NUMB ER
VARCHAR2 (256)
EI
Seotud klassifikaatorid Todo
Sihtregistri veakoodid - kui päringule ei saadud vastust
NÄIDE
Väärtus Kirjeldus
10001 Isikukoodi pikkus ei ole 11 sümbolit.
10002 Isikukoodis ei ole kõik sümbolid numbrid.
10022 Kohustuslikud sisendparameetrid puuduvad.
L134 Päringu registreerimine ei õnnestunud.
L120 Kohustuslikud sisendparameetrid &1 puuduvad.
Sihtregistri klassifikaatorid - mille vastu töötluses enda poolel teeme kvaliteedikontrolli
NÄIDE
Väärtus Väärtuse kirjeldus FormOfStudy enumi kood
E Eksternõpe EKSTERNOPE
MS Mittestatsionaarne MITTESTATS_OPE
S Statsionaarne õpe STATS_OPE
K Kaugõpe KAUGOPE
Kasutuslood TODO - Ehk ei ole vaja?
Andmetöötlus TODO
Kirjeldada üldiselt päringuvastuse töötlemise üldised põhimõtted ja detailselt kõigi väärtuste töötlemise reeglid koos võimalike vea väärtustega
Töötluse kirjeldusest peab olema aru saada: Milliseid kontrolle rakendatakse Millised andmed millisel juhul ja kuhu maha kirjutatakse (moodul, tabel, veerud) Milliseid andmeid millisel juhul maha ei kirjutada - > veateated + veahaldus
Veahaldus TODO
Päringu vead - kui väljaminev päring on õnnestunud, aga vastuvõtja ei saanud päringut töödeldud mingi vea tõttu päringus.
NÄIDE
Veakood Selgitus Veateade ametnikurakenduses Töötluse tulemus
RR458_IS_DOK_ISI KUKOOD_VIGA1
"response": { "faultCode": "10001", "faultString": "Isikukoodi pikkus ei ole 11 sümbolit." }
Viga tekib kui RR458 teenus tagastab vea.
Päring ebaõnnestus - RR458_IS_DOK_ISIKUKOOD_VIGA1 -"Isikukoodi pikkus ei ole 11 sümbolit." Teavita SKA Tugi.
Päring ebaõnnestus sisend andmed ei olnud piisavad, teenusest andmeid ei edastatud
RR458_IS_DOK_ISI KUKOOD_VIGA2
"response": { "faultCode": "10002", "faultString": "Isikukoodis ei ole kõik sümbolid numbrid." }
Viga tekib kui RR458 teenus tagastab vea.
Päring ebaõnnestus - RR458_IS_DOK_ISIKUKOOD_VIGA2 -"Isikukoodis ei ole kõik sümbolid numbrid." Teavita SKA Tugi.
Päring ebaõnnestus sisend andmed ei olnud piisavad, teenusest andmeid ei edastatud
Andmekvaliteedi vead - kui päringuvastuse töötlemisel ilmnevad saadud andmetes vead.
NÄIDE
Veakood Selgitus Veateade ametnikurakenduses Töötluse tulemus
RR458_IS_DOK_NIMETUS_ TYHI
<nimetus>ELAMISLUBA</nimetus>
Viga tekib juhul, kui XML-is dokument. on tühi.nimetus
Andmetöötluse viga RR458_IS_DOK_NIMETUS_TYHI - dokumendil p u udub elemendi kood. Saadud dokumenti ei salvestatud! Teavita SKA Tugi.
Dokumenti ei salvestata
RR458_IS_DOK_NIMETUS_ VALE
<nimetus>ELAMISLUBA</nimetus>
Viga tekib juhul, kui dokumendi dokumendi liigi väärtus ei leita klasifikaatorite hulgast.
Andmetöötluse viga - Isiku RR458_IS_DOK_NIMETUS_VALE dokumentide töötlemisel ei leitud SKAIS2 klassifikaatori tunnust [nimetus] . Saadud dokumenti ei salvestatud! Teavita SKA Tugi.
Dokumenti ei salvestata
Monitooring
Ärivajadustest lähtuv monitooring
Vastavalt ärivajadustele monitooring, s.t. kirjeldada kuidas veahalduses välja tulevaid probleeme jälgida ja rakendusest väljapoole näidata.
TODO üldisem mudel äriloogiliste vigade monitoorimiseks ja haldamiseks.
Tehniline monitooring
Minimaalne tehniline monitooring iga päringu kohta:
Päringute hulk (kokku/ajaühikus) Päringute kestus Päringute tulemuste counter (OK vs veaolukord), TODO vajab eestikeelset sõna siia Teenuse otspunkti hetkeseis (töötab vs maas)
Lisaks on iga päringu korral arendaja vastutus mõelda loodava teenuse spetsiifiliste monitoorimist vajavate näitajate peale tagamaks teenuse hea jälgitavus ja probleemide ennetamine.
| Nimi | K.p. | Δ | Viit | Tüüp | Org | Osapooled |
|---|---|---|---|---|---|---|
| Leping | 06.02.2026 | 5 | 3-9/4283-47 🔒 | Muu leping | tehik | |
| Leping | 06.02.2026 | 5 | 3-9/4283-48 🔒 | Muu leping | tehik | |
| Vastus pöördumisele | 05.02.2026 | 1 | 6-2/5660-2 🔒 | Sissetulev kiri | tehik | Helmes AS |
| Vastus pöördumisele | 05.02.2026 | 1 | 6-2/5659-2 🔒 | Sissetulev kiri | tehik | Helmes AS |
| Pöördumine | 28.01.2026 | 8 | 6-2/5660-1 | Väljaminev kiri | tehik | Helmes AS, Helmes AS |
| Leping | 23.12.2025 | 10 | 3-9/4283-39 | Muu leping | tehik | |
| Leping | 10.12.2025 | 8 | 3-9/4283-33 | Muu leping | tehik | |
| Leping | 01.12.2025 | 8 | 3-9/4283-32 | Muu leping | tehik | |
| Leping | 14.11.2025 | 7 | 3-9/4283-28 🔒 | Muu leping | tehik | |
| Leping | 04.02.2025 | 317 | 3-9/4283-8 | Muu leping | tehik | |
| Leping | 17.01.2025 | 308 | 3-9/4283-7 🔒 | Muu leping | tehik | |
| Vastus pöördumisele | 17.01.2025 | 3 | 6-2/5115-4 🔒 | Sissetulev kiri | tehik | HELMES AS |
| Vastus pöördumisele | 14.01.2025 | 1 | 6-2/5115-2 | Sissetulev kiri | tehik | |
| Pöördumine | 09.01.2025 | 4 | 6-2/5115-1 | Väljaminev kiri | tehik | RingIT OÜ, Helmes AS, Helmes AS , Wisercat Estonia OÜ, Wisercat Estonia OÜ |
| Leping | 20.12.2024 | 378 | 3-9/4283-5 | Muu leping | tehik | |
| Leping | 25.11.2024 | 4 | 3-9/4283-4 | Muu leping | tehik | |
| Leping | 20.11.2024 | 6 | 3-9/4283-3 | Muu leping | tehik | |
| Leping | 19.11.2024 | 7 | 3-9/4283-2 | Muu leping | tehik | |
| Vastus pöördumisele | 19.11.2024 | 1 | 6-2/5065-2 🔒 | Sissetulev kiri | tehik | RingIT OÜ |
| Vastus pöördumisele | 19.11.2024 | 1 | 6-2/5065-3 🔒 | Sissetulev kiri | tehik | AS Helmes |
| Vastus pöördumisele | 19.11.2024 | 1 | 6-2/5065-4 🔒 | Sissetulev kiri | tehik | Wisercat Estonia OÜ |
| Pöördumine | 18.11.2024 | 2 | 6-2/5065-1 | Väljaminev kiri | tehik | RingIT OU, AS Helmes, AS Helmes, Wisercat Estonia OÜ, Wisercat Estonia OÜ |
| Leping | 14.08.2024 | 104 | 3-9/4283-1 | Riigihankeleping | tehik |