Hva er et programvareanalysemønster?
Et programvareanalysemønster er en metode for å utforme et dataprogram ved å likestille abstrakte prosesser eller mønstre med arbeidet med programmet som utvikles. Konseptet er å sammenligne en slags mønster som fungerer effektivt i en eller annen sammenheng, vanligvis i den virkelige verden, og deretter anvende den samme logikken og noen ganger terminologien til mønsteret på programmet som blir designet. Ved å vurdere den generelle funksjonen til et program eller modul på denne måten, er målet å finne mindre mønstre under programvareanalyse og potensielt passende designmønstre for å begynne å finne ut faktiske implementeringsdetaljer. I motsetning til designmønstre som ofte brukes til å hjelpe med å implementere implementering og kode, er et programvareanalysemønster mer ment å gi et rammeverk for å tenke på et prosjekt slik at kompleksiteter blir bedre visualisert. Det er ingen formell definisjon for bruk eller utvikling av et programvareanalysemønster, selv om det finnes flere eksempler på mønstre.
I begynnelsen av STAGes of Software Development, et programvareanalysemønster er ment å hjelpe til med å strukturere det brede synet på et program og hvordan delene forholder seg til hverandre. Mønsteret er imidlertid ment for abstrakt analyse, og ikke for å utarbeide de mindre detaljene i en applikasjon, for eksempel individuelle metoder, variabler eller filformater. En årsak til abstraksjonen er slik at konseptet med et enkelt programvareanalysemønster bare kan endres litt og deretter gjenbrukes for annen programvare som i virkeligheten kan utføre en helt annen oppgave.
Når du utvikler programvareanalysemønsteret, brukes eksempler i den virkelige verden oftest. Et eksempel kan være å bruke et postkontor som et programvareanalysemønster for en enkel meldingsserver. I dette eksemplet vil bokstavene representere en melding, og et stempel kan representere en slags servervalidering. En postkasse blir en meldingskø, og pick-uP- og avleveringstidene er bundet til å sende og motta prosesser. På denne måten kan den komplekse strukturen i applikasjonen abstraheres og tenkes på på en mer konkret måte, så mye at terminologien til kilden til mønsteret ofte kan oversette til navnene på klassene eller komponentene i selve programmet under implementering.
Komplikasjoner kan oppstå når du bruker et programvareanalysemønster, spesielt for veldig store programmer. Å overforenliggjøre et program under utvikling er mulig, så noen delsystemer kan, under implementeringen, ikke falle strengt innenfor det analytiske mønsteret en gang realisert. Alternativt kan et mønster være så strukturert at hendelser i programmet er modellert på en måte som samsvarer med mønsteret og er klare, men kanskje ikke nødvendigvis er veldig effektive.