UNIVERSITETET I OSLO

Like dokumenter
UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Kravhåndtering. INF1050: Gjennomgang, uke 03

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

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

2. Beskrivelse av mulige prosjektoppgaver

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

UNIVERSITETET I OSLO

PROSJEKTPLAN FOR INF [4 3]120-PROSJEKT: PROJECT HOSPITAL 2004

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

UNIVERSITETET I OSLO

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

UNIVERSITETET I OSLO

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

Obligatorisk oppgave 5: Modellering av krav

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Systemutvikling. Universitetet i Oslo, Institutt for informatikk Vår 2017

GJENNOMGANG OBLIGATORISK OPPGAVE 1

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

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

SLUTTRAPPORT. gruppe 42 Nils-Kristian Liborg, Bente Brevig, Tom Olav Bruaas, Eirik Lied og Hege Lid Pedersen. 25. november 2002

Forskningsmetoder. INF1050: Gjennomgang, uke 13

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

UNIVERSITETET I OSLO

Kravspesifikasjon med UML use case modellering. Erik Arisholm

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

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

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

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

UNIVERSITETET I OSLO

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

Tom Røise 9. Februar 2010

GJENNOMGANG UKESOPPGAVER 9 TESTING

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

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

UKE 9 Prosesser og prosessmodeller inkludert smidige metoder. Gruppetime INF1055

STE6221 Sanntidssystemer Løsningsforslag kontinuasjonseksamen

UNIVERSITETET I OSLO

Spesifikasjon av Lag emne

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

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

Leveranse 2. September 27, 2002

INF112 (Systemkonstruksjon) - Våren 2008 Prosjektoppgave - Del 2

UNIVERSITETET I OSLO

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Om oppgaveteksten på noe punkt er uklar eller upresis, kan du gjøre egne presiseringer. Formulér i så fall disse tydelig i oppgavebesvarelsen din.

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

Oppsummering. Thomas Lohne Aanes Thomas Amble

Figur 1: Estimat per gruppe

Læringsmål. INF1050 dagsorden 14. jan Formålet med prosjektet. Den obligatoriske prosjektoppgaven

Prosjektplan v1.7 (Revidert utgave 2)

UNIVERSITETET I OSLO

Systemutviklingen er ferdig når et system er operativt. Med operativt menes når systemet blir brukt av brukerne på et faktisk arbeidssted.

DISTRIBUERT UTVIKLING AV NETTTJENESTER ( BARE UTDRAG)

Spørreundersøkelse begrunnelse og klage og statistikk

Konfigurasjonsstyring

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Forslag til løsning. Oppgave 1

UNIVERSITETET I OSLO

MAX MIN RESET. 7 Data Inn Data Ut. Load

Eksamen i fag TDT4140 Systemutvikling. 6. juni, 2006 kl

INF Obligatorisk innlevering 7

Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO

Innhold. Innledning Del 1 En vei mot målet

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

KVALITETSSTYRINGSSYSTEMET VED IMB MASKINER

UNIVERSITETET I OSLO

Tom Røise 18. Februar 2009

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

INNHOLD. Side Eksempeleksamen 2T - Hele oppgavesettet 1. Oppgave 1 Eksempeleksamen 10

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

Tittel Objektorientert systemutvikling 2

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Kravspesifikasjon. 14. oktober 2002

Eksamen. 24. november SSS2002 Sikkerheit/Sikkerhet. Programområde: Sal, service og sikkerheit / Salg, service og sikkerhet

Prosjektledelse, planlegging og teamarbeid. INF1050: Gjennomgang, uke 10

UNIVERSITETET I OSLO

MAT-INF 1100: Obligatorisk oppgave 1

UML-Unified Modeling Language

Fra krav til objektdesign

Læreplan i informasjonsteknologi - programfag i studiespesialiserende utdanningsprogram

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO

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

Løsningsforslag til Case. (Analysen)

Fra krav til objekter. INF1050: Gjennomgang, uke 05

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

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

Transkript:

Eksamen i IN219, 15. desember 1999 Side 1 av 7 Løsningsforslag: UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN219 Store programsystemer Eksamensdag : Onsdag 15. desember 1999 Tid for eksamen : 09.00 15.00 Oppgavesettet er på : 3 sider Oppgave 1 (45 %) Planlegging av turnus (hvem som skal ta hvilke vakter) på sykehus er en tidkrevende oppgave. Mange sykehus ønsker derfor datastøtte til dette. I denne oppgaven skal du tenke deg at du er ansatt i et konsulentfirma som står for utviklingen av et elektronisk turnusplanleggingssystem kalt TPS. Utviklingen av den første versjonen av TPS skjer i samarbeid med en avdeling på et bestemt sykehus. I første omgang skal avdelingens 9 sykepleiere gå i turnus over 9 uker. Fra denne avdelingen har dere fått overlevert følgende krav til TPS: 1. Ved hjelp av TPS skal en turnusplanlegger (som oftest en avdelingsleder) kunne generere turnuser for avdelingen. 2. Sykepleiere må kunne registreres i og fjernes fra TPS. 3. TPS skal kunne skrive ut en oversikt over hvem som skal jobbe hvilke vakter for en gitt dag eller uke. 4. TPS skal kunne beregne kostnadene i form av overtid og andre tillegg for turnusplan som blir generert. 5. TPS må sikre at ingen arbeider over 54 timer i løpet av en uke. 6. TPS må sikre at ingen vakt skal være over 10 timer. 7. Fagforbund/tillitsvalgt må få kjennskap til reglene som er lagt inn i systemet og få melding hvis arbeidsmiljøloven eller tariffavtaler brytes. 8. Hver enkelt sykepleier skal kunne bruke TPS for å få oversikt over sin egne vakter. 9. Lønningskontoret skal kunne hente informasjon om vaktene til de enkelte sykepleierne for å kunne beregne overtidslønn og andre tillegg. 10. TPS må kunne differensiere tilgangen til systemet. Noen skal kunne registrere og endre; andre bare lese. 11. TPS må kunne hente personaldata inkludert lønnstrinn fra det personaladministrative systemet. 12. En bruker av TPS må oppleve umiddelbar respons. 13. TPS må ha et godt brukergrensesnitt og skal kunne læres i løpet av et én-dagskurs. I alle underoppgavene nedenfor skal du selv gjøre ekstra antakelser dersom du finner det nødvendig.

Eksamen i IN219, 15. desember 1999 Side 2 av 7 Oppg. 1A Kategoriser kravene gitt ovenfor i henholdsvis funksjonelle og ikke-funksjonelle krav. Identifiser også TPS sine stakeholders (aktører som påvirker kravene). (I besvarelsen kan du referere til kravene ved deres nr.) Merk at det ikke alltid er helt opplagt om et krav er funksjonelt eller ikke-funksjonelt. Funksjonelle krav: 1,2,3,4, 7 (at meldingen gis, er et funksjonelt krav) 8,9,10 (kan kanskje diskuteres om tilgangsrettigheter kan være et ikke-funksjonelt krav),11 Ikke-funksjonelle krav: 5,6,7 (å få kjennskap til reglene, er et ikke-funksjonelt krav),12,13 Stakeholders: /avdelingsleder, sykepleier, fagforbund/tillitsvalgt, lønningskontoret, personalkontoret Oppg. 1B Bruk VORD-metoden til å lage ett eller flere synspunkt-hierarkier (viewpoint hierachy) inkludert tjenester (services) for TPS. Her finnes flere alternativer. Ett forslag er: Alle synspunkter Sykepleier Administrasjon Tillitsvalgt Skriv ut vakter Generer turnus Skriv ut turnus Beregn kostnad Lønningskontoret Personalkontoret Sjekk regelbrudd Beregn lønn Endre satser Registrer sykepl. Fjern sykepl. Hent personaldata Oppg. 1C Lag en UML Use Case-modell for TPS.

Eksamen i IN219, 15. desember 1999 Side 3 av 7 Det holder med diagrammer her, dvs. spør ikke etter ytterligere tekstlig beskrivelse. (Derfor burde man kanskje ha blitt bedt om å tegne use case-diagrammer istedenfor use case modell.) Generer turnus Skriv ut turnus Beregn kostnad Skriv ut vakter Sykepleier Lønningskontoret Sjekk regelbrudd Beregn lønn Endre satser Tillitsvalgt Registrer sykepl Personalkontoret Fjern sykepl. Hent personaldata Oppg. 1D Beskriv mulige interessemotsetninger mellom de ulike stakeholders. Beskriv eventuelle konflikter i kravene gitt ovenfor. (Begge spørsmålene bør vurderes både ut fra kravene slik de er formulert og andre forhold som kan ligge under, men som ikke er direkte formulert.) Svarene bør begrunnes (ikke gjort nedenfor) Mulige interessemotsetninger: /avdelingsleder fagforbund/tillitsvalgt, lønningskontoret Sykepleier turnusplanlegger/avdelingsleder, fagforbund/tillitsvalgt Lønningskontoret fagforbund/tillitsvalgt Konflikter i kravene: Krav 12 og 13 kan være motstridende. Et godt og enkelt brukergrensesnitt kan kreve større maskinressurser som igjen kan føre til dårligere responstid. Tilsvarende for krav 1 og 13. En algoritme for god turnusplan (krav 1) vil kunne være ressurskrevende, som igjen kan føre til dårligere responstid. Samspill med administrative systemer (lønn) vil også kunne føre til økt responstid.

Eksamen i IN219, 15. desember 1999 Side 4 av 7 Oppg. 1E Lag et objektorientert design for TPS der du anvender UML klasse-diagrammer. (Du må selv vurdere omfanget av ditt design i forhold til tiden du har til rådighet.) Også her er det mange mulige forslag avhengig av hvordan man tenker seg en implementasjon. Ett av dem kan være noe retning av: Lønningskontoret ltr_satser: real beregn_lønn() endre_satser() Personalkontoret registrer_sykepl.() fjern_sykepl.() 1..antAnsatte Ansatt ansatt# : N navn: String ltr. : N!andre persondata generer_turnus() endre_turnus() generer_turnus() endre_turnus() * Sykepleier skriv_ut_vakter() * Turnus fra: Date til: Date vakter: Vakt skriv_ut_turnus() beregn_kostnad() sjekk_regelbrudd() * Vakt fra: DateTime til: DateTime paa_vakt: Sykepleier Oppg. 1F Bruk Z til å lage en formell spesifikasjon av krav 2 i kravlisten i innledningen til oppgave 1. Må anta at det finnes en database (register) hvor sykepleiere er registrert. Skjema for dette bør spesifiseres før registrer - og fjern -skjemaene. Videre bør en god løsning også sjekke en del feilsituasjoner. Oppgave 2 (30 %) Anta fortsatt at du jobber i konsulentfirmaet beskrevet i oppgave 1. Anta videre at firmaet har gode resultater når det gjelder å levere systemer til avtalt tid, men at dere opplever problemer med for mye feil i systemene dere har levert. Dere har allerede mistet kunder på grunn av dette. Firmaet mangler oversikt over hvilke feil som forekommer og hyppigheten av dem. Det er videre lite fokus på produktkvalitet generelt, og feil-identifisering spesielt, i de prosessene, metodene, teknikkene og verktøyene dere hittil har brukt i systemutviklingen. Oppg. 2 Formuler et brev til din sjef der du beskriver problemene nevnt ovenfor. Foreslå tiltak for å få en mer systematisk oversikt over hvilke feil som forekommer og når i utviklingssyklusen de oppstår. Systematisk feilregistrering i alle faser:

Eksamen i IN219, 15. desember 1999 Side 5 av 7 Feilrapporteringsvektøy som legger feilrapporter i en feilrapportdatabase Kan bruke CM-verktøy Kundekravinnhentingssystem Beskriv videre tiltak for å redusere feil av ulike typer der du vurderer prosess, metode/teknikk og/eller verktøy. I tillegg til å vurdere den positive effekten av tiltakene for å redusere feil, bør du også vurdere kostnader (negative følger) av dine foreslåtte tiltak. Gjør selv de antakelsene du finner nødvendig. Dette er en oppgave som kan inkludere enormt mye. Det er ikke noe poeng å liste opp alle mulige tiltak som kan virke inn på feilnivået det skal være realistisk å kunne gjennomføre tiltakene. Utfordringen er å organisere teksten slik at det er sammenheng mellom type feil og tiltak som iverksettes. De besvarelsene som faktisk kategoriserer feil og har dedikerte oppfølgingstiltak, bør honoreres spesielt. Klasser av feil: - Validering vs. verifikasjon Spesifikasjonsfeil: - Bedre metoder/teknikker for kravspesifisering, viewpoint-analyse, UML use cases, prototyping etc. Designfeil: Kodingsfeil: ------------------------------------------- Prosess: - Mer formalisert prosess inkl. feilrapportering - Standardisering/retningslinjer - Bedre versjonshåndtering og konfigurasjonsstyring Metode/teknikk 1) mer formelle metoder? - Fordeler: - Ulemper: 2) Inspeksjoner/gjennomganger - Fordeler: Kan brukes for å oppdage en rekke typer feil i alle typer dokumenter: kravspecs, designdokumenter, kode

Eksamen i IN219, 15. desember 1999 Side 6 av 7 - Ulemper: 3) Gjenbruk av kode - Verktøy Testverktøy/test workbenches i Sommerville Statiske og dynamiske analyseverktøy: finnes en rekke verktøy, for eksempel purify & quantify - Fordeler: - Ulemper: Oppgave 3 (25 %) I den obligatoriske prosjektoppgaven (BasicTools) i IN219 skulle dere beskrive estimater for tidsforbruk og risiko i arbeidet med leveransene (innleveringene). Oppg. 3A Beskriv i hvilken grad disse estimatene avvek fra det dere opplevde i prosjektet. Beskriv også i hvilken grad dere undervurderte risikoen i prosjektet. Her bør avvik oppgis i tall eller prosenter, men det ser ut til at få har gjort dette kanskje var det ikke klart nok angitt i oppgaveteksten? Hva var de opprinnelige estimatene og hva ble resultatet? Tilsv., hvilke konkrete risikoområder ble identifisert og hva skjedde i prosjektet? Det er ikke nok at de sier de fikk avvik eller uventede problemer uten å si hvor stort avviket var eller hva de evt. uventede problemene faktisk var. Hvis dere fikk avvik eller uventede problemer i prosjektet (dere avgjør selv hva som er avvik eller uventede problemer) gjør oppgave 3B og 3C. Hvis dere IKKE fikk avvik eller uventede problemer, gjør oppgave 3D og 3E isteden. Oppg. 3B Beskriv forhold som kunne være årsak til estimatavvik eller undervurdert risiko beskrevet i oppgave 3A. Her kan det være mange grunner: Brukt for liten tid i starten til å sette seg inn i BasicTools og prosjektet i det hele tatt; liten C++/Unix-kompetanse/CM (CVS), uforståelige feilmedlinger oppstod under installering/kompilering av BasicTools, samarbeidsproblemer i gruppa, enkeltmedlemmer i gruppa sluttet, problemer med å finne tid til felles møter, tidspress på andre obligatoriske oppgaver på andre kurs etc. Oppg. 3C Anta at du er ansvarlig for kvaliteten på utviklingsprosessene i en tenkt bedrift X hvor din gruppes gjennomføringen av prosjektet på i IN219 er representativ for prosjektgjennomføringen i X. Hvilke tiltak ville du iverksette for å forbedre kvaliteten på estimering og risikoanalyse? Her er det et poeng at det er en sammenheng mellom problemene beskrevet under 3B og de tiltakene som foreslås. Noen tiltak kan være: Etablere erfaringsdatabase, mer tid på planlegging, snakke med eksperter (andre som har erfaring fra lignende prosjekter),

Eksamen i IN219, 15. desember 1999 Side 7 av 7 brainstorming i gruppa for å identifisere risikomomenter, egen opplæringsfase i starten, bedre teamsammensetning + mye annet. Oppg. 3D (Denne oppgaven skal bare besvares hvis du ikke besvarte 3B eller 3C.) Beskriv forhold som du tror gjorde at dere klarte å gjennomføre prosjektet i henhold til deres egne estimater og unngikk uventede problemer. Lagt inn slakk, back-up maskiner å kjøre prosjektet på hvis problemer med hovedmaskinen Oppg. 3E (Denne oppgaven skal bare besvares hvis du ikke besvarte 3B eller 3C.) Anta at du er ansvarlig for kvaliteten på utviklingsprosessene i en tenkt bedrift X hvor din gruppes gjennomføringen av prosjektet på i IN219 er representativ for prosjektgjennomføringen i X. Hvilke tiltak ville du iverksette for å forbedre kvaliteten på utviklingsprosessene? Slutt på oppgavesettet Dag Sjøberg