Use case realisering Designmodellering Kirsten Ribu Kapittel 4 UML Distilled
UML-Unified Modeling Language Sist: Use Case diagram I dag: Sekvensdiagram Neste gang: Klassediagram
Use case realisering med Sekvensdiagram Beskriver hvordan scenariene i et use case realiseres gjennom objekter som samarbeider Illustreres med sekvensdiagrammer
Objektorientert analyse og design (OOAD) Analyse Use case modellering Design Sekvensdiagram Klassediagram
Oppsummering av metoden Analyse 1 Identifiser aktører og deres mål 2 Lag et høynivå use case diagram 3 Spesifiser hvert use case tekstlig med normal hendelsesflyt og variasjoner Design (ansvarsfordeling) 5 Identifiser objekter og fordel ansvar mellom dem 6 Lag sekvensdiagram for viktige use case 7 Lag klassediagram
Sekvensdiagrammet modellerer hva som skjer i en prosess med hensyn på hvilke objekter som ’snakker sammen’ og i hvilken sekvens (rekkefølge) dette skjer Objektene utveksler meldinger.
Sekvensdiagrammet Hvert objekt har en tidslinje tilknyttet seg (en loddrett linje). På tidslinjen ligger handlinger Tiden går nedover Her er to objekter:
Supermann ringer
Forslag til pantemaskin Kunde Operatør Returner artikkel Endre artikkelgodkjenning
Begynn enkelt med input (Black box diagram) Kunde settInnArtikkel() sjekkOmGyldig() hentKvittering() beregnSum() Loop: skrivUtKvittering() Panteautomat
Pantemaskinen – use case ’Returner artikler’ med objekter Kunde :Kunde- panel :Mottaker :TotalSum :Artikkel:Printer Artikkel start() create() sjekkomGydig() OK settInn Artikkel() Display() loop timeOut()beregnSum() lagkvittering() returnerKvittering()
Notasjon Create() betyr at det opprettes et nytt objekt Tilsvarer new() i java :TotalSum create()
viser hendelsesflyten i et use case viser interaksjoner (samarbeid) mellom objekter i systemet viser rekkefølgen på beskjedene (abstrakt) som sendes mellom objektene kan brukes til å identifisere metodene og objektene i systemet Et UML sekvensdiagram
Sammenheng mellom use case og sekvensdiagram For hvert use case lages et sekvensdiagram for normal hendelsesflyt (main success scenario). For hver variasjon kan man velge å lage et nytt sekvensdiagram.
Klassediagrammet Utformes parallellt med sekvensdiagrammet Finn klasser og metoder under utformingen av sekvensdiagrammene For eksempel: Kundepanel – Artikkel – Printer – Husk KONSISTENS mellom sekvensdiagram og klassediagram!
Arv (generalisering) Optiker er en spesialisering av Ansatt
Utarbeidelse av designmodell (klassediagram) Designmodell - systemklasser :Kunde- panel :Mottaker:TotalSum :Artikkel :Printer :Flaske:Boks :Pantemaskin
Finn metoder Legg til metodenavn ved å analysere sekvensdiagrammene Eks: Meldingen settInArtikkel() sendes til Mottaker- objektet. Objektet må derfor inneholde en settInArtikkel()- metode
Ukeoppgave: Se på kravspesifikasjonen og use case modellen til ’Spørreskjemageneratoren’. Lag et sekvensdiagram for use case’t ’Generer spørreskjema’ Ikke ta med variasjoner.
Spørreskjemagenerator - krav Et meningsmålingsinstitutt ønsker å få laget et system der spørreskjema er på Internett/Web. Det skal være enkelt å legge et spørreskjema ut på Web, og enkelt å fylle ut skjemaene på Web Svarene lagres på et format som kan eksporteres til andre verktøy f eks "strukturert tekst" som kan importeres til et regneark). Deltakerne skal kunne lagre svarene underveis og fortsette utfyllingen av skjemaet senere. Det som skal lages er en ”spørreskjema- generator" for Web.
Komplett use case beskrivelse av ’Generer spørreskjema’ Extension point