Løsningsforslag oppgave 4A
Transcription
Løsningsforslag oppgave 4A
GJENNOMGANG OBLIGATORISK OPPGAVE 1 INF1050 V16 KRISTIN BRÆNDEN 1 Systemet for utleie av markasykler ønsker å benytte seg av en eksisterende betalingsløsning, og valget har falt på det samme betalingssystemet som brukes for Ruter. Dette betyr at man kan betale via Ruterappen eller benytte seg av betalingsautomatene. Ved henting/levering av sykler bruker man enten Ruter-appen og oppgir en kode, eller scanner Ruter-kortet. 1 A) Nevn fordeler og ulemper ved å benytte Ruters betalingsløsning istedenfor å utvikle en betalingsløsning selv. Løsningsforslag oppgave 1A Fordeler: ○ Mindre å utvikle selv: - Sparer tid - Mindre eksterne krav å ta hensyn til ○ Løsningen fungerer, den er godt testet ○ Kundene har kjennskap til denne løsningen ○ Mindre å forholde seg til for kundene ○ Mange bruker løsningen fra før av Løsningsforslag oppgave 1A Ulemper: ○ Kan bli dyrt, dersom man må betale Ruter for å kunne bruke deres løsning ○ Blir avhengig av Ruters teknologi ○ Den er ikke originalt laget for sykler, og det kan bli vanskelig å få det implementert ○ Får ikke satt opp betalingsautomater uten Ruters samtykke ○ Kundene må forholde seg til to aktører, én for betaling og én for registrering med mer informasjon 1 B) Det finnes allerede et system for bysykler. Selv om sykling i byen og marka har en del fellesnevnere, skiller de seg også fra hverandre. Derfor velger utviklerne å utvikle et nytt system for markasykler. Hvilke aspekter ved markasykler skiller seg fra bysykler? Nevn fordeler og ulemper ved å utvikle et nytt system i forhold til å benytte seg av bysykler-systemet. Løsningsforslag oppgave 1B Aspekter: Utlånstid av syklene Ulike sykkeltyper GPS-system som rapporterer turene Syklene krever bedre vedlikehold mtp andre forhold ○ Vanskeligere å hente og flytte sykler ○ ○ ○ ○ Løsningsforslag oppgave 1B Fordeler med å lage et nytt system: ○ Får et spesialtilpasset system ○ Blir uavhengig av bysykler-systemet ○ Kan bli billigere for kundene dersom man kun bruker markasykler. En felles løsning kunne krevd at man var kunde hos begge parter, noe som kan bli unødvendig dyrt Løsningsforslag oppgave 1B Ulemper med å lage et nytt system: ○ Kan være tidsbesparende å implementere løsningen i bysykler-systemet ○ For de som benytter seg av begge løsningene vil det være enklere å registrere seg kun ett sted 2 A) Hva er forskjellen på en aktør og en interessent? Løsningsforslag oppgave 2A En interessent er en som enten påvirker, eller blir påvirket av utviklingen av systemet. En aktør er en som enten bruker systemet, eller et annet system som brukes av systemet. Alle aktører er interessenter, men ikke alle interessenter er aktører 2 B) Kartlegg minst seks interessenter i markasykler-systemet. Få med navn, ansvarsområder og interesser til hver interessent i systemet. Sett dette opp i et oversiktlig skjema. Interessent Ansvarsområde Interesser Kunde/bruker Ingen Vil ha et brukervennlig system Ønsker et robust system Utvikler Utvikle systemet i henhold Et system som er lett å til kravspesifikasjonen vedlikeholde Vedlikehold av systemet Enkelt å utvikle Gjenbruk Eier Kravspesifikasjonen At systemet følger lovverket Økonomisk ansvar Tjene mest mulig penger Et velfungerende system Ruter At betalingsløsningen fungerer som det skal/er pålitelig Tjene penger Kundebehandler Ingen Et brukervennlig system Et robust system Myndigheter Passe på at systemet ikke bryter med norsk lov eller personvernloven At norsk lov og personvernloven følges 2 C) Hvilke av interessentene er også aktører? Løsningsforslag oppgave 2C Aktører: ○ Kunde/bruker ○ Kundebehandler ○ Ruter - sekundæraktør ○ Eier (kan hente ut rapporter etc.) 3 A) Hva kjennetegner plandrevne utviklingsprosesser? Løsningsforslag oppgave 3A Plandrevet utvikling ○ Statisk kravspesifikasjon ○ Prioriterer å utvikle systemet basert på en forhåndsbestemt plan ○ Oftest “ett endelig produkt” 3 B) Hva kjennetegner smidige utviklingsprosesser? Løsningsforslag oppgave 3C Smidig utvikling ○ Dynamisk kravspesifikasjon ○ Prioriterer å håndtere kravendringer underveis ○ Inkrementell levering 3 C) I hvilken grad bør man ta høyde for at kravspesifikasjonen til markasykler-systemet må endres underveis i utviklingen. Forklar. Løsningsforslag oppgave 3C Finnes lignende løsning fra før (bysykler), så utviklerne vet cirka hva de er ute etter. Det er likevel ting som skiller markasykler fra bysykler, og derav ulike bruksmåter. Dette kan føre til endringer i brukergrensesnittet. Det kan også vise seg at at teknologien bak bysykler ikke fungerer like bra i skogen, mtp. lokasjon, vedlikehold, og materialer. 3 D) Hvilken type utviklingsprosess mener du/dere er mest egnet for dette systemet? Forklar hvorfor. Løsningsforslag oppgave 3D Vi mener at en plandrevet utvikling med elementer fra smidig utvikling er det som egner seg best, fordi mye av backend kan lages med utgangspunkt i bysykler. Og med en god kravspesifikasjon vil det være enklere å unngå kravendringer. Når det gjelder frontend kan derimot være vanskeligere å unngå kravendringer, og her vil vi da ta i bruk elementer som inkrementell levering. 4 I smidig utvikling kan brukerhistorier (user stories) utgjøre deler av kravspesifikasjonen (mengden av brukerhistorier kalles product backlog (produktkø)). A) Gi 10 eksempler på brukerhistorier. Nevn minst tre forskjellige aktører. Sett brukerhistoriene opp i en prioritert liste basert på hva som er viktigst for sluttproduktets funksjonalitet. Brukerhistorier Brukerhistorie (user story): Én eller flere setninger som beskriver hva brukeren av et system ønsker å få ut av systemet på formen: ”Som en <rolle> ønsker jeg <funksjon> for å oppnå <verdi>” Løsningsforslag oppgave 4A 1. Som kunde ønsker jeg å se oversikt over hvilke typer sykler det er på hver stasjon, slik at jeg vet at ønsket type er ledig. 2. Som kunde ønsker jeg et GPS-system som måler tidsforbruk og turlengde slik at jeg kan sammenligne med tidligere turer. 3. Som kunde ønsker jeg å se oversikt over hvor det er ledig plasser slik at jeg kan planlegge hvor jeg kan sette fra meg sykkelen. 4. Som kunde ønsker jeg å sende inn ønsker om nye stasjoner, slik at markasyklene kan tilpasse seg mine ønsker. 5. Som kundebehandler ønsker jeg et effektivt system slik at jeg kan gi kundene best mulig behandling. Løsningsforslag oppgave 4A 6. Som kundebehandler ønsker jeg å se en oversikt over hvor kunder oftest setter fra seg sykler, slik at jeg vet hvor det må settes ut nye sykler. 7. Som eier ønsker jeg å se rapporter over hvor kunder sykler mest, slik at jeg kan sørge for utvidelse eller opprettelse av stasjoner. 8. Som eier ønsker jeg å se omsetning slik at jeg får en oversikt over inntekter. 9. Som kundebehandler ønsker jeg å kunne hente ut oversikt over hvem som ikke har levert sykkelen i tide, slik at jeg kan sende bot. 10. Som kundebehandler ønsker jeg at kunder kan melde inn om skader slik at syklene kan repareres. 4 B) Sett opp en liste over 10 funksjonelle krav som dere ønsker å stille til systemet. Funksjonelle krav Funksjonelle krav definerer hva systemet skal gjøre ○ Hvilke tjenester (funksjoner) systemet skal tilby ○ Hvordan det skal reagere på ulike typer input ○ Kan også si hva systemet ikke skal gjøre Løsningsforslag oppgave 4B 1. Systemet skal kunne registrere nye brukere via en nettside. 2. Systemet skal kunne generere oversikt over mest brukte stasjoner. 3. Systemet skal via en GPS-løsning gi kunden informasjon om tidsbruk og rute. 4. Systemet skal inneholde funksjonalitet for å trekke betaling fra en kunde. Man skal benytte seg av Ruters betalingsløsninger. 5. Systemet skal lage oversikt over sykler som ikke blir levert i tide. 6. Systemet skal kunne vise informasjon om hvilke sykler som er på hvilke stasjoner. Løsningsforslag oppgave 4B 7. Systemet skal tilby funksjonalitet for å lese av et kundekort for å registrere utlån. 8. Systemet skal tilby kunden å velge mellom å fylle på en valgfri sum eller abonnement på reisekortet. 9. Systemet skal kunne trekke eventuell betaling av enkeltbilett dersom kunden ikke har et abonnement. 10. Systemet skal kunne generere en oversikt over omsetning. For å se denne må man være logget inn som ansatt. 4 C) Sett opp en liste over 10 ikkefunksjonelle krav som dere ønsker å stille til systemet. Del opp kravene i produktkrav, organisatoriske krav og eksterne krav, og få med minst to krav av hver type. Ikke-funksjonelle krav Ikke-funksjonelle krav er ved hvilke rammer systemet skal implementere de funksjonelle kravene. ○ De kan anses som egenskaper ○ Egenskapene må evalueres ved at man må kunne måle/teste dem ○ Kan også beskrives som kvalitetsønsker Det vil si: Krav til systemet som ikke handler om funksjonalitet Tre hovedkategorier: Løsningsforslag oppgave 4A Produktkrav ○ Nettsiden skal kunne håndtere opptil 5.000 samtidige brukere. ○ Systemet skal kunne håndtere opptil 1.000 samtidige utlånere av sykler. ○ Som førstegangsbruker skal kunde kunne registrere seg på nettsiden på under 5 minutter. ○ Nettsiden skal være universelt utformet. Løsningsforslag oppgave 4A Organisatoriske krav ○ Systemutviklingen skal holde et budsjett på maks 30 millioner norske kroner. ○ Systemets brukergrensesnitt skal utvikles ved hjelp av smidige utviklingsmetoder. ○ Nettsiden skal utvikles ved hjelp av HTML, CSS og JavaScript. ○ Systemdokumentasjonen skal være på engelsk. Løsningsforslag oppgave 4A Eksterne krav ○ Systemet skal følge personvernloven. ○ Systemet betalingssløsning må følge Ruters krav til samarbeidspartnere. 4 D) Forklar hvordan de ikkefunksjonelle kravene skal evalueres. Løsningsforslag oppgave 4D Produktkrav 1 og 2 skal evalueres ved hjelp av stresstester. Produktkrav 3 skal evalueres ved hjelp av brukertester der man måler tiden. Produktkrav 4 skal testet opp mot sjekklisten til DIFI. Alle de organisatoriske kravene er direkte målbare, og er ja/nei-spørsmål. De eksterne krever noen med ekspertise innenfor de ulike temaene, som kan sjekke dette mot regler/lovverk. 5 A) Tegn et use case-diagram som inkluderer alle nødvendige use case som trengs for å oppfylle de funksjonelle kravene som ble spesifisert i oppgave 4. Ta med alle involverte aktører (både primære og sekundære). 5 B) Lag en tekstlig beskrivelse til et av use casene du foreslo i oppgave (a). Ha med pre- og postbetingelser og minst to alternative flyt. Løsningsforslag oppgave 5B Navn: Registrere ny bruker via nettside Aktør: Bruker Prebetingelser: Ingen Postbetingelser: Ny bruker opprettet i systemet Hovedflyt: 1. 2. 3. 4. 5. 6. 7. 8. 9. Bruker velger “registrer ny bruker” Systemet ber bruker om å oppgi navn, tlfnr, alder og mailadresse Bruker skriver inn informasjon Systemet validerer informasjonen Systemet ber bruker om å opprette passord Bruker skriver inn valgt passord Systemet validerer passord Systemet legger inn bruker i systemet Systemet sender bekreftelse på skjerm og mail Løsningsforslag oppgave 5B Alternativ flyt: 4.1. Ugyldig tlfnr, for få siffer 4.2. Systemet ber bruker taste inn tlfnr på nytt 4.3. Bruker taster inn tlfnr 4.4. Returnerer til steg 4 7.1. Ugyldig passord, mangler vanskelighetsgrad 7.2. Systemet ber bruker taste inn et annet passord 7.3. Bruker taster inn passord 7.4. Returnerer til steg 7 TAKK FOR MEG Spørsmål? Basert på slides laget med Emilie Hallgren KRISTIN BRÆNDEN