Systemutviklingsarbeidet et overblikk DRI2001 forelesning 6.10.04 Hva er systemutvikling (SU) Et enkelt eksempel å bygge et hus Rammer for SU-arbeidet Ulike SU-metoder Perspektiver i SU-arbeidet SU er også organisasjonsutvikling Pensum: Braadland, kap. 17-18 Støttelitteratur - G. Skagestein : Systemutvikling (pensum INF1050) - Avison & Fitzgerald: Information System Development 1
Vår forståelse av informasjonssystemer Et IS kan defineres som [Ande89]: Et system for innsamling, bearbeiding, lagring, overføring og presentasjon av informasjon, En bedre definisjon Samlingen av menneskelige og maskinelle ressurser samt regler og prosedyrer organisert for å utføre bestemte funksjoner og løse en bestemt oppgave (Beekman 1995) Det finnes både manuelle og databaserte systemer! Et system har et mål, består av elementer og relasjoner mellom disse, og er avgrenset mot omverdenen. Vi arbeider med åpne systemer, dvs. systemer som har interaksjon mellom omverdenen. 2
Forholdet mellom informasjonssystemet og virkeligheten.. Virkeligheten interesseområdet F eks. regler for studiefinansiering Brukerne Informasjonssystem 3
Informasjonssystem og datasystem Datasystem inngår i et Informasjons-system som inngår i en organisert samhandling Organisasjon og samfunn Rammer for samhandling Informasjonssystem Datasystem = formaliserbar del automatiserbar del 4
Rammer for SU-arbeidet i off. forvaltning Noen rettslige rammer POL, Off. loven., forvaltningsloven, innkjøpsreglement, Rettslige krav til elektronisk kommunikasjon (fvl. 15) Opphavsrett (lov om åndsverk) Arbeidsmiljøloven, avtaleverket mellom partene i arbeidslivet Etiske retningslinjer, bl.a ACM code of ethics and prof. conduct Krav til sikkerhet Økonomiske rammer Organisatoriske rammer Andre viktige forhold, f eks. til omgivelsene 5
Noen viktige begreper i SU-arbeidet Systemutviklings modell (strategi) Rammeverk for hvordan SU-prosessen foregår, eks. livssyklusmodellen Systemutviklingsmetode En detaljert beskrivelse av faser, aktiviteter, milepeler,,,, Eks. fossefallsmetoden, inkrementelle SU, spiralmodellen,. Analyse En detaljert kartlegging/fortolkning av rammer, ønsker og behov, som skal gi en kravspesifikasjon Utforming (design) En presis logisk beskrivelse av det framtidige system, i form av en modell, f eks. datamodell (i ORM), objektmodell (i UML) Realisering Lage systemet gjennom f eks. programmering, ev tilpasse et ferdig system 6
Informasjonssystemets livsløp (Livssyklysmodellen) - et grovt bilde Bestemme at et system skal utvikles Utforme systemet Systemet settes i drift Fastlegge behov og krav: Analyse Realisere systemet Bruk og Vedlikehold Bestemme å bygge hus Bli enig om behov og krav Tegne huset Flytte inn Tid Bo og Bygge huset vedlikeholde 7
Systemutviklingsprosessen Den tradisjonelle fossefallsmetoden Problembeskrivelse Systemanalyse Kravspesifikasjon Systemutforming (design) Logisk modell Realisering (f eks. programmering) Ferdig system Implementasjon Bruk, Drift & vedlikehold Tid 8
Fossefallsmetoden med laksetrapper Problembeskrivelse Systemanalyse Kravspesifikasjon Systemutforming (design) Logisk modell Realisering (f eks. programmering) Ferdig system Implementasjon Bruk, Drift & vedlikehold Tid 9
Men - fossefallsmetodene har vist seg utilstrekkelig!! Problemet er ikke veldefinert (upresist) Ønsker og behov er uklare/ikke konsistente Rammer og begrensninger er ikke klarlagt Verden er i forandring Brukernes ønsker endrer seg Omgivelsene endrer seg Tekniske forhold endrer seg Alternative modeller er nødvendig Evolusjonær systemutvikling Eksperimentell systemutvikling Ekstrem programmering Kombinasjoner i praksis 10
Inkrementell systemutvikling Problembeskrivelse 1. Kravspek. 1. Logisk modell 1. System versjon i bruk Revidert problembeskr. 2. Kravspek. 2. Logisk modell 2. System versjon i bruk Tid + kostnader 11
Eksperimentell systemutvikling Problembeskrivelse 1. Kravspek. 1. Logisk modell Test av 1. System versjon 2. Kravspek. 2. Logisk modell 2. System versjon i bruk Tid + kostnader 12
Kjøp av ferdig system hva skal da inngå? Problembeskrivelse Ja Systemanalyse Kravspesifikasjon Tja Systemutforming (design) Logisk modell Kanskje? Realisering (f eks. programmering) Ferdig system Implementasjon Nei Ja Bruk, Drift & vedlikehold Tid 13
Ulike perspektiver i systemutviklingsarbeidet Dataorientering (DO): Fokus på elementer og relasjoner (struktur), f eks. ved utvikling av register/database, hvor dataene modelleres som tabeller Funksjonsorientering (FO) Fokus på de formaliserteregler og prosedyrer F eks. rettsregler, matematiske behandlingsregler,.. Hendelsesorientering (HO) Fokus på hvordan reagerer på viktige begivenheter Transaksjonssystem (billettbestilling ) Objektorientering (O-O) Fokus på objekter som omfatter både data og operasjoner på disse Eks. utvikle vev-tjenester 14
Noen kritiske faktorer for systemutvikling Funksjonelle krav systemets brukbarhet Rettslige krav Andre funksjonskrav Brukervennlighet mm Tekniske krav systemets (tekniske) kvalitet Systemets totale kostnader Utviklingskostnader Igangsetting - og brukskostnader Drifts- og vedlikeholdskostnader Leveransetidspunkt Sikkerhet og sårbarhet 15
Er systemutvikling (bare) en teknisk utviklingsprosess? Teknisk system Organisatorisk- og sosial system 16
Et sosio-teknisk perspektiv på systemutvikling er viktig: Et nytt informasjonssystem innebærer nye arbeidsmåter og krever ny kompetanse Systemutvikling innebærer å endre arbeidsoppgaver og samarbeidsprosesser, inkludert at ansatte skifter arbeidssted eller må slutte Systemutvikling innebærer som regel å endre organisatoriske og sosiale strukturer, Systemutvikling vil også ofte innebære å endre makt forhold i organisasjonen En vesentlig del av systemutviklingsprosessen er å forberede ansatte (på alle nivåer) på endringer 17
Faser i SU-arbeidet Den organisatoriske siden (OU) Problemidentifisering og problemanalyse (diagnose): Fastsette mål for endringsarbeidet Klarlegge endringsbehov Beskrive (utforme) organisatoriske endringer Nye rutiner, prosedyrer, ansvars- og beslutningsstrukturer etc. Beskrive opplæringsbehov Realisere og gjennomføre endringene Opplæring, motivasjon,.. Igangsette ny organisasjonsform 18
En sosio-teknisk tilnærming gir mange fordeler Prosessen er fleksibel og robust for endringer Gir mulighet for omstilling gjennom medvirkning og samarbeid Den gir mulig for læring og kompetansehevning Alle deltar men også ta ansvar Arbeidsmiljø og sosiale forhold blir vedlagt Men Utviklingsarbeidet krever mer tid (og koster mer penger) Utviklingsarbeidet er vanskeligere å planlegge Utviklingsarbeidet krever høyere kompetanse hos de ansatte Dokumentasjon er ofte vanskeligere 19
.. Et forvaltningsinformatisk perspektiv på systemutvikling er viktig Samfunnet rundt oss Det rettslige grunnlaget Informasjonssystemet Teori, metoder og teknikker for å utvikle programsystem er 20