HTX Frederikshavn & Hjørring

Det har aldrig været sjovere at være nørd

Brugerværktøjer

Webstedsværktøjer


prog:forloeb:oo_analyse

Objektorienteret Analyse (OOA)

OOA handler om at forstå et problem ved at beskrive det i form af klasser/objekter, som ligner ting, vi kender fra virkeligheden.

Objektorienteret analyse hjælper dig med at forstå og modellere et system, inden du begynder at programmere. Ved at identificere objekter, deres egenskaber og relationer kan du skabe et klart billede af, hvordan systemet skal fungere.
Denne metode gør det lettere at designe vedligeholdelsesvenlig kode og sikre, at systemet opfylder kravene.
OOA er et vigtigt skridt mellem idé og implementering og giver dig en struktureret tilgang til komplekse programmeringsopgaver.

  • Things the System Knows (Data og tilstande systemet holder styr på)
    • Eksempler: Kundeoplysninger, produktdata, sensormålinger, dokumenter
    • UML-elementer: Klassediagrammer, Objektdiagrammer
    • Formål: At modellere hvad systemet ved og hvordan det organiseres
  • Things the System Does (Handlinger og funktioner systemet udfører)
    • Eksempler: Opret bruger, send e-mail, beregn pris, valider input
    • UML-elementer: Use Case-diagrammer, Aktivitetsdiagrammer, Sekvensdiagrammer
    • Formål: At modellere funktionalitet og interaktioner
  • How the System Behaves : Hvordan systemet reagerer og ændrer tilstand)
    • Eksempler: Workflow-logik, tilstandsskift, regler for automatisering
    • UML-elementer: State Machine-diagrammer, Aktivitetsdiagrammer
    • Formål: At modellere adfærd og reaktioner på hændelser

Fra virkelighed til model

OOA kan ses som at lave et kort over virkeligheden:

  • Find de vigtigste objekter/klasser
  • Beskriv deres egenskaber (attributter)
  • Beskriv deres handlinger (metoder)
  • Tegn diagrammer (f.eks. UML-klassediagram)

Dette skaber en fælles forståelse, før systemet designes eller programmeres.

Eksempel: Et bibliotekssystem betragtes

  • Objekter: Bog, Låner, Lånekort
  • Egenskaber: Titel, Forfatter, Status
  • Handlinger: Låne(), Reservere()

Ved OOA identificeres klasser/objekter, samt deres egenskaber og handlinger uden at skrive kode, det gøres gennem at forstå virkeligheden for pågældende problem-domæne.


Sproglig tilgang til OOA

Man kan bruge grammatik til at identificere objekter, attributter og metoder i krav eller beskrivelser.

Ordklasse Eksempel UML-element
Substantiv bog, elev Klasse/Objekt
Adjektiv gammel, ledig Attribut/Egenskab
Verbum låne, reservere Metode/Handling
Adverbium hurtigt, regelmæssigt Kan hjælpe med metodeparametre
Præpositioner af, med, til Relation/Association

(todo: eksempel på præposition anvendt til at konstruktion af klasse-relation)

Eksempel Tekst: “En elev kan aflevere en opgave, og opgaven kan have en karakter.”

Class Elev
  + afleverOpgave(opgave: Opgave)
 
Class Opgave
  - status: string
  + tildelKarakter(k: Karakter)
 
Class Karakter
  - værdi: int

Samlet proces

  1. Læs krav/tekst → marker substantiver, verber, adjektiver
  2. Identificer objekter, attributter og handlinger
  3. Tegn UML-diagram
  4. Brug modellen som grundlag for design og programmering

Øvelser

Slides

prog/forloeb/oo_analyse.txt · Sidst ændret: af admin