Systemutviklingen er ferdig når et system er operativt. Med operativt menes når systemet blir brukt av brukerne på et faktisk arbeidssted.

Like dokumenter
Presentasjon 1, Requirement engineering process

Kravhåndtering. INF1050: Gjennomgang, uke 03

Grunnleggende testteori

Grunnleggende testteori

Visma EasyCruit. Et kort innblikk i den siste produktutviklingen. August Norsk

GJENNOMGANG UKESOPPGAVER 9 TESTING

Kort om evaluering og testing av It-systemer. Hvordan vurdere, verdsette, velge og teste?

GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG

GJENNOMGANG UKESOPPGAVER 3 KRAVHÅNDTERING

Characteristics of a good design

Evaluering av It-systemer i et forvaltningsperspektiv. Drift, vedlikehold og videreutvikling av IT-systemet

Model Driven Architecture (MDA) Interpretasjon og kritikk

Nye krav i ISO 9001, hvilke er de og hvordan implementere disse i TQM? Ragna Karoline Aasen

Testrapport Prosjekt nr Det Norske Veritas

Gruppenavn. Prosjektnavn Beskrivelse av design For Navn på systemet. Versjon <1.0>

Presentasjon av hovedprosjekt ved HIST Nettbutikk

Livsløpstesting av IT-systemer

Tittel Objektorientert systemutvikling 2

Tom Røise 9. Februar 2010

Rettslige krav til styring av informasjonssikkerhet. Karin Kristiansen og Amund Eriksen

Jernbaneverkets erfaringer med implementering av RAMS

Løsningsforslag: Oblig 1. INF1050: Gjennomgang, uke 12

Drosjesentralen. I-120: Obligatorisk oppgave 2, 2000

Test of English as a Foreign Language (TOEFL)

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt!

Erfaring med funksjonell testing i en integrert ALM prosess

Kap 11 Planlegging og dokumentasjon s 310

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

Lykke til! Eksamen i fag TDT4140 Systemutvikling NTNU Norges teknisk-naturvitenskapelige universitet

Kvalitetskrav til løsninger

Forord av Anne Davies

Grunnleggende testteori. Etter Hans Schaefer

STE6221 Sanntidssystemer Løsningsforslag kontinuasjonseksamen

DRI2001 Offentlige nettsteder. Litt om systemutvikling Torsdag 24 aug Arild Jansen, AFIN, UiO

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

Læringsmål og pensum. Utvikling av informasjonssystemer. Oversikt. Systemutvikling Systemutvikling i seks faser Femstegs prosedyre for programmering

Akseptansetesten. Siste sjanse for godkjenning Etter Hans Schaefer

Skriv vinnende tilbud

DRI 2001 Systemutviklingsarbeidet et overblikk Forelesning

Spørsmål og aktiviteter på ulike nivåer

INF Modellering med objekter (Oblig 2) **TimeregistreringSystem** (Designet av Alen Cemer

Første kontakt med god potensiell kunde

Obligatorisk oppgave 1 INF1050 Foranalyse og kravhåndtering. av Andreas Johansen Alexander Storheill Martin Dørum Nygaard Tobias Langø Aasmoe

Systemutvikling - oppsummering. Alexander Nossum blog.eksplisitt.net 22. mai 2006

Første kontakt med god potensiell kunde

UKE 11 UML modellering og use case. Gruppetime INF1055

Promaps Online et simuleringsverktøy

Verden. Steg 1: Vinduet. Introduksjon

Dokument 1 - Sammendrag

Ledelsen lar stort sett ansatte ta sine egne beslutninger. Ledelsen holder streng kontroll med arbeidet til de ansatte

Test og kvalitet To gode naboer. Børge Brynlund

Kap. 2 Prosessen. Utviklingsmodeller -2. Utviklingsmodeller. Utviklingsmodeller -4. Utviklingsmodeller - 3. Software Engineering - definisjoner

Design og dokumentasjon

IT Service Management

GJENNOMGANG UKESOPPGAVER 7 REPETISJON

Hva er datakvalitet? Hvordan skal arkivtjenesten forholde seg til det?

Vår kognitiv-semiotiske modell gir muligheten til å forstå kunnskapsdynamikken som finner sted i individet og i en innovasjonsprosess.

Kapittel 7 & 8. Kravspesifikasjoner & Data design. Thomas Tjøstheim og Thomas Edvinsen. 20 September Kapittel 7 & 8 p.1/20

Spesifikasjon av Lag emne

Innhold uke 7. Objektorientert programmering i Python: Introduksjon. Lite tilbakeblikk: Programflyt og skop. Lite tilbakeblikk: Funksjoner er uttrykk

Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering...

Genitalkirurgi i Beograd!

Fagartikkel. 12 kriterier for å lykkes med outsurcing

Testplan (Software Test Plan)

Steg 1: Få noe på skjermen

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

PROEX.NO. En webbasert samhandlingsløsning. Utviklet av Eskaler as. Rogaland Kunnskapspark Postboks 8034 Postterminalen 4068 Stavanger

CORBA Component Model (CCM)

Omstendigheter omkring dødsfallet:. Min helse er: 1 veldig god 2 - god 3 sånn passe 4 ikke så god 5 ikke god i det hele tatt

Saksnr. 2013/188 2-faktor autentisering. Spørsmål og svar: :

Tom Røise IMT2243 : Systemutvikling 1. IMT2243 Systemutvikling 26. februar Klassediagrammet. Klasse

Forprosjekt. Oppgdragsgiver Unikia, Lille grensen 7, 0159 Oslo, Kontaktperson Anders Kose Nervold,

Steg 1: Bli kjent med spillet

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide

Gruppenavn. Prosjektnavn Kravdokument For Navn på systemet. Versjon <1.0>

IT Service Management

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

FORPROSJEKT KIM LONG VU DUY JOHNNY KHAC NGUYEN ADRIAN SIIM MELSOM HÅKON THORKILDSEN SMØRVIK

Quo vadis prosessregulering?

Prototyping og kommunikasjon med brukere

Gruppe 11. Frank Petter Larsen Vegard Dehlen

Datakvalitet og Noark

Statusrapport. MUSIT Ny IT-arkitektur Pilot. NØKKELINFORMASJON Rapporteringstidspunkt 9. mai 2016 Rapporteringsperiode April 2016

Produktrapport. Produktrapport. Hjelpemiddel portal for Parkinsonforbundet

Kostnadseffektivt eller bortkastet tid? Øyvind Woll Seniorkonsulent, Vivento AS

11 Planlegging og dokumentasjon

Spørsmål og svar til Konkurransegrunnlag

GJENNOMGANG OBLIGATORISK OPPGAVE 1

Kunden er en av Norges ledende leverandører av digital-tv og bredbåndstjenester.

UNIVERSITETET I OSLO

Finansportalen Historiske bankdata

Hvilke forventinger har bedriften? - våre erfaringer som «stor» og «liten» Jøran Bøch, CEO / Daglig leder

SPAR TID OG PENGER. med en bedre og mer effektiv KUNDEBEHANDLING.

Kontrakter. INF1050: Gjennomgang, uke 12

Lynkurs 10. Januar 2012

Forprosjektrapport. Gruppe Januar 2016

! Slik består du den muntlige Bergenstesten!

EKSAMEN. Evaluering av IT-systemer. Eksamenstid: kl 0900 til kl 1300

1. Hvilke type krav angår sikkerhet og pålitelighet?

Transkript:

Presentasjon nummer 5 The changing system and the nature of maintenance Silde 1 Gruppen introduseres Slide 2 The changing system and the nature of maintenance The Changing system Systemutviklingen er ferdig når et system er operativt Alt arbeid som utføres på et system etter at det har blitt operativt, regnes som vedlikehold Software vedlikehold kan ikke betraktes på samme måte som hardware vedlikehold Systemutviklingen er ferdig når et system er operativt. Med operativt menes når systemet blir brukt av brukerne på et faktisk arbeidssted. Alt arbeid som utføres på et system etter at det har blitt operativt, regnes som vedlikehold. Software vedlikehold kan ikke betraktes på samme måte som hardware vedlikehold. Av den enkle grunn at HW vedlikehold stort sett består av å reparere eller skifte ut deler, mens dette ikke er tilfelle med SW vedlikehold. (Husk at funksjonen tostring() må skiftes ut etter å ha blitt brukt 10.000 ganger ;-)) SW er i mye større grad bygget for å kunne forandres.

Slide 3 The changing system and the nature of maintenance Ulike systemer S-system P-system E-system Alle systemer, unntagen de som er veldig små, kommer til å forandre seg gjennom sitt livsløp. Helt generelt kan vi beskrive et system etter hvordan det er relatert til miljøet som omgir systemet. Jo mer avhengig et system er av den virkelige verden (real world) for sine krav, jo sikrere er det at systemet vil forandre seg.

Slide 4 The changing system and the nature of maintenance S-system Problemet er helt definert Det er en eller flere løsninger til problemet. Utvikler er ikke bekymret for riktigheten av løsningen, men med riktigheten av implementasjonen av løsningen. Real Wold Problem Requirements specification System Information Comparison Subject to change Noen systemer er formelt definert av spesifikasjoner. Problemet i disse systemene er helt definert og det er en eller flere løsninger på problemet. Løsningen er vel kjent, slik at utvikler ikke er opptatt med riktigheten av løsningen, men med riktigheten av implementasjonen av løsningen, og løsningens presisjon. Figuren viser problemet løst av et S-system som er relatert til den virkelige verden, og at den virkelige verden kan forandres. Hvis den virkelige verden forandres, er resultatet er helt nytt problem som må spesifiseres. Regneeksempel

Slide 5 The changing system and the nature of maintenance P-system Beskriver et problem på en abstrakt måte Systemets kravspesifikasjon blir skrevet ut fra vårt abstrakte synspunkt Mer basert på praktisk abstraksjon enn på en komplett og definert spesifikasjon Mer dynamisk enn et S-system Real Wold Problem Abstraction Requirements specification System Information Comparison Subject to change Det er ikke alltid lett eller mulig å beskrive et virkelig-verden problem fullstendig. I mange tilfeller eksisterer den teoretiske løsningen til et problem, men implementeringen av løsningen er upraktisk eller umulig. Sjakkeksempel Et P-system baserer seg mer på praktisk abstraksjon av problemet enn på en komplett definert spesifikasjon. Figuren forteller at P-systemet er mer dynamisk enn S-systemet. Løsningen produserer informasjon som blir sammenlignet med problemet. Hvis det da viser seg at informasjonen er dårlig egnet på noen som helst måte kan problemabstraksjonen bli forandret og kravene modifisert for å prøve å lage løsningen mer realistisk.

Slide 6 The changing system and the nature of maintenance E-system Systemet er integrert i den virkelige verden Forandrer seg når verden gjør det Problemet ikke fullt spesifisert Løsningen er basert på en modell av de abstrakte prosessene som er involvert Real World Problem Abstraction Requirements specification System Information Comparison Subject to change Et E-system er integrert (embedded) i den virkelige verden og forandrer seg når verden gjør det. Problemet kan ikke spesifiseres fullt ut. (Eksempel: forutse en nasjons helseutvikling) Løsningen er basert på en modell av de abstrakte prosessene som er involvert. Figuren illustrerer forandringsmulighetene til et E-system og systemets avhengighet av dens virkelige verden. Suksessen til et E-system er helt avhengig av kundens evaluering av systemets oppførsel (performance). Fordi problemet et E-system tar for seg ikke fullt ut kan spesifiseres må systemet bli vurdert kun etter sin oppførsel under virkelige kjøreforhold (actual operating conditions)

Slide 7 The changing system and the nature of maintenance SW vedlikehold Trenger all SW vedlikehold? Behov for vedlikehold kan sees i lys av systemets kategori Vedlikeholdsfase = videreutviklingsfase Vedlikeholdsfasen til et system kan være lengre enn utviklingsfasen av systemet Hele tiden vurdere om det lønner seg å videreutvikle et system, eller erstatte det med et nytt Lehmans Law of Software Evolution Trenger all SW vedlikehold? JA, knapt noe system unngår å bli forandret Behov for vedlikehold kan sees i lys av systemets kategori S-system: Lite utsatt for forandringer P-system: Høyst sannsynlig utsatt for forandringer E-system: Garantert forandringer Vedlikeholdsfase = videreutviklingsfase Vedlikeholdsfasen til et system kan være lengre enn utviklingsfasen av systemet. Har økt med årene, nå brukes opp til 80 % av arbeidsinnsatsen i vedlikeholdsfasen. Hele tiden vurdere om det lønner seg å videreutvikle et system, eller erstatte det med et nytt Lehmans Law of Software Evolution For de spesielt interesserte, står i læreboka kap. 11.1

Slide 8 Når vi utvikler et system er vår hovedfokus på å produsere kode som implementerer kravene og som fungerer korrekt. På hvert steg i utviklingen, refererer utviklingsteamet konstant til arbeid som er produsert tidligere i utviklingen. De sjekker for eksempel at designkomponentene er knyttet opp til kravspesifikasjonen og de har tester som sjekker at funksjoner virker i henhold til krav og design. Når vi snakker om vedlikehold er det litt annerledes. Vedlikeholdsteamet ser tilbake på utviklingsprodukter, samtidig som de er også opptatt av å etablere et samarbeid med brukerne og systemansvarlig for å finne ut hvor fornøyde de er med systemet. Vedlikeholdsteamet ser også framover for å prøve å finne feil før de oppstår, for å tenke over funksjonelle forandringer som kreves hvis bedriften forandres eller for å se på systemforandringer som kan være nødvendige hvis HW, SW eller interfacet forandres.

Slide 9 Aktivitetene rundt vedlikehold er nokså like aktivitetene til utvikling. De skal analysere krav, evaluerer systemet og programdesign. Skrive og se igjennom kode, teste forandringer og oppdatere dokumentasjonen. Vi kan fastslå at de som utfører vedlikeholdet, analytikere, programmere og designere, har samme roller. Men fordi endringer ofte krever en intim kunnskap til kodestrukturen og innhold, vil programmerere spille en større rolle i vedlikehold enn de gjorde i utviklingen.

Slide 10 Fokuserer på fire store aspekter ved systemets utvikling - Opprettholde kontrollen over systemets dag-til-dag funksjoner - Opprettholde kontrollen over systemets modifikasjoner - Perfeksjonere eksisterende akseptable funksjoner - Forhindre at systemets ytelse går under akseptabelt nivå

slide 11 Corrective Maintenance (korrigerende vedlikehold) For å kontrollere dag-til-dag funksjoner, vil vedlikeholdstemaet reagere på problemer som har oppstått på grunn av feil. Når feil inntreffer vil vedlikeholdsteamet få beskjed; de finner grunnen til feilen og gjør korreksjonene og forandrer kravene, designet, koden, test pakkene og dokumentasjonen. Ofte så blir problemet bare løst midlertidig slik at systemet kan fortsatt kjøre. Adaptive Maintenance (tilretteleggende vedlikehold) Det er slik at noen ganger kan en forandring i en del av systemet kreve at andre deler av systemet også forandres. Adaptive maintenance kan også benyttes ved forandringer i hardware og i miljøet. Hvis for eksempel et system opprinnelig var designet for et tørt, stabilt miljø, og skal flyttes over til en ubåt, må systemet blant annet tilpasse seg magnetisme og fuktighet.

Perfective Maintenance (utviklende vedlikehold) Involverer forandringer for å forbedre visse aspekter ved systemet, selv når forandringene ikke har kommet på grunn av feil. Når vi vedlikeholder et system, undersøker vi dokumentasjon, design og kode for å sjekke om noe kan gjøres bedre og mer tydeligere. Forandringer i dokumentasjon for å klare opp i poster, testpakker forandres for å forbedre test dekningen og kode og design modifiseres for å bedre lesbarheten er alle eksempler på perfective maintenace.

Slide 12 Preventive Maintenance (forebyggende vedlikehold) Denne metoden for vedlikehold oppstår når programmerer eller kodeanalytikere finner en feil eller en potensiell feil som ennå ikke har blitt til en feil i systemet. Retter feilen får den oppstår. Who Performs Maintenance (hvem utfører vedlikehold) Som regel er det ikke utviklingsteamet som også vedlikeholder systemet. Det er vanlig at en bedrift ansetter egne vedlikeholdsteam som skal sørge for at systemet fungerer korrekt. Det er positive og negative sider ved å la utviklingsteamet også vedlikeholde systemt: Positivt: De som har laget systemet kjenner systemet godt. De kjenner koden, designet, og filosofien bak systemet. Hvis de som utviklet systemet vet at de også skal vedlikeholde systemet, vil de bygge/designe systemet slik at vedlikehold vil være lettere. Negativt De forstår selv hva de mener slik at de ikke holder dokumentasjon oppdatert. Vanskelig å være objektiv når du selv har laget systemet.

Team Responsibility (ansvaret til vedlikeholdsteamet) Å vedlikehold et system krever at alle medlemmer i vedlikeholdsteamet er aktive. Det er vanlig at brukere, systemansvarlige kunder kontakter vedlikeholdsteamet med kommentarer og spørsmål. Deretter må analytikerne og programmererne finne ut hvilke deler av koden som berørt, hva som må gjøres med designet og hvor mye resurser (tid og innsats) som er nødvendig for å gjennomføre endringene.

Slide 13 Use of Maintenance Time (bruken av tiden ved vedlikehold) Perfective 50 % Adaptive 25% Corrective 21 % Preventive 4 %

Slide 14 Spørsmål