Ohjelmistoarkkitehtuuri tarkoittaa ohjelmiston keskeisten osien ja niiden välisten suhteiden kuvausta korkealla abstraktiotasolla.
Ohjelmistoarkkitehtuuria voi kuvata monella tavalla, esimerkiksi sanoilla, kuvilla, piirustuksilla jne. Ohjelmistoarkkitehtuurisuunnitelma voisi olla pienimmillään yksi piirustus "tupakkiaskin kannessa", mutta tässä opintojaksokokonaisuudessa suunnitelmassa on esitettävä "kaikki oleelliset asiat riittävällä tarkkuudella".
Arkkitehtuuria voidaan kuvata monesta näkökulmasta - periaatteessa yhtä monesta näkökulmasta kuin ohjelmistoa voidaan ylipäänsä tarkastella korkealla tasolla. Näkökulma riippuu siitä miltä kannalta henkilö on kiinnotunut ohjelmistosta. Yksi hyväksi havaittu tapa on kuvata arkkitehtuuri viidestä näkökulmasta (ns. 4+1malli):

4+1 mallin viisi näkökulmaa ohjelmistoihin:
Ohjelmiston arkkitehtuuri ja toimintaympäristö sekä sen toiminnot, tiedot ja niiden väliset suhteet kuvataan siinä laajuudessa, että seuraavien työvaiheiden sisältö voidaan suunnitella.
Raportoinnissa käytettävä esitystapa tulisi valita esitettävän asian perusteella. Organisaation tietovirtojen, järjestelmän toimintojen, tietokantojen ja arkkitehtuurin kuvaamiseen soveltuvat erilaiset tietokaaviotekniikat (Use Case, SADT, ER, DFD, OMT...), kun taas muodollista määrittelyä on paikallaan käyttää asioista, jotka ovat siten määriteltävissä (esim. kieliopit).
Arkkitehtuurisuunnitelma on kirjallinen dokumentti. Suositeltava pituus on riippuu tietenkin harjoitustyön laajuudesta.
Kansilehdellä tulevat seuraavat asiat:
Sisällysluettelo voisi olla muotoa:
SISÄLLYS
MUUTOSHISTORIA
VIITTEET
TERMIT JA LYHENTEET
1 JOHDANTO
1.1 Käyttötapauskaavio
2 LOOGINEN NÄKYMÄ
2.1 Komponenttikaavio
2.2 Komponentit
2.3 Rajapinnat
3 SIJOITTELU NÄKYMÄ
3.1 Sijoittelukaavio
3.2 Solmut
3.3 Suoritettavat komponentit
3.4 Tiedon taltiointipaikat
3.5 Ajonaikaiset riippuvuussuhteet
4 TOTEUTUSNÄKYMÄ
5 SKENAARIOT
5.1 Skenaario: Käyttäjän tunnistus
6 KÄYTETYT LUOKAT
7 VAATIMUSTAULUKKO