Alla kurser under VT20 kommer utföras på distans

PA2562 Säker mjukvaruutveckling

Programkurs, 7,5 Högskolepoäng, Avancerad nivå, vårterminen 2021

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

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.

Fakta

  • Undervisningsform: Campus, dagtid, deltid 50%
  • Studietid: 2021 vecka 03 till 2021 vecka 12
  • Nivå: A1N
  • Anmälan: Denna kurs är del av program och går inte att söka till.
  • Språk: Undervisningen ges normalt på engelska men undervisning på svenska kan förekomma.
  • Ort: Karlskrona
  • Kursplan: Ladda ner
  • Välkomstbrev: Denna kurs är en del av ett program och saknar välkomstbrev.
  • 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).

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

Lärandemål

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

Kurslitteratur och övriga läromedel

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/

Kurslitteratur och övriga läromedel

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/

Lärande och undervisning

Undervisningen består av föreläsningar, seminarier och inlämningsuppgifter. 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

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
1805 Inlämningsuppgift 1 2.5 G-U
1815 Inlämningsuppgift 2 2.5 G-U
1825 Inlämningsuppgift 3 2.5 G-U

Betyg

Kursen bedöms med betygen G Godkänd, UX Otillräckligt, komplettering krävs, U Underkänd.

Tentamina

Du kan läsa mer om tentamen i Studentportalen och där anmäler du dig till de flesta tentamina.


Det kan finnas andra planerade examinationstillfällen. Information om dem finns i lärplattformen Canvas eller på annan plats som kursansvarig hänvisar till.

Kursvä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.