3.1.2 Abstraktsioon probleemide lahendamise ja tarkvara loomise meetodina

iDevice ikoon 3.1.2 Abstraktsioon probleemide lahendamise ja tarkvara loomise meetodina

Abstraktsioon

Tarkvara loomisel on oluline osa abstraktsioonil. Selle all mõeldakse lähenemisviisi, kus mingi nähtuse analüüsimisel jäetakse mängust välja selle ebaolulised küljed, mis ei mängi rolli antud probleemi lahendamise kontekstis.

Selles mõttes on abstraktsioon infotehnoloogias sarnane abstraktsiooniga matemaatikas, kus matemaatiliste mõistete (sirge, arv, funktsioon jne.) defineerimisel "jäetakse alles" üksnes need reaalmaailma objektide-nähtuste omadused, millel on tähtsust vastava matemaatilise teooria ülesehitamisel.

Näiteks võib tuua abstraktse mõiste arv, millel on tähendus nii matemaatikas kui programmeerimiskeeltes. Arvu kujutamine arvutis sõltub nii tark- kui riistvarast, kui see ei muuda selle mõiste sisu.

Üldistades võib abstraktsioonid programmeerimiskeeltes jagada kahte gruppi:

a) juhtimisabstraktsioon (ingl. k. control abstraction)

b) andmeabstraktsioon (ingl. l. data abstraction).

Struktuurprogrammeerimise korral mõistetakse juhtimisabstraktsiooni all süstemaatilist alammoodulite ning juhtimisvoo käskude (iteratsioon, valik, jne.) kasutamist. Andmeabstraktsiooni all mõeldakse reaalmaailma andmete adekvaatset peegeldamist programmeerimiskeele andmestruktuurides (vektorid, kirjed jne).

Objektorienteeritud programmeerimiskeeltes on juhtimis- ja andmeabstraktsioonid ühildatud.