Hoppa till huvudinnehållet

DD2386 Mjukvarukonstruktion i större system 7,5 hp

Kursomgångar saknas för aktuella eller kommande terminer.
Rubriker med innehåll från kursplan DD2386 (HT 2015–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

Designmönster: öppen-stängd-principen (open-closed principle), ettansvarsprincipen (single responsibility principle), omkastad styrning (inversion of control), strategy pattern, template pattern, adapter pattern, wrapper pattern, decorator pattern och builder pattern; enhets- och systemtester, beroendeinjektion (dependency injection), globalt tillstånd, APIer, implementationsläckor, dokumentation av komponenter.

Lärandemål

Efter godkänd kurs ska studenten kunna

  • identifiera behovet av designmönster i utveckling av ny eller i förvaltning av existerande kod, samt implementera dessa i förekommande fall
  • strukturera, ur ett objektorienterat perspektiv, stora program så att de blir lättare att förstå och förvalta
  • konstruera och dokumentera publika APIer med ett tydligt ansvar
  • designa entiteter så att de blir testbara samt skriva test för dem
  • skydda sitt programs interna design från de publika APIerna
  • utveckla ett program i samarbete med andra
  • granska och reflektera över programkod
  • vidareutveckla given programkod

i syfte att

  • förstå och behärska de parametrar inom programutveckling som gör programkod hållbar, återanvändbar och flexibel inför förändrade krav.

Kurslitteratur och förberedelser

Särskild behörighet

För fristående kursstuderande krävs 90 högskolepoäng varav 45 högskolepoäng inom matematik eller informationsteknik. Dessutom krävs engelska B eller motsvarande.

Rekommenderade förkunskaper

Kunskaper i objektorientering och Javaprogrammering motsvarande DD1361 Programmeringsparadigm, DD2385 Programutvecklingsteknik, DD1341 Introduktion till datalogi, DD1346 Objektorienterad programkonstruktion eller DD1332 Objektorienterad programmering.

Utrustning

Ingen information tillagd

Kurslitteratur

Kurslitteratur meddelas senast 4 veckor innan kursstart på kurswebben.

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Betygsskala

A, B, C, D, E, FX, F

Examination

  • PRO1 - Projekt, 7,5 hp, betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Ytterligare information

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

Huvudområde

Datalogi och datateknik, Informations- och kommunikationsteknik, Informationsteknik

Utbildningsnivå

Avancerad nivå

Påbyggnad

Ingen information tillagd

Kontaktperson

Tomas Ekholm, tomase@kth.se

Övrig information

Kursen ersätts från och med hösten 2017 av DD2487 Storskalig programvaruutveckling.