Bokmål Kandidat nummer: UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i: INF1050 Eksamensdag: 0. mai, 2011 Tid for eksamen: 00:00 00:00 Oppgavesettet er på 6 sider Vedlegg: Ingen Tillatte hjelpemidler: Alle trykte og skrevne Kontroller at oppgavesettet er komplett før du begynner å besvare spørsmålene og les gjennom hele oppgavesettet før du løser oppgave 1. Oppgave 1 Flervalgsoppgaver (25 %) For alle spørsmål gjelder at det er bare ett riktig svar. Du kan fylle inn svarene i tabellen på side 4, og rive av og levere denne siden sammen med besvarelsen. 1. Hvilken av disse testene kommer typisk sist i en utviklingsprosess? a) Enhetstesting b) Akseptansetesting c) Systemtesting d) Integrasjonstesting 2. Hva står XP for når man snakker om systemutvikling? a) Extreme Process b) experience c) Extreme Programming 3. I hvilken arkitektur ser vi typisk flere enn tre lag? a) Typisk bare logisk arkitektur b) Typisk bare fysisk arkitektur c) Begge d) Ingen 1
4. Hva kalles kontrollstilen hvor alt kontrolleres fra et objekt, som oftest kontrollobjektet? a) Sentralisert kontrollstil b) Delegert kontrollstil c) Åpen kontrollstil d) Ingen av forslagene over 5. Hva kalles relasjonen mellom to klasser som viser at det er en sammenheng mellom dem? a) Kobling b) Multiplisitet c) Assosiasjon d) Rolle 6. Hvilken hovedinndeling gjøres av interessentene i et utviklingsprosjekt? a) Programmerere, designere og testere b) Kunde og utvikler c) Kunde, bruker, tester d) Leverandør og kunde e) Ingen av forslagene over 7. Hvilke type objekter inkluderes ikke i et sekvensdiagram? a) Kontrollobjekt b) Kantobjekt c) Forretningsobjekt d) Prosessobjekt 8. Hvilken del av systemutviklingsprosessen er vi i følge statistikken fortsatt like dårlig på i dag som vi var for 30 år siden? a) Programmering b) Testing c) Gjenbruk d) Estimering e) Bugfiksing 9. Er denne påstanden sann eller usann: Systemets responstid er et ikkefunksjonelt krav? a) Sann b) Usann 10. Hvilken modell brukes for å estimere kostnad ved et prosjekt? a) XP b) Spiralmodellen c) COCOMO d) Fossefallsmodellen 11. Hva kalles laget i en arkitektur hvor vi finner grensesnittet? a) Presentasjonslaget b) Datalaget c) Logikklaget 2
12. Hva kalles det når vi tester utover kapasitet for å sjekke hva systemet tåler? a) Smoke-test b) Integrasjonstest c) Regresjonstesting d) Stress-test e) Systemtest 13. Hva innebærer Just-in-time -prinsippet? a) At ting ikke bør lages/gjøres før det etterspørres b) At produktet ikke bør leveres lenge før, men heller akkurat i tide c) At man ikke skal bruke mer ressurser enn at man akkurat rekker å bli ferdig 14. Hvilken teknikk brukes spesielt i smidig utvikling for å beskrive brukerens ønsker? a) User story b) Use case c) Kravspesifikasjon d) CRC-kort 15. Hvilket av disse er ikke et av de 4 systemperspektivene? a) Eksternt perspektiv b) Interaksjonsperspektiv c) Organisatorisk perspektiv d) Strukturelt perspektiv e) Adferdsperspektiv 16. I hvilken del av systemutviklingsprosessen snakker man om ryggsekkproblemet? a) Leveranseplanlegging b) Kostnadsestimering c) Bugfiksing d) Testing 17. Hva kalles den prosessmodell som legger vekt på å bygge arkitektur/uml-modeller? a) COCOMO b) XP c) RUP (Rational Unified Process) 18. Risiko i risikomodeller angis og graderes normalt ved å se på...? a) Konskevens b) Sannsynlighet c) Begge deler 19. Hva representerer spikermenneske (strekfigur) i en use case-modell? a) Primæraktører b) Både primær- og sekundæraktører c) Alle involverte roller 3
20. Hva skal inngå i hovedflyten i den tekstlige beskrivelsen av et use case? a) Kun happy-day scenario (alt går som det skal) b) Alle mulige utfall og variasjoner som kan oppstå underveis c) Det er valgfritt 21. Hvilket diagram viser interaksjonen mellom system og omgivelser? a) Klassediagram b) Sekvensdiagram c) Tilstandsdiagram d) Use case-diagram e) Aktivitetsdiagram 22. Er denne påstanden sann eller usann: Brukertesting er en del av utviklingstesting? a) Sann b) Usann 23. Hvilke krav bestemmer HVORDAN systemets egenskaper skal utformes? a) Ikke-funksjonelle krav b) Funksjonelle krav c) Begge d) Ingen av forslagene over 24. Hva MÅ nødvendgivis inkluderes i en tekstlig beskrivelse av et use case? a) Pre- og postbetingelse, hovedflyt og alternativ flyt b) Pre- og postbetingelse, aktører, hovedflyt c) Pre- og postbetingelse, aktører, hovedflyt og alternativ flyt d) Aktører, hovedflyt og alternativ flyt 25. Hva står SCCM for? a) System Center Configuration Manager b) System Center Control Manager c) System Configuration Control Manager d) System Configuration Center Manager Svar på Oppgave 1 Flervalgsoppgaver I raden Svar skriv bokstaven for det riktige alternativet. Spørsmål 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Svar Spørsmål 16 17 18 19 20 21 22 23 24 25 Svar 4
Oppgave 2 Kravinnsamling og testing (10 %) IFI ønsker hjelp med å sette opp et system for å håndtere studenthenvendelser. IFI ønsker å kunne logge alle henvendelser fra studenter som gjøres via e-post, nettskjema eller fysiske henvendelser. Alle IFI-studenter har tilgang til systemet via innlogging, og henvendelsene skal tilgjengeliggjøres for termvakter, gruppelærere, kursansvarlige og administrasjonen. Formålet med systemet er å lettere la studenter komme i kontakt med de som har ansvaret for studier og miljøet, samt samle alle henvendelser i et felles system slik at henvendelser lettere kan distribueres til rett mottaker uten at studenten trenger å vite nøyaktig hvem som er mottaker. Oppgave 2a Identifiser tre av systemets primæraktører og gi en en beskrivelse av deres ansvarsområder og interesser. Oppgave 2b Presenter minst tre potensielle brukerhistorier (user stories) for hver av de tre primæraktørene fra oppgave 2a. Oppgave 3 Kravinnsamling og testing (15 %) Oppgave 3a 1. Forklar forskjellen på funksjonelle- og ikke-funksjonelle krav. 2. Hvilken kategorisering kan vi gjøre for å presisere typen ikke-funksjonelle krav? 3. Hva er viktig når man skal beskrive henholdsvis funksjonelle- og ikke-funksjonelle krav. Oppgave 3b Kom med forslag til tre ikke-funksjonelle krav til IFI sitt system for håndtering av studenthenvendelser og si noe om hvordan disse kravene kan testes? Oppgave 3c Ledelsen foreslår å droppe systemtesting og heller gå rett på akseptansetesting. Hvilke utfordringer kan dette medføre? Oppgave 4 Modellering av diagrammer (25 %) En av oppgavene som systemet for studenthenvendelser må kunne håndtere er å la brukere registrere henvendelser via et nettskjema. Prosessen foregår ved at studenten logger inn, skriver sin beskjed og velger passende kategori fra en forhåndsdefinert liste. Dermed lagres en henvendelse og saken rutes automatisk til riktig mottaker. Oppgave 4a Sett opp en tekstlig beskrivelse av use caset registrer henvendelser fra nettskjema. 5
Oppgave 4b Lag et klassediagram som inkluderer følgende klasser: Student, Mottaker, Henvendelse og Kategori. Student og Mottaker kan i tillegg anses som to tilfeller av klassen Person. Oppgave 4c Lag et sekvensdiagram for use caset registrer henvendelser fra nettskjema ved å bruke Student, Mottaker, Henvendelse og Kategori som forretningsobjekter. Du velger selv om du ønsker å bruke kontroll- og kantobjekt. Oppgave 5 Smidig metodikk (25 %) Oppgave 5a Forklar hvilke fordeler og ulemper som oppstår ved bruk av smidig utvikling kontra plandreven utvikling. Oppgave 5b Ledelsen ønsker at arbeidet i prosjektet gjøres i team. 1. Hvilke argumenter kan de ha for å ønske noe slikt? 2. Hvilke krav må stilles til et team for at det skal fungere effektivt? Oppgave 5c Du får høre at estimering i grupper kan medføre fordeler. Foreslår en estimeringsteknikk for gruppestimering og forklar hvilke fordler dette kan medføre. Oppgave 5d Det er uenighet om systemets arkitektur bør ferdigstilles på forhånd eller mens utviklingen pågår. Kom med fordeler og ulemper ved de to variantene. 6