Skriv ut som pdf om du vill ha en pdf! Om du vill ha en snyggare utskrift, klicka bort webbläsarens automatiskt tillagda sidhuvud och sidfot.

Blekinge Tekniska Högskola
Institutionen för programvaruteknik

Revision: 3
Dnr: BTH-4.1.1-0836-2024


Kursplan

Evolution och Underhåll av Mjukvara - Projekt

Software Evolution and Maintenance Project

7,5 högskolepoäng (7.5 credits)

Kurskod: PA2558
Huvudområde: Programvaruteknik
Utbildningsområde: Tekniska området
Utbildningsnivå: Avancerad nivå
Fördjupning: A1N - Avancerad nivå, har endast kurs/er på grundnivå som förkunskapskrav

Undervisningsspråk: Engelska
Gäller från: 2024-11-01
Fastställd: 2024-11-01

1. Beslut

Denna kurs är inrättad av dekan 2016-09-01. Kursplanen är fastställd av prefekten vid institutionen för programvaruteknik 2024-11-01 och gäller från 2024-11-01.

2. 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.

3. Syfte och innehåll

3.1 Syfte

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.

3.2 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”

4. Lärandemål

Följande lärandemål examineras i kursen:

4.1. Kunskap och förståelse

Efter genomförd kurs ska studenten:

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

4.2. Färdighet och förmåga

Efter genomförd kurs ska studenten:

  • 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.

4.3. Värderingsförmåga och förhållningssätt

Efter genomförd kurs ska studenten:

  • 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.

5. Läraktiviteter

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

6. Bedömning och examination

Examinationsmoment för kursen

Kod Benämning Omf. Betyg
1810 Projektuppgift 6 hp GU
1820 Rapport 1,5 hp AF

Kursen bedöms med betygen A Utmärkt, B Mycket bra, C Bra, D Tillfredställande, E Tillräckligt, FX Underkänd, något mer arbete krävs, F Underkänd.

Examinator har möjlighet att muntligen följa upp skriftliga examinationer.

I kurstillfällets information inför kursstart framgår i vilka examinationsmoment som kursens lärandemål examineras samt gällande bedömningsgrunder.

Examinator kan, efter samråd med högskolans FUNKA-samordnare, fatta beslut om anpassad examinationsform för att en student med varaktig funktionsvariation ska ges en likvärdig examination jämfört med en student utan funktionsvariation.

7. Kursvärdering

Kursvärdering ska göras i enlighet med BTH:s beslut om frågeställning i kursvärderingar och beslut om process för hantering och uppföljning av kursvärderingar.

8. Begränsningar i examen

Kursen kan ingå i examen men inte tillsammans med annan kurs vars innehåll, helt eller delvis, överensstämmer med innehållet i denna kurs.

9. Kurslitteratur och övriga lärresurser

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.