UNIVERSITETET I OSLO

Like dokumenter
UNIVERSITETET I OSLO

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Spesifikasjon av Lag emne

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

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

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

UKE 11 UML modellering og use case. Gruppetime INF1055

System integration testing. Forelesning Systems Testing UiB Høst 2011, Ina M. Espås,

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

Oppgave 1: Multiple choice (20 %)

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

Use Case-modellering. INF1050: Gjennomgang, uke 04

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

Fra krav til objektdesign

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

GJENNOMGANG UKESOPPGAVER 9 TESTING

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

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

Eksamen 2013 Løsningsforslag

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

Fra krav til objekter. INF1050: Gjennomgang, uke 05

UML klassediagrammer

Løsningsforslag til Case. (Analysen)

Beskjed fra Skagestein

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

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

o UML klassediagrammer

Oppgave 1 Multiple Choice

UNIVERSITETET I OSLO

Forside Eksamen INF1055 V17

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

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

UML-Unified Modeling Language

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

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

UNIVERSITETET I OSLO

GJENNOMGANG OBLIGATORISK OPPGAVE 1

UNIVERSITETET I OSLO

Software Requirements and Design (SRD) 1 Generelt om dokumenter

NB! Endring i undervisningsplanen

Kravspesifikasjon med UML use case modellering. Erik Arisholm

UML 1. Use case drevet analyse og design Kirsten Ribu

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

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

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

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

UNIVERSITETET I OSLO

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

GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML

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

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

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

1. Hvilke type krav angår sikkerhet og pålitelighet?

UNIVERSITETET I OSLO

Eksamen INF1050: Gjennomgang, uke 15

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

IN2001: Kravhåndtering, modellering, design

UNIVERSITETET I OSLO

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

1. Hvilke type krav angår sikkerhet og pålitelighet?

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

Prøveeksamen INF1050: Gjennomgang, uke 15

Obligatorisk oppgave 5: Modellering av krav

Brukerkrav og use case diagrammer og -tekst 19. januar Agenda. Brukerkrav og use case. Diagrammer Tekst.

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

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Objektorientering og UML. INF1050: Gjennomgang, uke 06

INF2120 Prosjektoppgave i modellering. Del 1

TMA4240 Statistikk 2014

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

Høgskoleni østfold EKSAMEN. Hjelpem idler: Faglærer: Kåre Sorteberg Ingen hjelpemidler. Monica Kristiansen

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Eksamen ENG1002/1003 Engelsk fellesfag Elevar og privatistar/elever og privatister. Nynorsk/Bokmål

UNIVERSITETET I OSLO

UKE 16 Kontrakter. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski

Mer$om$objektorientering$og$UML

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

Modellering IT konferanse

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

Gruppe 43. Hoved-Prosjekt Forprosjekt

EKSAMEN. Evaluering av IT-systemer. Eksamenstid: kl 0900 til kl 1300

Dagens tema: Eksempel Klisjéer (mønstre) Tommelfingerregler

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

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

Uke 5. Magnus Li INF /

System Dokumentasjon. Team2. Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk

Gjennomgang av eksamen IN1030 Gruppe 4

UNIVERSITETET I OSLO

Forslag til løsning. Oppgave 1

UNIVERSITETET I OSLO

Eksamen i fag TDT4140 Systemutvikling. 27. mai, 2011 kl

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

Løsningsforslag Sluttprøve 2015

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

Lykke til! Eksamen i fag SIF8018 Systemutvikling. 20 mai, 2003 kl Fakultet for fysikk, informatikk og matematikk

Innovasjonsvennlig anskaffelse

UNIVERSITETET I OSLO

Transkript:

INF1050 vår2008 Løsning Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1050 Eksamensdag: 3. Juni, 2008 Tid for eksamen: 09:00-12:00 Oppgavesettet er på 3 sider Vedlegg: Ingen Tillatte hjelpemidler: Alle trykte og skrevne Kontroller at oppgavesettet er komplett før du begynner å besvare spørsmålene. Innledning Forsikringsselskapet Forsikring2 har en rekke spesialpakker med forsikringsløsninger som er tilpasset forskjellige befolkningsgrupper. Blant annet har de NHO Worries for NHO-medlemmer, Distre Pluss for akademikere og Komplett Total for de som har alt. Den nyeste satsningen til selskapet er pakken Trang Hybel for studenter. Ditt IT-selskap Try-IT har blitt forespurt om å delta i en anbudskonkurranse for mulig levering av en IT-løsning for det nye produktet. Produktet skal utelukkende tilbys og selges via internett. Oppgave 1 Tidlig fase (20%) a) Skisser hvordan en moderne logisk og fysisk lagdelt arkitektur kan se ut. Det tiltenkte (og optimale) svaret her kan være følgende eksempel på trelagsarkitektur. Inne i applikasjonslaget, er det også angitt en generisk logisk arkitektur som er et resultat av ansvarsdrevet design. Figuren er gjennomgått på forelesning. Andre tilstrekkelige skisser er for eksempel å gi logisk arkitektur Eksamen i INF1050 Side 1 av 9 3. juni 2008

samt å forklare hvordan den logiske arkitekturen fordeler seg i en valgt fysisk arkitektur. Fysiske arkitekturer kan være en av følgende: Den siste fysiske arkitekturen (web-arkitekturen) bør her være å foretrekke. b) Man er svært opptatt av å lykkes med det nye produktet. For å fastsette kravene til ITsystemet til Trang Hybel, må synspunkter fra de rette interessentene ( stakeholders ) tas hensyn til. Hvilke interessenter bør være representert, og hvilken kravinnhentingsmetode vil du bruke for hver interessent? (Nevn minst 3 interessenter). Begrunn kort. Stakeholderlisten bør minst inneholde: Kunden (Forsikring2), leverandøren av IT-løsningen for Trang Hybel (altså den leverandøren som vinner anbudsrunden), samt sluttbrukergruppen (som her er kjøperne av produktet Trang Hybel, nemlig studenter). c) Hva synes du er de tre viktigste ikke-funksjonelle kravene til IT-systemet for Trang Hybel. Begrunn. Skisser kort hvordan du kan evaluere at disse kravene oppfylles. Det er flere mulige alternativer her, men de mest opplagte er: Brukervennlighet for sluttbrukerne er svært viktig, siden dette er hele presentasjonen og salget av produktet Trang Hybel. Oppetid er også svært viktig, siden ingen salg blir gjort all den tid systemet er nede. Datasikkerhet er også viktig, siden systemet er web-basert, noe som innebærer at den delen av systemet som registrerer opplysninger som kommer under personvernloven, er desentralisert og således under mindre kontroll. Brukervennlighet kan testes ved brukergrensesnittprototyping (i for eksempel Genova) mot relevante stakeholders. Oppetid kan stipuleres i forkant av installasjon ved å velge robuste løsninger basert på historikk, og kan sjekkes under drift for eksempel ved antall feilmeldinger pr. døgn. Datasikkerhet må ivaretas ved eksisterende teknologi og må garanteres på forhånd. Det er ikke sikkert studentene resonnerer akkurat som over, siden akkurat hvordan ikke-funksjonelle krav kan oppfylles og testes ikke er Eksamen i INF1050 Side 2 av 9 3. juni 2008

gjennomgått i detalj, men det viktigste er at studenten forsøker å argumentere. d) Du (som leverandør av IT-systemet) og kunden diskuterer hvilken kontraktstandard dere skal bruke. Hvilke tre kontraktstandarder kjenner du til, og hva er den viktigste forskjellen mellom dem? Det er gjennomgått tre kontraktstandarder: IKT Norge sin standardavtale, Statens standardavtale (ved DIFI Direktoratet for forvaltning og IKT), og PS2000 (ved Dataforeningen). Førstnevnte er laget for å ivareta leverandørers interesser, annennevnte er laget for å ivareta kunders interesser, mens PS2000 er en avtale som er ment å representere både kunde og leverandør. PS2000 er således ment å være konfliktløsende, siden et problem med ensidige kontrakter er at de kan fremme konflikt. Oppgave 2 Prosjektstyring (20%) a) IT-ansvarlig i Forsikring2, som tidligere har vært med på en del mindre men svært vellykkete IT-prosjekter, sier at han tror det ville ta deg og ditt team omlag 9000 timesverk å lage første versjon av systemet for Trang Hybel. Han begrunner dette med at de prosjektene han var med på, var omtrent en tredjedel av størrelsen, og at de tok rundt 3000 timesverk. Du har bedt om å få se kravspesifikasjonene til de prosjektene han snakker om. Noen av spesifikasjonene er svært saklige og bruker ikke flere ord enn nødvendig, mens andre har lange utlegninger, bl.a. om de ønskete positive følgene av det ferdige systemet. Nevn noen faktorer ditt team må være oppmerksomme på, slik at dere estimerer tidsbruk så realistisk som mulig i dette prosjektet. De to viktigste faktorene her er faren ved kompleskistetseksplosjon og bias framprovosert ved irrelevant informasjon. Man bør derfor ha en sunn skepsis til anslagene til IT-ansvarlig i Forsikring2, fordi det ligger en fare i at man overfører erfaringer fra mindre og mellomstore prosjekter til store prosjekter, siden de vesentlige forskjellene (bla mhp produktivitet og risiko-eksplosjon) ikke tas nok hensyn til. Her er dette tydelig, siden han gjør en lineær ekstrapolasjon av tidsbruk fra små prosjekter til stort prosjekt. Flere av spesifikasjonene fra hans erfaringsgrunnlag kan dessuten ha bidratt til at han har feilaktig klassifisert størrelsen til prosjektene, siden noen av spesifikasjonene har irrelevant informasjon og noen ikke. b) Anta følgende: Du vet at kravinnhenting er det første som må gjøres. Siden må kravene modelleres i use cases. Men så snart et use case er ferdig beskrevet, kan en mer formell modellering gjøres av use caset i form av sekvens- og klassediagrammer, uavhengig av om de andre use casene er ferdige. Ved hjelp av planning poker, har ditt team estimert at kravinnhentingen K vil ta 20 enheter tid. Dere antar på dette stadiet at dere kommer til å få 4 overordnete funksjonelle krav A, B, C, D. Dere estimerer at det vil ta 5 enheter tid å lage et use case samt modeller for A, at det vil ta 4 enheter for B, 7 enheter for C og 5 enheter for D. Når use case og modellene for A og C er ferdige, kan kode, databaseskjemaer og brukergrensesnitt genereres for disse. Dette vil ta totalt 4 enheter. Når modellene for B og D er ferdige, kan kode, databaseskjemaer og brukergrensesnitt genereres for disse. Dette vil også ta totalt 4 enheter. Testing skal gjøres sammen for A og D (totalt 5 enheter), men skal gjøres enkeltvis for B (5 enheter) og C (5 enheter). Tegn et nettverks-diagram, og angi de aktivitetene som ligger på kritisk vei, samt den aktiviteten med størst slakk. PERT-diagrammet under er et optimalt svar. Kritiske aktiviteter er sirklet i rødt og den aktiviteten med størst slakk er sirklet i grønt. Eksamen i INF1050 Side 3 av 9 3. juni 2008

Oppgave 3 Modellering (40%) Du skal nå modellere den delen av systemet som registrerer et salg av en polise under Trang Hybel. Systemet skal holde oversikt over kunder, poliser og tilhørende gjenstander (bolig, mobiltelefon, sykkel, og lignende) som er forsikret i Forsikring2. For enkelhets skyld skal du anta følgende: (1) Kunder er identifisert ved fødselsnummer. (2) Alle mulige gjenstander som kan forsikres kan identifiseres ved hjelp av en identifikator som heter gjenstandid. Du trenger ikke spesifisere hvordan denne identifikatoren lages. (3) Alle gjenstander som forsikres kan ha kun en polise som er assosiert med kun en kunde. (4) En polise kan forsikre kun en gjenstand. a) Vi tenker oss at denne delen av funksjonaliteten til Trang Hybel kan modelleres som tre Use Cases (bruksmønstre): Ny Polise, Ny Kunde (som aktiveres dersom kunden som ønsker en polise ikke eksisterer i systemet fra før) og Ny Gjenstand. Primær aktør er Kundebehandler. Lag et UML Use Case diagram med disse tre bruksmønstrene. Spesifiser evt. avhengigheter mellom dem ved hjelp av include og/eller extend. Gjør rede for antakelser. Eksamen i INF1050 Side 4 av 9 3. juni 2008

b) Lag en tekstlig spesifikasjon av bruksmønsteret Ny Polise med hovedflyt og alternative flyt, prebetingelser og postbetingelser. Ny polise skal registrere en ny polise på en spesifisert gjenstand for en spesifisert kunde. Du skal anta at i normaltilfellet så er kunden allerede registrert men at gjenstanden ikke er registrert i systemet. Dersom kunden ikke eksisterer må ny kunde opprettes. Dersom gjenstanden allerede er registrert må man sjekke at det ikke allerede eksisterer en polise på gjenstanden. Gjør rede for evt. andre antakelser du gjør. Aktør: Kundebehandler Prebetingelser: Ingen Hovedflyt: 1. Kundebehandler oppgir fødselsnummer og gjenstandid 2. Systemet finner kunden 3. Systemet oppretter gjenstanden (use caset Ny gjenstand inkluderes) 4. Systemet oppretter en ny polise for kunden for gjenstanden Alternativ 1, steg 2: Kunden er ikke registrert A1.1 Use caset Ny Kunde utføres Use caset fortsetter fra steg 3. Alternativ 2, steg 3: Gjenstanden eksisterer fra før A2.1: Systemet sjekker om det eksisterer polise på gjenstanden fra før A.2.1.1 Det eksisterer polise fra før: Systemet gir feilmelding. Use case avslutter A.2.1.2 Det eksisterer ikke polise fra før: Use case fortsetter fra steg 4. Postbetingelser: 1: Hvis kunde ikke eksisterte fra før: Ny kunde er opprettet 2: Hvis ikke gjenstand eksisterte fra før: Ny gjenstand er opprettet 3: Hvis gjenstand eksisterte og hadde polise: Aktør fikk feilmelding. Ingen nye registrering 4: Hvis polise ikke eksisterte fra før: Ny polise er opprettet Under ser du et sekvensdiagram for hovedflyt for Ny Polise. Eksamen i INF1050 Side 5 av 9 3. juni 2008

Kundebehandler k:kant fs: ForsikringsSelskap k: Kunde opprettpolise(fødselsnummer, gjenstandid) np:nypolise opprettpolise(fødselsnummer, gjenstandid) k=finnkunde(fødselsnummer) gj = laggjenstand(k, gjenstandid) settid(gjenstandid) gj: Gjenstand hargjenstand(gj) lagpolise(k, gj) erpolisefor(gj) p: Polise harpolise(p) c) Hvilke forretningsobjekter finnes i sekvensdiagrammet? fs: ForsikringsSelskap k: Kunde gj: Gjenstand p: Polise d) Gi en vurdering av i hvilken grad sekvensdiagrammet har en sentralisert eller delegert kontrollstil. Her har fs: ForsikringsSelskap en del av ansvaret for å lage gjenstander og poliser, som kontrollobjektet ikke vet detaljene i. Derfor er ikke sekvensdiagrammet helt sentralisert, for i så fall ville ingen meldinger utgått fra forretningsobjektene. Men man kunne selvsagt tenke seg enda mer delegerte løsninger, hvor for eksempel også Kunde, Gjenstand eller Polise hadde mer ansvar enn nå. Eksamen i INF1050 Side 6 av 9 3. juni 2008

e) Lag et klassediagram som tilsvarer sekvensdiagrammet, hvor alle klasser og metoder samt assosiasjoner mellom forretningsobjektene med multiplisitet er spesifisert. Du trenger ikke spesifisere attributter eller avhengighetspiler fra kant- og kontrollobjekt. Eksamen i INF1050 Side 7 av 9 3. juni 2008

f) Med utgangspunkt i sekvensdiagrammet, lag et nytt sekvensdiagram hvor kontrollobjektet ber om fødselsnummer og gjenstandid fra kantobjektet (i stedet for at kontrollobjektet får disse som parameter i metoden opprettpolise). Du trenger ikke tegne hele sekvensdiagrammet på nytt, men kun de delene hvor det blir endringer. Kundebehandler k:kant fs: ForsikringsSelskap k: Kunde opprettpolise() np:nypolise opprettpolise() fødselsnummer = gifnr() gjenstandid = gigjid() k=finnkunde(fødselsnummer) gj = laggjenstand(k, gjenstandid) lagpolise(k, gj) hargjenstand(gj) settid(gjenstandid) gj: Gjenstand harpolise(p) erpolisefor(gj) p: Polise Oppgave 4 Testing (20%) a) Hvorfor er det typisk flere testaktiviteter (f.eks. enhets-, integrasjons-, systemtesting) i systemutvikling? From slide: Test Organization and after. (45): There are many potential causes of failures and different testing phases/levels focus on different types of faults. Furthermore faults should be found as early as possible to decrease the cost of correction, e.g., unit testing versus system testing. b) Når to komponenter som skal kommunisere med hverandre har passert enhetstestene sine, hvorfor er det viktig å gjøre integrasjonstesting? From slides 47-48 (Integration Testing Failures): We need to ensure that the interfaces between these units have been implemented correctly, e.g., consistency of parameters, file format. Furthermore, a unit may behave correctly with a stub/driver but not function correctly when integrated with the other communicating units. c) Hva er fordelene og ulempene ved henholdsvis whitebox- og blackbox-testing? Illustrer med eksempler på teknikker innen de to kategoriene. Eksamen i INF1050 Side 8 av 9 3. juni 2008

From slide 40 (White-box vs. Black-box testing) Black-box: + advantage, - drawbacks + Check conformance with specifications + It scales up (different techniques at different granularity levels) It depends on the specification notation and degree of detail Do not know how much of the system is being tested What if the software performed some unspecified, undesirable task? White-box: + advantage, - drawbacks + It allows you to be confident about code coverage of testing + It is based on control or data flow code analysis It does not scale up (mostly applicable at unit and integration testing levels) Unlike black-box techniques, it cannot reveal missing functionalities (part of the specification that is not implemented) Example techniques: - White-box: all-edges coverage criterion based on control flow graphs - Black-box: Category Partition Eksamen i INF1050 Side 9 av 9 3. juni 2008