Larman, 2. udgave kap. 11 Grundlæggende Systemudvikling zHvad er systemudvikling ? zHvad er UML ? zHvad er analyse og design ? zHvad er UP ?
Larman, 2. udgave kap. 12 I skal lære…. zAt tænke ”objektorienteret” zDefinere krav og analysere problem-domænet. zDesign af en løsning yPatterns (GRASP) xProblem-løsnings ideer/principper yTildeling af ansvar til objekterne yArkitektur yJava implementation zUnified Process yIterativ udvikling yGenerelle OOA/OOD emner zUML yNotations form zProjektstyring
Larman, 2. udgave kap. 13 Analyse - “HVAD” zAnalyse yUndersøgelse af problemet og kortlægning af Krav til systemet. xEr der basis for udvikling ? yOO-analyse xUse-cases (krav) Ikke objektorienterede xDomæne model Conceptuelle begreber I problemområdet
Larman, 2. udgave kap. 14 Design – “HVORDAN” zEn conceptuel løsning yIkke implementation xGenerelt database skema yOO-design xDefinere software objekter og deres sammenhænge xPlacering af metoder xArkitektur xUser Interface
Larman, 2. udgave kap. 15 Eksempel : DiceGame zFormål : at give overblik over skridt/diagrammer I OOA/OOD zSpil med to terninger, når man slå 7 så vinder man ellers …. zElementer yDefiner use-cases (OOA) yDefiner domæne model (OOA) yDefiner interaktionsdiagram (OOD) yDefiner design class diagram (OOD)
Larman, 2. udgave kap. 16 Definer use-case zBeskriver krav til systemet yTekstuelle beskrivelser af krav y Ikke objektorienteret zUses case : Play a Dice Game : A player picks up and rolls the dice. If the dice face value total seven, they win; otherwise, they lose.
Larman, 2. udgave kap. 17 Definer domæne model zIdentificering af begreber/attributer der er relevante I problem-domænet. zIkke en beskrivelse af SW objekter, men en visualisering af objekter i den “virkelige” verden. Player name Die faceValue DiceGame Rolls Plays Includes Object/ Begreb Attribut Associ- ring
Larman, 2. udgave kap. 18 Definer interaktions-diagram zOOD omhandler design af SW objekter zDynamisk view zSw objekter findes med inspiration “virkelige verden” i domæne modellen. yIkke et direkte billed af den virkelige verden. zInteraktionsdiagram yViser flow af beskeder mellem SW objekter yFig.1.4
Larman, 2. udgave kap. 19 Definer design klasse diagram zDesign klasse diagram : yViser et statisk billed af klasser og attributter i interaktionsdiagrammet. zViser SW klasser, ikke “virkelige” begreber. DiceGame die1: Die die2 : Die Play() Die faceValue : int getFaceValue():int roll() 1 2
Larman, 2. udgave kap. 110 Implementation i java class DiceGame { // refeencer til Die objekter // repræsenterer associering Die die1; Die die2; public void play(){ // metoden der starter spillet int fv1 = 0; int fv2 = 0; die1.roll(); fv1 = die1.getFaceValue(); die2.roll(); fv2 = die2.getFaceValue(); } class Die { int faceValue; // antal øjne public int getFaceValue() { // returnerer antal øjne } public void roll() { // metoder simulerer kast med en terning }
Larman, 2. udgave kap. 111 Unified Modeling Language zStandard diagrammeringssprog til visualisering af resultater (artefakter) I analyse og design. zNotation er enkelt, trivielt zVigtigere : at have evnen til at designe objektorienteret zUML er ikke : yEn proces eller metode yObjektorienteret analyse og design yRetningslinier for design