ohjelmasuunnitteluun
Ohjelmasuunnitteluun kuuluu arkkitehtuurin ja suunnittelupäätösten tekeminen: siinä määritellään ja dokumentoidaan ohjelmiston arkkitehtuuri sekä sen moduulien vastuut ja vuorovaikutukset. Tavoitteena on luoda rakenne, joka täyttää sekä toiminnalliset että ei-toiminnalliset vaatimukset ja jonka perusteella ohjelmisto voidaan toteuttaa ja ylläpitää tehokkaasti.
Suunnittelu sijoittuu kahdelle tasolle: korkean tason arkkitehtuuri, joka määrittelee järjestelmän pääosat ja niiden suhteet, sekä yksityiskohtainen
Keskeiset tavoitteet ovat ylläpidettävyys, laajennettavuus, suorituskyky ja luotettavuus sekä turvallisuus. Hyvä suunnittelu helpottaa testaamista, virheenkorjaamista ja
Keskeiset periaatteet ovat huolenaiheiden erottaminen (separation of concerns), modulaarisuus, abstraktio ja tietojen piilottaminen, sekä kontrolli kytkennien
Suunnittelumenetelmät ja paradigmat sisältävät oliopohjaisen suunnittelun (OOD), proseduraalisen ja komponenttipohjaisen lähestymistavan sekä domain-driven design. Suunnittelumallit (patterns)
Prosessi sisältää vaatimusten ja riskien analysoinnin, arkkitehtuurin päätösten kuvaamisen, sekä suunnitteludokumentaation ja arkkitehtuurikatselmukset. Monissa organisaatioissa suunnittelu
Laadunvarmistus käsittää suunnittelukatselmukset, arkkitehtuurin arvioinnin ja mittarit, joiden avulla mitataan esimerkiksi modulaarisuutta, riippuvuuksia ja käytettävyyttä.
Hyvin laadittu ohjelmasuunnittelu ohjaa toteutusta, testauksia ja ylläpitoa, ja se on olennainen osa ohjelmiston elinkaarta.