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.14-1199-2024


Kursplan

Avancerat projekt i säker mjukvaruutveckling

Advanced Project in Secure Software Development

22,5 högskolepoäng (22.5 credits)

Kurskod: PA2561
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-02-02. 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

För tillträde till kursen krävs att den studerande har avklarat 60 högskolepoäng i programvaruteknik och/eller datavetenskap inkluderat en projektkurs om mjukvaruutveckling i team på minst 7,5 högskolepoäng.

3. Syfte och innehåll

3.1 Syfte

Kursen syftar till att ge studenterna kunskap kring och erfarenhet av att utveckla mjukvara med säkerhetskrav. Studenterna erhåller erfarenhet i mjukvaruutveckling i grupp, moderna utvecklingsmetoder samt hantering av relationen beställare och leverantör och det åtagande som sker mellan dessa båda parter. Kursen syftar till att orientera studenterna kring tekniker och standarder som är kopplat till utveckling av säker mjukvara, samt att ge studenterna erfarenhet i att tillämpa några av dessa tekniker och standarder.

3.2 Innehåll

Kursen omfattar följande moment:
• Storskalig programvaruutveckling av säker mjukvara: förstudiearbete, design och analys, prototyping, arkitektur, konstruktion, kvalitetssäkring, test och leverans omfattande programvara med fokus på säkerhetskrav.
• Planering, organisation och uppföljning av programvaruprojekt i grupp: åtagandekultur, projektorganisation, delprojekt, olika roller i projekt
• Utvecklingsmodeller, kvalitetssäkring, projektplanering och uppföljning
• Metoder och standarder som är kopplat till utveckling av säker mjukvara
• Testplanering och rapportering, leveransplanering, konfigurationshantering och dokumentation
• Analys och reflektion av individens och gruppens arbete, rapportskrivning
• Muntlig och skriftlig kommunikation inom teamet samt med andra roller som kund, chef (HoD) och andra intressenter involverade i projektet.

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 visa goda tekniska kunskaper i programutveckling genom att självständigt i detalj redogöra för en färdig programvaruprodukt och dess ingående komponenter
  • kunna visa en förståelse för metoder och standarder för utveckling av säker programvara
  • kunna visa en förståelse för ett professionellt förhållningssätt och arbetssätt som bygger på åtagandekultur, gällande såväl gruppen som helhet såsom individen i gruppen
  • kunna redogöra för innebörden och vikten av kvalitetssäkring och leveranssäkring vid programutveckling
  • kunna visa erfarenhet av några av de organisations- och kommunikationsproblem som normalt uppstår vid programutveckling i grupp

4.2. Färdighet och förmåga

Efter genomförd kurs ska studenten:

  • inom ramen för programutveckling i grupp, kunna visa skicklighet och färdighet för rollen som yrkesverksam inom industri och näringsliv
  • kunna redogöra för hur en säker programvara utvecklas i grupp genom att aktivt delta i planerandet, organiserandet och genomförandet av ett sådant projekt
  • genom praktiskt arbete erhållit insyn i innebörden och vikten av kvalitetssäkring och leveranssäkring vid programutveckling
  • kunna söka, samla, värdera och kritiskt tolka relevant information i en problemställning samt kritiskt diskutera företeelser, frågeställningar och situationer
  • kunna självständigt identifiera, formulera givna tidsramar
  • kunna muntligt och skriftligt redogöra för och diskutera information, problem och lösningar i dialog med olika grupper
  • kunna ur ett programvarutekniskt perspektiv göra bedömningar med hänsyn till relevanta tekniska lösningar, utvecklingsmetodologi och modeller för kvalitetssäkring
  • kunna identifiera sitt behov av ytterligare kunskap och att utveckla sin kompetens.

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

Efter genomförd kurs ska studenten:

  • självständigt kunna söka, inhämta och värdera tillgänglig litteratur och annan bakgrundsinformation som är relevant för en problemställning inom huvudområdet programvaruteknik
  • självständigt kunna identifiera, formulera och lösa problem inom huvudområdet programvaruteknik
  • självständigt kunna planera och genomföra uppgifter inom givna tidsramar
  • visa förmåga att muntligt och skriftligt kommunicera och ha dialog med olika grupper
  • förmåga att anpassa sig till nya situationer
  • förmåga att generera nya ideér (kreativitet)
  • förmåga att kunna ta beslut och förstå konsekvenser av olika beslut.

5. Läraktiviteter

Genomförandet av projekten sker normalt i grupper av 8-12 personer. Projektuppgifterna är obligatoriska och ska lösas som grupparbete till en fast budget och inom givna tidsramar. Kunden är beställare av hela projektet. Studenterna åtar sig att utföra uppdraget från kunden. Kunden kan ha mer eller mindre bestämd uppfattning om uppdraget och vad det innebär. Kunden kan ställa krav på vilken teknik som skall användas. Studenterna föreslår kunden en lösning baserat på kundens önskemål. Via diskussioner, kravspecifikationer och kontrakt kommer kunden och studenterna överens om den slutliga omfattningen på uppdraget. Studenterna organiserar sig själva i projektgrupperna och sköter själva sin planering. Under denna process kommer de i kontakt med flera av de aspekter av programutveckling som kursen poängterar. Varje projektgrupp har en handledare, en Head of Department (HoD) som fungerar som chef över projektgruppen. Projektgruppen rapporterar till HoD och stämmer veckovis av sin progress mot uppsatta mål. Om problem uppstår skall projektgruppen försöka lösa dem med hjälp av sin HoD. Parallellt med projektarbetet sker undervisning, i begränsad omfattning, med föreläsningar, seminarier, handledning och rapportskrivande. Föreläsningar presenterar teorier och bidrar till den teoretiska förståelsen. Vid seminarier och handledning diskuteras olika aspekter av projektet och dess genomförande.

6. Bedömning och examination

Examinationsmoment för kursen

Kod Benämning Omf. Betyg
1805 Projektuppgift 20,5 hp GU
1815 Individuell reflektion 2 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

1. Software Engineering, 9th edition. Författare: Ian Sommerville. Förlag: Addison-Wesley, senaste upplagan.
2. Software Security Engineering: A Guide for Project Managers, Julia H. Allen; Sean Barnum; Robert J. Ellison; Gary McGraw; Nancy R. Mead, Förlag : Addison-Wesley, senaste upplagan.