Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Study of Software reuse at Skattedirektoratet Master’s thesis oral exam, 24 May 2008 Line Ånderbakk Olsen Thor Ånderbakk Olsen 1.

Liknende presentasjoner


Presentasjon om: "Study of Software reuse at Skattedirektoratet Master’s thesis oral exam, 24 May 2008 Line Ånderbakk Olsen Thor Ånderbakk Olsen 1."— Utskrift av presentasjonen:

1 Study of Software reuse at Skattedirektoratet Master’s thesis oral exam, 24 May 2008 Line Ånderbakk Olsen Thor Ånderbakk Olsen 1

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 2

3 Skattedirektoratets IT-avdeling En av landets største når det kommer til datamengde og antall brukere En av landets største når det kommer til datamengde og antall brukere Ca. 220 ansatte Ca. 220 ansatte 3

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 4

5 GLD systemene 5

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? 6

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 7

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 8

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 9

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 10

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å 11

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 12

13 State-of-the-art of Software Reuse Gjenbruksperspektiver 13

14 State-of-the-art of Software Reuse Fremgangsmåter for programvare gjenbruk Applikasjonsgeneratorer Programvarearkitektur Komponenter ”Code Scavenging” 14

15 State-of-the-art of Software Reuse Flere ikke-tekniske aspekter å ta hensyn til: Menneskelige Kulturelle Økonomiske Organisatoriske 15

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 16

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 17

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 18

19 Undersøkelse av nåværende gjenbruksnivå i GLD-systemene (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

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 20

21 Undersøkelse av nåværende gjenbruksnivå i GLD-systemene (T2) 1. Gjennomgang av dokumentasjon og programbeskrivelser for alle GLD systemer 21

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 22

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 23

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 24

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 25

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: 1.Repository structure (r) 2.Software development architecture (s) 3.Administrative management (g) Beregnet gjenbruksnivå med formel: 26

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” 27

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 28

29 Gjennomgang av SKDs utviklingsprosess (T3) Benyttet følgende fremgangsmåter: 1.Spørreundersøkelse blant 25 utviklere hos SKD 2.Gjennomgang av SKDs utviklingsprosess 3.Intervju med prosessansvarlig 29

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 30

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 31

32 Gjennomgang av SKDs utviklingsprosess (T3) Begrensinger ved fremgangsmåter Spørreskjema Intervju Møter med utviklerne 32

33 Gjennomgang av muligheteter for systematisk gjenbruk innen SKD (T4) Benyttet følgende input: 1.Funn fra T1 (litteraturgjennomgang) 2.Funn fra T3 33

34 Gjennomgang av muligheteter for systematisk gjenbruk innen SKD (T4) Hva er potensialet for systematisk gjenbruk og hvordan kan SKD oppnå det? 34

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 35

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 36

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


Laste ned ppt "Study of Software reuse at Skattedirektoratet Master’s thesis oral exam, 24 May 2008 Line Ånderbakk Olsen Thor Ånderbakk Olsen 1."

Liknende presentasjoner


Annonser fra Google