PA2558 Evolution och Underhåll av Mjukvara - Projekt

Programkurs, 7,5 Högskolepoäng, Avancerad nivå, höstterminen 2020

Denna kurs är del av program och går inte att söka till.

Evolution och underhåll av mjukvara handlar om att kontinuerligt korrigera, anpassa och förbättra mjukvaran. Detta arbete medför särskilda utmaningar, till exempel måste man ofta förstå den existerande kodbasen utan att ha tillgång till de ursprungliga
utvecklarna, för att göra förändringar behöver man förstå vilka följdeffekter dessa förändringar kommer ha, man behöver modernisera bruket av till exempel enhetstester, och man behöver ta sig tid att fräscha upp kodbasen enligt goda programmeringsprinciper. Men det räcker inte att sätta sig in i och förstå programvarukoden i sig, man behöver också en förståelse för hur programvaran är lagrad i ett konfigurationshanteringssystem, och hur man föreslår, granskar, inför, och testar förändringar i programvaran och i konfigurationshanteringssystemet. Syftet med denna kurs är att, genom ett praktiskt fall, skapa en djupare insikt och förståelse för bland annat ovanstående utmaningar.

Fakta

  • Undervisningsform: Campus, dagtid, deltid 50%
  • Period: 2020 vecka 36 till 2020 vecka 44
  • Nivå: A1N
  • Anmälan: Denna kurs är del av program och går inte att söka till.
  • Språk: Undervisningen ges på engelska.
  • Ort: Karlskrona
  • Huvudområde: Programvaruteknik
  • Kursplan: Ladda ner
  • Välkomstbrev: Denna kurs är en del av ett program och saknar välkomstbrev.
  • Förkunskapskrav: Avklarade kurser omfattande minst 120 hp varav minst 30 hp ska vara inom ett eller flera av följande områden: Programmering, Objektorienterad systemutveckling, Programvarudesign, Datastrukturer och algoritmer, Databasteknik, Datakommunikation, Realtidssystem, Operativsystem. Dessutom krävs avklarad kurs på minst 7.5 hp inom Grundläggande Programvaruteknik (Software Engineering) eller Programvaruutvecklingsprojekt i grupp.

Innehåll

  • Att förstå ett existerande mjukvarusystem
  • Testning och avlusning av mjukvara
  • Uppskattning av tid och omfattning av evolutions- och underhållsarbeten
  • Evolution av mjukvara
  • Underhåll av mjukvara
  • Konfigurationshantering
  • Att arbeta med ärendehanteringssystem
  • Att förstå betydelsen av ”clean code”

Lärandemål

Kunskap och förståelse
  • kunna presentera en översikt över utmaningarna med evolution av mjukvara.
  • i detalj kunna presentera utmaningarna relaterat till underhåll av mjukvara.

Färdighet och förmåga
  • visa förmåga att arbeta i en modern utvecklingsmiljo, dvs. en IDE, testverktyg och verktyg för konfigurationshantering.
  • visa förmåga att förstå och avlusa existerande (legacy) mjukvarusystem.
  • visa förmåga att uppskatta tid och omfattning för att introducera och testa en ändring i ett existerande (legacy) mjukvarusystem.
  • visa förmåga att integrera kontrollerade ändringar i existerande (legacy) mjukvarusystem som addresserar specifika felrapporter.
  • visa förmåga att testa de integrerade ändringarna på ett systematiskt sätt.

Värderingsförmåga och förhållningssätt
  • visa förmåga att analysera källkod för förbättringar på kod, design och arkitektur.
  • visa förmåga att dokumentera och reflektera över genomförda evolutions- och underhållsarbeten.

Kurslitteratur och övriga läromedel

Priyadarshi Tripathy, Kshirasagar Naik, "Software Evolution and Maintenance: A Practitioner's Approach ", Wiley, 2015. ISBN: 978-0-470-60341-3

R. Martin "Clean Code", Prentice Hall; 1 edition, 2008. ISBN-13: 978-0132350884, ISBN-10: 0132350882

Referenslitteratur:
S. McConnel "Code Complete", Microsoft Press; 2nd edition, 2004. ISBN-13: 978-0735619678 , ISBN-10: 0735619670

J. Richardson "Ship it!", the Pragmatic Bookshelf, 2005.

Kurslitteratur och övriga läromedel

Priyadarshi Tripathy, Kshirasagar Naik, "Software Evolution and Maintenance: A Practitioner's Approach ", Wiley, 2015. ISBN: 978-0-470-60341-3

R. Martin "Clean Code", Prentice Hall; 1 edition, 2008. ISBN-13: 978-0132350884, ISBN-10: 0132350882

Referenslitteratur:
S. McConnel "Code Complete", Microsoft Press; 2nd edition, 2004. ISBN-13: 978-0735619678 , ISBN-10: 0735619670

J. Richardson "Ship it!", the Pragmatic Bookshelf, 2005.

Lärande och undervisning

Kursen består främst av projektarbete som varvas med föreläsningar och seminarier.

Arbetslivsanknytning

Ingen praktik ingår i planerade lärtillfällen. BTH strävar efter tät kontakt med näringslivet vid utveckling av kurser och program.

Lärare

Tidsåtgång

I genomsnitt bör en student räkna med att studera 200 timmar för att nå lärandemålen.
I denna tid ingår alla olika förekommande lärandeaktiviteter (föreläsningar, självstudier, examination m. m.).
Tidsuppskattningen baseras på att ett akademiskt år omfattar 60 högskolepoäng (motsvarar 60 ECTS credits),
som svarar mot en total studietid på ca 1 600 timmar. Den faktiska studietiden varierar individuellt.

Bedömning

Examinationsmoment för kursen
Kod Benämning Högskolepoäng Betyg
1810 Projektuppgift 6 G-U
1820 Rapport 1.5 A-F

Betyg

Kursen bedöms med betygen A Utmärkt, B Mycket bra, C Bra, D Tillfredsställande, E Tillräckligt, FX Otillräckligt, komplettering krävs, F Underkänd.

Kommande tentamenstillfällen

Inga kommande centralt samordnade tentamenstillfällen hittades för denna kurs.

För att få delta vid ett centralt samordnat tentamenstillfälle måste du ha anmält dig i Studentportalen senast 15 dagar innan tentamensdagen.


Lokal och tidpunkt publiceras ca 5 dagar innan tentamensdagen.


Det kan finnas andra planerade examinationstillfällen. Information om de finns i It's Learning eller på annan plats som kursansvarig hänvisar till.

Kursutvärdering

Kursansvarig ansvarar för att studenternas synpunkter på kursen systematiskt och regelbundet inhämtas och att resultaten av utvärderingar i olika former påverkar kursens utformning och utveckling.