1 / 38

Systemutviklingsmetoder Kravspesifikasjon

Systemutviklingsmetoder Kravspesifikasjon. 07.01.2004 Kirsten Ribu. I dag. Et eksempel på et system – med kravspesifikasjon Utviklingsmodeller : Iterativ, inkrementell utvikling Strukturert systemutvikling ( Fossefall-modellen )

Download Presentation

Systemutviklingsmetoder Kravspesifikasjon

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SystemutviklingsmetoderKravspesifikasjon 07.01.2004 Kirsten Ribu

  2. I dag • Et eksempel på et system – med kravspesifikasjon • Utviklingsmodeller: • Iterativ, inkrementell utvikling • Strukturert systemutvikling (Fossefall-modellen) • Evolusjonær systemutvikling (Prototyping) • Spiralmodellen (Risikostyring) Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  3. Litt statistikk • Ca 50% av alle store prosjekter tar lengre tid enn planlagt • 75% av de leverte systemene virker ikke som de skal • 25% av alle større prosjekter havarerer Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  4. Utviklerens ulike roller • Utviklere av hardware (maskinorienterte) • Installerer og tilpasser programvare, f.eks regnskapssystemer (Programorienterte) • Systemutviklere – lager/endrer informasjonssystemer (problemorienterte) Her er vi Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  5. Hva slags datasystemer har vi? Eksempler: • Timebestillingsystemer (Brilleland) • Nettbank • Bookingsystemer (flyreiser, kino og teaterbilletter etc.) • Personalsystemer (Agresso, SAP etc) • Store logistikksystemer for butikker (Eks: Hakongruppen, bruk av strekkoder for salg av melk, brød, ost -) Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  6. Postbanken Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  7. Ryanair Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  8. Brilleland Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  9. Et eksempel: (et modifisert Brilleland) • Optikerkjeden Zebra har butikker i hele Norge, og ønsker et timebestillingssystem på Internett. • I dag foregår all timebestilling på telefon eller ved personlig oppmøte i en av butikkfilialene. Det medfører mye arbeid for de ansatte som må booke timer manuelt, og kontakte andre butikker på telefon for å finne ledige tider til travle kunder. • Zebra vil at kundene selv skal registrere timebestillingene sine og fritt kunne velge tid og sted. Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  10. Forts… • Du blir engasjert for å lage et system som skal ta seg av bestilling av timer for kontroll av kontaktlinser og briller. • Zebra har bestemt at kundene skal registrere seg i systemet med e-post som ID. • En ny kunde må registrere seg før det kan bestilles time. • Ved førstegangsregistrering skal kunden fylle ut et skjema med personopplysninger, e-post adresse og et egendefinert passord. • Ved alle senere bestillinger oppgis e-postadresse og passord ved innlogging på timebestillingssiden. • Systemet skal kobles opp til journalsystemet til optikerne. Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  11. Oppgave • Er det noe i denne beskrivelsen du reagerer/lurer på? • Er det noe det kan være ulovlig/tvilsomt å registrere? • Hvor mange moduler/delsystemer er det snakk om? • Mangler det noe? • Er noe overflødig? Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  12. Forberedelse til kravmodellering med use case • Finn mulige handlinger – for eksempel ’bestill time’, registrer bruker’ • Finn mulige aktører: Kunde, optiker, journalsystem…. • Hvordan: • Handlinger = Verb + objekt • Aktører = Mennesker eller systemer Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  13. Eksempel forts. Nårkunder bestiller time skal de først velge ønsket butikk. Kunden velger så om hun vil ha synsprøve, kontaktlinse- eller brillekontroll, om det er førstegangstilpasning av linser eller briller, og et passende tidspunkt for kontrollen. Det er nødvendig å oppgi hva slags kontroll det er snakk om fordi det avsettes ulik tid til de forskjellige kontrollene. Førstegangstilpasning av linser tar for eksempel lenger tid enn en rutinekontroll. Dersom den valgte tiden er opptatt skal kunden få en melding om dette, og bli vist andre ledigetimer den samme dagen. Kunden kan eventuelt velge en annen butikk dersom ingen av de ledige timene passer. Når tidspunkt er valgt får kunden en melding på skjermen om bestilt tid og sted, og mottar en e-post eller SMS-melding med disse opplysningene. Det kan bestilles flere timer om gangen dersom ønskelig. Kunden skal kunne sealle sineoppsatte timer, og kunne endre eller slette timeavtaler etter behov. Optikeren i den enkelte butikk skal kunne se på timebestillingene, og få opp kundens personopplysninger og journal. Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  14. UML - modeller The Object Management Group (OMG) is an open membership, not-for-profit consortium that produces and maintains computer industry specifications for interoperable enterprise applications. Our membership includes virtually every large company in the computer industry, and hundreds of smaller ones.  Most of the companies that shape enterprise and Internet computing today are represented on our Board of Directors.  Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  15. Hva er en modell? Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  16. Utviklingsmodeller • En modell er en oversikt over utviklingsarbeidet • Modellen beskriver hvilket arbeid som skal gjøres • og hvordan arbeidet skal inndeles i faser og aktiviteter og arbeidstrinn • Det finnes mange forskjellige utviklingsmodeller • Valg av modell er avhengig av: • hvor store deler av systemutviklingsarbeidet modellen omfatter • hvordan faser og aktiviteter er delt inn • hvor fleksibel modellen er • hvordan ansvaret og organiseringen skal gjøres Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  17. Oversikt over aktiviteter Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  18. Mål og planlegging - Hva er et mål? • Et mål er noe man skal oppnå eller gjennomføre • Målet må være realistisk • ’1. leveranse av systemet skal skje før 1. mars’ (ikke underbudsjettere for å få kunden, eller være altfor optimistisk med hensyn til tidspunkt for leveranse av hele systemet) • Målet må være klartformulert • ’Omsetningen skal øke med 10% i året’ • ’Klassen skal bli god i modellering med UML’ • Målet bør kvantifiseres (tallfestes) • ’ Firmaet skal redusere klager med 10%’ (ikke: Vi skal bli bedre på service)’ • Strykprosenten på HiO skal ned med 10% i år’ (ikke: vi skal bli bedre lærere) Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  19. Delmål • Del opp problemet i mindre deler • De viktigste målene (leveransene) tas først • Sideeffekter underveis kan føre til • risiko (negativ sideeffekt) • Synergieffekt (positiv sideeffekt) Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  20. Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  21. Systemutviklingsprosessen • Informasjonssystemer har med mennesker og arbeidsplasser å gjøre • Systemutvikling er et levende fag • Gir rom for skapertrang og kontakt med mennesker – kommunikasjon er viktig Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  22. Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  23. Tradisjonell systemutvikling: Fossefallmodellen • En såkalt ’strukturert’ systemutviklingsmodell • En tradisjonell modell som benyttes lite i dag – men er pedagogisk • Aktivitetene er inndelt i faser som kommer etter hverandre • En fase avsluttes før neste begynner (en utopi!) Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  24. Fossefallmodellen Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  25. Fossefallmodellen -faser • Kravanalyse • Systemdesign (konstruksjon) • Implementasjon og enhetstesting • Integrasjon og systemtesting • Drift og vedlikehold Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  26. Fossefall-problemer • Lite fleksibel inndeling i fastlagte steg • Vanskelig å etterkomme kundens skiftende krav • Modellen er bare anvendelig dersom kravene er tydelige og godt dokumenterte, og lette å forstå. Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  27. En variant…fossefall med delprosjekter • Et stort system må deles opp i delprosjekter • ’Iterativ’ og ’inkrementell’ utvikling • Utviklingen går trinnvis framover i konstruksjonsfasen, med mulighet til å gå tilbake og gjøre endringer (iterasjoner) • Produktet blir utviklet og ferdigstilt i deler (inkrementer) Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  28. Evolusjonær utvikling • Explorativ (utforskende) utvikling • Arbeidet foregår sammen med kunden med å utvikle et ferdig produkt utfra et utkast til kravspesifikasjon • Må starte med veldefinerte krav • Prototyping • Målet er å forstå systemkravene. • Brukes når kravene er uklare, (for å tydeliggjøre kravene) Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  29. Prototyping forts. • Ofte dårlig strukturerte systemer • Dårlig dokumentasjon • Anvendbarhet: • For små eller mellomstore systemer • For deler av større systemer (f.eks brukergrensesnittet) • For systemer med kort levetid. Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  30. Evolusjonær prototyping : fordeler • Raskere leveranse av systemet • Brukerengasjement under utviklingen av systemet • Systemet oppfyller brukerkravene, og brukerne blir mer dedikerte (føler ‘eierskap‘ til systemet) Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  31. Spiralmodellen • Systemutviklingsprosessen er representert som en spiral, ikke som et sett aktiviteter der man går tilbake • Hver omgang i spiralen representerer en fase i prosessen • Det er ingen faste faser som spesifikasjon eller design – rundene i spiralene velges utfra hva som skal gjøres • Risikostyring: Risiko avdekkes og løses gjennom hele prosessen Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  32. Spiralmodellen Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  33. Extreme programming - XP • En ny tilnærming til utvikling basert på utvikling og leveranse av svært små inkrementer (deler) • Rask og kontinuerlig koding • Brukermedvirkning i utviklingsteamet • Parprogrammering • Mer om dette senere Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  34. Inkrementell utvikling • Systemet utvikles bit for bit • Prosess • Kravspesifikasjon • Inkrementell utviklingsplan • Inkrement 1 • Inkrement 2 .. • Kunden tar bitene i bruk etter hvert som de blir ferdig • Kvalitetstester og tilbakemelding for hver bit • Fordeler • Tidlige fordeler av systemet • Kravene forbedres undervieis • Krever mer modulært design Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  35. Inkrementell utvikling Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  36. Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  37. Incrementell utvikling - fordeler • Viktig funksjonalitet kan leveres tidlig • Tidlige inkrementer kan være prototyper som avdekker krav for senere inkrementer • Mindre risko for at prosjektet skal feile og ingenting leveres • Funksjonalitet med høyest prioritet blir testet best. Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

  38. Neste gang • Objektorientert systemutvikling • Les: Hefte om OOLes hefte om prosesser http://www.aitel.hist.no/fag/oos/lek01/omprosesser-v04.pdfØvelser- • Opprett en webside for prosjektet. • Når gruppene er bestemt kan dere opprette en webside for prosjektet. • Gruppa skal presenteres med navn, e-post og gjerne bilder. • Det være linker til dokumenter, prosjektbeskrivelse, modeller etc. Planlegg utvidelse av siden. Systemutvikling LO135A - Kirsten Ribu 2005 - HiO

More Related