Ohjelmistoarkkitehtuuri

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.[1]

Yksinkertaistettu kaavio Wikimedian palvelinarkkitehtuurista.

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ä.[2]

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

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

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

Termistössä arkkitehtuuri vastaa useiden osapuolten (engl. stakeholder) intresseistä (engl. concerns).[6]

Standardit

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

Arkkitehtuurityylejä

Yleisiä rakennetyylejä ovat:[9]

  • 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)[10]
  • tulkkimalli

Katso myös

Lähteet

Aiheesta muualla

Commons
Wikimedia Commonsissa on kuvia tai muita tiedostoja aiheesta Ohjelmistoarkkitehtuuri.
🔥 Top keywords: