120 likes | 348 Views
Grundlæggende Systemudvikling . Hvad er systemudvikling ? Hvad er UML ? Hvad er analyse og design ? Hvad er UP ?. I skal lære…. At tænke ”objektorienteret” Definere krav og analysere problem-domænet. Design af en løsning Patterns (GRASP) Problem-løsnings ideer/principper
E N D
Grundlæggende Systemudvikling • Hvad er systemudvikling ? • Hvad er UML ? • Hvad er analyse og design ? • Hvad er UP ? Larman, 2. udgave kap. 1
I skal lære…. • At tænke ”objektorienteret” • Definere krav og analysere problem-domænet. • Design af en løsning • Patterns (GRASP) • Problem-løsnings ideer/principper • Tildeling af ansvar til objekterne • Arkitektur • Java implementation • Unified Process • Iterativ udvikling • Generelle OOA/OOD emner • UML • Notations form • Projektstyring Larman, 2. udgave kap. 1
Analyse - “HVAD” • Analyse • Undersøgelse af problemet og kortlægning af Krav til systemet. • Er der basis for udvikling ? • OO-analyse • Use-cases (krav) • Ikke objektorienterede • Domæne model • Conceptuelle begreber I problemområdet Larman, 2. udgave kap. 1
Design – “HVORDAN” • En conceptuel løsning • Ikke implementation • Generelt database skema • OO-design • Definere software objekter og deres sammenhænge • Placering af metoder • Arkitektur • User Interface Larman, 2. udgave kap. 1
Eksempel : DiceGame • Formål : at give overblik over skridt/diagrammer I OOA/OOD • Spil med to terninger, når man slå 7 så vinder man ellers …. • Elementer • Definer use-cases (OOA) • Definer domæne model (OOA) • Definer interaktionsdiagram (OOD) • Definer design class diagram (OOD) Larman, 2. udgave kap. 1
Definer use-case • Beskriver krav til systemet • Tekstuelle beskrivelser af krav • Ikke objektorienteret • Uses 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. 1
Definer domæne model • Identificering af begreber/attributer der er relevante I problem-domænet. • Ikke en beskrivelse af SW objekter, men en visualisering af objekter i den “virkelige” verden. Object/ Begreb Die Player Rolls 1 2 faceValue name Attribut DiceGame 2 1 1 Associ-ring 1 Includes Plays Larman, 2. udgave kap. 1
Definer interaktions-diagram • OOD omhandler design af SW objekter • Dynamisk view • Sw objekter findes med inspiration “virkelige verden” i domæne modellen. • Ikke et direkte billed af den virkelige verden. • Interaktionsdiagram • Viser flow af beskeder mellem SW objekter • Fig.1.4 Larman, 2. udgave kap. 1
Definer design klasse diagram • Design klasse diagram : • Viser et statisk billed af klasser og attributter i interaktionsdiagrammet. • Viser SW klasser, ikke “virkelige” begreber. DiceGame Die 1 die1: Die die2 : Die 2 faceValue : int getFaceValue():int roll() Play() Larman, 2. udgave kap. 1
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. 1
Unified Modeling Language • Standard diagrammeringssprog til visualisering af resultater (artefakter) I analyse og design. • Notation er enkelt, trivielt • Vigtigere : at have evnen til at designe objektorienteret • UML er ikke : • En proces eller metode • Objektorienteret analyse og design • Retningslinier for design Larman, 2. udgave kap. 1