Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Formalisering Pensum: Olsen, kap. 1 ”Formalisering”

Liknende presentasjoner


Presentasjon om: "Formalisering Pensum: Olsen, kap. 1 ”Formalisering”"— Utskrift av presentasjonen:

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: Scarecrow Apple Apple, Bread, Cheese Scarecrow in the field

21 Tekstbehandling (nivåer) LevelFormalizationCoding (example)Functionality (examples) 1Character ASCII or similar character- to-number coding. String editing, inserting and deleting characters. 2 Character sequence, sentence, and paragraph. Rules to identify words (enclosed by spaces or punctuation) and paragraphs. Insert and delete a word, avoiding breaking a word at line ends, inserting space between paragraphs. 3LexicalDictionarySpell checking. 4Syntactical Word classification, grammatical rules. Grammar checker. 5Semantic Representing the meaning of words and expressions. Logical searches, translation, computation. 6Pragmatic Representing the “meaning of meaning” or meaning in context. Full text analysis.

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 Application area Custom application Custom application Spreadsheet system Application generator Application generator Programming language Med større fleksibilitet (f.eks. regneark) får vi mindre effektivitet (enn en applikasjon spesiallaget for jobben).


Laste ned ppt "Formalisering Pensum: Olsen, kap. 1 ”Formalisering”"

Liknende presentasjoner


Annonser fra Google