1 / 37

Study of Software reuse at Skattedirektoratet Master’s thesis oral exam, 24 May 2008

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

jafari
Download Presentation

Study of Software reuse at Skattedirektoratet Master’s thesis oral exam, 24 May 2008

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Study of Software reuse at SkattedirektoratetMaster’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 • Systematisk gjenbruk • Formell, konsistent og repeterbar prosess • Planlagt gjenbruk • Organisasjonelt nivå • Krever investreringer • Mulig å måle gjeldende nivå Ad-hoc • Uformell prosess • Få eller ingen metoder som sikrer gjenbruk • Gjenbruk oppstår ved tilfeldigheter • Individuelt nivå • ”Klipp-og-lim”

  12. State-of-the-art of Software Reuse • Problemer • Støtte og forståelse fra ledelse og utviklere • Arkitektur som understøtter gjenbruk • Lagre, klassifisere og identifisere gjenbrukbare komponenter Fordeler • Økt kvalitet • Økt produktivitet og redusert utviklingstid • Forbedret interaksjon mellom ulike systemer • Reduserte kostnader • Enklere å e stimere tid og kostnad

  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) 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

  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 • 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 Ulemper • Geografisk avstand mellom oss og SKD • Usikkerhet rundt GLD systemenes fremtid • Mangelfull dokumentasjon rundt systemene Fordeler • 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

More Related