Introduksjon til systemutvikling
Hovedmål Få kunnskap om og kjenne til ulike modeller, metoder, teknikker og verktøy for utvikling av informasjonssystem Kunne bruke spesifikke systemutviklings-modeller, metoder, teknikker og verktøy til å bygge et informasjonssystem
Hva er systemering? Relativt nytt fagområde - uenighet om hvordan avgrensingen skal gjøres og om det teoretiske grunnlaget Ulike oppfatninger i forskjellige lærebøker Systemering = Systemutvikling - dvs at fagområdet omfatter alt som har med analyse, design (utforming), realisering, implementering og vedlikehold av informasjonssystemer Noen bøker avgrenser seg til å omfatte bare analyse og design-fasene.
Hva er systemering? En prosess som tar for seg utviklingen og vedlikeholdet av et informasjonssystem Målet er å forbedre informasjonssystem i en organisasjon ved å utvikle program som gjør at ansatte kan utføre sine oppgaver lettere og mer effektivt.
Nøkkelfaktorer Vanskeligere enn noen sinne å organisere og tilgjengeliggjøre informasjon – skape en riktig og funksjonell informasjonsflyt Evnen til å arbeide i et team Internett vil være en viktig del av et hvert menneskes arbeidsliv
Formål - 1 Forstå systemutvikling som prosjekt – hvordan arbeider vi sammen mot et felles mål. Viktige momenter er: Planlegging – hva gjør vi for å nå målet vårt Prosjektstyring – blir vi ferdig som planlagt Risikoanalyse – hva er sannsynligheten for at noe kan gå galt og hvordan kan vi løse dette
Formål - 2 Forstå systemutvikling som en måte for å tilfredsstille kundens krav / behov. Viktige momenter er: Forstå kundekrav. Hva ønsker kunden seg? Hvilke problemer ønsker han å løse? Fra kundekrav til systemkrav. Omforme kundenes krav til noe vi kan realisere i en programvare
Formål - 3 Realisere et system som oppfyller kundens krav. Viktige momenter er: Arkitektur – hvordan dele opp systemet i del-systemer på en effektiv måte. Design av delsystemer – hvordan dele opp i uavhengige moduler for å realisere del-systemets oppgaver.
Systemanalytikerens rolle En meget sentral person i en systemutviklingsprosess Må ha forståelse for en organisasjons mål, struktur og prosesser Må ha kunnskap om å utnytte informasjonsteknologi slik at det gir fordeler i virksomheten
Informasjonssystemet består av: Brukerprogram Hardware og systemprogram Dokumentasjon og opplæringsmateriell Driftspersonell – nettverk – programvedlikehold osv. Sikkerhetsrutiner Brukerne
Systemutvikleren som en koordinator
SYSTEMERING:
Hvorfor systemutvikling? Utvikle informasjonssystem uten bruk av en systemutviklingsstrategi MAGI PROBLEM PROGRAMMERING TEST
Hvorfor systemutvikling? Egnet redskap for å beskrive og utvikle komplekse informasjonssystem Vi kan ikke håndtere alle kravene til systemet samtidig, derfor: vi må håndtere kompleksitet på en organisert måte
Hvorfor systemutvikling? Gir bedre dokumentasjon enn observasjon Gir felles språkbruk og referanseramme Letter kommunikasjon mellom mennesker Gjenbruk
Hvorfor systemutvikling? Bedrer kontrollmulighetene Tidsbruk Kostnader Øker effektiviteten
Noen viktige begreper i systemutvikling Modell: Overordnet oversikt over utviklingsarbeidet Metode: En trinn for trinn beskrivelse av en fremgangsmåte for å løse et bestemt problem Teknikk: Oppskrift på hvordan man lager en detaljert beskrivelse Verktøy: Fysisk hjelpemiddel for å lage en beskrivelse etc.
Noen viktige begreper Verktøy Teknikk Metode Modell
Modell (for systemutvikling) En overordnet framgangsmåtebeskrivelse/ rammeverk for systemutvikling Tradisjonell systemutvikling (fossefallsmodellen) Eksperimentell systemutvikling (prototyping) Evolusjonær systemutvikling eXtreme Programming
Metode En detaljert framgangsmåte skritt for skritt for å nå et bestemt mål Et fullstendig sett av midler - en generell oppskrift SA (Strukturert Analyse) OOA (Objektorientert analyse)
Teknikk En måte å gjøre tingene på innenfor metoden Enkeltelement - f.eks en beskrivelses-teknikk Datamodellering, UML
Verktøy Hjelpemiddel for å utføre arbeidet som er beskrevet i en teknikk eller metode JBuilder, Visio, Graf-Doc, PCSA, Modellator, MS-Project
Systemutvikling Er teamarbeid!!!!!
Systemutvikling eller programvareutvikling Omgivelsene (Miljøet) Enterprise Informasjonsystem Software system
Systemutviklingsprosjekt Forankring Brukerkontakt Unngå motstand ved levering Lever et riktig system Systemet skal være et positivt bidrag til arbeidsoppgavene Oppfylle lovverket
Livssyklusmodeller Forstudium Innføring Analyse Design og programmering
Forstudiet Mål Rammer Kost/nytte Alternativ analyse Risikoanalyse Planlegging Anbefaling om videreføring
Analysefasen En logisk beskrivelse av den løsningen som skal realiseres i neste fase: Behovs- og problembeskrivelse. Krav til løsning Vurdere alternative løsninger Estimere kostnader for realisering Tids- og ressursplan for realisering
Designfasen Systemarkitekttur Databasedesign Ferdig testede og dokumenterte programmoduler Bruker- og driftsdokumentasjon
Innføringsfasen Samsvar mellom organisasjon, arbeidsrutiner og system Brukerne kan bruke systemet Brukerne stoler på systemet Ansvarsforhold i forhold til drift, forvaltning og brukerstøtte