Gamle systemer In 140 Sommerville kap 26 Forelesninger

  • Slides: 30
Download presentation
Gamle systemer In 140 Sommerville kap 26

Gamle systemer In 140 Sommerville kap 26

Forelesninger fremover n n n 8/4: Gamle systemer 22/4: Systemevolusjon og vedlikehold 28/4: Konfigurasjonsstyring.

Forelesninger fremover n n n 8/4: Gamle systemer 22/4: Systemevolusjon og vedlikehold 28/4: Konfigurasjonsstyring. Styring av endringer. Versjonsproblematikk 5/5: 1) Brukermedvirkning 2) Åpen kildekode som systemutviklingsmetode 6/5: Oppsummering med eksamenstips

Mål Forstå hva som menes med gamle systemer og hvorfor disse systemene er sentrale

Mål Forstå hva som menes med gamle systemer og hvorfor disse systemene er sentrale i mange organisasjoner n Bli kjent med hvordan slike systemer kan være bygd opp n Kjenne til funksjonsorientert design. n Forstå hvordan man beslutter om slike systemer skal: kasseres, vedlikeholdes, gjenoppbygges eller erstattes n

Introduksjon n n n Systemer koster mye og bør derfor ha lang levetid Levetid

Introduksjon n n n Systemer koster mye og bør derfor ha lang levetid Levetid ofte over 10 år, kanskje over 20 år Gamle systemer er ofte forretningskritiske Systemene har utviklet og endret seg Mange endringer over mange år Ingen forstår helt hvordan systemet virker Kassere og erstatte gamle systemer er risikabelt.

Risiko ved endring av gamle systemer – Spesifikasjonene er mangelfull eller gått tapt. –

Risiko ved endring av gamle systemer – Spesifikasjonene er mangelfull eller gått tapt. – System og forretningsvirksomhet er sammenvevd. – Forretningsregler er innebygd i systemet og ikke dokumentert på annen måte. – Nyutvikling er risikabelt i seg selv. – Hva skjer med integrasjon mot andre systemer?

Kostbart å vedlikeholde gamle systemer n n n Mange har vært involvert – dårlig

Kostbart å vedlikeholde gamle systemer n n n Mange har vært involvert – dårlig konsistens Laget i programmeringsspråk som få behersker i dag. Dårlig eller ingen systemdokumentasjon utenom kildekoden Vedlikeholdet har ødelagt strukturen i systemet Optimerte systemer er mindre forståelige Data i filer med ulik struktur – dobbeltlagring

Dilemma n Fortsatt bruk av gammelt system – stadig økte kostnader n Dyrt og

Dilemma n Fortsatt bruk av gammelt system – stadig økte kostnader n Dyrt og risikabelt å erstatte gammelt system n Kan noe gjøres for å utvide levetiden for gamle systemer og redusere kostnaden ved å drive dem videre?

Struktur i gamle systemer Ikke bare programvare n Sosio-teknisk system n – – –

Struktur i gamle systemer Ikke bare programvare n Sosio-teknisk system n – – – – – Brukere Programvare Maskinvare Data Forretningsprosesser Leverandører Ledelsen Strategier Lover & regler

Strukturen i et gammelt system

Strukturen i et gammelt system

Lagdelt modell

Lagdelt modell

Endring av lagdelt modell n Kan man endre et lag uten å påvirke de

Endring av lagdelt modell n Kan man endre et lag uten å påvirke de andre? n Ja, MEN: – Endringer gir nye muligheter som høyere lag vil utnytte. . . – Endringer kan involvere tyngre programvare. . . – Endring av hardware fører ofte til endring av operativsystem

Strukturen i gamle applikasjoner

Strukturen i gamle applikasjoner

Database-sentrert system

Database-sentrert system

Transaksjonsbehandling

Transaksjonsbehandling

Design av gamle systemer Ikke samarbeidende objekter – samling av subrutiner (funksjoner) n Subrutiner

Design av gamle systemer Ikke samarbeidende objekter – samling av subrutiner (funksjoner) n Subrutiner kan kalle (bruke) andre subrutiner n Avhengig av språk kan data være: n – Tilgjengelige for hele systemet – Private for hver subrutine n Designstrategien er – Å dele inn programfunksjonaliteten i subrutiner – Felles data (systemtilstand) som deles av subrutinene n Teori for designstrategi (70'-start 80') – Top down-design – Structured design

Funksjonsorientert design Algoritmekomleksitet overvinnes ved å dele inn i subrutiner n Felles statiske data

Funksjonsorientert design Algoritmekomleksitet overvinnes ved å dele inn i subrutiner n Felles statiske data er et stort problem n Funksjonsorientert utforming fungerer bra når n – Deling av data er uttrykt (vist som funksjonsparametre) – Systemet håndterer uavhengige enkle inndata n Databehandlingssystemer er ofte postorienterte – De passer godt til funksjonsorientert utforming

Input-process-output model

Input-process-output model

Lønningssystem DFD

Lønningssystem DFD

Vurdering av gamle systemer n Hvilken løsning er mest kosteffektiv? – – n Kassere

Vurdering av gamle systemer n Hvilken løsning er mest kosteffektiv? – – n Kassere systemet Fortsette vedlikehold Forandre systemet for lettere vedlikehold Erstatte systemet med et nytt system Beslutningen avhenger av – Det eksisterende systemets verdi og kvalitet. n Svaret kan være forskjellig for ulike deler av systemet

System quality and business value

System quality and business value

Hva gjør vi med de gamle systemene? n Fire muligheter – – Lav kvalitet,

Hva gjør vi med de gamle systemene? n Fire muligheter – – Lav kvalitet, lav forretningsverdi Lav kvalitet, høy forretningsverdi Høy kvalitet, lav forretningsverdi Høy kvalitet, høy forretningsverdi Objektiv kvalitetsvurdering n Ikke objektive forhold n – Organisasjonsendringer – Organisasjonsstandarder – Budsjetthensyn

Vurdering av forretningsverdi n Ingen enkle metoder n Hent synspunkter fra flere interessenter –

Vurdering av forretningsverdi n Ingen enkle metoder n Hent synspunkter fra flere interessenter – Sluttbrukere – Kunder – Avdelingsledere – IT-ledere – Toppledere

Lagdelt modell

Lagdelt modell

Vurdering av systemkvalitet n Hele det sosio-tekniske systemet må vurderes: – Brukere – Programvare

Vurdering av systemkvalitet n Hele det sosio-tekniske systemet må vurderes: – Brukere – Programvare – Maskinvare – Data – Forretningsprosesser – Leverandører

Vurdering av forretningsprosessen Prosesskvalitet n Spørsmål som kan stilles: n – Finnes det en

Vurdering av forretningsprosessen Prosesskvalitet n Spørsmål som kan stilles: n – Finnes det en modell for prosessen? – Er samme prosess brukt for samme funksjon i hele organisasjonen? – Hvordan har man tilpasset prosessen til arbeidet? – Er det sammenheng med andre prosesser, er sammenhengen klar for de involverte? – Støttes prosessen effektivt av applikasjonsprogrammet • Leverer det nødvendig informasjon? • Må samme informasjon registreres flere steder? n Normalt forskjell på teori og praksis

Vurdering av støttemiljø n Endringer i støttemiljøet fører til endringer i applikasjonsprogrammet n Dette

Vurdering av støttemiljø n Endringer i støttemiljøet fører til endringer i applikasjonsprogrammet n Dette bør inngå i vurderingen: – Leverandørstabilitet – Oppetid – Alder – Ytelse – Behov for støtte – Vedlikeholds- og driftskostnader – Interoperabilitet

Vurdering av applikasjonsprogramvare n Avviker fra vurdering av systemer under bygging – Foreldede standarder

Vurdering av applikasjonsprogramvare n Avviker fra vurdering av systemer under bygging – Foreldede standarder og teknikker – Struktur ødelagt av forandringer – Mangelfull dokumentasjon n Forhold som inngår i vurdering – – – – Forståelighet Dokumentasjon Data Ytelse Programmeringsspråk Konfigurasjonsstyring Testdata Personalets kunnskap og kompetanse

Vurdering av applikasjonsprogramvare n Kvantitative måltall – Antall forandringsønsker – Antall brukergrensesnitt – Datavolum

Vurdering av applikasjonsprogramvare n Kvantitative måltall – Antall forandringsønsker – Antall brukergrensesnitt – Datavolum Arbeid å skaffe denne informasjonen n Sammenholdes med alder og systemstørrelse n

Gamle systemer: Hovedpunkter I Systemet er ikke bare applikasjon, men sosiotekninske system n Består

Gamle systemer: Hovedpunkter I Systemet er ikke bare applikasjon, men sosiotekninske system n Består gjerne av mange programmer som deler data i filer eller foreldede DBMS n De fleste er bygd på funksjonsorientert utvikling – De er satt sammen av funksjoner som kommuniserer gjennom parametere og globale delte dataområder n

Gamle systemer: Hovedpunkter II n To hovedtyper: – Batch- systemer – Transaksjonssystemer Felles struktur:

Gamle systemer: Hovedpunkter II n To hovedtyper: – Batch- systemer – Transaksjonssystemer Felles struktur: input, behandle, output n Forretningsverdi og kvalitet må vurderes før man velger kassering, omforming, videre vedlikehold, erstatning n Systemkvaliteten avhenger av n – Forretningsprosess – Støttesystemer – Selve applikasjonen