En domenemodell illustrerer konseptuelle klasser på en meningsfull måte, og er det viktigste verktøy for å drive objektorientert analyse.

En domenemodell er en representasjon av "real-world" konseptuelle klasser, ikke software-komponenter. Den beskriver
ikke software-objekter med metoder/ansvar.

Domenemodellen kan inneholde:

  • Domeneobjekter eller konseptuelle klasser
  • Relasjoner mellom klassene (konseptuelle)
  • Attributter til klassene (konseptuelle)

Men ikke:
  • Software-relaterte komponenter som vindu, database…

Domenemodellen lages for kun det scenariet man jobber med, ikke hele systemet i én modell. Det er bedre å få med for mange detaljer enn for få. Ta derfor med alle småklassene i modellen.

Det er vanlig å glemme noen klasser når man lager modellen, og å oppdage de når man lager attributter og relasjoner, eller under designingen. Hvis det er tilfelle, bør man legge dem til i modellen. Domenemodellen kan bestå av attributtløse klasser som spiller en viktig rolle i modellen.