You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Diagrammer brukes mye for å hjelpe oss å tenke klarere om både programmering, både hva som skjer eller ønsker at skal skje når et program kjøres og hvordan koden er utformet. Fordelen med diagrammer er dels at de hever seg litt over detaljer som skygger for forsåelsen (abstraksjon) og at den visuelle formen er mer intuitiv enn tekstlige. I tillegg til å hjelpe oss å tenke, kan også diagrammer brukes som en slags visuell programmering ved å koble diagram og kode mer direkte.

Diagrammer er i denne sammenheng av boks-og-pil-typen, hvor bokser av ulike typer/fasonger kobles sammen med streker, hvor både bokser og streker er annotert med tekst og symboler. Et vesentlig poeng er at det ofte finnes klare regler for hvordan notasjonen (de ulike typer diagramelementer) brukes og settes sammen, kort sagt at alt i et diagram betyr noe. Diagrammer innen programvareutvikling er ofte basert på UML-standarden (the Unified Modeling Language), hvor notasjonen er svært veldefinert. Dette betyr ikke at en ikke kan bruke diagrammer uformelt som skisser, men at en skal være litt bevisst reglene for bruk av notasjonen.

Diagramtyper

Grovt sett beskriver diagrammer to ulike aspekter ved et program:

  1. hva som skjer når programmet kjøres, f.eks. tilstanden til objektstrukturer, og
  2. hvordan programkoden er strukturert, f.eks. hvilke klasser som finnes og hvordan de henger sammen.

Objektdiagrammer er en diagramtype som viser tilstanden til et program, ved å "snapshots" av objektstrukturer. Hvis en tenker på objektdiagrammer som tilstander og kobler dem sammen med transisjoner, altså et slags objekttilstandsdiagram, kan en vise hvordan objektstrukturer utvikler seg over tid.

Klassediagrammer viser klassestrukturen til et program, med innholdet i klasser (attributter og operasjoner) og hvordan de er koblet sammen med arv og assosiasjoner.

Interaksjonsdiagrammer viser hvordan objekter i en objektstruktur bruker hverandre, dvs. kaller hverandres metoder. Det finnes to varianter: samhandlingsdiagrammer utvider objektdiagrammer med visning av (sekvenser av) metodekall, og sekvensdiagrammer viser metodekall mellom objekter langs en tidslinje.

  • No labels