Mis on dokumentatsioon?

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

Milliseid artefakte dokumentatsioonis esineda võib?

On olemasa erinevaid tüüpe dokumentatsioone aga tüüpiliselt esinevad järgnevad:

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

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õkestused.

Dokumendi eesmärk on anda arendajale Arhitektuurse disaini dokumentdi loomise jaoks täpne sisend selle kohta mida üldse arendama peab, selle abil kirjeldatakse juba süsteemselt arendajale 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 arenajale struktuur mida nad arendama hakkavad, see struktuur tuletatakse tarkvara nõuete dokumendist. Dokumendi koostab süsteemiarhitekt.

Mida arhitekstuurse disaini dokument sisaldama peab?

Muudatuste tegemine

Kui klient otsustab et nüüd on tarkvaranõuete dokumendis mingi nõue vaja ringi teha, siis tuleb vastavad muudatused sisse viia ka arhitektuuri disaini dokumenti. Sellel eesmärgil on mõlemas 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 ristviide vastavale programmi moodulile, mis haldab kasutaja sisselogimist. Sellele kasutajaloole lisatakase juude telefoninumbri küsimine ja juurdelisatud osa läheb arendusse uue inkremendina. ning vastupidi, kui arhitektuuris tuleb välja, et telefoninumbri küsimine ei ole võimalik, siis on selles dokumendis vastav ristviide tarkvara nõudele ja seal defineeritakse nõue ringi, et telefoninumbrit kohe küsid ei saa, tehakse uus nõue mis lubab kasutajal selle telefoninumbri hiljem lisada.

Kasutajajuhend

On dokument mis aitab lõppkasutajal kasutada ning navigeeria valminud tootes. Ta kirjeldab ära kuidas erinevaid tegevusi sooritada Milleks seda programmi üldse kasutada saab, kuidas lahendada KKK ja muid võimalikke kasutaja tegevue tagajärjel tekkinud veaolekuid. Kasutaja juhend 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 mitte tegevale isikule aga kes on kliendi palgal valminud süteemi hooldamas. Dokument käsitleb:

Projektihaldusdokumentatsioon

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