Maintenance problems - Measuring Maintenance characteristics Software Engineering Gruppe 2 Carl-Erik Herheim Leendert Wienhofen Thomas Julsen Kjartan Haugen.

Slides:



Advertisements
Liknende presentasjoner
Hovedprosjekt Gruppe 18E Vår Prosjektoppgave 18 E  Arbeidsgiver  Byåsen Bilverksted AS ved John Myhre  Veileder  Jostein Lund  Gruppemedlemmer.
Advertisements

Mean-Variance Analysis continued
XXXXXXXXXXXXXXXXXXX Bedre brukeropplevelser med WPF og Expression Jonas Follesø, Abeo AS
Høgskolen i Oslo - GM Vær metodisk  Definer og forstå problemet  Spesifiser hva du har av hardware  Lag en prototyp av brukersnittet  Design.
Reliability, Availability and Maintainability
Dokumentasjon og Planlegging av større IT-prosjekter
Elementer av en utviklingsprosess
Målinger generelt •I et moderne samfunn brukes målinger i mange ulike sammenhenger •Eksempler: –Sammenligne priser, lønninger –Høyde: størrelse på klær.
Smidig forvaltning – En pragmatisk tilnærming
Unit testing Gruppe 2: Kjartan Haugen Jon Gunnar Bjørkmo
NAF-Data A/S Dynamics & Empowerment l Kort presentasjon av eBestilling-konseptet l Hvorfor Dynamics? l Hvorfor Empowerment? l Erfaringer med Empowerment.
INF 1500; introduksjon til design, bruk og interaksjon 8 november 2010
1 KOSTRA KOmmune-STat-RApportering Av Jon Olav Folsland 1. april 2006.
Ruskonferansen Hell, 6/ Tom Barth Terje Stølan Thomas Solenes Motiverende Intervju – metode for mer likeverdighet mellom pasient og behandler ?
1 Oppgave gjennomgang Kap Oppgaver -Kap 12: 1, 2, 3, 5, 7, 8, 11, 18, 19.
Gruppe 9 Design evaluering og validering.
Grunnleggende testteori
Verifikasjon og validering
Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og.
Jakten på kvaliteten.
Hovedprinsipper i Rational Unified Process
Menneske/datamaskin- interaksjon. Hva for slags fag? Hva handler det om? Mål og hvorfor Emner,lærestoff Opplegg Evaluering Krav som stilles.
INTERNETT FORMÅL: Å skape forståelse for og gi kunnskap om utvikling av klient-tjener apllikasjoner basert på web.
1 Skal vi snakke sammen? Jan Håvard Skjetne SINTEF / University of Melbourne
UNINETT-konferansen 1. – 3. oktober 2013
Tidligere eksamensspørsmål
Fremgangsmåter for å lage retningslinjer som støtter beslutninger og som er fortolkbare av datamaskiner Målet med artikkelen: Definere, sammenligne aspekter.
1 19. januar 2006 TDT4285 Planl&drift IT-syst Om du ønsker, kan du sette inn navn, tittel på foredraget, o.l. her. Forelesning nr 6: Dynamisk dokumentasjon.
Du blir ikke fortere ferdig ved å gjøre mange ting på en gang. Ketil Jensen.
Iterate.no The Lean Software Development Consultancy Prolog: Case 2 ‣ Et prosjekt fra gamledager ‣ Prosjektleder sa “Godt nok!” ‣ Kunden sa “Hva?? Skal.
  © Steria FitNesse som nyttig verktøy Smidig FitNesse som nyttig verktøy Anders Vindvad.
Gruppe 3 Henning, Andre, Mats, Per A. og Vegard 1/73.
1 Vedlikehold av systemer Gruppe 3 Henning Kristiansen Vegard Simensen Andrè Hauge Mats Lindh.
Testintegrering Gruppe3 Andrè Hauge Vegard Simensen Mats Lindh Henning Kristiansen.
Gruppe 3 – Presentasjon 2 Henning Kristiansen, Mats Lindh, André Hauge og Vegard Simensen.
Testing av system Gruppe 6 Henrik Bækhus Morten A. Iversen Mathias Bondeson Gunnar K. Kulleseid Svein Ivar Kristiansen Ronny Hulthin.
Improving Products Gruppe Presenteres av : Hege-Kristin Johansen Herman Kolås Marianne Ates Marit Finden Jonas Lillevold André Johansen Tom.
Automated Testing Tool & When to Stop Testing
Object Oriented Measurement
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Tema: Test First Positivist: Det som ikke kan måles, eksisterer ikke! Reduserer sjanser for defekter! Gir en oppdatert ”TODO-liste” Gir trygghet til å.
De 100 mest brukte ordene i bøker i klasse..
Risikostyring i praksis
Estimering av arbeids- og tids-forbruk: COCOMO - modellen
Å omfavne forandringer med ekstrem programmering(XP) Brukt i In140 Skrevet av Ola Bø Bygger på Kent Becks artikkel "Embracing change with extreme programming."
100 lure ord å lære.
Gruppe 5 består av: – Cecilie Vitting – – Marit S. Asklien -
1 Oppgave gjennomgang Kap. 1 og 2. 2 Oppgaver -Kap 1: 5, 6, 7, 10, 12, 16, 22 og 25 -Kap 2: 2, 6, 10, 12, 13, 14 og 20.
Testing av objektorienterte systemer Testplanlegging
Fra Mitose til Happy-meal Innføring i “Prototype Patterns” og “Builder Patterns” Gruppe 2 Carl-Erik Herheim Leendert Wienhofen Olav Dæhli Thomas Julsen.
Brukervennlighet er død– leve brukeropplevelsen. Trend 1: Produkter er blitt for komplekse. 2Agile UX.
DrillSim 29E - utvikling av boresimulator
Programvareendring del 1 In 140 Forelesning Nr 21 Sommerville kap 27, 1. Del.
Programvareendring In 140 Forelesning Sommerville kap 27.
Gamle systemer In 140 Sommerville kap 26. Forelesninger fremover 8/4:Gamle systemer 22/4: Systemevolusjon og vedlikehold 28/4: Konfigurasjonsstyring.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
Kapittel 9 Polymorfi. 9.1 Sein binding Ofte er det perfekt match mellom typen til ein variabel og objektet han refererer til ChessPiece bishop;... bishop.
1 Utvikling av kritiske systemer Kort sammendrag Kap. 1 og 2.
Introduksjon til in 140 Systemering. In 140 Systemering Forelesninger Rom 112 –Mandag –Torsdag Lærebok: –Sommerville, Ian. Software.
Integrasjoner og 360°.
Regnskap - hva og for hvem MS-forbundets lederkonferanse 7. september 2015 Øyvind Aas, manager i Audit Oslo.
Brukbarhetstesting og feltstudier INF 1500; introduksjon til design, bruk og interaksjon 7 november 2010.
Tips og råd Til hva dere bør tenke på når dere setter samme et business case (basert på innspill fra seminar )
Brukbarhetstesting og feltstudier
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
På sporet av den tapte tid
Orbital Motion Simulator
Utskrift av presentasjonen:

Maintenance problems - Measuring Maintenance characteristics Software Engineering Gruppe 2 Carl-Erik Herheim Leendert Wienhofen Thomas Julsen Kjartan Haugen Olav Dæhli Jon Gunnar Bjørkmo

Presentasjonen Maintenance problems –Hva skyldes problemer? –Vedlikeholdskostnader Measuring Maintenance characteristics –Metoder for å måle vedlikeholdbarhet –Ulike typer kompleksitet Spørsmål?

Problemer med vedlikehold Systemet må være tilgjengelig Brukerens kunnskaper –Feil eller utvidelse? Utviklere –Effektivitet –Tilgjengelig tid Tekniske problemer –Maskinkrav –Systemets pålitelighet (reliability) Kostnader

Utviklere Begrenset forståelse (limited understanding) -47% av tiden er brukt til å forstå programmet som skal vedlikeholdes [1] k * (m – k) + k * (k – 1)/2 = antall interfaces som må gjennomgås for eventuell innflytelse av endringen [2] –m = komponenter i systemet –k = antall komponenter å endre –Eksempel: 1 * (100 – 1) + 1 * (1 – 1)/2= = 99 Moral –Vedlikeholdsarbeid har ’andreklasse status’

Tekniske problemer Arvegods fra tidligere beslutinger –Ulogisk design –Ufleksibel design Paradigma –Fastsatte metoder –Statisk minnebehandling, e.l. –OO: endringer kan føre til kjedereaksjon Problemer med testing –Begrenset tid –Kritiske systemer

Vedikeholdskostnader Har gått opp fra 40-60% i ’70 tallet til opp til 80% i 2000 Faktorer som øker kostnader –Applikasjonstype –Novelty (’nyhet’) –Turnover and staff availability –Systemets livsløp –Avhengighet av endringer i omgivelser –Hardware –Designets kvalitet –Kodekvalitet –Dokument kvalitet –Testing kvalitet

Vedlikehold ’effort’ M = p + K c-d –M = Total vedlikeholds ’effort’ –p = produktive ’efforts’ –d = Gjenkjennelsesgrad ’familiar with software’ –K = Emperistisk konstante Size = ASLOC(AA + SU + 0,4DM + 0,3CM + 0,3IM)/100

Measuring Maintenance Characteristics External view of maintainability –Mean Time To Repair Internal attributes affecting maintainability –Cyclomatic Number –Kompleksitet –Fog Index

External view Mean Time to Repair –Når er problemet rapportert –Tid tapt p.g.a. administrative forsinkelser –Tid brukt på å analysere problemet –Tid brukt på å spesifisere endringer som må gjøres –Tid brukt på å gjennomføre endringene –Tid brukt på å teste endringene –Tid brukt på å dokumentere endringene

Internal Attributes Affecting Maintainability Kompleksitet Dokumentasjon

Cyclomatic Number Antall lineært uavhengige stier gjennom koden Control Flow Graph CN = e – n + 2

Cyclomatic Number Når er dette nyttig? Code development risk analysis Change risk analysis in maintenance Test Planning Reengineering

Flere målbare ting og tang Størrelse –Antall linjer kode Kompleksitet –Nested if’s –Antall operatorer & operands Antall revisjoner under design

Fog Index Dokumentasjonens lesbarhet F = 0,4 * (antall ord / antall setninger) + prosentandel ord med 3 eller flere stavelser

Oppsummering Presentasjonen er publisert på:

References [1] Parikh & Zvegintzov (1983) [2] Gerlich & Denskat (1994) [3] Shari, Lawrence & Pfleeger: Software engineering, theory and practice, 2nd edition (2001) [4] Calzolari, Tonella, Antoniol: Dynamic model for maintenance and testing effort

Spørsmål?