Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

 Jens Bennedsen 2002Objektorienteret systemudvikling Begrebsmodellering Hvordan får vi opbygget en domænemodel/begrebsmodel?

Lignende præsentationer


Præsentationer af emnet: " Jens Bennedsen 2002Objektorienteret systemudvikling Begrebsmodellering Hvordan får vi opbygget en domænemodel/begrebsmodel?"— Præsentationens transcript:

1  Jens Bennedsen 2002Objektorienteret systemudvikling Begrebsmodellering Hvordan får vi opbygget en domænemodel/begrebsmodel?

2  Jens Bennedsen 2002Objektorienteret systemudvikling Begrebsmodellering En begrebsmodel er en ABSTRAKTION over begreber i den virkelige eller imæginære verden - IKKE begreber i software. Udtrykkes som en klassemodel –Domæne klasser (eller begreber fra verden udtrykt som klasser) –Associationer mellem domæneklasserne –Egenskaber ved domæne klasserne Begreb eller egenskab ved en klasse? –Hvis du er i tvivl, så lav en klasse! –Egenskaber her er oftest tal eller tekster Vi bygger modellen efterhånden!

3  Jens Bennedsen 2002Objektorienteret systemudvikling Oprindelsessteder for klasser Domænemodellen er en model af problemområdet –brugerne er eksperterne Brug deres terminologi Hvad hvis der ikke er nogle brugere? –Standard applikation –Spil Målet er at vi (domæne eksperter og systemudviklere) opnår en fælles forståelse af (en del af) domænet

4  Jens Bennedsen 2002Objektorienteret systemudvikling Ideér til klasser –Krav specfikationen se på navneord –Forbilleder andre systemer –Begreber indenfor faget/genstandsområdet –Begrebskategorier –liste –Analysemønstre –”Objects are there for the picking” Rumbaugh, OMT

5  Jens Bennedsen 2002Objektorienteret systemudvikling Begrebskategorier ”Coads 3 typer af klasser” –Roller –Steder/Organisationer –Transaktioner Det er nyttigt at lave en liste der er specifik for din organisation

6  Jens Bennedsen 2002Objektorienteret systemudvikling Navneord Gennemgå beskrivelsen af systemet, understreg navneord og vurder dem som mulige klasser Let! –Automatisk? Nej!! Hvor er beskrivelsen? –Use cases!

7  Jens Bennedsen 2002Objektorienteret systemudvikling Begreber indenfor faget Ofte er der en række faglige begreber knyttet til genstandsområdet - vurdér om de kan være relevante som begreber –Patient, dosering, medicinbakke,... Bør vurderes i forhold til krav til system –Vi skal ikke lave ”det perfekte system” men det nødvendige system eXtreme Programming, Kent Beck

8  Jens Bennedsen 2002Objektorienteret systemudvikling Analyse mønstre Kan være domæne specifikke Mere som metaforer –Bruges som idegrundlag –Ikke så fokuseret på interface klasser der realiseres –Egenskaber tilpasses Martin Fowler: Analysis Patterns –Mesurements –Finance –Healthcare –...

9  Jens Bennedsen 2002Objektorienteret systemudvikling Andre systemer Ofte er der lignende systemer - se på de begreber der ”skinner igennem” i de systemer Kan også bruges til at ”finde på” funktionalitet

10  Jens Bennedsen 2002Objektorienteret systemudvikling Fremgangsmåde Lav en lang liste af potentielle klasser Udtynd i klasserne –Indenfor systemets vision relevante for en eller flere use case –Hellere for mange klasser end for få (da modellen ikke er lig implementationsmodellen:-) Lav en klassemodel udfra listen af relevante klasser Tilføj associeringer hvor der skal huskes en sammenhæng mellem objekter Tilføj egenskaber til begreberne som nødvendigt

11  Jens Bennedsen 2002Objektorienteret systemudvikling Associeringer En associering er en relation mellem forekomster af typer (klasser) –Navn –Antal forekomster i hver ende –Typiske kardinaliteter: 0..1: muligvis 1(en forekomst af KlasseA kan være knyttet til en af KlasseB 1: der skal være 1(en forekomst af KlasseA skal være knyttet til en af KlasseB 0..*: et vilkårligt antal(en forekomst af KlasseA kan være knyttet til vilkårligt mange af KlasseB

12  Jens Bennedsen 2002Objektorienteret systemudvikling Tommelfinger regler Fokuser på associeringer hvor viden om relationen skal være tilstede et stykke tid –Ikke tranciente relationer Det er vigtigere at fokucere på begrebsklasser end på associeringer For mange associeringer gør klasemodellen uoverskuelig Undgå redundante eller udledbare associeringer Brug evt. en ”typiske associeringer” liste for at finde associeringer


Download ppt " Jens Bennedsen 2002Objektorienteret systemudvikling Begrebsmodellering Hvordan får vi opbygget en domænemodel/begrebsmodel?"

Lignende præsentationer


Annoncer fra Google