pienoiskuva|oikea|Yksinkertaistettu kaavio Wikimedian palvelinarkkitehtuurista. Ohjelmistoarkkitehtuuri kuvaa ohjelmiston tai ohjelmistojärjestelmän rakennetta. Järjestelmän koon kasvaessa suunnitteluongelma ylittää algoritmien ja tietorakenteiden määrittelyn ja suurissa järjestelmissä kokonaisuuden suunnittelu ja määrittely esiintyy uutena ongelmana.

Määritelmä Määritelmiä arkkitehtuurille on esitetty useita.

Arkkitehtuuri on joukko rakenteita, joita tarvitaan järjestelmän ymmärtämiseksi, johon liittyy ohjelmistoelementtejä, niiden välisiä suhteita sekä molempien ominaispiirteitä.

Arkkitehtuurin sanotaan olevan asiantuntijakehittäjillä oleva jaettu ymmärrys järjestelmästä.

Arkkitehtuuri voidaan jakaa hierarkisesti osiin, jotka kommunikoivat rajapintojen välityksellä. Osa voi olla luokka, komponentti tai alijärjestelmä.

Arkkitehtuuri on kaavio sekä järjestelmästä että projektista, joka kehittää sitä ja määrittelee tehtävät suunnittelu- ja toteutusryhmille.

Termistössä arkkitehtuuri vastaa useiden osapuolten () intresseistä ().

Standardit Arkkitehtuurien kuvaamisesta on julkaistu standardit IEEE 1471-2000, ISO/IEC 42010:2007 ja ISO/IEC/IEEE 42010:2011, joka korvaa aikaisemmat.

Arkkitehtuurityylejä Yleisiä rakennetyylejä ovat: kerroksittainen rakenne asiakas-palvelin-arkkitehtuuri isäntä-orja -malli putki-suodatin -malli välittäjämalli (broker) peer-to-peer -malli tapahtumajono MVC-malli liitutaulumalli (blackboard) tulkkimalli

Katso myös Suunnittelumalli

Lähteet

Aiheesta muualla

Foundations for the Study of Software Architecture