Tarkvara arenduse elutsuklis on olemas erinevaid tegevusi, nende tegevuse tulemusel tekib hulk artifakte. mis dokumenteerib nendes tegevustes kas siis tehtavaid tegevusi voi tehtud tegevusi ja nende tegijaid. Dokumentasioon tekib peaaegu igas tarkvaraareduse elutsukli etapis ja pohimoteliselt igas tarkvaraarenduse elutsukli tuubis. Need artefaktid kokku modustavadki Tarkvara dokumentasiooni.
On olemas erinevaid tuupe dokumentasiooni, aga tuupilised esinevad vahemalt jargnevad:
Kujutab endast erinevates arendustsuklites oleva Analuusietapi valjundid, kus pannakse paika, arenava susteemi nouded koostooos lopp kasutajaga ning kliendiga. Arvestakse molemad vajudusi ning selgitakse valja erinevad takistavad aspektid.
Dokumenti eesmark on anda arendajale arhitekturse disaini dokumendi loomise jaoks tapne sisend selle kohta mida uldse arendama peab, selle abil kirjeldatakse juba susteemselt arendajale vajalik info.
Kirjeldab ara dokumenti eesmargi (Mileks ja kellele), Projekti ulatuse (Midaarendakse, mida mitte), Terminite sonastik(Mittearendajale kirjeldamiseks kasutatud tehnoloogilise termineid), Viited teisele Dokumendile (Erinevaid uml diigrami, kasutajajuhendeid, meeskona arenduse halduskeskond, projektijuhtimise halduskeskond, Arendatava too enda haldusjuhend, jpm)
Kirjeldab arendustoo ennast mida selle dokumendi abil arendama hakatakse
Kirjeldakse ara, mida tahab kasutaja teha, mida klient sellest saab, mis on nende erinevad vajadused, kas neil on eelnevaid kogemusi sarnaste toodetega samast tootekategoriast. Naiteks rollipohine tabel:
| Rool | Tegevused |
| Kulaline |
|
| Regisreerund kasutaja | Koike mis kulaline +
|
| Adminisntatoor | Koike mis kasutaja +
|
| Suusteemi Adminisntatoor | hoolitseb veebiapi toimise eest, haldab andmebaase, teeb korrastoid, vajadusel koonfigureerib, ja jalgib muud statistikat et tagada kliendi ja kasutaja rahuolu. |
Kirjeldatakse ara erinevasi piiranguid voi tokestavaid aspektid, mis voivad arendusele ette tulla, kasutajle endal olla, Keskonnas kus toode toimuma peab, arendusvahenditest tulenevad piiranguid ja seaduslikud poorangud
Toote loomist voib tingida mingisugune eelnev tingimus-viikse isse riigisusteemis muudatus, digitalne vahend selle jaoks puudub, ning leitakse et on vaja arendada vastav tootrist et tagada riigisusteemi muudatuse ulalhoid.
Kirjeldab ara keskonna riistvaraliselt mille arendatud tarvkavar toode toimima peab. See voib endas sisaldada erinevaid:
Kirjeldab ara erinevaid funktsionaalsed nouded (naiteks sisselogimisfunktsioon backendis) kasutajalugedena ning muud tehnilised nouded arenduskeskonnas.Siseldab ka endas erinevaid UML skeeme.
Kujudab endast arendatava toote voi susteemi sissemist ulesehitus. Kirjeldab ara ka selles suustemis esinevaid erinevaid mooduleid, komponete ning mudi soltuvusi. Pannakse kirja ka kuidas need kamponendid omavahel suhtlevad ning susteemiise tervikuna suhtleb susteemivaliste elementidega (muud liidese/apid/platformid/riistvarad). Ara kirjeldatkase ka arhitekturi kaskonnaƶe kus ja kuidas valminud toode ( voi selle suteemi erinevad osad) hiljem olema peab.
Dokumendi eesmark on tekitada arendajale struktuur mida nad arendama hakkavad, see struktur tuletakse tarkvara noute dokumendist.
Kirjeldakse ara dokumendi eesmark mileks ja kuidas , vidatakse muuude dokumenditele sh tarkava noute dokument Ning omab sissekorda.
Kirjutakse valja milleseid arendusvahendid on otsustanud arendustooks rakendada. Kirjeldatakse ara ka nende seadistus ja pohjendakse ara miks just neid arendusvahendid valitud on. kirjeldakse samamodi ara ka peale arendusvahendite arenduskeskonna.
On kokulepilised konvetsioonid mi kogu arendus meeskond jalgima peab, nendeks on:
Kirjeldatakse ara teised, valised susteemid ja kuidas nendega arendatav tarkavaratoode suhtlema peaks. Seahulgas ka mis kujul ja mis viisil need valised sustemid infot vastu votavad ja tagasi anavad.
Kirjeldakse ara kuidas arendatav toode sisemiselt erinevateks komponediks jaotub, ning milline on selle uleuldine sisemine struktur. mida iga komponent tegema peab, mis on selle komponendi eesmarkja kuidas komponendid omavahel suhtlevad.
siin tuukse valja, mis miski arhitektuuriostus langeti, ehk miks just nii mite naa. Pakutse valja. ka olemsolevatele otsustele alternative juhuks kui esialgne plaan ei sobi vai on tokestanud. Tuukse valja ka nouded mille pohjal erinevad otsused langetati, ehk mida see otsus lahendama peaks.
Pannakse kirja tarkvaratootele kliendi poolt esitatud joudlusnouded, naiteks: kui palju kasutajaid suudab sotsiaalmeedia platvorm korraga hallata. Testimise kaigus uritakseegi testida arendusjargus olevat roodet simuleeritud koormusega. koik muud jaoudlusnouded peaksid olema ka tesititavdd sellisel viisil.
Kuidas programm valjendab oma funktsionaalslsust lappkasutajale, ning millesed viisil esitakse programis tekkinud vigu kasutajale. Ehk teisissonu on siin kasutajaliides disain . Kasutajaliides disain voib olla ka eraldi oma dokument.
Kirjeldab ara kui palju vaja arendatav toode erinevaid sustemi raudavara ressure nagu:
Kuidas ja mis visiidel hoitakse loppkasutaja adnmed ja raudavara terve ja turvalisena ning tehakse kindlaks et loppkasutaja saab katte ainult need admeid mida tal programis olevate tegevuse teostamiseks vaja on Naiteks krupteritakse tundlikud andmed admebasil ara, ning iga jargmine kordusevorreldatakse kasutja sisentusi nagu parol adnmebasis juba oleva krupteeritud kujuga.
Kas programm on voimalik kaivitada teistel( nii riistvararalisel kui tarkvaraliste) platvormidel, ja Kui siis millestel.
Kui klient otsustab , et on tarkvara noute dokumentides mingi vaja ringi teha, siis tuleb vastavad muudatused sisse viia ka arhitektuurse disaini dokumendi. Sellel eesmargil on molemis dokumendis noute ja arhitektuurielementide vahel ristviited. Kui on vaja naiteks sisselogimisfunktsioone muuta, et nuud klient tahab ka saada telefoninumbrit 2FA labiviimiseks, siis on sela telefoninumbri kusimine, ja juurdelisatud osa laheb arendusse uue inkremendina. Ning vastupidi, kui arhitektuuris tuleb valja , et telefoninumbri kusimine ei ole voimalik, siis on selks dokumendis vatsav ristviide tarkvara noudele, ja seal defeneeritakse noue ringi, et telefoninumbrit kohe kusida ei saa, tehakse uus noue mis laheb kasutajaleselle telefoninumbri hiljem lisada.
On dokument mis aitab kasutajal kasutada ning navigerida valminud tootes. Ta kirjeldab ara kuidas erinevaid tegevusi sooritada, milleks seda programmi ultse kasutada saab, kuidas lahendada korduma Kipuvad Kusimused ja muid voimalikke kasutaja tegevuse tagajarel tekkinud veaolekuid. Kasutajajuhend on kirjatud selle pohjal mis on kasutajal naha ning saadaval, aga mitte kasitledes programmi siseseid detaile.Naiteks, moterimis program kirjeldab kasutajale kuidas muuta toorista nahtamaks naiteks labi View Window Menu. Aga mitte seda , millist muutujat muuta vaja . et kuvada see aken koodis (bool siToolVisible = false; bool isTooVisble = trues;)
Haldusjuhend on dokumend mille koostavad arendajad oma arendatava toote kohta potensiaalselt arendusega mittetegelevale isikule, Aga kes on kliendi palgal valminud susteemi hooldmas. Dokument kasitleb:
On omakorda dokumendiartefakti kogum, mis kasitleb projekti haldamisega seotud dokumente, sh. ajakava palnerimist, arendusegaseotud ressursside planeerimist, arendustoo hetkejarku jms.