M072 - 1. studieår       til andre ugeplaner

Ugeplan for Systemkonstruktion & Computerarkitektur og Operativsystemer

Sidst ændret: 2007.11.09

Til uge 45

 

Uge 45
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag  08:30 - 11:50  Om associeringer mellem objekter fortsat, herunder metoder til etablering af disse og metoder til udnyttelse af disse forbindelser. Tips og triks

Opgaver:

1) Udlånssystem forsynes med forbindelser, danner udgangspunkt for diskussion, samt eksempler på løsningsmuligheder.

2) Ejendomssystemet fra tidligere på ugen forsynes med ekstra forbindelse fra EtageEjendom til Ejendomskompleks. Forbindelsen skal laves sammen med oprettelsen af et nyt EtageEjendoms objekt, så det er sikret at forbindelsen "peger" begge veje. Hertil kommer metode til at aflæs tilknyttet Ejendomskompleks-objekt fra et EtageEjendoms-objekt.

3) Maxibio forsynes med forbindelse fra Film til forestilling, herunder metoder til at etablere denne, hertil udvides med metoder, der kan give et array/liste over alle de Forestillings-objekter som filmen er tilknyttet.
Eksempel på forbindelse den ene vej med en liste, se under vejledninger og eksempler nedenfor, herunder findes også video.

Eksempler på en række domæne-modeller med forbindelser mellem klasser - herunder også programmerings-modeller.

Kodeeksempler på forbindelser, se også PowerTeknik

Note om primitiv tilknytning mellem objekter 

Lidt om arv og en del om interfaces, herunder kontrakt-programmering

Opgaver:

5) Lav interface for Etageejendom klassen ved refactor og lad klassen implementere dette. Beskriv endvidere pre- og postcondition for alle metoder / properties.

6) Lav et interface (ICirkel) for en Cirkel klasse og implementer en Cirkel klasse ud fra dette fra bunden. Beskriv endvidere pre- og postcondition for alle metoder / properties.

Interface: C# 3.9
A Comparative Overview of C# - interface
The C# Station Tutorial - interface
C# Practical Learning - interface

Larman kap. 11 - operationskontrakter, pre- og post-conditions.
Fredag  08:30 - 11:50  Lidt om arv og en del om interfaces, herunder kontrakt-programmering
Vi ser også på "Tricket" med en klasse som facade / factory, til at "holde" og give tilgang til modellen - klasse felter og klasse metoder (static)

Opgaver:

7) Lav interfaces for alle Udlånssystems klasserne eller alle MaxiBio klasserne (MaxiBio, Biograf, Biografsal, Forestilling og Film.
Implementer klasserne så der kun bruges klasser i forbindelse med New eller hvor typekonvertering kræver dette for at bruge internal metode.

Interface: C# 3.9
A Comparative Overview of C# - interface
The C# Station Tutorial - interface
C# Practical Learning - interface

Klasse felter: C# s91-92
Klasse metoder: C# 3.5

Larman kap. 11 - operationskontrakter, pre- og post-conditions.

 

  C# 175-177: IComparable og IComparer
 Eksempel : IFormatable
C# 161-162: ToString
C# 163-165: Equals
(*) Core C# and .NET, Stephen C. Perry

Vejledninger/Noter

Powerpoint Hvordan starter/kører/afvikler man sit program i Visual Studio med debugging (trinvis)
Video
Hvordan opretter man en ny (cirkel) klasse med nyt solution og projekt, samt tester klassen med Object Test Bench.

 

Video

Video
Solution
Solution
Solution
Hvordan opretter man en ny (cirkel) klasse med nyt solution og projekt, samt aftester klassen med Object Test Bench.
Hvordan kobler man en windows brugergrænseflade på en klasse og aftester denne. 
Solution svarende til videoerne
Solution med et consol-projekt istedet for windows-projekt til test af Cirkel-klassen
Solution med såvel windows- som consol-projekt til aftestning af Cirkel-klassen
Video & solution

Video & solution
Hvordan opretter man en forbindelse den ene vej mellem 2 klasser med en liste (en forening der har en samling medlemmer: forening->medlemmer).
Udvidelse med afdelinger der "skubbes" ind mellem forening og medlemmer.
Video Hvordan kan opdele nterfaces til modelkomponenten, implementationen af klasserne og brugergrænsefladen i selvstændige projekter.

GUI eksempler med 2 niveauer

ForeningSolution_V04_GuiMedlem
03-10-2007 10:09
ForeningSolution_V05_GuiAfdelingMedlem
08-10-2007 08:17
ForeningSolution_V05_GuiAfdelingMedlemKædet
08-10-2007 10:03
ForeningSolution_V05_GuiAfdelingMedlemKædetMainListbox
08-10-2007 11:16
ForeningSolution_V05_GuiAfdelingMedlemKædetMainListbox_Testdata
10-10-2007 20:54