12.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Modelkomponent Oversigt, principper og teknikker Kapitel 12
12.2 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Fra arkitektur til komponenter Detaljer i enkeltkomponenter Forbindelser mellem komponenter Iterere over arkitektur
12.3 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Design af Komponenter Principper: Respektér komponentarkitekturen Tilpas komponenterne til de tekniske muligheder l Modelkomponent l Funktionskomponent l Forbind komponenter l... flere komponenter
12.4 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Oversigt At fastlægge realisering af krav inden for rammerne af en arkitektur. Komponent: En samling af programdele, som udgør en helhed og har et veldefineret ansvar. Forbindelse: En implementering af en afhængighed mellem komponenter Respektér komponentarkitekturen. Tilpas komponenterne til de tekniske muligheder. Beskrivelser af et systems komponenter. Formål Begreber Principper Resultat
12.5 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Fra helhed til del Komponent: En samling af programdele, der udgør en helhed og har et veldefineret ansvar Modelkomponentens ansvar: Vedligeholde en opdateret repræsentation af problemområdet.
12.6 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Resultat af Modelkomponent Udgangspunkt i klassediagrammet fra analysen af problemområdet Udbygget med håndtering af adfærd
12.7 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Aktiviteter i Modelkomponent l Modelkomponent l Funktionskomponent l Forbind komponenter
12.8 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Omstrukturer adfærdsmønstre
12.9 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Grundformer til omstrukturering Eksempel Grundformer
12.10 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Repræsenter private hændelser Sekvens og selektion – Et tilstandsdiagram, der kun indeholder sekvens og selektion, repræsenteres ved en tilstandsattribut i den klasse, tilstandsdiagrammet beskriver – Tilstandsattributten tilordnes en ny værdi, hver gang en indgående hændelse indtræffer – De indgående hændelsers attributter integreres i klassen Iteration – En iteration repræsenteres som en ny klasse, der knyttes til den klasse, tilstandsdiagrammet beskriver, med en aggregeringsstruktur – Der genereres et nyt objekt fra klassen for hvert gennemløb af iterationen – Hændelsens attributter integreres i den nye klasse – En tilstand, som indeholder subtilstande, bliver adfærdsmønster for den nye klasse
12.11 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Eksemplet ‘Konto’
12.12 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Repræsenter fælles hændelser Fælles hændelser – Hvis hændelsen indgår på forskellige måder i tilstandsdiagrammerne, repræsenteres den som grundregel i tilknytning til den klasse, der giver den enkleste repræsentation – Hvis hændelsen indgår på samme måde i tilstandsdiagrammerne, må de mulige repræsentationer afvejes indbyrdes
12.13 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Eksemplet ‘Kunde’ og ‘Konto’
12.14 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Designmulighed 1 Objektsystem – ‘Kundeaktivitet’ er et nyt begreb Struktur – Transaktioner overlever selvom kontoen nedlægges Funktionalitet – Simpelt at lave kontoudtog per konto og per kunde
12.15 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Designmulighed 2 Objektsystem – ‘Transaktion’ et centralt og kendt begreb Struktur – Transaktioner tættere knyttet til konto – Færre strukturelle forbindelser Funktionalitet – Simpelt at lave kontoudtog per konto – Men ikke per kunde
12.16 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Oversigt At repræsentere en model af et problemområde. Modelkomponent: En del af et system, som realiserer en model af et problemområde. Attribut: En beskrivende egenskab ved en klasse eller hændelse. Repræsenter hændelser som klasser, strukturer og attributter. Vælg den enkleste repræsentation af hændelser. Et klassediagram for modelkomponenten. Formål Begreber Principper Resultat
12.17 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Opgave 3: Modelkomponent Formål At designe modelkomponenten. Arbejdsform 1.Repræsenter private hændelser. 2.Omstrukturer adfærdsmønstre med fælles hændelser. 3.Vælg repræsentation af hver hændelse. Resultat Et klassediagram for modelkomponenten.