PROGRAMVARUUTVECKLING FÖR STORA SYSTEMETS311
Large-Scale Software Development

Poäng: 5.0 Betygskala: TH Obligatorisk för: PVH2 Valfri för: IEH3 Kursansvarig: Per Runeson, e-post: per.runeson@telecom.lth.se Rekomenderade förkunskaper: För IPV: Programvaruteknik översiktskurs, Programvaruutveckling Individuell Processförbättring Prestationsbedömning: Projektuppgift vilken ger betyget 3, 4 eller 5, om betygen 3 eller 4 erhålls och man önskar höja betyget ett steg skall en extrauppgift genomföras. Webbsida: http://www.telecom.lth.se

Mål:
Syftet med kursen är att ge en inblick i ett strukturerat och systematiskt sätt att arbeta för att erhålla hög kvalitet hos programvara i allmänhet och för telekommunikationssystem i synnerhet. Utveckling av dagens och morgondagens stora programvarusystem kräver att man arbetar i stora projekt, där samarbete och systematik är viktiga ingredienser. Målsättningen är att man via denna kurs skall lära sig att arbeta i ett stort programvaruprojekt. Kunskaper om grundläggande element i programvaruutveckling för stora system erhålls genom att man genomför ett programvaruprojekt för en telefonväxel (MD110). Vikten av en väldokumenterad utvecklings-process betonas och används i projektet, där 16-17 personer arbetar tillsammans för att utveckla ett antal telekommunikationstjänster.

Innehåll:
Projektuppgift:
Som tillämpning av modern programvaruutveckling genomföres ett projekt liknande dem man utför i industrin. Detta innebär tillämpning av en utvecklingsprocess där kravspecifikation, design och testspecifikationer är viktiga dokument som skall tas fram. Användningen av en systematisk och väldefinierad utvecklingsprocess är en del av projektet. Programvarusystemet som skall utvecklas ska styra en telefonväxel, vars centralprocessor ersatts av en SUN arbetsstation. Utvecklingen består i att ett existerande programvarusystem (detta finns i SUN-datorn) som styr abonnentväxeln skall kompletteras med ett antal tilläggstjänster (t.ex. medflyttning, ta samtal och väckning). Arbetet kräver insatser av flera delgrupper av elever där några delgrupper har ansvar för utveckling av de nya tjänsterna, medan andra delgrupper har ansvar för projektledning och tekniskt ansvar för systemet. Slutligen har ett par delgrupper ansvar för verifiering av det utvecklade systemet. Kort sagt sker här en gemensam utveckling av programvara där man bekantas med de roller som normalt behövs i större programvaruprojekt. Utvecklingen sker på arbetsstationer med hjälp av SDL, ett språk med en grafisk representation. Den grafiska beskrivningen översätts sedan automatiskt till C kod.
Observera: All salsbunden undervisning sker de första tre veckorna. Redan på första föreläsningen sker indelning i projekt och projektledare utses, och på kvällen samma dag som första föreläsningen sker uppstartsmöte för projektledare. Projektet sträcker sig över 9 veckor och projektet avslutas i andra veckan i nästföljande läsperioden.

Litteratur:
Kompendium utges av institutionen.