Fremgangsmåde for opbygning af konfigureringssystemer i ...

Fremgangsmåde for opbygning af konfigureringssystemer i ... Fremgangsmåde for opbygning af konfigureringssystemer i ...

15.07.2013 Views

23 Subklasse1 -attribute1 -attribute2 +metode1() +metode2() Superklasse -attribute1 +metode1() Klasse -attribute1 -attribute2 +metode1() +metode2() Klasse med attributter og metoder Subklasse2 -attribute1 -attribute3 +metode1() +metode3() Klasse1 -attribute1 +metode1() Klasse2 -attribute2 +metode2() Klynge Fremgangsmåde for opbygning af konfigureringssystemer i byggebranchen, -erfaringsopsamling. * 1 Klynge Klasse1 -attribute1 +metode1() * 1 Klasse2 -attribute1 +metode2() Generaliseringsstruktur Aggregeringsstruktur Assoceringsstruktur Figur 11: UML notation for angivelse af objektklasser og deres indbyrdes relationer. Generaliseringsstrukturer, beskriver objektklasser, der har fælles attributter og metoder. Det kan f.eks. være objektklassen bil, der indeholder generelle attributter og metoder om biler eksempelvis registreringsnummer og motorstørrelse, mens objektklassen lastbiler indeholder attributter og metoder, der er specifikke for lastbiler eksempelvis lastevne eller ladopbygning. Generaliseringsstrukturen mellem objektklassen biler og objektklassen lastbiler betyder at den specielle objektklasse lastbiler arver attributter og metoder fra den generelle objektklasse biler. Aggregeringsstrukturer omfatter objektklasser, der tilsammen udgør en helhed, som f.eks. dele i en bil; karrosseri, motor, gearkasse, hjul mv. Relationer i aggreringsstruktur beskrives desuden med angivelse af kardinaliteten mellem de to klasser. Dvs. en angivelse af antallet af objekter i hver ende af relationen, f.eks. at en bil har fire hjul. Objektklasser i en aggreringsstruktur kan kommunikere indbyrdes, men de arver ikke automatisk attributter og metoder som ved en generaliseringsstruktur. Associeringsstrukturer beskriver relationer mellem objektklasser, der er relateret til hinanden uden at der er tale om objektklasser der udgør en helhed. Et eksempel kan være objektklassen bil og objektklassen fører. Associeringsstrukturer beskrives som aggreringsstrukturer med angivelse af kardinaliteten mellem de to klasser. Udover de nævnte typer af relationer mellem objektklasser kan objektklasser grupperes i klynger. En klyngestruktur betegner en grupper af objektklasser, der er indbyrdes forbundne. En klyngestruktur vil således normalt omfatte objektklasser, der indbyrdes forbundne med generalisering, aggregering eller associeringsstrukturer. Modellering af objektklasser og deres relationer er uddybende beskrevet i kapitel 6 Objektorienteret modellering.

Den optegnede produktvariantmaster danner grundlag for at definere objektklasser og klassestrukturer i produktmodellen. De enkelte knuder i produktvariantmasteren kan være objektklasser, mens part-of og kind-of strukturerne genfindes som strukturer mellem objektklasserne. I produktvariantmasteren anvendes såkaldte part-of og kind-of strukturer. Disse begreber er taget fra objektorienteret modellering, som beskrevet ovenfor. Part-of strukturen på produkt-variantmasteren svarer således til en aggregeringsstruktur mens kind-of strukturen svarer til en specialiseringsstruktur. I forbindelse med optegnelse af produktvariantmasteren og den endelige objektorienterede klassemodel anvendes såkaldte klassebeskrivelseskort (CRC-kort) til at beskrive de enkelte objektklasser. Et klassebeskrivelseskort indeholder udover objektklassens navn mv. en beskrivelse af objektklassens mission, objektkassens attributter og metoder, samt en beskrivelse af objektklassens relationer til andre objektklasser. I nedenstående Figur 12 er vist et eksempel på et klassebeskrivelseskort (CRC-kort). I forbindelse med modellering af produkter er der tilføjet en skitse af produktdelen med angivelse af produktdelens attributter. For at sikre en overskuelig model er det hensigtsmæssig at adskille viden om produkter og deres livsfasegenskaber (produktviden) fra viden (systemviden) om konfigureringssystemets programmering og herunder eksempelvis brugergrænseflade og integration til øvrige IT-systemer. Dvs. at man så vidt muligt grupperer objektklasser med produktviden i klynger for sig og objektklasser med systemviden andre klynger. Hvis en objektklasse indeholder både produktviden og systemviden kan man i forbindelse med beskrivelse af metoder opdele disse i metoder, der vedrører produktviden (produktmetoder) og metoder, der indeholder systemviden (systemmetoder). Fremgangsmåde for opbygning af konfigureringssystemer i byggebranchen, -erfaringsopsamling. 24

23<br />

Subklasse1<br />

-attribute1<br />

-attribute2<br />

+metode1()<br />

+metode2()<br />

Superklasse<br />

-attribute1<br />

+metode1()<br />

Klasse<br />

-attribute1<br />

-attribute2<br />

+metode1()<br />

+metode2()<br />

Klasse med attributter<br />

og metoder<br />

Subklasse2<br />

-attribute1<br />

-attribute3<br />

+metode1()<br />

+metode3()<br />

Klasse1<br />

-attribute1<br />

+metode1()<br />

Klasse2<br />

-attribute2<br />

+metode2()<br />

Klynge<br />

<strong>Fremgangsmåde</strong> <strong>for</strong> <strong>opbygning</strong> <strong>af</strong> <strong>konfigureringssystemer</strong> i byggebranchen,<br />

-erfaringsopsamling.<br />

*<br />

1<br />

Klynge<br />

Klasse1<br />

-attribute1<br />

+metode1()<br />

*<br />

1<br />

Klasse2<br />

-attribute1<br />

+metode2()<br />

Generaliseringsstruktur Aggregeringsstruktur Assoceringsstruktur<br />

Figur 11: UML notation <strong>for</strong> angivelse <strong>af</strong> objektklasser og deres indbyrdes<br />

relationer.<br />

Generaliseringsstrukturer, beskriver objektklasser, der har fælles attributter og<br />

metoder. Det kan f.eks. være objektklassen bil, der indeholder generelle attributter<br />

og metoder om biler eksempelvis registreringsnummer og motorstørrelse, mens<br />

objektklassen lastbiler indeholder attributter og metoder, der er specifikke <strong>for</strong><br />

lastbiler eksempelvis lastevne eller lad<strong>opbygning</strong>. Generaliseringsstrukturen mellem<br />

objektklassen biler og objektklassen lastbiler betyder at den specielle objektklasse<br />

lastbiler arver attributter og metoder fra den generelle objektklasse biler.<br />

Aggregeringsstrukturer omfatter objektklasser, der tilsammen udgør en helhed, som<br />

f.eks. dele i en bil; karrosseri, motor, gearkasse, hjul mv. Relationer i<br />

aggreringsstruktur beskrives desuden med angivelse <strong>af</strong> kardinaliteten mellem de to<br />

klasser. Dvs. en angivelse <strong>af</strong> antallet <strong>af</strong> objekter i hver ende <strong>af</strong> relationen, f.eks. at<br />

en bil har fire hjul. Objektklasser i en aggreringsstruktur kan kommunikere<br />

indbyrdes, men de arver ikke automatisk attributter og metoder som ved en<br />

generaliseringsstruktur.<br />

Associeringsstrukturer beskriver relationer mellem objektklasser, der er relateret til<br />

hinanden uden at der er tale om objektklasser der udgør en helhed. Et eksempel kan<br />

være objektklassen bil og objektklassen fører. Associeringsstrukturer beskrives som<br />

aggreringsstrukturer med angivelse <strong>af</strong> kardinaliteten mellem de to klasser.<br />

Udover de nævnte typer <strong>af</strong> relationer mellem objektklasser kan objektklasser<br />

grupperes i klynger. En klyngestruktur betegner en grupper <strong>af</strong> objektklasser, der er<br />

indbyrdes <strong>for</strong>bundne. En klyngestruktur vil således normalt omfatte objektklasser,<br />

der indbyrdes <strong>for</strong>bundne med generalisering, aggregering eller<br />

associeringsstrukturer. Modellering <strong>af</strong> objektklasser og deres relationer er uddybende<br />

beskrevet i kapitel 6 Objektorienteret modellering.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!