Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
PublisertBendik Jenssen Endret for 9 år siden
1
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL
2
Om foredragsholderne Thomas Skjørten, ProVentus Jobbet i ProVentus siden 2004 Jobber mye med teknologi og forskning I hovedsak teknologi fra Progress og Microsoft Begynte med Progress i 2004 Hilde Andreassen, Berg-Hansen Reisebureau AS Jobbet i Berg-Hansen siden 2005 4 års erfaring med modellering Begynte med Progress i 2006
3
Dagens meny Hvorfor objektorientert programmering? UML-modellering Hva er UML? Hvorfor UML? Eksempelmodeller Objektorientert Progress OOABL OpenEdge Architect 10.2A Beta
4
Hvorfor objektorientert programmering? THOMAS SKJØRTEN
5
Objektorientert programmering Kort historikk Simula påbegynnes Simula 67 presenteres. Objektorientering er født. Smalltalk C++ Java.NET / C# OOABL
6
Hvorfor objektorientering? Å programmere handler om å lære maskiner å utføre menneskelige oppgaver I objektorientering struktureres koden i logiske enheter som både inneholder data og logikk Disse enhetene settes i sammenheng og benytter hverandres funksjonalitet får å lage systemer
7
Innkapsling Innkapsling lar oss bygge enheter som er selvforsynte med alt de trenger for å utføre funksjonaliteten de tilbyr Disse enhetene kan enkelt gjenbrukes Klart skille mellom data og funksjoner Den som kaller prosedyren er ansvarlig for å holde på de dataene som trengs, samt å sende med disse verdiene til hvert kall Prosedyren har levetid på et enkelt kall Funksjoner grupperes i klasser som også inneholder data Klassen holder selv styr på sine data Også mellom kall Levetiden til et objekt av klassen bestemmes av den som oppretter objektet Prosedyrisk programmeringObjektorientert programmering
8
Innkapsling, eksempel (prosedyrisk) Kasse.p
9
Innkapsling, eksempel (OO) Kasse.p
10
Hvorfor objektorientering? Arv Mer gjenbruk! Mulighet til å organisere klasser i hierarkier der klasser kan arve funksjonalitet fra andre klasser slik at man slipper å implementere dette flere ganger Når en klasse arver fra en annen vil den automatisk inneholde alle data og funksjoner fra klassen den arver fra Ofte vil klasser som arver fra en annen tilby ekstra funksjonalitet i forhold til klassen den arver fra
11
Arv, eksempel
13
Arv: typesikkerhet
14
Hvorfor objektorientering? Polymorfisme gir oss muligheten til å programmere ”dynamisk” uten å bryte med typesikkerhet Ved å benytte arv kan vi i koden gjøre kall der mottakeren av kallet ikke er kjent før ved kjøring av programmet Programmet kan dermed oppføre seg forskjellig basert på valg som blir tatt av brukeren eller andre eksterne faktorer
15
Polymorfisme, eksempel
16
Mye mer oversiktlig kode. Koden er organisert etter menneskelige begreper, ikke etter programfunksjoner (substantiver / verb) Bil, Konto, Faktura, Lån CreatePlan, ExcecutePlan, ExecutePlan2, DoMagic, SuperFunction Enklere gjenbruk av kode Innkapsling Arv Typesikkerhet Kompileringsfeil, ikke runtimefeil! Hvorfor objektorientering ? Oppsummering
17
UML modellering BASIC HILDE ANDREASSEN
18
Hva er UML? UML = Unified Modelling Language Et språk definert for å beskrive virkeligheten Viser hoveddelene i ett system og deres avhengigheter Modell System Bruker
19
Hvorfor UML? Oppnår bedre forståelse mellom kunden og utvikleren om hva som faktisk skal lages Diagrammer gir en presis forståelse av løsningen som skal utvikles. Vi lager det kunden FAKTISK ønsker. I OO programmering kan vi ofte få komplekse løsninger, det er derfor lurt å planlegge før og underveis i programmeringen Gir god oversikt Slipper mye tekst i dokumentasjonen
20
Basic UML modellering UseCase Kartlegger ulike senario for systemet Avdekke risiko områder Inneholder krav til systemet Ofte brukt som basis for testing Class diagram Objekter satt i system Viser objekter og relasjoner mellom dem Sequens diagram Viser sekvensen og flyten for løsningen Baserer seg ofte på senario i UseCase
21
ProCargo UseCase – Overordnet diagram
22
ProCargo Class diagram
23
ProCargo Sequence diagram
24
Progress OOABL
25
Oppsummering Objektorientering lar oss strukturere koden i logiske enheter Dette gir oss store muligheter for gjenbruk av kode Sterk typing fører til færre runtimefeil UML hjelper oss til å få en gjennomtenkt løsning
26
Flere sprøsmål / kontakt Thomas Skjørten thomass@proventus.no www.proventus.no Hilde Andreassen hian@berg-hansen.no www.berg-hansen.no
27
Ressurser Objektorientering OpenEdge Getting Started: Object oriented programming (whitepaper) OpenEdge Getting Started: Object oriented programming (whitepaper) UML UML Destilled, Fowler UML Destilled, Fowler Unified Modelling Language User Guide, Booch, Rumbaugh, Jacobson Unified Modelling Language User Guide, Booch, Rumbaugh, Jacobson Applying UML and Patterns, Larman Applying UML and Patterns, Larman Head First Object-Oriented Analysis & Design, McLaughlin, Pollice, West Head First Object-Oriented Analysis & Design, McLaughlin, Pollice, West PUG-Norge www.pugnorway.no www.pugnorway.no
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.