Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”

Slides:



Advertisements
Liknende presentasjoner
Objektorientert systemutvikling og UML  OOSU er den mest anvendte metoden på både store og små prosjekter  UML er det mest anvendte beskrivelsesspråk.
Advertisements

Del 3 : Patterns (Kap 16 – kap 20, Craig Larman) Arne Maus Inst. for informatikk, UiO.
Memento Object Behavioral Design Pattern. Lagre og hente tilstander • Et system inneholder ofte mekanismer som trenger gjenbruk av tilstander • Memento.
Utforming for gjenbruk In 140 Sommerville kap 14.
Realisering av Software Patterns Software Design Patterns Realisering med kode Refaktorering Gjenkjenning av mønstre.
Mediator i prosjektet easyhtml Mediator. Widgets og signaler  Systemet inneholder mange signalgivere  Mange til mange er erstattet med en til mange.
Objektorientert systemutvikling og UML
IMT OOSU 28.sept Dagens tema : forts. DESIGN PATTERNS ObjektOrientert Design = Bevissthet i tildeling/fordeling av ansvar til softwareklasser for.
Beslektede algoritmer. Isolere klient fra algoritme  Klienter trenger av og til helt forskjellige måter å gjøre det samme på  Men klienten selv kan.
Chain of Responsibility GoF mønster Operasjonelt (behavioral)
Variasjoner i subklasser.  Prinsippskissen er meget enkel  En abstrakt klasse har en konkret metode og en abstrakt metode  Hver subklasse realiserer.
Mønstre og tekniske applikasjoner
Kapittel F Kjemisk likevekt.
Flere UML diagrammer UML Distilled kap. 7,8, 9 Kirsten Ribu
Flere UML diagrammer UML Distilled kap. 7,8, 9 Kirsten Ribu
Java Server Faces (JSF) en introduksjon Frode Eika Sandnes.
Android-Programmering Våren Oversikt – PendingIntents Rollen til PendingIntents Vanlig bruk Deling Sending.
Objektorientert utforming In 140 Forelesning Nr 13 Sommerville kap 12 – del 2.
OOSU PATTERNS (mønstre) Hva er et Pattern – opprinnelsen Mal for en Patternbeskrivelse Typer Pattern vi anvender innen systemutvikling Noen eksempler.
Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”
Læring og tenkning Systemutvikling er læring Gjensidig respekt og samarbeid Følge en konkret oppskrift Velge blant flere oppskrifter Nå målet uten oppskrift,
Sekvensdiagram En sekvens viser hvordan objekter samarbeider om en oppgave Diagrammet spesifiserer hvem som har kontrollen til enhver tid Det vises nokså.
Prosjektet transparente lag Composite og tegnende objekter Decorator og gui-kontrollere Factory Method Iterator.
Sammensatt struktur Visning av intern struktur i et samarbeid mellom objekter Fokuserer på ett av en klasses flere mulige ansvar.
GRASP General Responsibility Assignment SP GRASP er et hjelpemiddel for å lære om OD GRASP er retningslinjer for å fordele og tildele ansvar mellom klasser.
En kort innføring i Design Patterns
GoF GoF er fire systemutviklere, Gang of Four GoF fikk utgitt boken Design Patterns høsten 1994 Boken Design Patterns er en klassiker Design Patterns beskriver.
Tilstandsmaskiner Tilstandsmaskiner kan beskrives med tilstandsdiagrammer Nivået er teknisk Tilstandsdiagrammet viser ett objekts tilstander og transisjoner.
Forbindelser Diagrammer i UML består av ting med forbindelser
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
Hovedprinsipper i Rational Unified Process
Bendik Bygstad Høgskolen i Vestfold RUP-prosjekt Sammenhengen med UML 1.Hovedstruktur i RUP-prosjekter 2.Faser og iterasjoner 3.Sammenhengen med.
Klassediagrammer II Klassen samler data og operasjoner i passe store enheter Klassen organiserer programdesig net.
Strukturerende elementer i UML
Klassediagrammer Klassen er en grunnleggende enhet i et objektorientert system Alle kan finne klasser i et domene Det å finne klasser er en intuitiv aktivitet.
Oppmåling, målestokk og geometri,
Combining Compound Conceptual User Interface Components with Modelling Patterns - a Promising Direction for Model-based Cross-platform User Interface Development.
Design Patterns Iterator & Mediator. Gruppe 8 Presentasjonsgruppe:Resten av gruppen: Marianne AtesAndrè Johansen Tom Vidar LundeHege-Kristin Johansen.
Gruppe 3 – Presentasjon 2 Henning Kristiansen, Mats Lindh, André Hauge og Vegard Simensen.
Composite & Decorator Patterns Patterns Composite Spørsmål? Introduksjon Decorator Resymé Gruppe 4 Ivar Bonsaksen Remi Karlsen Jonas Lepsøy Stian Rostad.
Object Oriented Measurement
Tema: Test First Positivist: Det som ikke kan måles, eksisterer ikke! Reduserer sjanser for defekter! Gir en oppdatert ”TODO-liste” Gir trygghet til å.
Java & OO.
OPERAPROSJEKTET -en presentasjon. OPPRINNELSEN Begynnelsen av 80 – tallet, New York Utviklet seg videre til The Royal Opera House i London Kurs for lærere.
Innkapsling av request. Køing, logging, angre Command tilhører gruppen av ”behavioral patterns” Instanser av mønsteret leder til instanser av forespørsler.
Composite GoF Structural Pattern. Alle kjenner Composite Alle som har brukt lister organisert som trær i brukermiljøer, kjenner Composite Pattern.
XML og Composite Pattern Mønstre og bygging av xml-tre.
Prosjektoppgave Modelldrevet utvikling og brukeragenter for kommunikasjon i sykehusomgivelser Marie S. Fuglesang NTNU, høsten 2004.
Gruppe 5 består av: – Cecilie Vitting – – Marit S. Asklien -
Michael F. AtiyahIsadore M. Singer Om Atiyah-Singer Indeks-teoremet Professor John Rognes Universitetet i Oslo.
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
BUCS Utfordringer og valg av fokus Tor Stålhane. Rammebetingelser Første spørreundersøkelse viser at det vi gjør må kunne: Brukes sammen med UML Passe.
Objektorientert utforming
11. Balancing technology with people’s needs Bruk av teknologi.
Objektorientert utforming In 140 Sommerville kap. 12.
Utvikling av tegneverktøy for Generalized Sketches Student: Ørjan Hatland Veiledere: Yngve Lamo, Høgskolen i Bergen Uwe Wolter, Universitetet i Bergen.
1 GeoPortal – Rammeverk Introduksjon. 2 Teknisk rammeverk - Interoperabilitet Interoperabilitet evne til å kommunisere, kjøre programmer, eller overføre.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
Objektorientert design
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Utforming for gjenbruk In 140 Forelesning Nr 15 Sommerville kap 14.
1 Ansvarsdrevet design og bruk av design-mønstre Utforming av klassediagrammer
Objektorientert design In 140 Sommerville kap 12 – del 1.
IN 265 Våren 2003 : Forelesning : Design av arkitektur og komponent 1 IN250 – Om komponent design Mål for forelesningen: l Se på prinsipper.
Android-Programmering Våren Oversikt – PendingIntents  Rollen til PendingIntents  Vanlig bruk  Deling  Sending.
Tilstandsmaskiner Tilstandsmaskiner kan beskrives med tilstandsdiagrammer Nivået er ofte teknisk, men kan også beskrive biologiske tilstander Tilstandsdiagrammet.
Strukturerende elementer i UML
RUP-prosjekt Sammenhengen med UML
Utskrift av presentasjonen:

Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”

Kilder til patterns Alle med kredibilitet/legimitet GRASP (9 patterns) GoF (23 patterns) Craig Larman ”Applying UML og Patterns”

Beskrivelser Patterns må beskrives etter en mal Beskrivelsene inneholder ofte UML Minstekrav (klikk)klikk GoF form (klikk)klikk

Arkitektur og mønstre Arkitektur realiseres med mønstre Hvert problem kan ha sitt eget mønster Noen mønstre brukes mange steder i en og samme arkitektur Andre mønstre brukes kanskje bare en gang Bruk av mønstre gir enklere vedlikehold Mønsteret gjør det lett å kjenne seg igjen

System og subsystem Et system kan bestå av flere subsystemer Hvert subsystem har egen arkitektur og mønstre

Mekanismer Mekanismer er mønstre for samarbeid mellom klasser MVC har for eksempel en trelags mekanisme MVC kan vises i et samarbeidsdiagram med tre objekter:

Andre lagdelte design Forretningssystemer er 3-lags eller n-lags Lagene kan være fordelt på ulike noder Et system er for stort til å kalles en mekanisme

Rammeverk Rammeverk er betydelig større enn mekanismer Rammeverk er samarbeid mellom pakkersamarbeid Rammeverk har callbackteknologi Klassebiblioteker lar applikasjonen bruke instanser Rammeverk bruker i tillegg applikasjonens instanser

Applikasjonens instanser Figuren viser bruk av applikasjonens instanser i to av rammeverkets mekanismer

GRASP General Responsibility Assignment Software Patterns GRASP er prinsipper for god OO design GRASP beskriver i den forbindelsen 9 mønstre GRASP gir innsikt i klassisk design

GRASP og high cohesion High cohesion betyr høy sammenheng Uttrykket brukes om en klasses ansvar Klassens operasjoner skal dekke ansvar med høy grad av sammenheng Dette gir objekter med enkle tilstander og enkel api Enkle tilstander og enkel api gir lav risiko