I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?



Like dokumenter
UML 1. Use case drevet analyse og design Kirsten Ribu

UML- Use case drevet analyse og design. Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller

Use case drevet design med UML

UML-Unified Modeling Language

UML-Unified Modeling Language. Prosess-oversikt. Use case realisering

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel

Gruppenavn. Prosjektnavn Beskrivelse av design For Navn på systemet. Versjon <1.0>

Use case drevet design med UML. I dag

Hensikten med denne delen av kurset. Objektorientering hva er det? Objektets egenskaper. Best practises ved programvareutvikling

UKE 11 UML modellering og use case. Gruppetime INF1055

God objektorientert design Flere UML diagrammer UML Distilled kap. 7,8, 9 Using UML, kap. 11, 12, 14 Kirsten Ribu

Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu

Ulike typer prosessmodeller. Systemutvikling. Utviklingsmodeller. Prosessmodell - faser

Mer$om$objektorientering$og$UML

Universitetet i Oslo Institutt for informatikk. Eskild Busch. UML hefte

Krav analyse og objektorientert

Fra krav til objektdesign

Spesifikasjon av Lag emne

Hva gjøres i design? 19. september 2002, Tore Berg Hansen, TISIP

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign

Use Case-modellering. INF1050: Gjennomgang, uke 04

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Modellering av data. Magnus Karge, Kartverket

Innholdsfortegnelse INNHOLDSFORTEGNELSE... 2 REVISJONSOVERSIKT...4 INTRODUKSJON MED FORUTSETNINGER... 5

Produktrapport Gruppe 9

Kap3: Klassemodellering

Beskjed fra Skagestein

Fra krav til objekter. INF1050: Gjennomgang, uke 05

Mer om objektorientering og UML

IN2001: Kravhåndtering, modellering, design

Kravanalyse og objekt-orientert analyse

UKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

Modellering av krav. INF1050: Systemutvikling 07. februar Førstelektor Yngve Lindsjørn

Kravspesifikasjon med UML use case modellering. Erik Arisholm

Objektorientering og UML. INF1050: Gjennomgang, uke 06

Forside. Eksamen i IN1030 for Våren Ingen hjelpemidler tillatt.

UNIVERSITETET I OSLO

Løsningsforslag til Case. (Analysen)

Modellering av krav. INF1050: Systemutvikling 11. februar Universitetslektor Yngve Lindsjørn

OptimalJ-kurs UIO Oppsummering av kurset. De ulike modellene egenskaper og formål

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

Tom Røise IMT2243 : Systemutvikling 1. IMT2243 Systemutvikling 26. februar Klassediagrammet. Klasse

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell. Dagens forelesning. Fra krav til objekter

Estimeringsmetoder. I dag. Kostnadsestimering. Kostnader og prisfastsettelse. Ulike estimeringsmetoder. Måling av programvare. Estimeringsteknikker

Estimeringsmetoder. Kirsten Ribu. HiO - Kirsten Ribu

Fra krav til modellering av objekter

Forside Eksamen INF1055 V17

IN2000:&Kravhåndtering,&modellering,&design

Gruppenavn. Beskrivelse av arkitektur For Navn på systemet. Versjon <1.0>

Eksamen INF

Prosjektgruppen: Gjermund Gartmann Tommy Jansson Margrethe Store. Prosjektledelse: Margrethe Store Kvalitetssikring: Tommy Jansson

INF Oblig 2. Hour Registration System (HRS)

Mer om objektorientering og UML

Systemutvikling - oppsummering. Alexander Nossum blog.eksplisitt.net 22. mai 2006

Del - leveranse Del 2. Inf 2120 fredag Gruppe 1 Knut Johannes Dahle

NB! Endring i undervisningsplanen

AMS-case forts. Eksemplifisering av modellbasert. tilnærming til design av brukergrensesnitt

case forts. Generell interaktor Integer- interaktor Domenemodell Eksemplifisering av modellbasert tilnærming til design av brukergrensesnitt

1. Modellering av objektorienterte systemer

Spesifikasjon av Lag emne. Kursregistrering g bruksmønstermodell. Dagens forelesning. Fra krav til objekter

1. Designe ER-modeller med MS Visio

Eksamen i fag TDT4140 Systemutvikling. 22. mai, 2008 kl

Conference Centre Portal (CCP)

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

Innhold. INF1000 Høst Unified Modeling Language (UML) Unified Modeling Language (UML)

Kapittel 7 & 8. Kravspesifikasjoner & Data design. Thomas Tjøstheim og Thomas Edvinsen. 20 September Kapittel 7 & 8 p.1/20

Dagens forelesning. o Litt mer om design med UML sekvensdiagrammer. Sentralisert og delegert kontrollstil

Kirsten Ribu - Høgskolen i Oslo

Estimeringsmetoder. I dag. Estimering = måling. Kostnader og prisfastsettelse

Måling Hvordan ta beslutninger Estimeringsteknikker

Brukermanual for statistikk på Asset on web: Statistikk salg pr dag, uke eller måned fordelt på alle avdelinger:

Metode for ansvarsdrevet OO med UML. Dagens forelesning. Hovedflyt for Meld på kurs. Delegering av ansvar i en trelagsarkitektur

Oppsummering. Thomas Lohne Aanes Thomas Amble

1 Kodegenerering fra Tau Suiten

UNIVERSITETET I OSLO

Gruppenavn. Prosjektnavn Kravdokument For Navn på systemet. Versjon <1.0>

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

Oppgave 1: Multiple choice (20 %)

Use case modellering. Use case modellen. Metode for systembeskrivelse og Nettsted-design

AMS-case. Eksemplifisering av modellbasert. tilnærming til design av brukergrensesnitt

Eksamen i fag SIF8018 Systemutvikling. Fredag 25. mai 2001 kl

Unified Modeling Language (UML) Kravspesifikasjon med UML use case modellering. UML diagrammer. Notasjon som støtter opp under modellbasert

Forslag til løsning. Oppgave 1

SRD GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie

INF Obligatorisk prosjektarbeid INNHOLD:

UML klassediagrammer

Trafikanten Pluss, delleveranse 2. Gruppe 8 Eivind Hasle Amundsen [eivinha] og Eigil Moe [eigilmo]

SRD GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie

Lykke til! Eksamen i fag TDT4140 Systemutvikling NTNU Norges teknisk-naturvitenskapelige universitet

INF Obligatorisk prosjektarbeid

Gjennomgang av eksamen IN1030 Gruppe 4

Beskrivelse av å lage en modell

Use Case-modell. Vurdering av oppdragsgivers krav

Fra problem til program

Requirements & Design Document

Kravspesifikasjon med. UML diagrammer. systemutvikling. Dokumentasjon av systemets krav, arkitektur, design og implementasjon

GJENNOMGANG UKESOPPGAVER 4 USE CASE MODELLERING HELGA NYRUD & KRISTIN BRÆNDEN

Kravspesifikasjon med. Erik Arisholm

Transkript:

UML Use case drevet analyse og design 31.01.2005 Kirsten Ribu I dag Domenemodell (forløper til klassediagram) Interaksjonsdiagrammer Sekvensdiagram Kollaborasjonsdiagram 1 2 Domenemodell visualisering av konsepter Eksempel Domenemodellen viser konsepter i applikasjonsdomenet og forholdet mellom dem: ideer, ting, objekter (konseptuelle klasser en abstraksjon) Det finnes ingen fasit på hva som er en riktig domenemodell Domenemodellen lages med UML klassediagrammer uten metoder, og utarbeides gjennom flere iterasjoner Det er bedre å spesifisere for mange konseptuelle klasser enn for få 3 4 Hvordan finne domeneklasser? 2 forskjellige tilnærminger: Lag en liste over kandidater til domeneklasser Finn substantiver og substantivutrykk i use case beskrivelsene NB! Naturlig språk er flertydig, mekanisk mapping av substantiver til klasser er ikke å anbefale 5 6 1

Bruk en liste Finn substantiver i use casene Fysiske objekter Spesifikasjoner, beskrivelser av ting Steder Transaksjoner Roller (personer) Beholdere Ting i beholdere Eksterne systemer Eksempler (Spørreskjemagenerator) Tekst, informasjon Internett Eksport (til andre verktøy) Import (til regneark) Ansatt, deltaker Skjema Spørsmål, svar, antall Browser Eksempel: Use case Generer spørreskjema Aktør: Ansatt 1. Systemet ber om overskrift, innledning og antall spørsmål 2. Ansatt skriver inn nødvendig informasjon 3. Systemet sjekker at alle felt er utfylt 4. Systemet viser et spørreskjema der tekst til spørsmål skal fylles inn 5. Ansatt skriver inn tekst og svaralternativ 6. Systemet sjekker at riktig antall spørsmål har fått tekst 7. Ansatt ber om at spørreskjemaet blir lagret 8. Systemet lagrer spørreskjemaet Hendelser Abstrakte begreper Besvarelse Fortsettelse 7 8 Fremgangsmåte for domenemodellering Overordnet domenemodell Lag en liste over kandidater til klasser: Spørreskjema, Tekst, Overskrift, Innledning, Antall spørsmål, Informasjon, Felt, Spørsmål, Svar, Svaralternativ, Ansatt, Deltaker, Browser Ta bort unødvendige klasser Tegn klassene inn i domenemodellen Legg på assosiasjoner for å vise relasjoner Legg til attributter som er nødvendige for å oppfylle kravene 9 10 Assosiasjoner En assosiasjon er en relasjon mellom klasser (eller instanser av klasser: objekter) som indikerer at det er en meningsfylt sammenheng mellom dem Brukes i domenemodellen hvis informasjon om relasjonen skal lagres NB! For mange assosiasjoner i domenemodellen gir visuell støy Eksempel Assosiasjonsnavn (Kan utelates) Spørreskjema Består av 1 1 * Spørsmål Assosiasjonen går i begge retninger. Dette er en ren abstraksjon og sier ingen ting om forbindelser mellom objektene i selve systemet. 11 12 2

Forfin modellen Legg til attributter Ta bort unødvendige klasser (Kunde, Informasjon) Noen klasser viser seg å være attributter (Overskrift, Tekst etc.) Legg på multiplisitet : 1.* etc 13 Inkluder de attributter som det må lagres informasjon om i følge use casene Attributter er vanligvis datatyper, f.eks tall, boolean, tekst, dato Modeller konsepter (ting) som klasser, ikke attributter. Hvis det er tvil, lag en klasse! Eksempel: Lag en klasse Oversikt (eller Statistikk) som viser enkel statistikk som antall svar, deltakerens alder, geografiske tilknytning etc. 14 Domenemodell med assosiasjoner Oppsummering av analysen så langt * Use case modellen utarbeides i iterasjoner Use case modell og domenemodell lages parallelt Det finnes ingen fasit på hva som er en riktig domenemodell En god modell fanger opp informasjonen om entiteter (ting) som er beskrevet i use casene 15 16 Oppgave Interaksjonsdiagrammer Lag en domenemodell for Zebrasystemet Arbeid sammen: Finn substantiver i use casene (og kravspesifikasjonen) Lag et diagram og legg på assosiasjoner Legg til noen attributter (de viktigste/de som det må lagres informasjon om) 17 18 3

Interaksjonsdiagrammer Sekvensdiagram for mobiltelefon Sekvensdiagrammer og kollaborasjonsdiagrammer = modeller som beskriver hvordan grupper av objekter samarbeider Et interaksjonsdiagram viser oppførselen til et enkelt use case Diagrammene viser et antall objekter og hvordan meldinger sendes mellom objektene i use caset Vi skal konsentrere oss om sekvensdiagrammer 19 20 Sekvensdiagram forts Kollaborasjonsdiagram 21 22 Sekvensdiagrammer Grunnleggende notasjon for sekvensdiagram Viser hvordan objekter kommuniserer ved hjelp av beskjeder (meldinger) Viser hendelsesflyten i use casene Er et redskap for å lage et godt objektdesign Lages parallelt med klassediagrammer Lag sekvensdiagrammer to og to for å bedre forståelsen 23 24 4

Utforming av sekvensdiagrammer Patterns (strukturerte retningslinjer) og designprinsipper kan forbedre kvaliteten Aktøren (grensesnittklassen) er med for å vise grensesnittet mellom system og aktør Meldinger (metodekall) vises med piler. Metodene ligger i klassen som pilen peker på Nytt objekt opprettes med create() NB! create() peker rett på det nye objektet i høyden der objektet opprettes Klasser og objekter I UML er klasser og objekter illustrert på samme grafiske måte, men navnet er understreket i objektene. Spørsmål :Spørsmål s1:spørsmål klasse objekt navngitt objekt 25 26 Use case realisering En betegnelse fra Unified Process (UP) Beskriver forbindelsen mellom kravene uttrykt i use casene og objektdesignet som oppfyller disse kravene Beskriver hvordan scenariene i et use case realiseres gjennom objekter som samarbeider Illustreres med sekvensdiagrammer Hendelsene vises i meldinger som sendes mellom objektene Forberedelser til designfasen Undersøk systemoppførsel: Hva systemet gjør, ikke hvordan Bruk black-box sekvensdiagrammer (Betrakt systemet som black-box og finn meldingen som går ut og inn av systemet) Denne framgangsmåten visualiserer operasjonene som genereres av aktørene (input og output) 27 28 Ekstern aktør Black box diagram for Generer spørreskjema Systemet som black box Meldinger Retur til forrige melding Sammenheng mellom use case tekst og black box diagram Use case Generer spørreskjema Aktør Ansatt 1. Systemet ber om overskrift, innledning og antall spørsmål 2. Ansatt skriver inn nødvendig informasjon 3. Systemet sjekker at alle felt er utfylt 4. Systemet viser et spørreskjema der tekst til spørsmål skal fylles inn 5. Ansatt skriver inn tekst og svaralternativ 6. Systemet sjekker at riktig antall spørsmål har fått tekst 7. Ansatt ber om at spørreskjemaet blir lagret 8. Systemet lagrer spørreskjemaet 29 30 5

Sekvensdiagram Generer spørreskjema (1) Oppgave Ta for dere Timebestillings-use caset i Zebra systemet. Lag et black-box diagram for use caset Lag et sekvensdiagram for use caset Arbeid minst to sammen 31 32 Neste mandag Use case realisering Designmodellen Kapittel 6 i UML Distilled Torsdag: Andreas 33 6