DM131 - 1. semester

Plan for Softwarekonstruktion

Gå til uge: 05-07, 09-12, 14, 1516171819,

Sidst ændret: 2013.05.01

 

Uge 14
Dag Tidspunkt Emne Litteratur / Opgaver
Onsdag 08:30 Vi starter med at planlægge ugen - nedenstående er mit oplæg:
 
 
  Mulighed 1 - Dette blev valgt:
Opstart af "klods-opgave" for grundlæggende programmering som ikke relateres til projekter og bygger fra bunden.
Vi kommer her omkring klasser/objekter, metoder, if-konstruktioner, lister, loops....

Der kan let laves flere metoder/opgaver på denne for denne.
Vi kan også på denne komme omkring array/indexering på lister og sorteringer mm.

 

Opgave_Klods.htm
 

Mulighed 2 - Dette emne blev udskudt
Vi repeterer lidt med udgangspunkt i en Leverandør klasse og en LeverandørKartotek klasse, samt tilføjer en Varemodtagelse klasse for at registrere detaljer om den enkelte modtagelse.

Fokus vil her være hvordan man associere med 2 vejs forbindelser.

Vi vil skal herefter se på hvordan man kan lave en simpel sortering og herunder tilgå liste elementerne med index, vi vil herunder kort berører array.

Vi vil evt. også komme ind på brug at indbyggede sorteringsalgoritmer
 

Inspiration fra: udvidelse_2a_Salgssystem_Kerne.doc idet der er justeringer - da denne var tænkt til java sproget

 

 

Eksempel : Varekartotek-applikation med forskellige sorteringer (varenr, betegnelse og salgspris) på Vare  (Cs001)

 
- 15:00 YouTube screencast med Bjørk Boye Busch Videoer og solutions fra undervisningen onsdag

 

 
Torsdag 08:30-15:00 Det blev besluttet at vi fortsætter hvor vi slap onsdag

Det betyder at undervisningen tager afsæt i en rektangel klasse og et kartotek at rektangel objekter - Du arbejder tilsvarende med klods-opgaven som oplæg.
Vi vil inddrage mulig relevant teori ligesom vi gjorde om onsdagen - herunder vil vi komme ind på simpel sortering hvor vi har tilgang til elementer i en liste med index (har berøring med Array).
Vi vil også se på lidt mere på nogle at de metoder der er på et List objekt.
Vi vil også prøve at komme ind på at værdi versus reference parametre i forbindelse med metoder (konkret til at parse fra tekst til tal formater) - hermed første bud på mulig fejlhåndtering i forbindelse med brugerinput (udskudt til næste mandag).

 

Opgave_Klods.htm
  YouTube screencast med Bjørk Boye Busch Videoer og solutions fra undervisningen torsdag

 

     
  Der vil kun være støtte fra underviser frem til kl. 11:50  
 
 

 

Uge 15
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag 08:30 Vi besluttede at fortsætte med udgangspunkt i klodsopgaven og tilsvarende rektankel-eksempel på klassen 

Vi vil lægge lidt web-brugergrænseflade på eksemplet og herunder komme ind på værdi versus reference parametre i forbindelse med metoder (konkret til at parse fra tekst til tal formater) - hermed første bud på mulig fejlhåndtering i forbindelse med brugerinput.
Vi vil også i forbindelse med brugergrænsefladen komme ind på "tricket" med at "fastholde" et rektangel kartotek i memory, så det samme kan tilgås fra forskellige web-forms og "overleve".

Vi vil herefter se på hvordan vi kan gøre vore data persistente / gemme dem i en fil og indlæse dem igen, så vi også kan klare web-applikationen kan lukkes ned og genstarte uden data mistes.
Vi vil komme en smule generelt ind på filer, men primært nøjes med fokus på at gemme et objekt (med tilhørende forbundne objekter)

Det sidste vil vi muligvis først nå Torsdag.

 

 

 

 

LoadSaveObjectsWithDataContracts.pptx

 
- 15:00    
     
Torsdag 08:30-15:00 Vi fortsætter først hvor vi slap med lige at se på at gemme/genindlæse data fra en web-applikation, da filsystemet fra denne ser lidt anderledes ud end fra windows.

Vi vil herefter fortsætte med lidt mere web-brugergrænseflade, så vi kan fx ændre data og udnytte lidt flere af kernen/model-komponentens metoder.
 

LoadSaveObjectsWithDataContracts.pptx


Vi udførte herefter løsning på eksemplet, men desværre ingen lyd på - svarer dog til slides der er viser det tekstuelt (se video og solution under torsdagens videoer)

  Her ud over blev aftalen at vi torsdag også vil tage fat på den lille pocket reference og "tygge" den igennem fra start, for dels at se hvad vi har talt om og dels tage emner op eller registrerer dem udskudt til videre.

Du kan altså med fordel forberede dig ved forud at skimme side 1-69, 79-85, 89-92, 118-125, 127(midt), 133(nederst)-135(midt)
 

 

Vi tog hul på bogen side 1-38 (se torsdagens videoer)

  Der vil kun være støtte fra underviser frem til kl. 14
 
 
  YouTube screencast med Bjørk Boye Busch Videoer og solutions fra undervisningen torsdag  
 
 

 

Uge 16
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag 08:30 Vi fortsætter med lidt mere web-brugergrænseflade, så vi kan fx ændre data og udnytte lidt flere af kernen/model-komponentens metoder.

Vi vil desuden lige se lidt mere på brug af Debug og Immediate Window til at afprøve kernen/model.......



Flere detaljer her:
http://msdn.microsoft.com/en-us/library/vstudio/f177hahy.aspx
http://www.youtube.com/watch?v=PWYrxcz5R4Y
http://dotnetdud.blogspot.dk/2007/12/visual-studio-immediate-window.html
 

  Her ud over blev aftalen sidste uge at vi også ville fat på den lille pocket reference og "tygge" den igennem fra start, for dels at se hvad vi har talt om og dels tage emner op eller registrerer dem udskudt til videre.

Du kan altså med fordel forberede dig ved forud at skimme side 1-69, 79-85, 89-92, 118-125, 127(midt), 133(nederst)-135(midt)
Vi nåede i torsdags frem til side 38 midt (video i fronter)
 

Sidste uge side 1-38
Video C# SK13F uge15To02 Introduktion til C# - Snak om C# 5.0 Pocket Reference side 1-38
- 15:00

YouTube screencast med Bjørk Boye Busch Videoer og solutions fra undervisningen mandag

 
 
     
Torsdag 08:30-14:00 Vi tager lige fat i vores Klods/Rektangel projekt fra sidste gang og ser på en anden måde at "få fat på udvalgt objekt fra listbox".
Vi brugte sidst løsningen med at "huske" en liste med objekter svarende præcis til dem der blev vist i listbox'en og så bruge samme index på begge. Vi vil denne gang vælge at tildele en ID til vores rektangler.
 
 
  Her ud over blev aftalen sidste gang, at vi fortsætter med at "tygge" den lille pocket reference igennem,  for dels at se hvad vi har talt om og dels tage emner op eller registrerer dem udskudt til videre.

Du kan altså med fordel forberede dig ved forud at skimme side 1-69, 79-85, 89-92, 118-125, 127(midt), 133(nederst)-135(midt)
Vi nåede i torsdags frem til side 69 (video i fronter)
 

Sidste gang side 39-69
Video C# SK13F uge16Ma05 Introduktion til C# - Snak om C# 5.0 Pocket Reference side 39-69
  Herudover skal der KODES på jeres opgaver - der skal gives mulighed for at få feedback på løsninger og hjælpes, hvor der er behov.  
  YouTube screencast med Bjørk Boye Busch Videoer og solutions fra undervisningen torsdag

 

 
 
 

 

 

Uge 17
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag 08:30 Ud fra debatten sidste torsdag blev beslutningen at næste emne blev at tage fat i databaser nu, selvom vi så ikke har valgt en bog endnu.

Vi tager fat i emnet databaser - i denne første omgang en simpel praktisk vinkel uden en masse teori.

Vi starter med at se på hvordan vi kan organisere data i tabeller, hvor vi vil bruge vores webhotel.
Der er her oprettet 20 grupper med hver sin database, så man skal være et par stykker om at dele.
Find dokumentet "Reserver surftown gruppe" i fronter under SK for at få tildelt en gruppe.
Dokumentet "WebHotelGr21-40.mht" også i SK mappen beskriver user, password mm for hver gruppe.

Vi starter med at se lidt på hvordan vi organisere data i tabeller og opretter dem inde fra Visual Studio, hvor vi også uden at kode kan oprette data, se data og ændre dem.
Vi vil her se en lille smule SQL, så vi dels kan få at se ud fra visuelle udvælgelser og dels kan udføre og se resultatet af direkte visuelt (igen uden at kode)

 Vi fortsætter herefter med at se hvordan vi fra et program tilgår databasen og en tabel og ud fra den får vores objekter.
Jeg regner med vi her kan bruge vores meget simple klasse Rektangel som udgangspunkt.

Jeg ser om jeg kan finde en smule materiale, der er på passende simpel niveau - ellers optager vi fra demoer i klassen.

Jeg forventer ikke at i har læst noget om emnet forud.

Materiale til brug undervejs:
ModelEksemplerTilDatabaseIntro_201304220806.zip

 
- 14:00 Opgave:
  1. Opret en databasetabel for din klodser (eller hvis andet projekt så klasser herfra)
  2. Fyld data i din klods-tabel
  3. Prøv at lave forskellige udtræk med "New Query" ud fra din klods-tabel med data
     
  4. Opret flere databasetabeller ud fra klasser i en eller flere af følgende modeller ModelEksemplerTilDatabaseIntro_201304220806.zip
  5. Fyld data i dine tabeller efterhånden som du har oprettet dem
  6. Prøv at lave forskellige udtræk med "New Query" ud fra din tabel med data

 

 
 

YouTube screencast med Bjørk Boye Busch Videoer og solutions fra undervisningen mandag

 
 
Torsdag 08:30 Vi fortsætter med emnet fra mandag, idet vi måske også kan nå at se på hvordan vi ændrer data i databasen og opretter data. Slides om tilgang til MS SQL database
Eksempler på SQL.pdf

Note om SQL fra nettet (Meget mere end vi bruger nu)
notesql.zip
 
- 14:00 Opgave:
  1. Udvid opgaven fra i tirsdag med mulighed for at oprette data i databasen fra C# program
  2. Udvid opgaven fra i tirsdag med mulighed for at opdatere data i databasen fra C# program
 
 

YouTube screencast med Bjørk Boye Busch Videoer og solutions fra undervisningen torsdag

 
 
 
 

 

Uge 18
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag 08:30 Opsamling på databaser fortsat fra sidste uge
Vi udskyder tilføjelse af optimistic ofline lock til torsdag

 

Slides om tilgang til MS SQL database
Eksempler på SQL.pdf

Note om SQL fra nettet (Meget mere end vi bruger nu)
notesql.zip

  Opgave:
  1. Udvid opgaven (din gateway-klasse) fra i sidste uge med mulighed for at opdatere data i databasen fra C# program

- 14:00

YouTube screencast med Bjørk Boye Busch Videoer og solutions fra undervisningen mandag

 
     
Torsdag 08:30 Opsamling på databaser fortsat fra sidste gang
Vi fortsætter med optimistic ofline lock på opdateringen.
Vi ser på og diskuterer forskellige måder at håndtere opdatering på i relation til også at have objekterne liggende i memory.

De næste emner blev udskudt til mandag grundet mulighed for deltagelse i fordrag i Loungen:

- Vi fortsætter med at se på hvordan vi kan "fastholde" vores objekt-kartotek i forhold til brugergrænseflade.

- Vi vi evt. se på brug af web-komponenten GridView direkte i forhold til vores Gateway klasse til at se og redigere vores samling af objekter.

 

Slides om tilgang til MS SQL database
  Opgave:
  1. Udvid opgaven (din gateway-klasse) så du anvender optimistic offline lock ved opdatering af  data i databasen fra C# program - du skal i den forbindelse tilføje ekstra felt i database-tabel og tilsvarende klasse.

- 14:00

YouTube screencast med Bjørk Boye Busch Videoer og solutions fra undervisningen mandag

 
     
 
 

 

Uge 19
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag 08:30 Opsamling på databaser fortsat fra sidste gang

 Vi fortsætter med at se på hvordan vi kan "fastholde" vores objekt-kartotek i forhold til brugergrænseflade og herunder samarbejdet med vores Gateway til tabellen - herunder mulighed for optimeringer.

Vi ser på mulighed for at forbedre koden så der bliver lidt mere genbrug - herunder udskille vores forbindelse til databasen.

Vi vi evt. se på brug af web-komponenten GridView direkte i forhold til vores Gateway klasse til at se vores samling af objekter.

 

 

 
 
- 14:00    
     
Torsdag 08:30 Plan følger  
 
- 14:00