Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afGabriel Jakobsen Redigeret for ca. et år siden
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
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.