DD2487 Storskalig programvaruutveckling 7,5 hp

Large-Scale Software Development

Visa kursinformation utifrån vald termin och kursomgång:

Kursomgång och genomförande

Ingen kursomgång är vald

Välj termin och kursomgång ovan för att få information från rätt kursplan och kursomgång.

Kursinformation

Innehåll och lärandemål

Kursinnehåll *

Program som kompositioner av funktioner. Jämförelse mellan funktionell och objektorienterad programmering. Hantering och identifikation av kodkomplexitet.

Öppen-stängd-principen (open-closed principle).

Modellering av information. 

Affärslogik och regler i jämförelse med hantering av tillstånd.

APIer. Dokumentation av entiteter.

Testbarhet och vikten av tester. Tester som dokumentation. Muterbarhet och persistenta datastrukturer. Rena funktioner. Trådsäker programmering.

Lärandemål *

Efter fullgjord kurs ska studenten kunna:

  • strukturera, med funktionell programmering, stora program så att de blir lättare att förstå och förvalta,
  • identifiera behovet av designmönster i utveckling av ny eller i förvaltning av existerande kod, samt implementera dessa i förekommande fall,
  • 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.

Kursupplägg

Ingen information tillagd

Kurslitteratur och förberedelser

Särskild behörighet *

Objektorienterad programutvecklingsteknik motsvarande någon av kurserna DD2480, DD1392/DD1393, DD1346, DD1387/DD1388/DD2387, HI1201 eller DD1385/DD2385.

Rekommenderade förkunskaper

Objektorienterad programutvecklingsteknik motsvarande någon av kurserna DD2480, DD1392/DD1393, DD1346, DD1387/DD1388/DD2387 eller DD1385/DD2385.

Utrustning

Ingen information tillagd

Kurslitteratur

Meddelas senast 10 veckor före kursstart på kurswebben.

Examination och slutförande

Betygsskala *

P, F

Examination *

  • PRO1 - Programvaruutvecklingsprojekt, 7,5 hp, betygsskala: P, F

Examinator beslutar, baserat på rekommendation från KTH:s samordnare för 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.

Om särskilda skäl finns kan annan examinationsform användas.

I denna kurs tillämpas skolans hederskodex, se: http://www.kth.se/csc/student/hederskodex.

Övriga krav för slutbetyg *

Godkänt programvaruutvecklingsprojekt inklusive kamratbedömning.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Stefan Nilsson

Ytterligare information

Kurswebb

Ytterligare information om kursen kan hittas på kurswebben via länken nedan. Information på kurswebben kommer framöver flyttas till denna sida.

Kurswebb DD2487

Ges av

EECS/Datavetenskap

Huvudområde *

Datalogi och datateknik

Utbildningsnivå *

Avancerad nivå

Påbyggnad

Ingen information tillagd

Kontaktperson

Tomas Ekholm (tomase@kth.se)

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.

Övrig information

Kursen ersätter DD2386 och kan inte kombineras med denna.

I denna kurs tillämpas EECS hederskodex, se:
http://www.kth.se/eecs/utbildning/hederskodex