Mis on dokumentatsioon?


Tagasi

Tarkvara arenduse elutsüklis on olemas erinevaid tegevusi, nende tegevuste tulemusel tekib hulk artifakte
mis dokumenteerib nendes tegevustes kas siis tehtavaid tegevusi või tehtuid tegevusi ja nende tegijaid.
Dokumentatsioon tekib peaaegu igas tarkvaraarenduse elutsükli etapis ja põhimõtteliselt igas tarkvara-
arenduse elutsükli tüübis. Need artefaktid kokku moodustavadki Tarkvara dokumentatsiooni.



Milliseid artefakte dokumentatsioonis esineda võib?

On olemas erinevaid tüüpe dokumentatsioone, aga tüüpiliselt esinevad vähemalt järgnevad:



Mida need endast kujutavad ning mis on nende eesmärk?


Süsteemi nõuete dokument


Kujutab endast erinevates arendustsüklites oleva Analüüsietapi väljundit, kus pannakse paika
arendatava süsteemi erinevad nõuded koostöös lõppkasutajatega ning kliendiga. Arvestatakse mõlemi vajadusi
ning selgitatakse välja erinevad tõkendid.


Dokumendi eesmärk on anda arendajaile Arhitektuurse disaini dokumendi loomise jaoks täpne sisend selle kohta,
mida üldse arendama peab, selle abil kirjeldatakse juba süsteemselt arendajaile vajalik info.


Mida süsteemi nõuete dokument endas sisaldama peab?



Arhitektuurse disaini dokument


Kujutab endast arendatava toote või süsteemi sisemist ülesehitust. Kirjeldab ära ka selles süsteemis esinevaid erinevaid
mooduleid, komponente ning muid sõltuvusi. Pannakse kirja ka kuidas need komponendid/moodulid omavahel suhtlevad ning kuidas
süsteem ise tervikuna suhtleb süsteemiväliste elementidega (muud liidesed/apid/platvormid/riistvarad/jne). Ära kirjeldatakse
ka arhitektuur keskkonnale kus ja kuidas valminud toode (või selle süsteemi erinevad osad) hiljem olema peab (/peavad).


Dokumendi eesmärk on tekitada arendajaile struktuur, mida nad arendama hakkavad. See struktuur tuletatakse tarkvara
nõuete dokumendist. Dokumendi koostab süsteemiarhitekt.


Mida arhitektuurse disaini dokument endas sisaldama peab?


Muudatuste tegemine

Kui klient otsustab, et nüüd on tarkvara nõuete dokumendis mingi nõue vaja ringi teha, siis tuleb vastavad muudatused sisse
viia ka arhitektuurse disaini dokumenti. Sellel eesmärgil on mõlemis dokumendis nõuete ja arhitektuurielementide vahel ristviited.
Kui on vaja näiteks sisselogimisfunktsiooni muuta, et nüüd klient tahab ka saada telefoninumbrit 2FA läbiviimiseks, siis on seal
nõude juures ka ristliide vastavale programmi moodulile, mis haldab kasutaja sisse logimist. Sellele kasutajaloole lisatakse juurde
telefoninumbri küsimine ja juurdelisatud osa läheb arendusse uue inkremendina.
Vastupidiselt, kui arhitektuuris tuleb välja, et telefoninumbri küsimine ei ole võimalik, siis on selles dokumendis vastav ristviide
tarkvara nõudele ja sealt defineeritakse nõue ringi, et telefoninumbrit kohe küsida ei saa, tehakse uus nõue, mis lubab kasutajal
selle telefoninumbri hiljem lisada.


Kasutajajuhend

On dokument, mis aitab lõppkasutajal kasutada ning navigeerida valminud tootes. Ta kirjeldab ära kuidas erinevaid tegevusi sooritada
milleks seda programmi üldse kasutada saab, kuidas lahendada Korduma Kippuvaid Küsimusi ja muid võimalikke kasutaja tegevuse tagajärjel
tekkinud veaolekuid. Kasutajajuhend on kirjutatud selle põhjal, mis on kasutajale näha ning saadaval, aga mitte käsitledes programmi-
siseseid detaile. Näiteks, Monteerimisprogramm kirjeldab kasutajale, kuidas muuta tööriist nähtavaks läbi "View > Window" menüü, aga mitte
seda, millist muutujat muuta vaja, et kuvada see aken koodis (bool IsToolVisible = false; -> bool isToolVisible = true).


Haldusjuhend


Haldusjuhend on dokument, mille koostavad arendajad oma arendatava toote kohta potensiaalselt arendusega mittetegelevale isikule, aga
kes on kliendi palgal valminud süsteemi hooldamas. Dokument käsitleb:


Projektihaldusdokumentatsioon


On omakorda dokumendiartefaktide kogum, mis käsitleb projekti haldamisega seotud dokumente (sh: ajakava planeerimist, arendusega
seotud ressursside planeerimist, arendustöö hetkejärku jms.)