Programklasser for bladhus Den efterfølgende beskrivelse er ikke komplet. Der er ikke taget afsæt i use cases, sekvensdiagrammer og operationsbeskrivelser.

Slides:



Advertisements
Lignende præsentationer
Et projekt til undersøgelse af udviklingsmetodologi.
Advertisements

Telos Team Introduktion.
Forsiden 1.Denne knap bruges når du vil taste dagens resultater ind. 2.Denne knap skal kun bruges hvis du allerede har gemt data og du finder ud af at.
Hvordan programmerer man?? STREAM - en model. Programmører arbejder ofte i teams Hver programmør arbejder på sin del af en større helhed.
Notation Oversigt Kapitel 18.
Introduktion til ASP.NET 2 Michell Cronberg Microsoft MVP, MCAD TechTalks hos Microsoft.
Thomas, Nicklas, Kim, Dennis G., Benjamin
Opstartsmøde fase 2: Implementering og etablering af miljøerne
Test First Development
Formularer (Access, del 3)
Brian, Christian, Jens, Nicklas
07 – Kort om OO Introduktion.
1 Intro nedarvning (eng.: inheritance) Nedarvningshierarkier Intro polymorfisme (eng.: polymorphism) Abstract / virtual / override / sealed Intro interfaces.
Lavet af: Paw Petersen Design Design Class Diagram (DCD)
Objektorienteret programmering
Tietgen Skolen Kvalitet og kvalitetssikring Review Test.
Tietgen Skolen Trick med facadeklasse og serialisering ”Trick” – model ”samles” til eet overordnet objekt Alle klasser i model skal have attriutten [Serializable]
Medtag.NET komponent for serialisering med DataContracts.
Introduktion til Access (Access, del 1)
Rapporter (Access, del 5)
Arv Idéen i arv et at kunne genbruge gennem generalisering
Programklasser for bladhus Abonnement tænkes aggregeret til Kunde og associeret til Blad. Kunde bliver creator. Såvel Kunde som Blad kommer til at have.
07.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Funktioner Oversigt, principper og teknikker Kapitel 7.
12.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Modelkomponent Oversigt, principper og teknikker Kapitel 12.
NOEA/IT - FEN1 Typeparametisering/Genericity Generics i.NET 2 og C#
Kort om MIDlet. MIDlet - resourcer Kernen er en begrænset java-maskine: Connected Limited Device Configuration Device afhængig: CLDC 1.0 eller CLDC 1.1.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
Oversigt, principper og teknikker
13.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Funktionskomponent Oversigt, principper og teknikker Kapitel 13.
Et projekt til undersøgelse af udviklingsmetodologi.
Dagens gang Sidste uges opgaver Design af grænseflader
OOA&D Et Crash-kursus.
MMP Model og Metode til Programudvikling – MMP 1 Kursusindhold: Modellering af postkontor Objekt Orienteret Programudvikling - OO* Unified Modelling.
Stig Irming-Pedersen ASP.NET MVC Partner Copenhagen Software.
Informationssystemer kursusgang: Modellering med henblik på dataudtræk
1 Dagens gang Sidste uges opgaver –Klasse opgaver –Adfærdsmønstre (Låner, Reservation, Materiale, Eksemplar) Brugsmønstre og funktioner Nye opgaver.
Udregning af UseCasePoints UCP = UUCP*TCF*EF UseCasePoint = Ujusteret Use Case Point * Tekniske Komplexitets Faktor * Miljø Mæssige Faktor.
Spørgetime. Kunde / konto eksemplet Konto åbnet( ) Beløb indsat( , 100) Konto åbnet( ) Beløb hævet ( , ) Beløb indsat( ,
Miniprojekt i Computerstøttet samarbejde Gruppe 2.126, BL8.
Introduktion I4DAB1 Jesper Tørresø Forår Layers + Tiers ? Tiers er opdelinbgslag omkring en logisk abstraktion (Præsentation, forretningslogik og.
Eksempel på realisering af domænemodel
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
Use Case Modellering. En form for requirements engeneering – dvs. fastlæggelse af systemkrav.
1 Kursusafslutning. 2 Plan Opgaveseminar Kursusevaluering.
Comparable Students German Students Composite Pattern State Pattern Observer Pattern Collections Interfaces Abstrakte klasser Design Patterns.
3. Objekt Orientering og Relations Databaser
IT-Produkt til læring php. ”Graf editor”
FEN IntroJava AAU1 Endnu mere om Klasser og Objekter Mange til mange relationer Student-Course v3.
DIEB7.1 Kursusgang 7 Oversigt: Sidste kursusgang Opgaver Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing.
DIEB10.1 Kursusgang 10 Oversigt: Sidste kursusgang Eksempler på løsning af opgaven Arkitektur for brugergrænsefladen og for systemet Dokumentation af designet.
 Jens Bennedsen 2002Objektorienteret systemudvikling Design klasse model ”Klassemodellen på vej til kode”
 Jens Bennedsen 2002Objektorienteret systemudvikling GRASP mønstre Basale ansvarsplaceringsregler.
DAIMIIntroducerende objektorienteret programmering4C.1 Systemdesign Design med flere klasser, En kaffeautomat.
 Jens Bennedsen 2002Objektorienteret systemudvikling Interaktionsdiagrammer Hvordan beskrives objektinteraktion? Sekvensdiagrammer Collaborationsdiagrammer.
Indledende Programmering Uge 6 - Efterår 2006
Design af brugerflader13.1 Kursusgang 13 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI.
DIEB8.1 Kursusgang 8 Oversigt: Sidste kursusgang Beskrivelser af komponenter Typiske komponenter Arkitektur for en GUI.
SAS Code analyzer Barbara Biørn olsen.
Introduktion I4DAB1 Jesper Tørresø Efterår Databaser ? Hvorfor indskyde et lag mellem applikation og det permanente/persistente lager? Hvordan gemmes.
Formularer (Access, del 3). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller Vi.
01.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2001 © Objektorienteret Analyse & Design (OOA&D) Grundbegreber, principper og metode Kapitel 1.
1.09 Dokumentation.
Abstraktioner.
Samarbejdende LEGO-Robotter
Programklasser for bladhus
Dokumentation.
Dokumentation.
Dokumentation.
2C – FORÅR 2018.
Software Construction
Præsentationens transcript:

Programklasser for bladhus Den efterfølgende beskrivelse er ikke komplet. Der er ikke taget afsæt i use cases, sekvensdiagrammer og operationsbeskrivelser for at placere metoder på klasserne. Der er her vist basis-metoder, som disse kan implementeres ud fra et ønske om dels at følge GRASP mønstene og dels at fastholde lav kobling men ikke mindst også høj binding på en balanceret måde. Designet med SD og operationsbeskrivelser bør ske så det fører til et resultat som dette design viser.

Fra domain model til program klasser

Basis programklasser for bladhus Abonnement tænkes aggregeret til Kunde og associeret til Blad. Kunde bliver creator. Såvel Kunde som Blad kommer til at have expert funktionalitet i forhold til Abonnement. Der mangler klasser der kan bruges som expert og creator for Kunde og Blad, så her laves en kartoteksklasse for hver af disse.

Basis programklasser for bladhus Her med data for forbindelserne i form af lister og objekt referencer

Flere programklasser for bladhus Hvis der ønskes serialisering er der behov for at samle i et objekt, derfor oprettes desuden en Bladhus klasse (der i princippet kunne have haft funktionaliteten fra de 2 kartoteksklasser – så de kunne undværes) Der er under programafviklingen yderlig behov at kunne fastholde et Bladhus objekt – her er det ved et static felt i klassen GlobaleData (den er her facade/session controler).

Flere programklasser for Bladhus

Brug af interface fra start Det kan ofte betale sig at starte op med at definere interfaces, da man får afklaret grænsefladen til modelkomponent/kernen Man kan så også builde og påbegynde UI parallelt med implementeringen af klasserne og deres metoder. Visual Studio kan tillige generere metodestubbe ud fra dem.

Interfaces for Bladhus

Implementerings klasser (med interfaces)

Sletning af data Sletninger er generelt problematiske da der fx er bindinger mellem flere klasser og fx kan være krav om man ikke kan slette et abonnement så længe der er gæld/penge til gode ….. Man kan i stedet vælge at have en simpel opdatering af felt på objekt for indikation af inaktiv / dato for inaktiv Hermed bliver data liggende – man kan udvide med metoder for samlinger der ignorerer disse inaktive objekter. I de efterfølgende er der indlagt egentlige slettemetoder, for at vise hvad det indebærer

Interfaces med slettemetoder

Implementerings klasser med slettemetoder