Udledning af krav samt use case modellering

Slides:



Advertisements
Lignende præsentationer
Katalog over nationale standarder på sundhedsområdet.
Advertisements

Trehøje-Pigerne Side 1 Vejledning til brug af hjemmesiden Det er slet ikke så vanskeligt – så brug hjemmesiden flittigt… Det er.
Teststrategi Engrosmodellen
Dagens program Hvad er frivillig.dk Hvordan er frivillig.dk bygget op
Videregående pc-vejledning
Introduktion til Javascript – Grundlæggende Webdesign, F2004. Introduktion til Javascript.
Læringsstile og lektier
Prøver 2014 Dagens motto: Husk nu det er en prøve, ikke en eksamen!
Web 2.0 Teoretisk viden.
Hvordan programmerer man?? STREAM - en model. Programmører arbejder ofte i teams Hver programmør arbejder på sin del af en større helhed.
Arkitektur - data.
Thomas, Nicklas, Kim, Dennis G., Benjamin
Gruppe 4. En kunde henvender sig i butikken for at købe en vare. Ekspedienten scanner varen og modtager betaling. Systemet fjerner varen fra lageret og.
06.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Brug Oversigt, principper og teknikker Kapitel 6.
Sikring af tilgængelighed er en proces!
Præsentation: Obligatorisk opgave 1
Systemvalg Oversigt og teknikker Kapitel 2.
UP som framework UP på 1. semester Planlægning efter UP Input til UP
Teststrategi Engrosmodellen
Brian, Christian, Jens, Nicklas
Krav og usecases Larman kap. 5 og 6 (del1) Larman kap del1
For vejledere i opgaver og projekter i 2g og 2hf Dynamokursus d
Beskrivelsesværktøjer
Udvikling – del II.
Relationer – børn og voksne
ER-diagrammer (databaser, del 4)
Obligatorisk projekt 5: ERP-systemer
Informationsteknologi B-A, HHX, 2005,
Velkommen til dag 2 på AUs vejlederuddannelse!
Session 11: Introduktion til Systemudvikling
Tietgen Skolen Kvalitet og kvalitetssikring Review Test.
Analyse af anvendelsesområde
Introduktion til Access (Access, del 1)
Arv Idéen i arv et at kunne genbruge gennem generalisering
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer Del 2 af 2: Proces- og funktionsdiagrammering Aalborg Universitet, d. 9. oktober 2006.
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer
Klasser Modeller.
07.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Funktioner Oversigt, principper og teknikker Kapitel 7.
Specifikke krav til virksomheder Hvordan kommer I i gang ?
”Søg og du skal finde” fra idé til applikation af Mads Thomsen og Bent Guldager.
Opfølgning på obligatorisk opgave 1 ONK1. Ingeniørhøjskolen i Århus Slide 2 Overordnet Flere gode opgaver De samme fejl går igen.. Alle der har afleveret.
P0 erfaringsopsamling Program 9.15: Introduktion
Introduktion til arkitektur design Arkitektur design handler om at få en forståelse for, hvordan et system skal organiseres og designe den overordnede.
Powerpoint Jeopardy Data flow diagrammer Entity relationship diagrammer State diagrammerSammenhænge mellem systemmodeller
Context- og flow-diagrammer (databaser, del 3)
P0 erfaringsopsamling Program 8.15: Introduktion
1 Dagens gang Sidste uges opgaver –Klasse opgaver –Adfærdsmønstre (Låner, Reservation, Materiale, Eksemplar) Brugsmønstre og funktioner Nye opgaver.
Evaluering og IT Brøndby Gymnasium
ER-diagrammer Hvad er det? Og hvad bruges det til?
Udregning af UseCasePoints UCP = UUCP*TCF*EF UseCasePoint = Ujusteret Use Case Point * Tekniske Komplexitets Faktor * Miljø Mæssige Faktor.
Introduktion og behovsafdækning Fokus på problemer med medicin og medicinhåndtering i hverdagen Forslag til løsninger Fastlæggelse af læringsbehov.
Spørgetime. Kunde / konto eksemplet Konto åbnet( ) Beløb indsat( , 100) Konto åbnet( ) Beløb hævet ( , ) Beløb indsat( ,
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
Use Case Modellering. En form for requirements engeneering – dvs. fastlæggelse af systemkrav.
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design af interaktionselementer.
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design interaktionselementer Analysedokumentet.
Kjeld Svidt  Institut for Byggeri og Anlæg  Aalborg Universitet IT i Byggeriet Semester kursusgang Projektweb og html (fortsat) Kjeld Svidt.
Systemudvikling – Fra idé til kode.  Jens Bennedsen 2001Multimedie programmering9.2 Begrebsmodellering Problemspecifikke begreber Problem/vision vedrørende.
Brugerundersøgelse Brugssituationen Dataindsamlingsmetoder Spørgeskema
Værdikæden og kommunikation Porters værdikæde består af 2 ting; De primære processer handler om de ting som virksomheden først og fremmest skal udføre.
Kvalitative og kvantitative undersøgelser
Anvendelse.
TEMA 6 Præsentation: Sælg idéen
Abstraktioner.
Videnskabeligt projekt
Dokumentation.
Lektion 7 Formål med denne lektion er at arbejde videre med klassekulturen, følge op på surveyen og at afrunde lektionsforløbet i Netwerk. Alle rettigheder.
Tak for invitationen Bambora online betaling Persondataforordningen.
Replanlægning GD1 Test & Implementering torsdag d. 18. september 2014
Software Construction
Præsentationens transcript:

Udledning af krav samt use case modellering Kravs workflow Use case modellering Avancerede

Tyngden i inception og elaboration Kravs workflow Tyngden i inception og elaboration 07-04-2017 Lektion 5

Hvad er kravspecifikation? Kravspecifikation går ud på at beskrive, hvad et systemet skal gøre for brugeren Kravspecifikation har flere formål, hvilket stiller forskellig krav til beskrivelsesform og detaljeringsniveau: Beslutningsgrundlag for ledelsen Kontraktgrundlag mellem virksomhed og systemudvikler Designgrundlag for systemudvikler 07-04-2017 Lektion 5

Kravspecifikation - metamodel 07-04-2017 Lektion 5

UP kravs workflow 07-04-2017 Lektion 5

Udvidelse af UP’s kravs workflow 07-04-2017 Lektion 5

Formulering af krav (1) UML indeholder ingen anbefalinger til hvordan kravene skal beskrives [Arlow og flere andre] anbefaler ”feature stile”: <id><Systemet>skal<funktion> Eksempler: K1-3: Systemet skal kunne registrere og udskrive oplysninger om kunder, varer og ordre K4: Systemet skal kunne overvåge, at varer leveres som aftalt K5: Systemet skal kunne håndtere betaling K6: Systemet kunne understøtte såvel bestilling fra web’en som intern i forretningen K7: Der skal kunne søges efter forskellige kriterier 07-04-2017 Lektion 5

Formulering af krav (2) Eksempler fortsat K15: Svar tiden ved afgivelse af en ordre skal være under 2 sek. K16: Vareoplysninger og prislister skal altid være tilgængelig, ligesom en ordre altid skal kunne registreres, selvom serveren går ned K17: Der skal være sikkerhed for, at uvedkommende ikke får adgang til data K18: Systemet skal afvikles i klient-server arkitektur 07-04-2017 Lektion 5

Organisering af krav 07-04-2017 Lektion 5

Prioritering af krav (MoSCoW) 07-04-2017 Lektion 5

Hvordan finder vi krav? Brugerens opfattelse af den virkelighed det kommende system skal understøtte, kan udledes ved: Interviews Forestil dig ikke en løsning Stil kontekst frie spørgsmål Lyt Tro ikke, du kender svaret Ha’ tålmodighed Spørgeskema Workshop Hent ideer fra prototyper og eksisterende systemer! 07-04-2017 Lektion 5

Use case modellering Aktører Use case 07-04-2017 Lektion 5

Find aktører og use cases 07-04-2017 Lektion 5

Hvad er en aktør? En aktør er en rolle, som en ekstern entitet (person, andet system osv..) indtager ved direkte interaktion med systemet: en bruger rolle f.eks. ekspedient, sælger, lagermedarbejder andre it-systemer et apparat f.eks. en temperaturføler Primære aktører får deres mål opfyldt gennem use casen 07-04-2017 Lektion 5

Find aktører Tag udgangspunkt i hvem/hvad bruger systemet og hvilken rolle spiller de? - Generaliser Brug en tids aktør til tidsafhængige funktioner Aktørerne navngives, og de beskrives ud fra et forretningsperspektiv Eksempel: Navn: Ekspedient Opgave: Står for at modtage og registrere ordrer fra kunder 07-04-2017 Lektion 5

Hvad er en use case? En use case er en specifikation af en handlingssekvens mellem en ekstern aktør og systemet Omfatter et normalt forløb, alternative forløb samt fejlscenarier Use cases fortæller en historie om, hvordan en aktør bruger et system med henblik på at opfylde et mål, og illustrerer de funktionelle krav gennem den historie, der fortælles Startes altid af en aktør Er altid skrevet ud fra aktørens syn (view) 07-04-2017 Lektion 5

Find use cases Se på aktører og kravslisten Fokus i afgrænsningen af use cases skal være, at use casen skal give aktøren en observerbar nytteværdi (kaffe pause testen: fortjener aktøren at holde kaffepause efter use casen er afsluttet?) En hyppig fejl er at use cases fastlægges på et for lavt niveau, fx er Udskriv bekræftelse som regel en del af noget andet Triviel funktionalitet kan samles i en CRUD use case (Create, Read, Updata, Delete) – idet der ellers vil være mange uinteressante use cases med et enkelt trin 07-04-2017 Lektion 5

Gode og dårlige use cases Kriterier: Afsluttede; målet er nået; kaffepause Små beslægtede opgaver bundtes i én beskrivelse (CRUD) Kontrol: Er alle opgaver med? Er alle aktørernes opgaver dækket? Er kritiske opgaver med? Kan alt data registreres, ændres, slettes (CRUD)? Gode eller dårlige? Administration af bøger Registrer bogens titel Udlån af bog Ret reservation Slet reservation 07-04-2017 Lektion 5

Use case diagrammet 07-04-2017 Lektion 5

Ordforklaringer 07-04-2017 Lektion 5

Øvelse: Find use cases I et ordrestyringssystem er der følgende aktører: Ekspedient der har kontakten til kunderne og tager imod ordre Lagermedarbejder der sørger for pakning og afsendelse af varer, samt bestilling og modtagelse af nye varer Bogholder der sørger for modtagelse af betalinger og håndtering af restancer Kom med forslag til use cases 07-04-2017 Lektion 5

UP aktivitet: Detaljer en use case 07-04-2017 Lektion 5

Use case specifikationen 07-04-2017 Lektion 5

Forgreninger ved brug af ”if” 07-04-2017 Lektion 5

Repetitioner ved brug af ”for” 07-04-2017 Lektion 5

Repetitioner ved brug af ”while” 07-04-2017 Lektion 5

Alternative flows 07-04-2017 Lektion 5

Alternative flows relateret til step i normalforløb 07-04-2017 Lektion 5

Alternative flows, der kan starte når som helst 07-04-2017 Lektion 5

Øvelse: Specifikation af use case I skal nu specificere use casen: Afgiv ordre, web i forbindelse med bestilling af blomster Lad jer fx inspirere af interflora 07-04-2017 Lektion 5

Sporbarhedsmatrice 07-04-2017 Lektion 5

Use cases i det videre forløb Udgangspunkt for af finde systemets klasser og deres relationer samt modellering af systemets interaktion Udgangspunkt for formulering af testcases til accepttest Accepttesten kan således planlægges allerede når use casene er formuleret, selvom den først udføres efter systemet er færdig kodet Danner sammen med skærmbilleder udgangspunkt for brugervejledning (er en slags vejledning i sig selv) 07-04-2017 Lektion 5

Avanceret use case modellering Generalisering Include Extend 07-04-2017 Lektion 5

Aktør generalisering 07-04-2017 Lektion 5

Use case generalisering Generaliseringsformer: Arv. Forældrenes egenskaber nedarves uændret til børnene. Tilføjelse. Nye funktioner ud over forældrenes tilføjes Overskrivning. Forældrenes egenskaber overskrives (o) 07-04-2017 Lektion 5

Eksempel: Use case generalisering 07-04-2017 Lektion 5

Forældre use casen: FindProduct 07-04-2017 Lektion 5

Børne use casen: FindBook 07-04-2017 Lektion 5

”Include” relationen ”Include” relationen bruges til at modellere repeterende funktionalitet på tværs af forskellige use cases Formål: Reduktion af redundans, så man ikke skal skrive de samme ting mange gange Det, der er fælles, modelleres i en ”inclusion” use case, som inkluderes i ”base” use cases. Vises i use case diagrammet ved en ”include” relation (stiplet pil fra ”base” use cases til ”inclusion” use casen med teksten ”include”) ”Include” samt navnet på ”inclusion” use casen skrives i det relevante step i specifikationen på ´”base” use casene. En use case er kun komplet, hvis alle use cases, der inkluderes er medtaget. 07-04-2017 Lektion 5

”Include” relationen visualiseret 07-04-2017 Lektion 5

Eksempler på specifikation af ”base” use cases med ”include” 07-04-2017 Lektion 5

Eksempel på specifikation af ”inclusion” use casen 07-04-2017 Lektion 5

”Extend” relationen ”Extend” relationen bruges til at udvide funktionaliteten i en eksisterende use case med noget mere Vises i use case diagrammet ved en ”extend” relation og et ”extension” point, der relateres til den use case, der skal inkluderes, dvs. ”extension use casen” I specifikationen af den use case der udvides, ”base” use casen, inkluderes en betingelse og en reference til ”extension” use casen ved et extension punkt ”Base” use casen er komplet i sig selv 07-04-2017 Lektion 5

”Extend” relationen visualiseret 07-04-2017 Lektion 5

Eksempel på specifikation af ”base” use case med ”extension points” 07-04-2017 Lektion 5

Eksempel på specifikation af en ”extension” use case 07-04-2017 Lektion 5

IssueFine (multiple segments) 07-04-2017 Lektion 5

Betinget udvidelse 07-04-2017 Lektion 5

Eksempel: Specifikation af betinget ”extension” use case 07-04-2017 Lektion 5

Undgå funktionel dekomposition 07-04-2017 Lektion 5

Øvelse: Avancerede strukturer I ordre systemet er følgende use cases identificeret: Søg vare Afgiv ordre Hvordan kan de relateres? I ordre systemet kan endvidere betales på flere forskellige måder Kan man bruger strukturer til håndtering af det? 07-04-2017 Lektion 5

Opgave: Restaurant Godbid Kom med forslag til use cases Specificer use casen: Afgiv bestilling 07-04-2017 Lektion 5