Vzorec analize programske opreme je metoda oblikovanja računalniškega programa z enačenjem abstraktnih procesov ali vzorcev z delovanjem programa, ki se razvija. Koncept je primerjati neko vrsto vzorca, ki deluje učinkovito v nekem kontekstu, običajno v resničnem svetu, in nato uporabiti isto logiko in včasih terminologijo vzorca za program, ki se načrtuje. Z oceno splošnega delovanja programa ali modula na ta način je cilj najti manjše vzorce med analizo programske opreme in, potencialno, ustrezne vzorce načrtovanja za začetek izdelave dejanskih podrobnosti izvedbe. Za razliko od vzorcev oblikovanja, ki se pogosto uporabljajo za pomoč pri oblikovanju izvedbe in kode, je vzorec analize programske opreme bolj namenjen zagotavljanju okvira za razmišljanje o projektu, tako da je zapletenost bolje vizualizirana. Za uporabo ali razvoj vzorca analize programske opreme ni formalne definicije, čeprav obstaja več primerov vzorcev.
V začetnih fazah razvoja programske opreme je vzorec analize programske opreme namenjen pomoči pri strukturiranju širšega pogleda na program in tega, kako so njegovi deli povezani med seboj. Vzorec pa je namenjen abstraktni analizi in ne obdelavi manjših podrobnosti aplikacije, kot so posamezne metode, spremenljivke ali formati datotek. Eden od razlogov za abstrakcijo je ta, da je koncept enega samega vzorca analize programske opreme mogoče le malo spremeniti in nato ponovno uporabiti za drugo programsko opremo, ki bi v resnici lahko opravljala povsem drugačno nalogo.
Pri razvoju vzorca analize programske opreme se najpogosteje uporabljajo primeri iz resničnega sveta. En primer bi lahko bila uporaba pošte kot vzorca za analizo programske opreme za preprost strežnik sporočil. V tem primeru bi črke predstavljale sporočilo, žig pa lahko predstavlja neko vrsto preverjanja strežnika. Nabiralnik postane čakalna vrsta sporočil, čas prevzema in odhoda pa je povezan s procesi pošiljanja in prejemanja. Na ta način je mogoče kompleksno strukturo aplikacije abstrahirati in zamisliti na bolj konkreten način, tako da se lahko terminologija vira vzorca pogosto prevede v imena razredov ali komponent samega programa med izvajanje.
Pri uporabi vzorca analize programske opreme lahko pride do zapletov, zlasti pri zelo velikih programih. Prekomerno poenostavitev programa med razvojem je možna, tako da nekateri podsistemi med izvajanjem morda ne sodijo strogo v analitični vzorec, ko so enkrat realizirani. Vzorec je lahko tudi tako strukturiran, da so dogodki v programu modelirani na način, ki se ujema z vzorcem in je jasen, vendar ni nujno, da je zelo učinkovit.