Standard algoritmer og datastrukturer er almindeligt anvendte værktøjer i forbindelse med systemudvikling i form af funktions-/objektbiblioteker med standard løsninger på standard programmeringsproblemer som for eksempel sorteringsalgoritmer. Relaterede funktioner/objekter er desuden samlet i frameworks, der kan anvendes som fundament for programmeringsløsninger i forbindelse med forskellige, specifikke problemdomæner som for eksempel faktureringssystemer.
Udover at bidrage med genbrugskomponenter til systemudviklingen, bidrager standard algoritmer og datastrukturer også med standard begreber og sprogbrug, som giver systemudviklerne bedre muligheder for umiddelbart at kommunikere i forbindelse med programmeringsløsninger.
Tilsvarende ideer om standard begreber og genbrug af programdesign i forbindelse med forskellige standard programtyper som for eksempel validerings- og rapporteringsprogrammer har eksisteret længe men de har først fundet større udbredelse igennem de senere år.
I forbindelse med objektorienteret systemdesign har designmønstre givet standard begreber og genbrug et gennembrud for andet end programmeringsrelaterede algoritmer og datastrukturer. Designmønstre har startet en hel bevægelse, som desuden også har bredt sig til mønstre og anti-mønstre for systemanalyse, systemarkitektur og problemdomæner med mere.
Designmønstre beskriver tilbagevendende standard designproblemer og gennemprøvede designløsninger samt deres konsekvenser for systemet. Designmønstre er i vid udstrækning verbale beskrivelser samt mere formelle beskrivelser af designløsningerne med strukturbeskrivelse i form af løsningernes elementer/objekter og disses relationer samt (pseudo)programkode til beskrivelse af deres implementering.
Analysemønstre beskriver tilsvarende tilbagevendende standard analyseproblemer og gennemprøvede analyseløsninger for modellering af komplekse (del)systemers elementer og relationer. Analysemønstre er ligeledes verbale beskrivelser samt mere formelle beskrivelser i form af strukturbeskrivelser af modellernes elementer/objekter og disses relationer.
Problemrammer er simple strukturbeskrivelser af enkelte aspekter af et problem i form af nogle få elementer og deres relationer. Problemrammer anvendes til at lave en struktureret opdeling af komplekse problemer i mindre, simplere og delvist veldefinerede/formaliserede delproblemer, hvorfra der kan udledes velegnede problemløsningsmetoder.
Med mønstre er der etableret et væsentligt bedre grundlag for forbedre systemudviklingprocessen idet systemudviklerne derigennem i videre udstrækning har fået et fælles sprog til at kommunikere og fastholde beskrivelser af tilbagevendende problemer og løsninger i forbindelse med systemudvikling.
Med et mere formaliseret begrebsapparat er der ligeledes bedre muligheder for at strukturere og integrere systemudviklingsforløbet. I modsætning til tidligere systemanalyse og systemdesign metodologier/-metoder, som blot foreskriver "naturlig" nedbrydning af systemer til delsystemer, beskriver mønstre relevante delsystemer, og relevante problem-, analyse- og designmønstre samt programkode kan desuden kædes sammen som udgangspunkter og genbrugskomponenter igennem systemudviklingsforløbet.
|