Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
1
Kravspesifikasjon Kravspesifikasjon:
Pensum definert gjennom forelesningene (Powerpoint filer) Mye overlapp med IT-strategi delen Vi har tidligere sett på hvordan organisasjoner kan få maksimalt ut av alle sine IT systemer, her ser vi på kravene til ett system Denne forelesningen kan også fungere som en oppsummering av mye av det vi tidligere har snakket om Referansebok: Del I av Kotonya, G. & Sommerville, I., Requirements Engineering, Wiley, 1997. Få fram at det er fellestrekk mellom strategiarbeid og kravspesifikasjon. I det første ser vi på bedriften under ett, kanskje i et 3-10 års perspektiv. I kravspesifikasjon ser vi på en deloppgave. Hvor store likhetstrekk vi har vil være avhengig av type deloppgave. I noen tilfeller vil disse være klart spesifisert (delsystem). Da har vi færre fellestrekk. I andre vil vi ha en identisk jobb til kravspesifikasjon - å finne ut hva bedriften egentlig trenger. Oshaug: Om bedriften. Utvikle administrativt system (komme tilbake til dette). Ble under dette arbeidset introdusert til en avdeling som ferdigstilte (slipte, målte, ISO kontrollerte) propellblad. Store problemer: formann (overbelastet), Excel (kun av formann, begrenset ISO kontroll, tungv. Å bruke). Lage nytt system som kunne brukes av flere (Access). Utgangspunkt i regneark. Intervjuer. Være i bedriften. Oppdaget andre problem: Enkelte propellere var vanskelig å kontrollere (vis hvordan regneark virker). Manglende standard for koordinatsystem. Tungv. Å lage dokumentasjon. Dekke begge deler. Systemet kostet kun å utvikle. Betale seg inn i løpet av en måned. 150% produktivitetsøkning, mindre bruk av innleide tjenester, bedre lev. Sikkerhet. Styref. Påpekte at en kunne se i regnskapet når systemet kom inn. Ikke unntak. Ofte oppdrag for inst. Uten eget utviklingspersonale. Vide horisonter. Demo PPK. Kravspesifikasjon
2
Bakgrunn IT prosjekter har vært plaget av:
Budsjettoverskridelser Tidsoverskridelser Mange fiaskoer Uklarhet om mål er oppnådd Ofte legger en skylden på uklare kravspesifikasjoner Med kravspesifikasjonen ønsker en: Bedre styring Fastere former Kontroll over budsjett og tid Systemer som dekker kundens behov Kravspesifikasjon
3
Kravspesifikasjon kan være mangt…
Et formelt dokument, en juridisk bindende kontrakt, mellom kunde og utvikler om hva som skal gjøres En prototype En liste av mål for systemet, samt en skisse til løsning Kan starte med en vag ide ”hei, vi har et problem med å lage en ordreplan” Kravspesifikasjon
4
Her skal vi I stor grad se på mer formell kravspesifikasjon
Kunnskap om dette er viktig da enkelte organisasjoner krever dette Men, vi skal også se på andre måter å lage en kravspesifikasjon på Kravspesifikasjonen blir viktig for store systemer Kravspesifikasjon
5
Forskjellige typer av krav kan inngå:
Generelle Funksjonelle Krav til implementasjon Effektivitet Brukervennlighet Kravspesifikasjon
6
Problemer Upresise mål
Kravspesifikasjonen beskriver ikke brukernes virkelige behov Spesifikasjonene er inkonsistente og ikke komplette Spesifikasjonene er for detaljerte (låser utviklerne), mange punkter, svak overordnet forståelse Misforståelser mellom bruker, de som utvikler spesifikasjonene og utviklerne Kravspesifikasjonen forutsetter en stabil verden, det har vi sjelden Kravspesifikasjonen tar ikke hensyn til at visse mål er vanskelig å oppnå Hva når de egentlige kravene endres over tid? Kravspesifikasjon
7
Kan føre til… Forsinket leveranse Fordyret leveranse
Behov for store endringer etter installasjon Systemet blir benyttet galt, lite eller ikke i det hele tatt Systemet kan være upålitelig Kritiske brukere Meget store vedlikeholdskostnader Dårlig tilpassning til andre systemer Systemet blir fort avleggs Indirekte kostnader (jobben blir ikke gjort) Kravspesifikasjon
8
Ofte Store kostnader til utvikling og tilpassning
Systemet blir tatt i bruk Det virker Men uklart om en har oppnådd noe F.eks. (fra en vit. artikkel): It is therefore very unlikely that any ERP implementation can simply be asserted to be a success or a failure Men det er selvfølgelig systemer som er en åpenbar suksess eller en åpenbar fiasko Kravspesifikasjon
9
Kravspesifikasjonsprosessen
Hvordan man håper at denne skal gå! Kravspesifikasjon
10
Aktiviteter Kravspesifikasjon
11
Kravspesifikasjonsdokumentet inneholder:
Kravspesifikasjon
12
IEEE/ANSI 830-1993 (standard):
Introduction Purpose Scope of the product Definitions References Overview of document General description Product perspective Product functions User characteristics General constraints Assumptions and dependencies Specific requirements functional, non-functional, interface, performance, database and network requirements, etc. Index Kravspesifikasjon
13
Hvem bruker kravspes. dokumentet?
Kravspesifikasjon
14
Guidelines: Kravspesifikasjon
15
Prosessen Kravspesifikasjon
16
Data Kravspesifikasjon
17
Aktivitetsmodell elicitation – å få fram, synliggjøre 04.04.2017
Kravspesifikasjon
18
Tradisjonell modell Waterfall model Kravspesifikasjon
19
Mer moderne Kravspesifikasjon
20
Utvikling, først når vi vet hva vi skal lage:
Denne fasen er lite formalisert, åpen, med mange usikkerhetet Denne fasen bør være formalisert, entydig og sikker Utvikling av systemet (detaljspesifikasjon, programmering…) Kravspesifikasjon
21
Hvem er involvert? Kravspesifikasjon
22
Roller Kravspesifikasjon
23
Verktøy for å understøtte kravspesifikasjonsprosessen:
Kravspesifikasjon
24
CMM – Capability Maturity Model
SEI, Software Engineering Institute i Pittsburgh bruker disse 5 nivåene. Kravspesifikasjon
25
Nivåer av utvikling mht softwareutvikling:
Initial: Udisiplinerte prosesser, individer bestemmer hvordan ting skal gjøres og hvilke teknikker som skal brukes Repeatable level: Grunnleggende prosesser for budsjettering og planlegging av utviklingsprosesser er beskrevet og kan repeteres Defined level: Dokumentasjon, standardisering Managed level: Kvalitetskontroll Optimizing level: Kontinuerlig prosess for forbedring, objektive målinger Kravspesifikasjon
26
”in” å karakterisere organisasjoner på denne måten
Mest anvendelig for store softwarehus Har mange prosjekter Ofte store prosjekter Mange prosjektdeltagere Formalisering er nødvendig for å få oversikt og kontroll Kravspesifikasjon
27
Problemer med modellen
Mange softwareutviklere bruker en ad hoc modell (nivå 1) med stor suksess Eksempler: Microsoft, Google, Facebook, Apple Men dette kan sies å falle innenfor kreativ softwareutvikling, mens “maturity” modellen kanskje er ment for mer rutinepreget virksomhet?
28
Forenklet modell for kravspesifikasjon
Kravspesifikasjon
29
Best practices Kravspesifikasjon
30
Requirement Elicitation
Kravspesifikasjon
31
Fire dimensjoner Application domain understanding
Forstå institusjonen, området der systemet skal anvendes. Hvem er brukerne, hva er brukernes bakgrunn. Hvilke holdninger eksisterer… Problem understanding Hva er målene for systemet, hvilke problemer skal vi løse… Business context Systemet skal (som oftest) bidra til utvikling av organisasjonen, hvordan passer systemet inn med andre, med overordnede strategier Stakeholder needs and constraints Hva er deres motivasjon, hva ønsker de å oppnå Kravspesifikasjon
32
Problemer Application domain understanding Problem understanding
Informasjon om dette er ikke samlet på ett sted, mange kilder, også muntlige, eksplisitt og implisitt Problem understanding De har et problem, men akkurat hva dette går ut på og hvordan det skal løses må vi ofte finne ut selv. De vi skal arbeide med er ofte opptatt… Business context Hvordan fungerer organisasjonen, er overordnede mål og strategier uttalte? Stakeholder needs and constraints Stakeholders kan ha sine (ofte gode) personlige motivasjoner i et prosjekt, hva er disse? Kravspesifikasjon
33
”Elicitation” og analyse
Kravspesifikasjon
34
4 kritiske aktiviteter:
Mål Beskriv målene for systemet, oversikt over problemet, hvorfor et nytt system kan være nødvendig, begrensninger som budsjett… Bakgrunnskunnskap Organisasjon, anvendelsesområde, andre systemer… Organisering Organiser data og informasjon samlet inn til nå, prioriter mål Brukerkrav Hva er brukernes krav til det nye systemet Kravspesifikasjon
35
Mål Skal fortelle oss hva vi skal oppnå, hensikten (”rationale”)
Disse kan brukes når vi må ta avgjørelser underveis (f.eks. for å velge mellom brukervennlighet og effektivitet) Målene blir viktige når systemet skal evalueres Kravspesifikasjon
36
Oversikt Kravspesifikasjon
37
Analyse /forhandlinger
Kravspesifikasjon
38
Teknikker Samle bakgrunnsstoff (strategiplaner, årsrapporter….)
Intervjuer Scenarioer ”Soft system methodology” (SSM) Syv faser (se neste slide) Kravspesifikasjon
39
SSM – 7 faser: Kravspesifikasjon
40
Kravspesifikasjon
41
Etnografisk undersøkelse
Observasjon av brukerne i arbeid, intervjuer, video, ”de-briefing” hvor vi trekker ut verdifull informasjon Kravspesifikasjon
42
Prototyping Alternativer: Mange fordeler: Bruk og kast
Evolusjonær prototyping (mer aktuell nå med bedre verktøy) Mange fordeler: Kan vise hvordan systemet vil bli, inklusiv ”look and feel” Håndfast Lettere for brukerne å forholde seg til en prototype enn en spesifikasjon, mer og bedre tilbakemeldinger Hurtigere utvikling Understøtter utvikling i faser Gir utviklerne tidlige kunnskaper om metoder, tidsbruk m.m. Kravspesifikasjon
43
Prototype Av hele systemet, prototypen kan da bli systemet (ref. Oshaug) Av deler av systemet: Brukergrensesnitt Komplekse tekniske løsinger Tidsaspekt Det er smart å konsentrere seg om ukjente deler først. Prototyper kan hjelpe oss her. Kravspesifikasjon
44
Analyse av kravspesifikasjon, sjekkliste
Kravspesifikasjon
45
Validering Sjekker for: Avsluttende fase i arbeidet Kompletthet
Konsistens Nøyaktighet Avsluttende fase i arbeidet Kravspesifikasjon
46
Input & Output Kravspesifikasjon
47
Reviews Reviews (gjennomgang), teknikk for å verifisere kravspesifikasjonen Kravspesifikasjon
48
Sjekkliste Kravspesifikasjon
49
Prototyping Validering gjennom prototyping:
Velg testpersoner Utvikle testscenario Utfør scenario Mange krav kan best testes gjennom prototype: Opplæring Brukervennlighet Effektivitet (delvis) Kravspesifikasjon
50
Prosess Kravspesifikasjon
51
Modellvalidering Vi kan ha detaljerte modeller av systemet, for eksempel for dataflyt Er disse i orden? Inkluderer de all relevant informasjon? Konfliktfritt? Er de konsistent med andre modeller? Beskriver de brukernes behov? Kravspesifikasjon
52
Testing Kan kravene testes? Eksempel: Hvilket krav er testbart?
Kan vi gjøre en eller flere tester i det ferdige systemet for å vise at kravet er oppfylt Eksempel: Systemet skal være lett å lære? 95% av brukerne skal kunne benytte systemet etter 10 minutter? Hvilket krav er testbart? Kravspesifikasjon
53
Requirements management
Her er vi opptatt av: Stabile og dynamiske krav Identifisering av krav, lagring Versjonskontroll Sporing (traceability) Kravspesifikasjon
54
Behovet for endringer Kravspesifikasjon
55
Identifisering av krav
Kravspesifikasjon
56
Lagringsstruktur for krav
Kravspesifikasjon
57
Versjonskontroll (faser)
Kravspesifikasjon
58
Versjonskontroll (prosess)
Kravspesifikasjon
59
Sporing Vi ønsker å kunne spore endringer begge veier.
Hvilke underordnede krav kan bli berørt av endringen i dette kravet? I hvilke overordnede krav inngår kravet som er endret? Kravspesifikasjon
60
Typer av sporing Kravspesifikasjon
61
Oppsummering Følgende må være på plass:
Det er viktig å vite målsettingene for systemet Vi må ha en god og utarbeide idé av systemfunksjonaliteten Brukergruppene må være kjent Vi må ha valgt metodikk Vi må vite hvordan systemet skal implementeres Koplinger til andre systemer må være kjent Installasjonsfasen må være beskrevet Før vi starter utviklingen av systemet Kravspesifikasjon
62
Små systemer – store systemer
Mange av de konkrete eksemplene vi har brukt tidligere har vært for små systemer Små systemer har mange fordeler: Oversiktlige Begrenset arbeidsmengde Få brukere, få installasjoner Da kan vi få en betydelig reduksjon av arbeidet med: Kravspesifikasjon Testing Opplæring Med store systemer blir alt annerledes, spesielt om de utvikles under en detaljert kravspesifikasjon Kravspesifikasjon 62
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.