Kravspesifiseringsprosessen

Like dokumenter
Tom Røise 2/28/2007. IMT2243 : Systemutvikling 1. Forelesning IMT mars Tema : Litteratur : Strukturert analyse. Strukturert analyse

Tom Røise 18. Februar 2009

Tom Røise 9. Februar 2010

UKE 11 UML modellering og use case. Gruppetime INF1055

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

Kirsten Ribu - Høgskolen i Oslo

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

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

Oppsummering : IMT2243 Systemutvikling. Hensikt med kurset. Innfallsvinkel : Tom Røise IMT2243 : Systemutvikling 1

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

Distributed object architecture

UML 1. Use case drevet analyse og design Kirsten Ribu

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

Use Case-modellering. INF1050: Gjennomgang, uke 04

Presentasjon 1, Requirement engineering process

UML-Unified Modeling Language

Agenda. TDT4140: Kravinnhenting. Kravprosessen Forståelsesproblemet Teknikker for innhenting av krav. Den organisatoriske dimensjonen

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

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

Kirsten Ribu - Høgskolen i Oslo

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

UNIVERSITETET I OSLO

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

Kravspesifikasjon med UML use case modellering. Erik Arisholm

Kap. 12 Analysemodellering (Analysis Modeling)

University of Oslo Department of Informatics. INF Modellering med objekter Oblig 2, V2004. Skrevet av:

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

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

Prosessmodellering. Strukturert design med dataflytdiagrammer (DFD) Gurholt & Hasle Kapittel 10. Kirsten Ribu Høgskolen i Oslo

DRI2001 h04 - Forelesning Systemutvikling og nettsteder

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

Distributed object architecture

Obligatorisk oppgave INF3221/4221

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

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

Modellering av brukstilfeller og forretningsprosesser. Kurs i standarder, Oslo, 12. juni 2018

Ulike typer prosessmodeller. Systemutvikling. Utviklingsmodeller. Prosessmodell - faser

Bakgrunn. Kurset krever ingen spesielle forkunnskaper om modellering.

Tom Røise IMT 2243 : Systemutvikling 1. Forelesning IMT Mars Designfasen i SU-prosjekter : Generelle steg i Designprosessen

Introduksjon til fagfeltet

Forfattere: Daníelsdóttir, Drífa Meland, Maiken Mijalkovic, Biljana Svendsen, Simen H. Gruppelærer: Zarei, Amir Hossein. 5.

21. Objektorientert Analyse (OOA) Kap. 21 Objektorientert Analyse (OOA)

DRI2001 forelesning

Forelesning IMT Mars 2011

Innhold. Innledning Del 1 En vei mot målet

Oversikt over forelesningen. DFD sentrale konsepter. Intro til Dataflytdiagrammer (DFD) Marakas, kap. 5

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

Team2 Requirements & Design Document Værsystem

Kravspesifikasjon med. Erik Arisholm

INF 5120 Obligatorisk oppgave Nr 2

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

EKSAMEN 05HBINDA, 05HBINFA, 05HBISA, 05HBMETEA, 06HBINFA. Tom Røise. INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag

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

Requirements & Design Document

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

SOFTWARE REQUIREMENT & DESIGN DOCUMENT

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

IN& &april&2019. Modellering*av*krav. Yngve&Lindsjørn. IN1030&'>Systemutvikling'>&Modellering&av&krav 1

Løsningsforslag: Oblig 1. INF1050: Gjennomgang, uke 12

INF Oblig 2. Hour Registration System (HRS)

Eksamen 2013 Løsningsforslag

Innholdsfortegnelse: Resymé: Denne leksjon gir en kort og enkelt oversikt over hvilke oppgaver som skal utføres i design- og programmeringsfasen.

Fra krav til objekter. INF1050: Gjennomgang, uke 05

Eksamen INF

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

Prosessmodell. Hurtigguider - rammeverk Sist redigert Snorre Fossland Eier og driver Snorres Modellbyrå

Use case drevet design med UML

UNIVERSITETET I OSLO

Prosjektrettet systemarbeid

DRI 2001 Systemutviklingsarbeidet og nettsteder Forelesning

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

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

Systemutvikling (Software Engineering) Professor Alf Inge Wang

Fra krav til modellering av objekter

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

1. Leksjon 01: Introduksjon til faget Prosjektrettet systemarbeid

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

SOFTWARE REQUIREMENT & DESIGN DOCUMENT. Home Automation System. Nickolas Helgeland, Jon Erik Nordskog og Kristian Sande Sjølyst

t Institutt for informatikk Erik Arisholm 13. mai 2009 INF1050-oppsummering-1

Veileder for kravspesifisering. for digitale læringsplattformer og digitale læringsressurser

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

Systemutviklingsprosesser Forelesning 2 - INF1050 Systemutvikling

A Study of Industrial, Component-Based Development, Ericsson

Fra krav til objektdesign

GJENNOMGANG UKESOPPGAVER 9 TESTING

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

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

DRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO

Løsningsforslag Sluttprøve 2015

Tom Røise 24.Mars 2009

UNIVERSITETET I OSLO

Jernbaneverkets erfaringer med implementering av RAMS

1. Funksjonsmodellering

Spesifikasjon av Lag emne

Krav. Beskriver tjenestene produktet skal håndtere Kravene kan testes

Kap3: Klassemodellering

SIE 4005, 9/10 (4. Forelesn.)

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

Tom Røise 28.Jan 2010

Transkript:

IMT2243: 18.februar 2010 DAGENS : Metoder for å få kartlagt de Funksjonelle kravene Strukturert Analyse den gamle måten og gjøre det på (dette foilsettet + wikipedia-omtalen er eneste pensum innen SA) Introduksjon til Objektorientert Analyse Use Case en scenariebasert teknikk innen metoden Objektorientert Analyse brukes til å avklare og dokumentere funksjonelle krav - Use Case diagram - Use Case tekstbeskrivelse - high level (grov, brukerkrav) - Use Case tekstbeskrivelse - expanded level (detaljert, systemkrav) - SSD : System Sequence Diagram Pensum : Kap. 7 i Sommerville Art.saml: Stumpf,Teague kap. 4 Kravspesifiseringsprosessen Feasibility study elicitation and analysis specification Feasibility report System models User and system requirements validation document Strukturert analyse Hva er det : http://en.wikipedia.org/wiki/structured_analysis Metoden går ut på å anvende et sett teknikker i arbeidet med å lage gode systemmodeller /beskrivelser under spesifiseringsarbeidet. SA ble utformet på en tid der fossefall-modellen hadde utstrakt anvendelse, og man ofte hadde rasjonalisering som hovedmål ved utvikling av nye IT-systemer - altså på slutten av 79-tallet. ITsystemene skulle i stor grad hjelpe til med å automatisere prosessering av informasjon der man ut fra en Input og et sett manipuleringsregler skulle få generert en Output. Input Process Output (IPO) står i fokus for all kartlegging. Metoden er fortsatt relevant å anvende i spesifiseringsarbeid spesielt når man arbeider etter en sekvensiell utviklingsmodell.

Strukturert analyse Man forsøker å lage gode systemmodeller/beskrivelser : Dataflytdiagrammer DataDictionary Datamodeller Strukturert språk (Structured Definition Language) Beslutningstrær SA er en funksjonsorientert metode : - finne funksjonene i systemet - kartlegge informasjonsflyten rundt funksjonene Eksempel på en SYSTEMMODELL : Klient 1. Registere klient Klientregister Personalia Klientinfo 2. Motta Klientkode Timer_idag 4. Generere dagsrapport Timeforespørsel timebestilling Timeregister Timetilbakemelding Dagsinforamsjon Kapasitet Dagsforespørsel Dagsrapportgrunndata Timehistorikk Tannlege Klinikkdata Tjenesteforespørsel 5. Registrere klinikkinfo Klinikkinfo Tjenesterapportgrunndata 3. Generere Klinikkinfo tjenestestatistikk Kontoransatt Tjenesteliste Prosess (funksjon) Bearbeider/manipulerer input om til output En prosessboble for hver funksjon i systemet Navngis ut fra hva den gjør

Dataflyt (informasjonsflyt) Viser hvordan data/informasjon flyter i systemet. Vi fokuserer på logiske modeller og flyt av modeller. anvendes også til å vise flyt av fysiske elementer. Modellen viser ikke rekkefølgen på flytene, bare retning Navngis Detaljspesifiseres i DataDictionary Datalager / register Viser en samling av data som må ligge lagret i systemet Viser ikke hvordan dataene skal lagres Dataene ligger passive inntil de blir kalt opp Unngå registre uten inn og ut flyt Lengst mulig ned i -strukturen Terminator / Ekstern enhet Viser kilder til / mottaker av informasjonsflyt i vårt system Kan være roller, interessenter, andre systemer etc.

Nivåhåndteringen i Kontekstdiagram Viser omgivelsene til vårt system. Sentral informasjonsflyt til og fra systemet modelleres, og vil bidra til å klarlegge kravene til alle eksterne grensesnitt for vår løsning Nivå 1 Bryter systemboblen fra kontekstdiagrammet ned i enkeltprosesser som samlet viser den sentrale funksjonalitet i systemet. Nivå 2 Er en detaljering av de mer komplekse dataprosessene på nivå 1 Tips ved utarbeidelse av 1. Hold modellen på en side 2. Velg gode og meningsfulle navn - roller fremfor navn - navn på prosess = et verb + et objekt 3. Ikke lag modeller med mange elementer - mindre enn 10 prosesser - få registre (vi driver IKKE databasedesign her) 4. Ikke forsøk å si alt med modellen, vis det viktige - lesbart og forståelig Objektorientering - Historikk Opprinnelsen (oppdaget ikke oppfunnet) : Nygaard/Dahl - SIMULA67 OO i programmering : 70 tallet FoU / Pilot 80 tallet Kommersiell bruk (C++, Windows) 90 tallet Forretn.applik.og Internett-teknologien Forklaring : Tilgjengelighet på prog.språk Kapasitetseksplosjon innen HW OO i Design og Analyse : 67 Programmering 90 Design 95-> Analyse

Hvorfor tenke objekt-orientert også i analysefasen? Drivkraften var en målsettingen om forbedret kvalitet i programvaren Produktet skal være korrekt, pålitelig, verifiserbart, robust osv... Objektorientert tilnærming hadde suksess innen programmering og dels også innen Design Sterkt ønske inne fagfeltet om å bli bedre på gjenbruk både internt og eksternt Så store fordeler av å benytte samme perspektiv gjennom hele SU-prosessen Utgangspunktet for å tenke nytt i tilnærmingen ved Spesifisering : Ønske om et metodeverk som er bedre og mer fleksibelt til å håndtere de endringer i krav som ALLTID kommer underveis i et systemutviklingsprosjekt Den bærende ideen innen Objektorientering er at man mener Objektene er den mest stabile del av problemområdet, mens Prosesseringen/Manipuleringsmekanismene i langt større grad er utsatt for stadige forandringer Objektorientert Analyse er ikke direkte knyttet til en bestemt utviklingsmodell, men kommer best til sin rett når vi utvikler iterativt og inkrementelt. ObjektOrientertAnalyse (OOA) En analysemetode : Gir en beskrivelse av hvordan man legger opp arbeidet i analysefasen Betrakter Problemområdet fra et perspektiv der man ser både verdenen og programvaren (som skal speile verdenen) som en samling samhandlende objekter Resulterer i Artefakter (informasjonsbærende modeller og beskrivelser) som bakes inn i selve kravspesifikasjonsdokumentet Sentrale artefakter vi ser på innen OOA er : Use Case (diagram + tekstlig beskrivelse) System Sekvensdiagram Domenemodell / Konseptuelt klassediagram USE CASE Use Case er en svært utbredt scenariebasert teknikk innen systemutvikling som har sin styrke i at den egner seg godt i spesifisering av Funksjonelle krav. Et use case (brukstilfelle) er en tjeneste i form av en handlingssekvens som systemet skal utføre for omgivelsene. Denne initieres normalt av en hendelse ute i systemets omgivelser, og skal alltid gi et observerbart resultat for en bestemt aktør. Karakteristika : Et Use Case viser en tjeneste systemet skal yte En av aktøren initierer vanligvis et Use Case (pil notasjon) Et Use Case gir alltid en målbar verdi til brukeren Et Use Case skal være komplett

USE CASE (2) En teknikk innen Objektorientert Analyse som brukes for å illustrere det nye systemets forventede tjenestetilbud omgivelser (i forma av aktører) samspillet mellom disse Det er vanlig å samle alle Use Cases i et Use Case diagram for hele systemet. Det er derimot Use Case beskrivelsene som i særklasse er viktigst ved denne teknikken. Det er her de funksjonelle kravene til systemet spesifiseres. Use Case modellering Arbeidsgangen når man setter opp Use Case : A. Skisser et Use-Case diagram som viser helheten systemavgrensningen aktørene use casene relasjonene. B. Lage en High-level Use Case Beskrivelse for hvert Use Case i diagrammet C. Lag detaljerte (expanded) beskrivelser av de Use Case som vurderes til å ha størst risiko (teknologi, forretning og prosjekt). LIBSYS use cases Fig. 7.7. Sommerville

High-level Use-Case Beskrivelse Dette er en overordnet tekstlig beskrivelse av det enkelte Use Case. Benytte en mal for beskrivelsen for å få en god stuktur. Use Case (Navn) : Aktør : Mål : Beskrivelse : Expanded Use-Case Beskrivelse Use Case (Navn) : Aktør : Mål : Beskrivelse : Type : Pre betingelser : Post betingelser : Spesielle krav ( eks. operasjonelle krav) : Detaljert Hendelsesforløp ( Main Success Scenario ) : Alternative scenarier : Ulike Varianter Ulike Feilsituasjoner