maintenance problems - measuring maintenance characteristics 

17
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

Upload: topanga-fernandez

Post on 30-Dec-2015

26 views

Category:

Documents


1 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Maintenance problems -  Measuring Maintenance characteristics 

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

Page 2: Maintenance problems -  Measuring Maintenance characteristics 

Presentasjonen

• Maintenance problems– Hva skyldes problemer?– Vedlikeholdskostnader

• Measuring Maintenance characteristics  – Metoder for å måle vedlikeholdbarhet– Ulike typer kompleksitet

• Spørsmål?

Page 3: Maintenance problems -  Measuring Maintenance characteristics 

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

Page 4: Maintenance problems -  Measuring Maintenance characteristics 

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 + 0 = 99

• Moral– Vedlikeholdsarbeid har ’andreklasse status’

Page 5: Maintenance problems -  Measuring Maintenance characteristics 

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

Page 6: Maintenance problems -  Measuring Maintenance characteristics 

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

Page 7: Maintenance problems -  Measuring Maintenance characteristics 

Vedlikehold ’effort’

• M = p + Kc-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

Page 8: Maintenance problems -  Measuring Maintenance characteristics 

Measuring Maintenance Characteristics

• External view of maintainability– Mean Time To Repair

• Internal attributes affecting maintainability– Cyclomatic Number– Kompleksitet– Fog Index

Page 9: Maintenance problems -  Measuring Maintenance characteristics 

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

Page 10: Maintenance problems -  Measuring Maintenance characteristics 

Internal Attributes Affecting Maintainability

• Kompleksitet

• Dokumentasjon

Page 11: Maintenance problems -  Measuring Maintenance characteristics 

Cyclomatic Number

• Antall lineært uavhengige stier gjennom koden

• Control Flow Graph

• CN = e – n + 2

Page 12: Maintenance problems -  Measuring Maintenance characteristics 

Cyclomatic Number

Når er dette nyttig?

• Code development risk analysis

• Change risk analysis in maintenance

• Test Planning

• Reengineering

Page 13: Maintenance problems -  Measuring Maintenance characteristics 

Flere målbare ting og tang

• Størrelse – Antall linjer kode

• Kompleksitet – Nested if’s

– Antall operatorer & operands

• Antall revisjoner under design

Page 14: Maintenance problems -  Measuring Maintenance characteristics 

Fog Index

• Dokumentasjonens lesbarhet

• F = 0,4 * (antall ord / antall setninger)

+ prosentandel ord med 3 eller flere stavelser

Page 15: Maintenance problems -  Measuring Maintenance characteristics 

Oppsummering

Presentasjonen er publisert på: http://www.cognit.no/leendert/sfteng/presentasjoner

Page 16: Maintenance problems -  Measuring Maintenance characteristics 

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

Page 17: Maintenance problems -  Measuring Maintenance characteristics 

Spørsmål?