Ohjelmistoarkkitehtuuri
Ohjelmistoarkkitehtuuri on ohjelmistosuunnittelun keskeinen käsite, joka viittaa ohjelmiston yleiseen suunnitelmaan tai rakenteeseen. Se määrittelee, miten ohjelmiston eri osat tai komponentit toimivat yhdessä, kommunikoivat keskenään ja toteuttavat ohjelmiston toiminnallisuuden. Ohjelmistoarkkitehtuuri määrittää ohjelmiston kokonaisrakenteen, sen komponenttien ja alijärjestelmien väliset suhteet, tietovirrat ja käyttöliittymän.
Ohjelmistoarkkitehtuuri auttaa ohjelmistokehittäjiä hahmottamaan ja ymmärtämään ohjelmiston suunnittelun perusteet ennen kuin varsinaista koodaustyötä aloitetaan. Se helpottaa myös ohjelmiston ylläpitoa ja mahdollisten laajennusten toteuttamista, koska selkeä ja hyvin suunniteltu arkkitehtuuri tekee muutosten tekemisestä helpompaa.
Ohjelmistoarkkitehtuuriin liittyy useita erilaisia malleja ja lähestymistapoja, kuten kerrosarkkitehtuuri, komponenttipohjainen arkkitehtuuri, mikropalveluarkkitehtuuri ja paljon muuta. Jokainen näistä malleista voi olla sopiva erilaisiin ohjelmistoprojekteihin riippuen projektin vaatimuksista ja tavoitteista.
Kts. myös ohjelmistotuotanto