Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
1
Line Ånderbakk Olsen Thor Ånderbakk Olsen
Study of Software reuse at Skattedirektoratet Master’s thesis oral exam, 24 May 2008 Line Ånderbakk Olsen Thor Ånderbakk Olsen
2
Disposisjon Skattedirektoratets IT-avdeling Problembeskrivelse
Forskningsspørsmål SKDs mål med oppgaven State-of-the-art of Software Reuse Presentasjon av hvert enkelt tema Konklusjon Videre arbeid Refleksjoner
3
Skattedirektoratets IT-avdeling
En av landets største når det kommer til datamengde og antall brukere Ca. 220 ansatte
4
GLD systemene Eldre systemer som stammer tilbake fra slutten av 80-tallet Skrevet i COBOL og kjører på SKDs stormaskin I alt finnes det 15 GLD systemer Hovedformålet med GLD-systemene er å motta og lagre skatterelatert informasjon fra tredjepart og for forhåndsutfylling av selvangivelse
5
GLD systemene
6
Forskningsspørsmål RQ1: 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?
7
SKDs mål med oppgaven Goal 1: Propose a process which assures software reuse Goal 2: Propose an ideal architecture for GLD, with focus on reuse
8
Tema State-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
9
Bidrag Litteraturgjennomgang om programvaregjenbruk
Estimat av gjenbruksnivå i de valgte GLD- systemene Spørreundersøkelse om programvareutviklingsprosess og gjenbruksaspekter hos SKD Forslag til prosess som skal sikre systematisk gjenbruk innen SKD
10
State-of-the-art of Software Reuse
Programvaregjenbruk vil si å skape nye systemer ut fra eksisterende komponenter og systemer ”Alt” kan gjenbrukes: Arkitektur Kildekode Dokumentasjon GUI Kravspesifikasjoner
11
State-of-the-art of Software Reuse
Ad-hoc Uformell prosess Få 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å
12
State-of-the-art of Software Reuse
Fordeler Ø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
13
State-of-the-art of Software Reuse
Gjenbruksperspektiver
14
State-of-the-art of Software Reuse
Fremgangsmåter for programvare gjenbruk Applikasjonsgeneratorer Programvarearkitektur Komponenter ”Code Scavenging”
15
State-of-the-art of Software Reuse
Flere ikke-tekniske aspekter å ta hensyn til: Menneskelige Kulturelle Økonomiske Organisatoriske
16
State-of-the-art of Software Reuse
Organisasjoner 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
17
State-of-the-art of Software Reuse
Hvordan oppnå systematisk programvaregjenbruk? Program for gjenbruk Endringer i utviklingsprosess Endringer i organisasjon Pilotprosjekt Figuren viser fire samvirkende prosesser som inngår i systematisk gjenbruk
18
Valg av empiriske fremgangsmåter
Bå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
19
Undersøkelse av nåværende gjenbruksnivå i GLD-systemene (T2)
Benyttet følgende fremgangsmåter: Gjennomgang av dokumentasjon og programbeskrivelser for alle GLD systemer Analyse av kildekode for utvalgte programmer Kartlegging av modenhetsnivå i henhold til Koltun og Hudsons ”Reuse Maturity Model” (RMM)
20
Undersøkelse av nåværende gjenbruksnivå i GLD-systemene (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
21
Undersøkelse av nåværende gjenbruksnivå i GLD-systemene (T2)
1. Gjennomgang av dokumentasjon og programbeskrivelser for alle GLD systemer
22
Undersøkelse av nåværende gjenbruksnivå i GLD-systemene (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
23
Undersøkelse av nåværende gjenbruksnivå i GLD-systemene (T2)
2. Analyse av kildekode for utvalgte programmer Hensikten var å identifiserte likheter i programmer mellom Årsversjoner Forskjellige GLD systemer Benyttet ulike verktøy Winmerge (for å finne differanser) Egenutviklede programmer i Java
24
Undersøkelse av nåværende gjenbruksnivå i GLD-systemene (T2)
2. Analyse av kildekode for utvalgte programmer I gjennomsnitt 60% felles kodelinjer i programmer mellom forskjellige GLD systemer
25
Undersøkelse av nåværende gjenbruksnivå i GLD-systemene (T2)
2. Analyse av kildekode for utvalgte programmer Vi identifiserte mellom 97-99% felles kodelinjer mellom programmer for ulike årsversjoner
26
Undersøkelse av nåværende gjenbruksnivå i GLD-systemene (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: Repository structure (r) Software development architecture (s) Administrative management (g) Beregnet gjenbruksnivå med formel:
27
Undersøkelse av nåværende gjenbruksnivå i GLD-systemene (T2)
3. Koltun og Hudsons RMM Formelen gav 5.41 poeng, altså er GLD systemene på nivå B ”Monitored”
28
Undersøkelse av nåværende gjenbruksnivå i GLD-systemene (T2)
Begrensinger ved fremgangsmåter SKDs programdokumentasjon var ufullstendig Dokumentgjennomgangen 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
29
Gjennomgang av SKDs utviklingsprosess (T3)
Benyttet følgende fremgangsmåter: Spørreundersøkelse blant 25 utviklere hos SKD Gjennomgang av SKDs utviklingsprosess Intervju med prosessansvarlig
30
Gjennomgang av SKDs 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
31
Gjennomgang av SKDs utviklingsprosess (T3)
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
32
Gjennomgang av SKDs utviklingsprosess (T3)
Begrensinger ved fremgangsmåter Spørreskjema Intervju Møter med utviklerne
33
Gjennomgang av muligheteter for systematisk gjenbruk innen SKD (T4)
Benyttet følgende input: Funn fra T1 (litteraturgjennomgang) Funn fra T3
34
Gjennomgang av muligheteter for systematisk gjenbruk innen SKD (T4)
Hva er potensialet for systematisk gjenbruk og hvordan kan SKD oppnå det?
35
Konklusjon Høy nivå av gjenbrukte kodelinjer Nivå B ”Monitored” i RMM
Ad-hoc Nivå B ”Monitored” i RMM Utviklerne har positive holdninger til gjenbruk Nåværende utviklingsprosess tar ikke hensyn til programvaregjenbruk Endringer må til i prosessen for å oppnå et høyere nivå av gjenbruk
36
Videre arbeid Introduksjon av program for systematisk gjenbruk
Identifisere innholdet i likhetene mellom programmene Spørreundersøkelse Gjenbrukte komponenter vs. ikke- gjenbrukte komponenter Suksessfaktorer i systematik gjenbruk
37
Refleksjoner Fordeler Ulemper
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
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.