Oversigt, principper og teknikker

Slides:



Advertisements
Lignende præsentationer
Notation Oversigt Kapitel 18.
Advertisements

2009NOEA/IT - Databaser/arkitektur1 Databaser Introduktion - Arkitektur Introduktion DBMS-arkitektur Datamodeller.
Konferencesystem Eksempel Kapitel 19.
DIEB9.1 Kursusgang 9 Oversigt: • Sidste kursusgang • Opgaver • Beskrivelser af komponenter • Typiske komponenter • Arkitektur for en GUI.
06.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Brug Oversigt, principper og teknikker Kapitel 6.
Systemvalg Oversigt og teknikker Kapitel 2.
Softwarekonstruktion
07 – Kort om OO Introduktion.
Kajs Biler Analyseresultater.
1 Intro nedarvning (eng.: inheritance) Nedarvningshierarkier Intro polymorfisme (eng.: polymorphism) Abstract / virtual / override / sealed Intro interfaces.
Ekspansiv læring – Hvad betyder det?
Informationsteknologi B-A, HHX, 2005,
Introkursus Køn og ligestilling i udviklingsarbejdet OPFRISKNING AF BEGREBER FRA DAG 1 August 2011.
Tietgen Skolen Kvalitet og kvalitetssikring Review Test.
Analyse af anvendelsesområde
Programklasser for bladhus Den efterfølgende beskrivelse er ikke komplet. Der er ikke taget afsæt i use cases, sekvensdiagrammer og operationsbeskrivelser.
Formål med projektet At I kommer i dybden med de faglige emner: virksomhedsforståelse, krav, design og implementering. At I lærer at arbejde i grupper.
04.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Struktur Oversigt, principper og teknikker Kapitel 4.
03.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Klasser Oversigt, principper og teknikker Kapitel 3.
10.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Komponenter Oversigt, principper og teknikker Kapitel 10.
Klasser Modeller.
1 Dagens gang Repeter systemvalg Gennemgang af klasser og strukturer (kap. 3+4 OOA+D) Tavle opgave Gruppe opgave til næste gang.
07.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Funktioner Oversigt, principper og teknikker Kapitel 7.
Affordance 1. Miljø eller objekt Refererer Den faktiske egenskab Brugervenlighed 2.
12.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Modelkomponent Oversigt, principper og teknikker Kapitel 12.
Objektorienteret programmering
11.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Processer Oversigt, principper og teknikker Kapitel 11.
13.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Funktionskomponent Oversigt, principper og teknikker Kapitel 13.
Dagens gang Sidste uges opgaver Design af grænseflader
OOA&D Et Crash-kursus.
05.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Adfærd Oversigt, principper og teknikker Kapitel 5.
22.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Regulering Eksempel Kapitel 22.
1 Dagens gang Sidste uges opgaver –Klasse opgaver –Adfærdsmønstre (Låner, Reservation, Materiale, Eksemplar) Brugsmønstre og funktioner Nye opgaver.
09.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Kriterier Oversigt, principper og teknikker Kapitel 9.
16.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Dokumentation Oversigt og principper Kapitel 16.
17.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Implementering Principper, teknikker og vurdering Kapitel 17.
1 Dagens gang Sidste uges opgaver OA+D: Adfærd Nye opgaver.
Serviceorienteret arkitektur SOA. SOA bygger på Der findes en serviceleverandør, som udstiller en formåen til at udføre en veldefineret og afgrænset aktivitet,
Mønstre En lille introduktion. Singleton Tilgå et objekt igennem klassereference i stedet for objektreference.  Overflødiggør referencer til objektet.
Design II oktober 2009 gtj SAD design II.
Introduktion I4DAB1 Jesper Tørresø Forår Layers + Tiers ? Tiers er opdelinbgslag omkring en logisk abstraktion (Præsentation, forretningslogik og.
Systemudvikling og kommunikation med brugerne
08.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Grænseflader Oversigt, principper og teknikker Kapitel 8.
FEN KbP/seminar2: design11 Kontraktbaseret programmering Seminar 2 Klassedesign – grundprincipper Eksempler: Stack Dictionary.
1 Grafalgoritmer I. 2 Plan Grafer - definition - anvendelser - terminologi - eksempler på grafproblemer Grafgennemgang - dybde-først-gennemgang - bredde-først-gennemgang.
Objekter og klasser Rasmus D. Lehrmann DM
Use Case Modellering. En form for requirements engeneering – dvs. fastlæggelse af systemkrav.
1 Kursusafslutning. 2 Plan Opgaveseminar Kursusevaluering.
Testmetoder Der er to muligheder: a.at benytte folieleverandørens dokumentation (klasse RA1, RA2 og én eller flere af tabeller i ETA’ere) b.at kræve anvendelse.
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design af interaktionselementer.
Generelt om abstraktion og modellering Tietgen Skolen.
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design interaktionselementer Analysedokumentet.
2009Softwarekonstruktion / DB-design 11 Databasedesign 1 Fra begrebsmæssig model til relationel model.
Database.
DIEB10.1 Kursusgang 10 Oversigt: Sidste kursusgang Eksempler på løsning af opgaven Arkitektur for brugergrænsefladen og for systemet Dokumentation af designet.
Objektorienteret programmering – UML2Java.  Jens Bennedsen 2001Multimedie programmering8.2 Indhold Klasser og associering til enkelt objekt –Programmering.
Systemudvikling – Fra idé til kode.  Jens Bennedsen 2001Multimedie programmering9.2 Begrebsmodellering Problemspecifikke begreber Problem/vision vedrørende.
 Jens Bennedsen 2002Objektorienteret systemudvikling Design -> kode Mapning af et klassediagram til kode.
Trinvis forfinelse Systematisk, gradvis udvikling af programmer.
Situationsbestemt metodevalg
Indledende Programmering Uge 6 - Efterår 2006
Dagens gang Komponenter Projektetablering Opgave i komponenter til næste gang.
 Jens Bennedsen 2002Objektorienteret systemudvikling Arkitektur.
Objektorienteret analyse og design Ó Bennedsen 2001 Design - part Programmering og systemudvikling Lektion 7 Design - part 2.
Design af brugerflader13.1 Kursusgang 13 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI.
Uffes Udlejningsservice.  A. Lumbye, 2004 & E. Ernst 2005Introducerende objektorienteret programmeringmodellering Uffes Udlejningsservice Uffe Ellehammer.
DIEB8.1 Kursusgang 8 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI.
 Jens Bennedsen, 2003, revideret af EE Introducerende objektorienteret programmering MVC Et mønster for grænseflader.
01.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Objektorienteret Analyse & Design (OOA&D) Grundbegreber, principper og metode Kapitel 1.
Fusionsprocesser i stjerner
Præsentationens transcript:

Oversigt, principper og teknikker Forbind komponenter Oversigt, principper og teknikker Kapitel 14

Aktiviteter og resultat Modelkomponent Funktionskomponent Forbind komponenter Resultat: Et revideret klassediagram for systemets komponenter

Arkitektur og afhængighed En arkitektur omfatter afhængigheder mellem komponenter Implementeringen af disse afhængigheder skal designes De designes som forbindelser mellem klasser

Forbind klasser (1) Definering af klasser Ved specialisering «komponent» Bib Definering af klasser Ved specialisering Ved aggregering C A «komponent» Model D c:C B

Forbind klasser (2) Udveksling af meddelelser «komponent» Funktioner A «komponent» Model B

Mønster: Observatør Problem: Et antal afhængige objekter skal underrettes, når et objekt ændrer tilstand. Eksempel: Abonnentliste. Løsning: Opdeling i fire klasser efter ansvar. Subjekt Tilføj Fjern GivBesked observatører Observatør Opdatér 1 0..* for all o in observatører: o.Opdatér KonkretSub Tilstand HentTilstand subjekt KonkretObs Observeret-Tilstand Opdatér 1 1 ObserveretTilstand := subjekt.HentTilstand return Tilstand

Kobling Ideal: lav kobling To klasser/komponenter har høj kobling, hvis ændring i den ene kræver ændring i den anden Faldende koblingsgrad: Kobling fra siden (ikke Java) Kobling nedefra Kobling indefra Kobling udefra

Samhørighed Ideal: høj samhørighed Egenskaber ved høj samhørighed: Delene er begrebsmæssigt beslægtede Delene udgør funktionelle helheder Delene beskriver velafgrænsede tilstande Operationer bruger hinanden Opdeling af klasser eller komponenter med høj samhørighed fører til høj kobling

Vurdering af afhængigheder

Oversigt Formål Begreber Principper Resultat At forbinde et systems komponenter. Kobling: Et mål for, hvor tæt to klasser er forbundne. Samhørighed: Et mål for, hvor en klasse eller komponent hænger sammen. Høj samhørighed i klasser og lav kobling mellem komponenter. Et klassediagram med de involverede komponenter

Opgave 5: Forbind komponenter Formål At forbinde de komponenter, der er defineret og specificeret. Arbejdsform Se på afhængighederne mellem komponenter en for en. Overvej mulighederne for realisering af afhængigheden. Undersøg, om der er forbindelser, som bryder med de definerede afhængigheder. Overvej, om observatørmønsteret kan løse problemet. Resultat Et klassediagram med komponenter, klasser og forbindelser.