 Jens Bennedsen 2002Objektorienteret systemudvikling Begrebsmodellering Hvordan får vi opbygget en domænemodel/begrebsmodel?

Slides:



Advertisements
Lignende præsentationer
Notation Oversigt Kapitel 18.
Advertisements

Velkommen til Softwarekonstruktion
06.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Brug Oversigt, principper og teknikker Kapitel 6.
Arkitektur, lagdeling og pakker
Felter og nøgle-felter (databaser, del 6)
Lavet af: Paw Petersen Design Design Class Diagram (DCD)
ER-diagrammer (databaser, del 4)
Informationsteknologi B-A, HHX, 2005,
Tietgen Skolen Kvalitet og kvalitetssikring Review Test.
Larman, 2. udgave kap. 11 Grundlæggende Systemudvikling zHvad er systemudvikling ? zHvad er UML ? zHvad er analyse og design ? zHvad er UP ?
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer
04.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Struktur Oversigt, principper og teknikker Kapitel 4.
© Jakob Fischer Jørgensen / VUC
1 Dagens gang Repeter systemvalg Gennemgang af klasser og strukturer (kap. 3+4 OOA+D) Tavle opgave Gruppe opgave til næste gang.
”Søg og du skal finde” fra idé til applikation af Mads Thomsen og Bent Guldager.
Opfølgning på obligatorisk opgave 1 ONK1. Ingeniørhøjskolen i Århus Slide 2 Overordnet Flere gode opgaver De samme fejl går igen.. Alle der har afleveret.
OOA&D Et Crash-kursus.
05.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Adfærd Oversigt, principper og teknikker Kapitel 5.
Den relationelle model
2009NOEA/IT - Databasedesign1 Agenda Datamodellering Databasedesign Normalisering.
09.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Kriterier Oversigt, principper og teknikker Kapitel 9.
Udregning af UseCasePoints UCP = UUCP*TCF*EF UseCasePoint = Ujusteret Use Case Point * Tekniske Komplexitets Faktor * Miljø Mæssige Faktor.
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.
Spørgetime. Kunde / konto eksemplet Konto åbnet( ) Beløb indsat( , 100) Konto åbnet( ) Beløb hævet ( , ) Beløb indsat( ,
Objekter og klasser Rasmus D. Lehrmann DM
Use Case Modellering. En form for requirements engeneering – dvs. fastlæggelse af systemkrav.
ER-modellering1 Analyse af data og sammenhæng mellem data.
Generelt om abstraktion og modellering Tietgen Skolen.
NOEA/IT FEN - Databaser/modellering 1 Datamodellering Den udvidede (enhanced) E/R-model (EE/R- modellen) Begreber Diagrammering Omformning til.
2009Softwarekonstruktion / DB-design 11 Databasedesign 1 Fra begrebsmæssig model til relationel model.
E/R-diagrammering 7. Semester.
Masterpages/Otto Knudsen 1 Temaer (Themes) Stylesheets til ASP.NET web-applikationer.
Unified Modeling Language
Objektorienteret programmering – UML2Java.  Jens Bennedsen 2001Multimedie programmering8.2 Indhold Klasser og associering til enkelt objekt –Programmering.
 Jens Bennedsen 2002Objektorienteret systemudvikling Design klasse model ”Klassemodellen på vej til kode”
Systemudvikling – Fra idé til kode.  Jens Bennedsen 2001Multimedie programmering9.2 Begrebsmodellering Problemspecifikke begreber Problem/vision vedrørende.
 Jens Bennedsen 2002Objektorienteret systemudvikling GRASP mønstre Basale ansvarsplaceringsregler.
 Jens Bennedsen 2002Objektorienteret systemudvikling To syn på verden Aristotelisk vs. prototypisk syn.
Beskrivelsesteknikker Udviklingsmodeller og metoder
 Jens Bennedsen 2002Objektorienteret systemudvikling Interaktionsdiagrammer Hvordan beskrives objektinteraktion? Sekvensdiagrammer Collaborationsdiagrammer.
 Jens Bennedsen, 2003Introducerende objektorienteret programmering Exceptions.
 Jens Bennedsen 2002Objektorienteret systemudvikling Design -> kode Mapning af et klassediagram til kode.
 Jens Bennedsen 2002Objektorienteret systemudvikling GRASP mønstre Basale ansvarsplaceringsregler.
 Jens Bennedsen, 2003Introducerende objektorienteret programmeringinterfaces.1 Interfaces En ren kontrakt.
 Jens Bennedsen 2002Objektorienteret systemudvikling Ideér til klasser Analysemønstre.
Situationsbestemt metodevalg
Indledende Programmering Uge 6 - Efterår 2006
 Jens Bennedsen 2002Objektorienteret systemudvikling Arkitektur.
Objektorienteret analyse og design Ó Bennedsen 2001 Design - part Programmering og systemudvikling Lektion 7 Design - part 2.
 Jens Bennedsen 2001Multimedie programmering13.1 Lingo Objectorienteret Lingo.
Systemudviklingsstrategier
 Jens Bennedsen 2002Objektorienteret systemudvikling Modelleringsperspektiver Hvad betyder en klassemodel egentlig?
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.
 Jens Bennedsen 2001Multimedie programmering10B.1 Interfaces En ren kontrakt.
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge46 Ancestor.
 Astrid Lumbye 2002Objektorienteret systemudvikling Begreber i systemudviklingsprocessen Udviklingsmodel Metode Beskrivelsesteknik Værktøj.
 Jens Bennedsen 2001Multimedie programmering4.1 Definition af begreber Interface, implements, klasse.
 Jens Bennedsen 2001Multimedie programmering14.1 Lingo Inside LingoLand.
 Jens Bennedsen 2001Multimedie programmering3B.1 Specifikationer Betingelser, specifikationer og JavaDoc.
Programmering og systemudvikling
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge45 Associeringer.
Tutankhamons Grav Et modellerings eksempel
Hvad er en inkrementel og iterativ process?
 Jens Bennedsen 2001Multimedie programmering Introduktion og velkomst.
Eksamen Praktisk prøve.
Definition Kriterier Design og evaluering
01.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Objektorienteret Analyse & Design (OOA&D) Grundbegreber, principper og metode Kapitel 1.
1.09 Dokumentation.
Hvad er taksonomi, pixiudgaven for forretningen, og hvor bruges det?
Præsentationens transcript:

 Jens Bennedsen 2002Objektorienteret systemudvikling Begrebsmodellering Hvordan får vi opbygget en domænemodel/begrebsmodel?

 Jens Bennedsen 2002Objektorienteret systemudvikling Begrebsmodellering En begrebsmodel er en ABSTRAKTION over begreber i den virkelige eller imæginære verden - IKKE begreber i software. Udtrykkes som en klassemodel –Domæne klasser (eller begreber fra verden udtrykt som klasser) –Associationer mellem domæneklasserne –Egenskaber ved domæne klasserne Begreb eller egenskab ved en klasse? –Hvis du er i tvivl, så lav en klasse! –Egenskaber her er oftest tal eller tekster Vi bygger modellen efterhånden!

 Jens Bennedsen 2002Objektorienteret systemudvikling Oprindelsessteder for klasser Domænemodellen er en model af problemområdet –brugerne er eksperterne Brug deres terminologi Hvad hvis der ikke er nogle brugere? –Standard applikation –Spil Målet er at vi (domæne eksperter og systemudviklere) opnår en fælles forståelse af (en del af) domænet

 Jens Bennedsen 2002Objektorienteret systemudvikling Ideér til klasser –Krav specfikationen se på navneord –Forbilleder andre systemer –Begreber indenfor faget/genstandsområdet –Begrebskategorier –liste –Analysemønstre –”Objects are there for the picking” Rumbaugh, OMT

 Jens Bennedsen 2002Objektorienteret systemudvikling Begrebskategorier ”Coads 3 typer af klasser” –Roller –Steder/Organisationer –Transaktioner Det er nyttigt at lave en liste der er specifik for din organisation

 Jens Bennedsen 2002Objektorienteret systemudvikling Navneord Gennemgå beskrivelsen af systemet, understreg navneord og vurder dem som mulige klasser Let! –Automatisk? Nej!! Hvor er beskrivelsen? –Use cases!

 Jens Bennedsen 2002Objektorienteret systemudvikling Begreber indenfor faget Ofte er der en række faglige begreber knyttet til genstandsområdet - vurdér om de kan være relevante som begreber –Patient, dosering, medicinbakke,... Bør vurderes i forhold til krav til system –Vi skal ikke lave ”det perfekte system” men det nødvendige system eXtreme Programming, Kent Beck

 Jens Bennedsen 2002Objektorienteret systemudvikling Analyse mønstre Kan være domæne specifikke Mere som metaforer –Bruges som idegrundlag –Ikke så fokuseret på interface klasser der realiseres –Egenskaber tilpasses Martin Fowler: Analysis Patterns –Mesurements –Finance –Healthcare –...

 Jens Bennedsen 2002Objektorienteret systemudvikling Andre systemer Ofte er der lignende systemer - se på de begreber der ”skinner igennem” i de systemer Kan også bruges til at ”finde på” funktionalitet

 Jens Bennedsen 2002Objektorienteret systemudvikling Fremgangsmåde Lav en lang liste af potentielle klasser Udtynd i klasserne –Indenfor systemets vision relevante for en eller flere use case –Hellere for mange klasser end for få (da modellen ikke er lig implementationsmodellen:-) Lav en klassemodel udfra listen af relevante klasser Tilføj associeringer hvor der skal huskes en sammenhæng mellem objekter Tilføj egenskaber til begreberne som nødvendigt

 Jens Bennedsen 2002Objektorienteret systemudvikling Associeringer En associering er en relation mellem forekomster af typer (klasser) –Navn –Antal forekomster i hver ende –Typiske kardinaliteter: 0..1: muligvis 1(en forekomst af KlasseA kan være knyttet til en af KlasseB 1: der skal være 1(en forekomst af KlasseA skal være knyttet til en af KlasseB 0..*: et vilkårligt antal(en forekomst af KlasseA kan være knyttet til vilkårligt mange af KlasseB

 Jens Bennedsen 2002Objektorienteret systemudvikling Tommelfinger regler Fokuser på associeringer hvor viden om relationen skal være tilstede et stykke tid –Ikke tranciente relationer Det er vigtigere at fokucere på begrebsklasser end på associeringer For mange associeringer gør klasemodellen uoverskuelig Undgå redundante eller udledbare associeringer Brug evt. en ”typiske associeringer” liste for at finde associeringer