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: 6
Dnr: BTH-4.1.14-1201-2024


Kursplan

Säker mjukvaruutveckling

Secure Software Engineering

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

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

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

1. Beslut

Denna kurs är inrättad av dekan 2017-11-14. 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

Avklarat 45 högskolepoäng inom Programvaruteknik och/eller Datvetenskap inkluderat avklarade kurser inom Programmering, Datastrukturer och Algoritmer, och en projektkurs omfattande Mjukvaruutveckling i team alternativt Mjukvaruutveckling (Software Engineering).

3. Syfte och innehåll

3.1 Syfte

Kursen utgår från mjukvarans livscykel som helhet och syftar till att ge kunskap om metoder, tekniker och principer i olika utvecklingsfaser för att utveckla säker mjukvara. Kursen behandlar också olika säkerhetsrelaterade kvalitetsattribut: säkerhet, användbarhet, pålitlighet (eng. dependability) och systemsäkerhet (eng. safety, egenskapen att inte orsaka skada på person, egendom eller yttre miljö) samt en orientering om IT-säkerhetsrelaterad lagstiftning och etik för ingenjörer.

3.2 Innehåll

Kursen omfattar följande:
• Metoder och principer för mjukvaruutveckling av säkrare mjukvara
• Hur metoder och principer för utveckling av säkrare mjukvaran kan integreras i mjukvarans livscykel
• Hotmodellering (eng. threat modeling)
• Säkerhetsaspekter relaterat till arkitektur och design
• Säkerhet och principer för programkodning
• Säkerhet och mjukvarutestning
• Säkerhet och driftsättning (eng. deployment) och underhåll
• Kvalitetsattributen säkerhet, användbarhet, pålitlighet, systemsäkerhet och användbarhet
• Orientering om allmänna dataskyddsförordningen (GDPR) och annan lagstiftning relaterad till säkerhet och personlig integritet och hur denna kan påverka utveckling av mjukvara
• Etik för ingenjörer samt hederskodex för ingenjörer

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 redogöra för hur metoder och principer för utveckling av säkrare mjukvara kan integreras i mjukvarans livscykel för att undvika vanliga sårbarheter och attacker,
  • kunna redogöra för IT-säkerhetsrelaterad lagstiftning och hur den kan påverka mjukvaruutvecklingsprocessen och förvaltningen av mjukvarubaserade system,
  • kunna diskutera kvalitetsattributen säkerhet, användbarhet, pålitlighet, systemsäkerhet och användbarhet och hur de interagerar med och mot varandra,
  • kunna diskutera principer för säker design, kodning, testning och underhåll av mjukvara,
  • kunna visa kunskap om säker driftsättning av mjukvarubaserade system och hur detta kan påverka utveckling och underhåll av systemet.

4.2. Färdighet och förmåga

Efter genomförd kurs ska studenten:

  • kunna ta fram en utvecklingsprocess som integrerar säkerhetsaspekter och diskutera på vilka sätt den föreslagna processen påverkar olika aspekter av systemets säkerhet,
  • kunna göra en avvägningsanalys (eng. trade-off) mellan relevanta säkerhetsattribut och andra kvalitetsattribut,
  • kunna ta fram säkerhetskrav för ett exempelsystem,
  • kunna modellera IT-baserade hot med hjälp av olika hotmodeller,
  • kunna diskutera etiska utmaningar kopplade till ingenjörsyrket och till teknisk utveckling och tillämpning och tillämpa dessa på olika fall (eng. cases).

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

Efter genomförd kurs ska studenten:

  • kunna diskutera och förhålla sig till hederskodexar för ingenjörer och relatera till det i sitt eget arbete kunna.
  • kunna diskutera ingenjörens roll i samhället, människors ansvar för olika system används och de etiska och samhälleliga implikationer ett utvecklingsprojekt kan föra med sig.

5. Läraktiviteter

Undervisningen består av föreläsningar, seminarier och inlämningsuppgifter.

6. Bedömning och examination

Examinationsmoment för kursen

Kod Benämning Omf. Betyg
1805 Inlämningsuppgift 1 2,5 hp GU
1815 Inlämningsuppgift 2 2,5 hp GU
1825 Inlämningsuppgift 3 2,5 hp GU

Kursen bedöms med betygen G Godkänd, UX Underkänd, något mer arbete krävs, U 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

Huvudbok:
- Software Security Engineering: A Guide for Project Manager, Julia H. Allen; Sean Barnum; Robert J. Ellison; Gary McGraw; Nancy R. Mead
Förlag Addison-Wesley Professional, 2008
Web ISBN-10: 0-321-55968-1
Print ISBN-10: 0-321-50917-X
Print ISBN-13: 978-0-321-50917-8
Web ISBN-13: 978-0-321-55968-5
Sidor i tryckta versionen, 368 sidor
- Material från institutionen, cirka 250-300 sidor
referenslitteratur:
- Microsoft Security Lifecycle, https://www.microsoft.com/en-us/SDL
- General Data Protection Regulation (GDPR) Portal, http://www.eugdpr.org/