Pensum: Olsen, kap. 1 ”Formalisering”

Slides:



Advertisements
Liknende presentasjoner
Kjøpte produkter - Rabatter - Budsjett 3 moduler som er integrert i SuperOffice Påfølgende bilder vil vise en enkel forklaring og noen skjermdumper om.
Advertisements

Hvordan skrive en vitenskapelig artikkel?
Klikk Aktiver redigering i meldingsfeltet,
Tabeller av objekter Klassen ArrayList
Internett for nybegynnere
Ebus Management Center En liten bruksanvisning for de enkleste funksjonene.
Hva slags spørsmål skal man stille på hvilke nivåer?
Hvordan etablere nettbutikk med GoOnline Commerce
4 Bruk øynene riktig.
BraWeb Bestilling.
Utlandsprosessen Studiestøtteonferansen i Stockholm 1. – 3. juni 2014.
Programvare for nisje SMS
Velkommen som spiller i aksjespillet.
Lag film. Lag video •Videoteknologien har utviklet seg raskt de siste årene. Digital video er i ferd med å avløse analoge systemer. Med digital video.
Programmering i ActionScript - hva er det, og hvordan undervise?
Å skrive en sakpreget tekst
Godt verktøy er halve jobben
Databaser Verktøybok om Access med innslag av Frontpage: Snarveien til Access.
Prototyping & Use Case Software Engineering Gruppe
MS kap 61 Nye trender  Vi skal se på  Virtualisering  ”Cloud computing”
Smart bruk av Vortex til møter, samhandling/samarbeid mm
Introduksjon til lærebok 1 Pensum: Olsen, K.A. The Internet, the Web and eBusiness, Formalizing applications for the real world, Scarecrow Press, 2005.
Introduksjon til NetBAS
Databasehåndtering med MySQL
Kompleksitetsanalyse
Formalisering Pensum: Olsen, kap. 1 ”Formalisering”
Kap. 5 – Formalization Levels
Gjennomgang av prøven Tidsangivelse. Prøven deles ut Vi fyller ut øvelsen sammen.
Kap. 3 – Formalization How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet i.
Jæger: Robuste og sikre systemer INF150 Programmering torsdag 31.8 Kapittel 3: Grunnlag for programmering i Visual Basic.
Sqlite Et lite eksempel på en SQL- database. SQL kan startes på ulike måter Kommandolinjeversjon or Windows –Programmet må innstalleres Hentes fra
INF 295 Algoritmer og datastrukturer Forelesning 10 Invarianter og Hashing Hans Fr. Nordhaug (Ola Bø)
Sponsor og Annonser.
Publisering på verdensveven Kursdag 2 VÅFF, våren 2002.
Eksempel på SQL ”SQL-setninger” har en struktur som likner på ”naturlig språk”, med ”verb, subjekter og adjektiver”. SQL-setningene begynner alltid med.
Innledning om HTML IT20 oktober Bakgrunn Konseptet WWW ble født i 1983 i CERN, Geneve Opphavsmann: Tim Berners-Lee, MIT Spre informasjon uavhengig.
Hvordan kan foreldre bruke de vangligste funksjonene i Itslearning.com
10 regler for å skrive for web
Jæger: Robuste og sikre systemer INF150 Programmering mandag 18.9 Lesing av data fra fil og skriving av data til fil. Side 411 – 4.. Kap 4.
Oppgaver til kodegenerering etc. INF-5110, 2013 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet,
EPost Pensum: Olsen, kap. 7 ” ”. Egenskaper ved ePost Asynkron Tekstlig Enkel Effektivt Universell adressering (IP adresser) Universell bruk Vedlegg.
Kapping av plater Mål: Vi skal lage komponenter for en møbelfabrikk ut fra standardiserte plater på 12 x 24 dm. Komponentene har lengde og bredde oppgitt.
1 Kap. 17 – Interactive computing How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
4. Prioritizing Your Usability Problems Prioriteringer.
Formalisering av B2B applikasjoner
De 222 mest brukte ordene i det norske språket..
11. Balancing technology with people’s needs Bruk av teknologi.
1 Kap. 17 – Interactive computing How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
Opplæring: Pålogging Prosedyre for logge på og av, låse og åpne PC’er DatoVersjonForfatterGodkjent avEndringer utført André S. MathiesenTore.
Avansert tekstbehandling
Introduksjon Pensum: Olsen, K.A. The Internet, the Web and eBusiness, Formalizing applications for the real world, Scarecrow Press, 2005.
9. Product information Produktinformasjon. Online kjøp Som vi har sett har vi ikke noe produkt å se på, holde i, prøve ut, … Da må vi ta igjen på andre.
Kap. 3 – Formalization How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet i.
Symbolske data Pensum: Olsen, kap. 2 ”Symbolic Data”
1 Kap. 8 – Cost-benefit of Formalization How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen,
Nye forretningsprosesser Pensum: Olsen, kap
1 Kap. 57 – Cloud Computing How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
HUMIT1731 Hypermedier Introduksjon til XSL Transformation (XSLT)
1 Kap. 59 – Automatic Translation How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
Kap. 9 – Computer Intelligence How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen,
Kap. 6 – Cases of Formalization Level How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai.
Kap. 5 – Formalization Levels How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
Registrering av testresultater fra mobiltelefon
Kap. 58 – Collecting Data How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen,
Kap. 4 – Cases of Formalization How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A.
Kom i gang med Python Pål Hellesnes SYSTEMUTVIKLER
Kap. 4 – Cases of Formalization
Kap. 8 – Cost-benefit of Formalization
Kap. 4 – Cases of Formalization
Oppsummering – FINF1001 Departementer Direktorater / tilsyn Kommuner
Utskrift av presentasjonen:

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 Mange av de ”nye” anvendelsene vi har fått i dag er forbedringer av tidligere anvendelser (f.eks. iPad, smarttelefoner, streaming av musikk…) ”Sort boks”, gjør det vanskelig for lekfolk å forstå hvordan datamaskinen arbeider

Eksempel Lansering av det nye folkehelikopteret. Prototypen presenteres kun på bakken. Stor skepsis. Lansering av en ny elektronisk språk-oversetter. Prototypen er lovende. Den oversetter enkle setninger rimelig bra. ”Med mer innsats og penger skal vi få til en komplett oversetter”. Stor entusiasme.

Men, etter hvert lærer vi Mange har i dag erfaring med bruk av datamaskin, til tekstbehandling, regneark, Web-anvendelser Selv om dette er enkle applikasjoner ser en fort begrensningene (som ved gramatikk-kontroll) Det vil gi en god idé om hva maskinen kan gjøre og hva den ikke kan

Hardware - maskinvare Dramatisk utvikling Moore’s lov, dobling av antall komponenter hvert annet år Kjappere maskiner Mer kapasitet Lavere priser Mindre maskiner Datamaskiner overalt

Software - programvare Mange prosjekter feiler Vanskelig å holde budsjetter i kroner 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?

Maskinvare har den enkleste oppgaven Vi skal løse en oppgave. Maskinvaren hjelper oss bare et stykke på vei. Det overlates til programvaren å løse resten. Programvare Maskinvare

”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 Oppgavene var allerede formaliserte Er det like lett å innføre databehandling i sykehus?

Formalisering som en del av systemutvikling I mange 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. Dette blir forenklet ved at datateknologi gjennomsyrer samfunnet, da har vi strek-kode på alle varer, kredittkort, standard betalingstjenester m.m.

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 Vi må formalisere betalingen

Unngå 100% I mange tilfeller løses problemer med å utelate oppgaver fra automatiseringen (i første omgang) Eksempel: Bank Datamaskinen først brukt til å automatisere kontoer (innskudd, uttak, beregning av renter) I dag også til automatisering av enkel lånebehandling Mer avansert lånebehandling utføres manuelt

og vi kan endre prosesser Tidligere krevde innskudd og uttak fra bankkonto underskrifter I dag aksepterer vi en PIN kode Før måtte vi levere en papirbillett for å komme om bord i flyet, i dag kan vi klare oss med en kode eller et kredittkort. Tilsvarende for mange andre anvendelser

Maskinintelligens Maskinen kan spille sjakk – men er den dermed intelligent? Galt spørsmål? Vi må spørre om oppgaven er formalisert eller ikke Sjakk er formalisert, kompleksiteten ligger i antall mulige treff Det kan maskinen takle med hurtige beregninger Det er derfor ikke mye mer riktig å begrunne maskinens intelligens med sjakk enn med regnskap, begge deler er formalisert, begge deler løses med beregninger

Turingtest Vi sitter ved en terminal Kan stille de spørsmål vi måtte ønske Er det en maskin eller et menneske i andre enden? Når vi ikke kan avgjøre dette har vi en ”intelligent” maskin Det arrangeres slike tester, med premie til beste program og beste bruker (the most human human)

Hvilke egenskap har mennesket som maskinen ikke har? Vi kan operere i det åpne, ikke-formaliserte, området Vi er gode på avansert mønstergjenkjenning Med denne kunnskapen vet vi hvilke type spørsmål vi skal stille

Mønstergjenkjenning Hvilke bokstaver vises her?

Åpent område - humor: Tre historier – hvilken er morsom? A. In the middle of a forest, there was a hunter who was suddenly confronted with a huge, mean bear. Full of fear, his attempt to shoot the bear was unsuccessful. He turned away and started to run as fast as he could. Finally, he ended up at the edge of a very steep cliff. His hopes were dim. But, he got on his knees, opened his arms and said, “My God! Please give this bear some religion!” Then, there was a lightning bolt in the air and the bear stopped a few feet short of the hunter. The bear had a puzzled look for a moment, and then looked up into the sky and said, “My God! Thank you for what I am about to receive. . . .” B. In the middle of a forest. . . . The bear had a puzzled look for a moment, and then looked up into the sky and said, “My God! Thank you.” C. In the middle of a forest. . . . The bear had a puzzled look for a moment, and then looked at the hunter that begged, “My God! Do not let him eat me”—to no avail!

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 I dag ser en på muligheten for at IBM’s program Watson (Jeopardy) skal kunne tilpasses å bli et diagnoseverktøy

Formalisering av en virksomhet Fra venstre: Formalisering av bare en del av oppgavene formalisering av det meste overformalisering (byråkratisering)

Formaliseringsnivåer Vi kan representere alle typer symbolske data i en datamaskin Selv om maskinen bare bruke det binære tallsystemet får vi til dette ved å kode data Dette kan kreve mange binære siffer, men det er langt lettere å ha mye av det enkle enn mindre av det kompliserte. Derfor benytter vi bare det binære tallsystemet (0 og 1) i datamaskinen

Ascii tabellen – koding av tegn Symbol Value , 44 A 65 a 97 - 45 B 66 b 98 . 46 C 67 c 99 / 47 D 68 d 100

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, Photoshop

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”) Eksempel: Tegning i Word, Autocad, …

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)

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.

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

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.

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>

Tekstbehandling (nivåer) Level Formalization Coding (example) Functionality (examples) 1 Character 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. 3 Lexical Dictionary Spell checking. 4 Syntactical Word classification, grammatical rules. Grammar checker. 5 Semantic Representing the meaning of words and expressions. Logical searches, translation, computation. 6 Pragmatic Representing the “meaning of meaning” or meaning in context. Full text analysis.

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.

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)

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å

Eksempel Fryselageret til en stor grossist: Fryseboksen hjemme: 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)

Formaliseringen blir viktig For å forenkle settes det ofte formelle (lukkede) krav Et eksempel er bostøtte. Det gis ut fra skattbar inntekt, boligkostnader, mm. da kan det beregnes av en datamaskin. Det er enkelt, men ikke alltid 100% treffsikkert. En banksjef i en lokal bank kan vurdere sine kunder, kanskje så godt at hun aldri taper penger. Men nye regler for banker (som Basel-konvensjonene) setter formelle krav for sikkerhet. Blir vi tatt i fartskontroll hjelper det ikke å fortelle hvor flink vi er til å kjøre, og at vår kjøring i 90 kan være tryggere enn andres i 70.

Formaliseringen virker ikke alltid Med høyt formaliseringsnivå og faste rutiner etablerer vi en regel for hva som skal gjøres Ofte er det unntak, og maskinen kjenner ikke alltid til disse Eksempler: Automatisk ”bullet” funksjon i Word (kommer på om vi bruker et bullet-tegn, f.eks. et minustegn på starten av en linje) Gjentagelsesfunksjon i Excel (du skriver C+ i et felt, neste gang du skriver C vil maskinen foreslå C+)

Automatisk støvsuger Som et eksperiment kjøpte jeg en robot-støvsuger Kan starte på et gitt tidspunkt Navigerer i rommet (med et kamera) Men kjører seg fast på stolben, i tepper med frynser og passerer ikke standard norske dørstokker Skal vi ha full nytte av en slik må vi formalisere rommet til støvsugeren eller få en mer avansert innretning (kanskje en som lærer av sine feil?)

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

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

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).

Et lite prosjekt Vi skal lage systemer slik at biler kan kjøre automatisk La oss først anta at vi bruker vanlige veier uten trafikk Men bilen bør stoppe om det er hindringer i veien Hvordan skal vi takle dette?

Løsningsmetode Dele problemet inn i mindre deloppgaver Løse hver deloppgave for seg Hvilke deloppgaver har vi her?