1 / 28

Formalisering

Formalisering. Pensum: Olsen, kap. 1 ”Formalisering”. Datamaskinen. Mange spådommer om hva som skulle være mulig har ikke slått til Til tross for at vi har fått betydelig kraftigere maskiner til betydelig lavere priser ”Sort boks”, gjør det vanskelig for lekfolk å forstå hvordan den arbeider.

kaya
Download Presentation

Formalisering

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. Formalisering Pensum: Olsen, kap. 1 ”Formalisering”

  2. Datamaskinen • Mange spådommer om hva som skulle være mulig har ikke slått til • Til tross for at vi har fått betydelig kraftigere maskiner til betydelig lavere priser • ”Sort boks”, gjør det vanskelig for lekfolk å forstå hvordan den arbeider

  3. Hardware - maskinvare • Dramatisk utvikling • Moore’s lov • Lavere priser • Mindre maskiner • Datamaskin overalt • Internett, ADSL

  4. Software - programvare • Mange prosjekter feiler (ERP, egenutvikling, ferdige systemer) • Vanskelig å holde budsjetter i kr. og i tid • Ideer om nye applikasjoner (som språkoversetting) har ikke slått til • Hvorfor denne forskjellen, er programutviklere dummere enn de som utvikler maskinvaren?

  5. ”Duk og dekket bord” • I noen tilfeller har programvare-utviklerne en enkel jobb, forarbeidet kan allerede være gjort • Eksempel: • Innføring av datamaskiner i banker og i industrien • Oppgavene var allerede formaliserte • Er det like lett å innføre databehandling i sykehus?

  6. Formalisering som en del av systemutvikling • I andre tilfeller vil formaliserings-arbeidet være en viktig del av systemutviklingen • Skal vi opprette en Internett-butikk må vi formalisere produktspekteret (entydige navn eller koder), betalingsrutiner (kort), kunderegister m.m.

  7. Egne erfaringer • Formalisering står for en vesentlig del av arbeidet • Programmering for en langt mindre del • Men, noe formalisering inngår i programmeringsarbeidet

  8. Infrastrukturendringer • Akkurat som vi ”formaliserer” terrenget for å bygge veier kan må vi formalisere omgivelsene for å etablere nye datatjenester • Eksempel: • Salg på Internett/Web vil vanligvis krever betaling over kort • Bruk av automatiske verktøymaskiner vil kreve standardiserte ”emner” og oppsett

  9. Unngå 100% • I mange tilfeller løses problemer med å utelate oppgaver fra automatiseringen • Eksempel: • Bank • Datamaskinen først brukt til å automatisere kontoer (innskudd, uttak, beregning av renter) • I dag også til automatisering av enkel lånebehandling

  10. Eller vi kan endre prosesser • Tidligere krevde innskudd og uttak fra bankkonto underskrifter • I dag aksepterer vi en PIN kode • Tilsvarende for mange andre anvendelser

  11. Innkjøp • Valg av leverandør, kontrakter m.m. tas av innkjøperne • Avvik håndteres manuelt • Resten kan gå automatisk

  12. Ekspertsystemer • Gi datamaskinen samme vurderingsevne som fagfolk • Regelbaserte systemer • Pilotimplementasjoner i blant annet medisin i 1980 årene • Gode resultater, programmene gjorde det bedre enn mange leger • Likevel, disse programmene benyttes lite i dag • Testen ble gjort på formaliserte data (undersøkelser). • Når legen får se pasienten kan hun ofte stille diagnose raskt basert på erfaring, intuisjon og med få prøveresultater

  13. Formalisering av en oppgave Fra under- til over-formalisering.

  14. Tegninger lagret som pixels • Kan lagre dette som pixel (punkt), f.eks. med tre byte pr punkt • En linje kan da representeres gjennom de pixler som utgjør linjen • Gir stor fleksibilitet (bilder og tegninger), men krever mye plass (lite problem i dag) • Redigering må skje på pixelnivå • Eksempel: Paint-programmer

  15. Tegninger lagret som objekter • Hvert objekt kan representere en type geometrisk figur • Et sett attributter gir data for objektet • En linje kan da representeres ved koordinatene til endepunktet • Effektiv lagring • Enkel redigering (vi kan f.eks. peke på linjen og flytte denne) • Linjen må gjengis på skjermen (”rendering”)

  16. Nivå • Objekt-metoden har høyere formaliseringsnivå enn pixel-metoden • Her kan vi operere på hvert objekt som utgjør tegningen (flytte, endre, fjerne, kopiere)

  17. Tekstbehandling (tegnkoding) • Vi kan representere teksten kun på tegn-nivå (som ASCII koder) • Da kan vi kun gjøre operasjoner på dette nivået • Det blir ikke mulig å unngå ord-deling på slutten av linjen, å foreta stavekontroll, å markere et ord, m.m. • Programmet forstår ikke begreper som ord, setninger, avsnitt m.m.

  18. Høyere formaliseringsnivå • Vi kan definere regler for hva som er: • ord (samling bokstaver omsluttet av skilletegn) • setning (samling av ord avsluttet med punktum) • avsnitt (samling av setninger avsluttet av et avsnitt-tegn). • Dette kan da brukes for høyere nivås operasjoner

  19. Datalagring (tegnkoding) • Vi kan lagre data, f.eks. bibliografiske data, som tekst • Da kan vi foreta ren tekstsøk, om vi f.eks. søker etter forlaget ”Scarecrow” eller produsenten ”Apple” vil vi få treff for alle poster der disse bokstavene inngår, uansett sammenheng.

  20. Høyere formaliseringsnivå • Om vi i stedet koder dataene på høyere nivå kan vi foreta mer avanserte søk • For eksempel kan vi tagge: • <forlag>Scarecrow</forlag> • <datamaskin>Apple</datamaskin> • <skolefrokost>Apple, Bread, Cheese</skolefrokost> • <boktittel>Scarecrow in the field</boktittel>

  21. Tekstbehandling (nivåer)

  22. Formaliseringsproblemet for B2B • Med B2B (Business-to-Business) systemer skal maskiner kommunisere med maskiner • Data skal overføres på høyt nivå, altså som strukturerte data • Med XML har vi et kodespråk for å beskrive dataene • Men vi må bli enige om hvordan vi skal representere: • Telefonnummer • Adresser • Datoer • Kundenummer • Kontonummer • Henvisninger til regelverk • m.m.

  23. Kravet om data • Mens vi mennesker kan operere med implisitte data, data hentet fra omgivelsene (”vi sees til lunch”) må maskinen ha eksakte data • Dette begrenser mange automatiske applikasjoner (eks. temperatur-regulering, Internet tilkoplet kjøleskap)

  24. Store organisasjoner mer egnet • I store organisasjoner er ofte prosesser formaliserte. Antall operasjoner, datamengder m.m. krever dette. • I små organisasjoner er dette ikke så nødvendig. Med mindre volum kan en håndtere hver enkelt sak for seg • Dvs. formaliseringskostnadene med å innføre automatiske dataprosesser er ofte mindre i store organisasjoner enn små

  25. Eksempel • Fryselageret til en stor grossist: • Mange varer på lager • Alle varer har en id • Standard pakkestørrelser • Nøye oversikt over alt som er på lageret • Faste rutiner for ”innskudd” og ”uttak” • Bruker strekkoder m.m. for å forenkle prosesser • Fryseboksen hjemme: • Oversiktlig mengde • Ingen formell id • Varierende pakkestørrelser • Ingen rutiner for innlegging • Fleksibelt uttak (kan ta ut deler av en pakke) • Ingen tekniske hjelpemidler (som strekkodeleser)

  26. Kostnad-nytte for formalisering • Dersom vi kan formalisere kan vi ofte også automatisere • Da kan vi gjøre jobben fort, effektivt, døgnet rundt, etter faste regler, m.m. – uten å betale lønninger • Men 100% formalisering er ofte vanskelig å få til • Løsningen ligger ofte i interaktive system, der mennesker og maskiner samhandler

  27. Interaktivt system • Her kan maskinen ta de lukkede deler, mennesket det åpne • Tekstbehandling er et godt eksempel • Men vi kan også bruke ideen i andre sammenhenger: • Vi kan ha innsjekkingsautomater for å effektivisere denne prosessen, men kan også ha manuell betjening for unntakene • Vi kan la kundene taste inn ordren i et Web-skjema, men kan ha telefon og epost for unntak

  28. Fleksibilitet vs. effektivitet • Effectiveness and • efficiency Custom application Spreadsheet system • Application • generator Programming language • Application area Med større fleksibilitet (f.eks. regneark) får vi mindre effektivitet (enn en applikasjon spesiallaget for jobben).

More Related