Under kursen kommer ni att genomföra tre olika laborationer. Två av dessa är av programmeringskaraktär, och redovisas muntligen under laborationspassen. Den tredje är en analys av kod, och ska lämnas in skriftligen. Mer information kommer att anslås under kursens gång.
Laboration 3 görs i grupp precis som de föregående delarna. Inlämning görs via Fire här: https://xdat09.ce.chalmers.se/2016/lp3/oop/
Hitta en sammanhängande kodbas att utgå ifrån, hur spelar (nästan) ingen roll. Det kan vara något publikt bibliotek ni hittar på t ex GitHub, något ur Javas standardbibliotek, en kodbas ni skrivit själva tidigare (som är rimligt relevant och håller vettig kvalitet), etc. Det enda kravet är att det inte är kod som tagits från undervisningsmaterial (e.g. i kurs från GU eller Chalmers, annat universitet, Coursera, el dyl). Rimlig storlek är 10-20 classes/interfaces, men det är inget hårt krav. Huvudsaken är att den valda kodbasen låter er utföra resten av uppgifterna. Prata med mig (Niklas) om ni är osäkra på om den kodbas ni tänker er är lämplig.
Rita ett UML-diagram som beskriver de klasser/interfaces, samt relationer mellan dessa, som finns i er valda kodbas. Gör en avvägning kring relationer till externa klasser/interfaces (dvs klasser/interfaces som inte är en del av kodbasen); ta me de relationer som känns viktiga för att klargöra kodbasens design, utelämna de som inte gör det.
Analysera kodbasen utifrån de principer vi diskuterat i kursen. Peka ut något (minst en sak) som bryter mot någon av principerna - sådant finns garanterat, medvetet eller omedvetet gjort - och förklara hur det bryter mot principen i fråga. Identifiera och förklara (minst) tre olika användningar av design patterns vi tagit upp i kursen.