Hva er en domenemodell?
En domenemodell er en disposisjonlignende oversikt over et spesifikt problem som brukes i programvareteknikkfelt og konseptuell problemløsning. Hensikten med denne modellen er å dele et spesifikt problem ned i komponentdelene, og skape en visuell representasjon av hvordan en spesifikk prosess fungerer. Gjennom bruk av domenemodeller kan programvareingeniører sikre at de forstår alle elementer i et problem før de begynner å kode en løsning eller implementere den i et stykke programvare, forhåpentligvis spare tid, utgifter og innsats i gjennomføringen av det samlede prosjektet.
Et flytskjema er en god representasjon av et domenemodell, ettersom det viser hvordan de forskjellige enhetene involverer et problem med interlock. I et flytskjema er alle de forskjellige delene av et puslespill koblet sammen på en logisk måte. For eksempel i sammenheng med en forsikringsordning, mens både den opprinnelige personen som dekkes og hans eller hennes barn alle ville falle inn i kategorien "forsikret"Barna ville også falle i en undergruppe av den "forsikrede" klassen: "forsørgere." Visuelt å konstruere disse forholdene kan forbedre kommunikasjonen på et prosjekt, og hjelpe alle som er involvert til å forbli på samme side.
Å etablere nøkkelbegrepene og unike ordforrådet for et spesifikt problem er et av de første trinnene mot å generere en domenemodell. Etter å ha listet opp de forskjellige klassene og underklassene som er involvert - for eksempel "avhengige", "forsikret" og "forsikringsplan" - krever en domenemodell at modellereren kobler disse klassene i en logisk rekkefølge, og viser hvordan de samhandler med hverandre regelmessig. For eksempel vil "avhengige" sjelden samhandle direkte med forsikringsselskapet; Alle en avhengige interaksjoner vil fortsette gjennom en mellommann, den opprinnelige forsikrede parten. På grunn av dette vil "forsørgere" -klassen være koblet til "forsikret" og "forsikret" klasse LINKED til "Insurance Plan", uten direkte forbindelse mellom "avhengige" og "Forsikringsplan."
Den primære fordelen med en domenemodell er at den tydelig definerer og innkapsler et problem, noe som ikke lar noe være ute. Ved å utføre dette nivået av grundig planlegging før du faktisk begynner kodingen av et prosjekt, blir problemet ofte lettere å løse, noe som fører til klarere, mer kortfattede kode. Uten en domenemodell kan repeterende kode og ineffektiv ordning av klasser og rutiner oppstå. På samme måte som å prøve å skrive et komplekst papir uten en klar oversikt på forhånd, er ting drastisk forenklet med en god arbeidsplan.