beskriva tekniska plattformar, förutsättningar för och utmaningar vid utveckling av större programvarusystem.
beskriva hur tekniker som metaprogrammering och virtualisering används i komponentbaserade modeller såsom exempelvis OSGi, Enterprise Java Beans och Web Services
relatera industriella och teoretiska problemställningar inom utveckling av större programvarusystem till aktuella tekniker och metoder
analysera och kritiskt granska en programvaruarkitektur och relatera dess egenskaper till aktuell empirisk forskning.
Kursinnehåll
Komponentmodeller, objekt-orienterade ramverk för komponentsystem, metaprogrammering, meddelandebaserade system, web services, applikationsramverk, programvaruarkitekturer, programvarukvalitet
Förutsättningar
Programutvecklingsmetodik och -teori. Objektorienterad programmering.
Förkunskaper som ej förutsätts men bara att ha: Viss erfarenhet att läsa vetenskapliga artiklar om programvarukonstruktion Programvarukvalitet. Metaprogrammering.