Upload
jafari
View
35
Download
1
Embed Size (px)
DESCRIPTION
Study of Software reuse at Skattedirektoratet Master’s thesis oral exam, 24 May 2008. Line Ånderbakk Olsen Thor Ånderbakk Olsen. Disposisjon. Skattedirektoratets IT-avdeling Problembeskrivelse Forskningsspørsmål SKDs mål med oppgaven State-of-the-art of Software Reuse - PowerPoint PPT Presentation
Citation preview
Study of Software reuse at Study of Software reuse at SkattedirektoratetSkattedirektoratet
Master’s thesis Master’s thesis oral exam, 24 May 2008oral exam, 24 May 2008Line Ånderbakk OlsenThor Ånderbakk Olsen
1
DisposisjonDisposisjonSkattedirektoratets IT-avdelingProblembeskrivelseForskningsspørsmålSKDs mål med oppgavenState-of-the-art of Software ReusePresentasjon av hvert enkelt temaKonklusjonVidere arbeidRefleksjoner
2
Skattedirektoratets IT-Skattedirektoratets IT-avdelingavdeling
• En av landets største når det kommer til En av landets største når det kommer til datamengde og antall brukeredatamengde og antall brukere• Ca. 220 ansatteCa. 220 ansatte
3
GLD systemeneGLD systemeneEldre systemer som stammer
tilbake fra slutten av 80-talletSkrevet i COBOL og kjører på SKDs
stormaskinI alt finnes det 15 GLD systemerHovedformålet med GLD-
systemene er å motta og lagre skatterelatert informasjon fra tredjepart og for forhåndsutfylling av selvangivelse
4
GLD systemeneGLD systemene
5
ForskningsspørsmålForskningsspørsmålRQ1: What is the current state of
software reuse in the selected GLD systems?
RQ2: Do reused components have lower change and defect rate compared to other components?
RQ3: What is the emphasis for systematic reuse in the current development process?
RQ4: What is the potential for systematic reuse, and how can it be achieved?
6
SKDs mål med oppgavenSKDs mål med oppgavenGoal 1: Propose a process which
assures software reuseGoal 2: Propose an ideal
architecture for GLD, with focus on reuse
7
TemaTemaState-of-the-art
innen programvaregjenbruk
Undersøkelse av nåværende gjenbruksnivå i GLD-systemene
Gjennomgang av SKDs utviklingsprosess
Gjennomgang av muligheteter for systematisk gjenbruk innen SKD
8
BidragBidragLitteraturgjennomgang om
programvaregjenbrukEstimat av gjenbruksnivå i de
valgte GLD-systemeneSpørreundersøkelse om
programvareutviklingsprosess og gjenbruksaspekter hos SKD
Forslag til prosess som skal sikre systematisk gjenbruk innen SKD
9
State-of-the-art of Software State-of-the-art of Software ReuseReuseProgramvaregjenbruk vil si å
skape nye systemer ut fra eksisterende komponenter og systemer
”Alt” kan gjenbrukes:◦Arkitektur◦Kildekode◦Dokumentasjon◦GUI◦Kravspesifikasjoner
10
State-of-the-art of Software State-of-the-art of Software ReuseReuseAd-hocUformell prosessFå eller ingen
metoder som sikrer gjenbruk
Gjenbruk oppstår ved tilfeldigheter
Individuelt nivå”Klipp-og-lim”
Systematisk gjenbruk
• Formell, konsistent og repeterbar prosess
• Planlagt gjenbruk• Organisasjonelt
nivå• Krever
investreringer• Mulig å måle
gjeldende nivå 11
State-of-the-art of Software State-of-the-art of Software ReuseReuseFordelerØkt kvalitetØkt produktivitet
og redusert utviklingstid
Forbedret interaksjon mellom ulike systemer
Reduserte kostnader
Enklere å e stimere tid og kostnad
Problemer• Støtte og
forståelse fra ledelse og utviklere
• Arkitektur som understøtter gjenbruk
• Lagre, klassifisere og identifisere gjenbrukbare komponenter
12
State-of-the-art of Software State-of-the-art of Software ReuseReuseGjenbruksperspektiver
13
State-of-the-art of Software State-of-the-art of Software ReuseReuseFremgangsmåter for programvare
gjenbrukApplikasjonsgeneratorerProgramvarearkitekturKomponenter”Code Scavenging”
14
State-of-the-art of Software State-of-the-art of Software ReuseReuseFlere ikke-tekniske aspekter å ta
hensyn til:MenneskeligeKulturelleØkonomiskeOrganisatoriske
15
State-of-the-art of Software State-of-the-art of Software ReuseReuseOrganisasjoner må være i stand til
å måle fremgang og identifisere hensiktsmessige gjenbruksstrategier
Hudson og Koltuns Reuse Maturity Model består av følgende 5 faser:◦1. Initial/Chaotic◦2. Monitored◦3. Coordinated◦4. Planned◦5. Ingrained
16
State-of-the-art of Software State-of-the-art of Software ReuseReuseHvordan oppnå systematisk
programvaregjenbruk?
Program for gjenbrukEndringer i utviklingsprosessEndringer i organisasjonPilotprosjekt
Figuren viser fire samvirkende
prosesser som inngår i
systematisk gjenbruk
17
Valg av empiriske Valg av empiriske fremgangsmåterfremgangsmåterBåde kvalitative og kvantitative
fremgangsmåter ble benyttet:◦Møter med utviklere◦Gjennomgang av
systemdokumentasjon◦Analyse av kildekode◦Gjennomgang av utviklingsprosess◦Intervju◦Spørreundersøkelse
18
Undersøkelse av nåværende Undersøkelse av nåværende gjenbruksnivå i GLD-systemene gjenbruksnivå i GLD-systemene (T2)(T2)Benyttet følgende
fremgangsmåter:1. Gjennomgang av dokumentasjon
og programbeskrivelser for alle GLD systemer
2. Analyse av kildekode for utvalgte programmer
3. Kartlegging av modenhetsnivå i henhold til Koltun og Hudsons ”Reuse Maturity Model” (RMM)
19
Undersøkelse av nåværende Undersøkelse av nåværende gjenbruksnivå i GLD-systemene gjenbruksnivå i GLD-systemene (T2)(T2)1. Gjennomgang av dokumentasjon og
programbeskrivelser for alle GLD systemer
Hensikten var å identifisere komponenter brukt på tvers av applikasjoner
Kryss-sjekket alle programmer beskrevet i programbeskrivelsene
20
Undersøkelse av nåværende Undersøkelse av nåværende gjenbruksnivå i GLD-systemene gjenbruksnivå i GLD-systemene (T2)(T2)1. Gjennomgang av dokumentasjon og
programbeskrivelser for alle GLD systemer
21
Undersøkelse av nåværende Undersøkelse av nåværende gjenbruksnivå i GLD-systemene gjenbruksnivå i GLD-systemene (T2)(T2)1. Gjennomgang av dokumentasjon og
programbeskrivelser for alle GLD systemer
Fire programmer ble brukt på tvers innen GA/LTO systemet
Ett program ble brukt på tvers i de resterende 14 GLD systemene
22
Undersøkelse av nåværende Undersøkelse av nåværende gjenbruksnivå i GLD-systemene gjenbruksnivå i GLD-systemene (T2)(T2)2. Analyse av kildekode for
utvalgte programmer
Hensikten var å identifiserte likheter i programmer mellom
◦ Årsversjoner◦ Forskjellige GLD systemerBenyttet ulike verktøy◦ Winmerge (for å finne differanser)◦ Egenutviklede programmer i Java
23
Undersøkelse av nåværende Undersøkelse av nåværende gjenbruksnivå i GLD-systemene gjenbruksnivå i GLD-systemene (T2)(T2)2. Analyse av kildekode for
utvalgte programmer I gjennomsnitt 60% felles kodelinjer i
programmer mellom forskjellige GLD systemer
24
Undersøkelse av nåværende Undersøkelse av nåværende gjenbruksnivå i GLD-systemene gjenbruksnivå i GLD-systemene (T2)(T2)2. Analyse av kildekode for
utvalgte programmer Vi identifiserte mellom 97-99% felles
kodelinjer mellom programmer for ulike årsversjoner
25
Undersøkelse av nåværende Undersøkelse av nåværende gjenbruksnivå i GLD-systemene gjenbruksnivå i GLD-systemene (T2)(T2)3. Koltun og Hudsons RMM Hensikten var å tilby en kvantitativ
indikator for gjeldende gjenbruksnivå i de valgte GLD systemene
Vi benyttet en fremgangsmåte som fastslo modenhetsnivået ut i fra tre faktorer for gjenbruk:
1. Repository structure (r)
2. Software development architecture (s)
3. Administrative management (g) Beregnet gjenbruksnivå med formel:
26
Undersøkelse av nåværende Undersøkelse av nåværende gjenbruksnivå i GLD-systemene gjenbruksnivå i GLD-systemene (T2)(T2)3. Koltun og Hudsons RMM
Formelen gav 5.41 poeng, altså er GLD systemene på nivå B ”Monitored”
27
Undersøkelse av nåværende Undersøkelse av nåværende gjenbruksnivå i GLD-systemene gjenbruksnivå i GLD-systemene (T2)(T2)Begrensinger ved fremgangsmåterSKDs programdokumentasjon var
ufullstendigDokumentgjennomgangen fant kun
komponenter som ble brukt på tvers av applikasjoner
Kun CICS programmer ble gjennomgått i kildekodeanalysen
Fremgangsmåten for å kartlegge gjenbruksnivået i Koltun og Hudsons modell var lite benyttet i litteraturen
28
Gjennomgang av SKDs Gjennomgang av SKDs utviklingsprosess (T3)utviklingsprosess (T3)Benyttet følgende
fremgangsmåter:1. Spørreundersøkelse blant 25
utviklere hos SKD2. Gjennomgang av SKDs
utviklingsprosess3. Intervju med prosessansvarlig
29
Gjennomgang av SKDs Gjennomgang av SKDs utviklingsprosess (T3)utviklingsprosess (T3)1. Spørreundersøkelse blant 25
utviklere hos SKD Positiv holdning mot programvaregjenbruk Gjenbruk er viktig for å oppnå fordeler som
redusert utviklingstid og kostnad, høyere kvalitet etc
Det bør være mer gjenbruk enn det er i dag Delte meninger om hvorvidt prosessen for å
finne, fastsette eller gjenbruke fungerer eller ikke
Ingen klart definert måte for å gjenbruke kode eller design komponenter
30
Gjennomgang av SKDs Gjennomgang av SKDs utviklingsprosess (T3)utviklingsprosess (T3)2. Gjennomgang av SKDs
utviklingsprosess Programvaregjenbruk er ikke beskrevet i
utviklingsprosessen Samtaler med utviklere bekreftet at det
ikke eksisterer noen formell prosess for gjenbruk
3. Intervju med prosessansvarlig Det ble enda en gang bekreftet at det ikke
eksisterer noen formell prosess for gjenbruk
31
Gjennomgang av SKDs Gjennomgang av SKDs utviklingsprosess (T3)utviklingsprosess (T3)Begrensinger ved fremgangsmåterSpørreskjema IntervjuMøter med utviklerne
32
Gjennomgang av muligheteter Gjennomgang av muligheteter for systematisk gjenbruk innen for systematisk gjenbruk innen SKD (T4)SKD (T4)Benyttet følgende input:
1. Funn fra T1 (litteraturgjennomgang)2. Funn fra T3
33
Gjennomgang av muligheteter Gjennomgang av muligheteter for systematisk gjenbruk innen for systematisk gjenbruk innen SKD (T4)SKD (T4)Hva er potensialet for systematisk
gjenbruk og hvordan kan SKD oppnå det?
34
KonklusjonKonklusjonHøy nivå av gjenbrukte kodelinjer
◦Ad-hocNivå B ”Monitored” i RMMUtviklerne har positive holdninger
til gjenbrukNåværende utviklingsprosess tar
ikke hensyn til programvaregjenbruk◦Endringer må til i prosessen for å
oppnå et høyere nivå av gjenbruk35
Videre arbeidVidere arbeidIntroduksjon av program for
systematisk gjenbrukIdentifisere innholdet i likhetene
mellom programmeneSpørreundersøkelseGjenbrukte komponenter vs.
ikke-gjenbrukte komponenterSuksessfaktorer i systematik
gjenbruk
36
RefleksjonerRefleksjonerFordeler Interessant og
lærerikt tema, med relevans til jobben vi nå skal ut i
Stor hjelp både fra veileder og SKD
I alt er vi godt fornøyd med sluttresultatet
Ulemper Geografisk avstand
mellom oss og SKD Usikkerhet rundt GLD
systemenes fremtid Mangelfull
dokumentasjon rundt systemene
37