Ohjelmistosuunnittelu
Ohjelmistosuunnittelu on ohjelmistojärjestelmän arkkitehtuurin, komponenttien, rajapintojen ja datamallien määrittelyä siten, että järjestelmä täyttää sille asetetut vaatimukset. Se on osa ohjelmistotekniikkaa ja soveltaa vaatimuksista löytyviä tavoitteita käytännön suunnitelmaksi, jota ohjelmointi ja järjestelmän toiminta seuraavat.
Suunnittelun tasoja ovat korkean tason arkkitehtuuri ja yksityiskohtainen suunnittelu. Korkea-tason suunnittelussa kuvataan järjestelmän pääosat, niiden vastuut
Keskeisiä periaatteita ovat modulariteetti, abstraktio, vastuunjaon erottaminen, tietojen piilottaminen sekä matala kytkös ja korkea koherenssi. Suunnittelussa
Laatuominaisuudet kuten laajennettavuus, luotettavuus, skaalautuvuus, suorituskyky ja turvallisuus ohjaavat valintoja. Usein joudutaan tekemään kompromisseja kustannusten ja
Ohjelmistosuunnittelu on keskeinen osa ohjelmistokehitystä ja sitä opetetaan ja sovelletaan laajasti Suomessa sekä teollisuudessa. Se liittyy
Työkalut ja artefaktit voivat sisältää UML- ja datamallikaaviot, komponentti- ja rajapintasuunnitelmat sekä prototyypit, joita käytetään suunnittelun
---