Kuna tarkvara on seadmete immateriaalne osa, koosnevad tarkvara osad igast sektsioonist, mis võimaldavad tarkvara tervikuna.
See tähendab, et kuigi tarkvara on erinevat tüüpi, võib öelda, et mis tahes tüüpi tüüpide väljatöötamiseks peavad need vastama ühistele miinimumstandarditele.
Erinevused operatsioonisüsteemi ja arvutiprogrammide vahel
Enne tarkvara osadesse süvenemist tuleks eristada kahte suurt arvutisüsteemide tarkvara rühma.
Operatsioonisüsteemi abil mõistame seadme digitaalset aju. See teeb võimalikuks kõik seadme ülesanded, olgu need siis programmid või mis tahes rakendused.
Teiselt poolt ei saa arvutiprogrammi käivitada ilma opsüsteemita, mis lubas meil programmi varem avada. Siis on seadmes süda operatsioonisüsteem ning selle käed ja jalad on programmid.
Tarkvara osad
Esiteks tuleb märkida, et opsüsteemi moodustavad jaotised on laiema ulatusega kui programmid ise. Nii et igasse programmi integreeritud osi võib vähemalt teoreetiliselt leida operatsioonisüsteemist.
Võime välja tuua kaks klassifikatsiooni. Ühelt poolt leiame nn esiosa ja tagapõhja ning teiselt poolt funktsioonid või sektsioonid, mida tarkvaras täita.
Alustades tarkvara jaotistest, peaks see suutma:
- Halda.
- Pakkuge tööriistu.
- Linkige selle teave kasutajaga.
Sõltuvalt tarkvarast, millele viidame, haldab ta, pakub üht või teist tööriista ja pakub meile teavet ühel või teisel viisil.
On tarkvara, mis ainult haldab (näiteks Windowsi kaustad). Teised, mis pakuvad tööriistu (kontoripaketid). Või need linkide andmed (näiteks töölaual olevad otseteed).
Arvutiprogrammid on tavaliselt tööriistad, mis täidavad kõiki kolme funktsiooni, kuid see pole alati nii. Võib öelda, et operatsioonisüsteemil on alati eespool nimetatud funktsioonid.
Teisest küljest, kui keskendume osadele arendustasandil, leiame tavaliselt kaks osa:
- Osa esiosast. See osa vastutab visuaalse osa eest, mille kaudu kasutaja tarkvaraga suhtleb.
- Osa tagaosast. Selles osas on see aga tööriista arendamine nii, et sellel oleks funktsioon, mis ületab seadme enda ulatust, pakkudes kas lokaalset ühendust kohaliku serveri kaudu või traditsioonilist serveriserveri sidet.
Spetsialisti, kes ühendab mõlemad arendusvaldkonnad, nimetatakse sageli täispika arendajaks. Kuigi tarkvaraarendustööstus ületab selle klassifikatsiooni, on see üldiselt kõige elementaarsem.