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