Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Objekt Orienteret Modellering.

Lignende præsentationer


Præsentationer af emnet: "Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Objekt Orienteret Modellering."— Præsentationens transcript:

1 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Objekt Orienteret Modellering

2 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Programmerings paradigmer  Det funktionelle paradigme  Program: En funktion mellem input og output f:x → y  Fordele: matematisk velfunderet, formel analyse  Programmeringssprog?  Det procedurale paradigme  Program: Maskininstruktioner som ændrer data  Fordele: Tæt på hvordan hardware virker  Programmeringssprog?

3 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Objekt-orienteret paradigme  Shalloway & Trott:  ”centered on the concept of object”  object = ”data with methods” (limiting perspective)  object = ”something with responsibilities” (”new” perspective)  Skandinavisk model:  Et program betragtes som en fysisk model der simulerer opførslen af en imaginær eller reel del af verden.

4 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Centrale elementer  Objekter  ”something”  Model  samling af objekter ... men er det bare en vilkårlig samling?  Den skandinaviske model: en model af en del af verden. Hvordan kan man opfatte ”verden”.

5 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Begrebsopfattelse  Menneskets forståelse af den fysiske verden beskrives i termer af fænomener og begreber.  Fænomen:  Kan erkendes eller sanses.  Har individuel eksistens.  Begreb:  En abstrakt, generaliseret ide  Samler fænomener med sammenlignelige egenskaber og karakteristika.

6 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Eksempel  Den familie vi bor sammen med har en lille pige på 2.  kan sanses og erkendes (af og til voldsomt!)  har individuel eksistens  … er et fænomen  Begrebet ’Barn’ (eller ’2-årig’)  dækker over en stor mængde fænomener med sammenlignelige egenskaber.

7 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Begreber  Begreber har af tre egenskaber  Designation (benævnelse) Den samling af navne under hvilke begrebet er kendt  Ekstension (udbredelse/udstrækning) Den samling fænomener som begrebet dækker  Intension (beskrivelse) En samling egenskaber som karakteriserer fænomenerne i begrebets ekstension

8 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Eksempler på begreber Designation EkstensionIntension Barn Bil Rektangel Mad

9 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Aristotelisk begrebsopfattelse  Karakteristik  Intensionen omfatter definerende egenskaber som alle fænomener i ekstensionen skal have og karakteristiske egenskaber som fænomener i ekstensionen kan have  Veldefinerede begreber med skarpe grænser  Relativt homogene fænomener  Ekstensionen er entydigt fastlagt ved intensionen  Eksempler  Findes inden for veletablerede fagområder som matematik, fysik, zoologi, botanik

10 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Prototypisk begrebsopfattelse  Karakteristik  Intensionen omfatter eksempler på egenskaber som fænomener i ekstensionen kan have samt en udvalgt samling af typiske fænomener: prototyper  “Uldne” begreber med uskarpe grænser  Stor variation mellem fænomener  Ekstensionen er ikke entydigt fastlagt ved intensionen  Eksempler findes overalt

11 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Relationer  Fænomener og begreber er ofte relaterede. Udtrykkes i relationer.  Relationer bruges til at strukturere og organisere viden om vores omverden.  Typer af relationer:  Klassifikation  Generalisering  Associering  Aggregering og komposition

12 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Relationer  Klassifikation:  mellem et fænomen og et begreb  eks: Vera klassificeres som et barn  modsatte relation: eksemplificering  Generalisering:  mellem begreber  eks: pattedyr er en generalisering af aber, mus, pindsvin,…  modsatte relation: specialisering

13 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Relationer  Associering  mellem begreber (oftest)  eks: en person er associeret et CPR-nummer  en ikke-hierarkisk relation  Aggregering (whole/part)  mellem begreber (oftest)  eks: en menneskekrop består af hoved, torso,...  Komposition  mellem begreber (oftest)  eks: et kapitel består af afsnit

14 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Relationer til UML  UML er et visuelt sprog som benyttes til at beskrive modeller.  Alle de beskrevne relationer kan beskrives direkte i UML...

15 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Modeller i software  En objekt-orienteret software model modellerer  fænomener som objekter  begreber som klasser af objekter.

16 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Øvelse  Argumenter for  at objekter modeller fænomener  at begreber modelleres ved hjælp af klasser  Repræsenterer klasser en prototypisk eller aristotelsk begrebsopfattelse?

17 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Software Objekter  Et objekt er karakteriseret ved tilstand og opførsel.  Objektet har en øjeblikkelig tilstand under en programudførsel.  Tilstandsrum: mængden af mulige tilstande for objektet.  Tilstandsrummet er defineret eksplicit via klassedefinitionens mængde af attributter.

18 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Øvelse  Angiv tilstandsrummet for et objekt af klassen  Indeholder tilstandsrummet tilstande som kan karakteriseres som ’ulovlige’?  Hvad betyder ’ulovlig’ egentlig?  Kan man indskrænke tilstandsrummet således at kun ’lovlige’ tilstande er mulige? public class Person { String CPR; String Name; }

19 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Relatering  Et program:  En fysisk model  Simulerer opførslen af en imaginær eller reel del af verden.  Objekter:  ’Delene’ i den fysiske model, ligesom metalstænger, motorer, og plastflader er det i modelhelikopteren.  Så mangler vi: simulerer opførsel

20 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Opførsel  Objekter har opførsel (behaviour): de kan gøre noget.  Opførsel er et helt centralt begreb idet det jo netop er program afviklingen som genererer en værdi hos brugerne.

21 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Alternativ definition  Alternativ definition af objekt- orientering:  A program execution is the collective behaviour of a set of collaborating objects.  Fokus er nyt: Systemets ydre synlige opførsel er summen af en masse objekters kollektive opførsel.

22 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Eksempel  En lille lommeregner public static void AWTAdvanced() { Calculator model = new AdvancedCalculator(); UserInterface view = new AWTUserInterface(model); model.setUserInterface(view); }

23 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Opførsel

24 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Inspiration  Dele en større opgave op i mindre og mere overskuelige dele  Uddelegere delopgaver til ”objekter” som så er ansvarlige for deres del.  En velafprøvet model  organisation af arbejdsprocesser i firmaer/institutioner  familielivet  mekaniske produkter

25 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Definition af opførsel  Opførselsrum: Definerer et objekts mulige opførsel.  Opførelsesrummet er defineret eksplicit via klassedefinitionens mængde af metoder og disses tilhørende metodekroppe.  Objekter opnår kollektiv opførsel ved at sende beskeder (message-passing) til hinanden. Java: metode-kald (method invocation).

26 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Eksempel  … at køre en bil ?

27 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Eksempel  … at køre en bil

28 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Modellering  At opfatte programmering som modelbygning afspejler sig at vi ofte vil bruge ordet modellere til at betegne processen at designe og konstruere et program.  Et centralt emne i objekt-orienteret programmering er derfor:  hvordan finder vi en passende model?

29 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Begrebsmodellering Problemspecifikke begreber Problem/vision vedrørende fænomener Realiserede begreber Objekter abstraktion modellering Domæne (”virkeligheden”/reference) Modelsystem (software systemet)

30 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Afsæt i virkeligheden  Figuren udtrykker den oprindelige definition af objekt-orientering.  Et OO program tager afsæt i de fænomener og begreber som findes i den virkelighed, som man ønsker éns IT-system skal virke i.

31 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Fordele ved OO  At tage udgangspunkt i ”virkeligheden” har en række fordele  eksisterende fænomener og begreber ændrer sig relativt langsomt over tid  funktionalitetskrav ændrer sig relativt hurtigt  vores program bliver mere robust overfor nye krav når funktionalitet bygger ovenpå en ”virkelighedsnær” model  programmet er lettere at forstå og vedligeholde

32 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Diskussion  … men: Et objekt-orienteret program skal mere end blot forsøge at kopiere virkeligheden – det skal skabe en værdi som ligger ud over hvad ”virkeligheden” kan klare.  Øvelse:  Hvilken virkelighed tager et tekstbehandlingssystem udgangspunkt i? Hvilken opførsel tilbyder det ”ud over virkeligheden”?

33 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Udfordringen  Udfordringen i objekt-orienteret modellering er:  at finde relevante objekter/klasser  at finde deres indbyrdes relationer  statisk  og dynamisk  at tildele dem opførsels- og tilstandsrum  På en måde så ens program opnår ønskelige kvaliteter

34 Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Kursus indhold  Teknikker og værktøjer der bruges i større programmer  Programmering af Store Objekt- Orienterede Systemer  Arkitektur, patterns og frameworks  Programmeringsprojekt


Download ppt "Kari Rye Schougaard, Ph.d.-stud Værktøjer og teknikker A A R H U S U N I V E R S I T E T Datalogisk Institut Objekt Orienteret Modellering."

Lignende præsentationer


Annoncer fra Google