Strukturoitu ohjelmointi

Strukturoitu ohjelmointi tarkoittaa rakenteellista tietokoneohjelmien suunnittelua ja ohjelmointia. Strukturoitua ohjelmointia voidaan tehdä millä tahansa ohjelmointikielellä, myös proseduraalisen ohjelmoinnin kielellä.

Ohjelmointiparadigmat
Deklaratiivinen ohjelmointi
Epärakenteellinen ohjelmointi
Funktionaalinen ohjelmointi
Geneerinen ohjelmointi
Imperatiivinen ohjelmointi
Logiikkapohjainen ohjelmointi
Olio-ohjelmointi
Proseduraalinen ohjelmointi
Prototyyppipohjainen ohjelmointi
Reaktiivinen ohjelmointi
Rinnakkaisohjelmointi
Strukturoitu ohjelmointi

Strukturoitu ohjelmointimenetelmä pyrkii lisäämään ohjelmien luotettavuutta ja selkeyttä.[1] Strukturoidussa ohjelmoinnissa ohjelman vuonohjaus on rajoitettu kolmeen rakenteeseen: sekvenssiin, IF THEN ELSE ja DO WHILE rakenteisiin tai kolmen perusrakenteen yhdistelmiin.[1] Tavoitteena on korkean modulaarisuuden ohjelma, jonka eri osat ovat hyvin riippumattomia toisistaan.[1] Strukturoitu ohjelmointi voi olla vähemmän tehokasta kuin strukturoimaton ohjelmointi.[1] Suuri osa struktoroidusta ohjelmoinnista voidaan jäljittää Edsger Dijkstran työhön.[1]

Pascal on esimerkki struktruoitua ohjelmointia tukevasta kielestä ja FORTRANiin saatavalla esikääntäjällä sitä voidaan käyttää strukturoidulla tavalla.[1]

Strukturoidussa ohjelmoinnissa pyritään parantamaan koodin selkeyttä ja vähentämään kehittämiseen kuluvaa aikaa käyttämällä loogisia rakenteita - kuten aliohjelmia ja silmukoita - yksinkertaisten ehtolauseiden ja GOTO-rakenteen sijaan. Näin voidaan välttää "spagettikoodin" syntyminen.

Olio-ohjelmointi voidaan käsittää strukturoidun ohjelmoinnin lajikkeeksi, joka ratkaisee sekä data-orientoituneen että toiminto-orientoituneen suunnittelun.[2]

Strukturoidun ohjelmoinnin malliselvennä

Lähteet

  1. Karl P. Hunt: An introduction to structured programming (PDF) link.springer.com. 1979. doi:10.3758/BF03205654. Viitattu 6.1.2020. (englanniksi)
  2. Structured Paradigm Design Phase csun.edu. Viitattu 6.2.2017.
    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.