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: 4
Dnr: BTH-4.1.14-0983-2024


Kursplan

Programvaruarkitektur och kvalitet

Software Architectures and Quality

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

Kurskod: PA1453
Huvudområde: Programvaruteknik
Utbildningsområde: Tekniska området
Utbildningsnivå: Grundnivå
Fördjupning: G1F - Grundnivå, har mindre än 60 hp 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 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

Studenten måste ha klarat av totalt 22,5 högskolepoäng från följande områden: Programvarudesign, Datastrukturer och algoritmer, Databasteknik, Datakommunikation, Realtidssystem, Operativsystem samt avklarat en kurs i Programmering på minst 6 högskolepoäng.

3. Syfte och innehåll

3.1 Syfte

Programvaruarkitektur är ett viktigt tekniskt koncept i modern, storskalig programvaruutveckling, där programvaruarkitektur tjänar flera syften: planering av utvecklingsresurser; analys av problemdomänen från flera olika perspektiv med hjälp av arkitekturella vyer, samt abstraktion av stora mängder information för att uppnå en användbar översikt av systemet. Dessutom är programvaruarkitekturen och de beslut som fattats angående dess konstruktion nyckelkomponenter för att planera och åstadkomma specifika nivåer av kvalitet i det färdiga systemet och därmed också avgörande för systemets framgångsmöjligheter.
I kursen förväntas studenten skaffa sig detaljerad kunskap om programvaruarkitektur och kvalitet, om programvaruarkitektur och dess relaterade beslutseffekter på kvaliteten på den utvecklade programvaran.
Studenten förväntas uppnå detaljerad förståelse om hur: i) programvaruarkitektur av befintliga programvarusystem dokumenteras; ii) programvaruarkitekturer konstrueras baserat på moderna metoder och ideer, till exempel arkitekturstilar, -mönster och taktiker, genom att ta hänsyn till den önskade programvaran, den omgivande teknologin och utvecklingsorganisationen; iii) resonera sakligt och faktabaserat om en specifik programvaruarkitekturs lämplighet för en viss produkt eller tjänst.

3.2 Innehåll

Kursen består av följande områden:

  • Kvalitetsaspekter i programvaruteknik och programvaruarkitektur.
  • Vyer, språk, stilar, mönster och taktiker för programvaruarkitektur.
  • Återskapande och beskrivning av programvaruarkitektur från källkod.
  • Metoder för programvaruarkitekturdesign, utvärdering och transformation.
  • Litteraturgenomgång av relevanta forskningsartiklar om programvaruarkitektur.

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:

  • Läsa, tolka, skapa och resonera (om) programvaruarkitekturbeskrivningar, relaterat till olika behov och baserat på vanligt förekommande vy-perspektiv.
  • Känna igen och reflektera om kopplingar mellan programvaruarkitektur, produktkvalitet, utvecklingsprocess, resursbehov och utvecklingsorganisation.

4.2. Färdighet och förmåga

Efter genomförd kurs ska studenten kunna:

  • Producera, dokumentera och kommunicera en enkel programvaruarkitektur så att dokumentationen kan användas som riktlinjer för att utveckla systemet med förväntad kvalitet och karakteristik.
  • Utföra analys av kompromisser mellan olika kvalitetskrav och designbeslut, tillämpa lämpliga lösningar för att uppnå ställda kvalitetskrav.
  • Identifiera och dokumentera implementationsregler och riktlinjer som är nödvändiga baserat på den aktuella programvaruarkitekturen och kvalitetskraven.

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

Efter genomförd kurs ska studenten kunna:

  • Utvärdera en programvaruarkitektur och med fakta och explicita antaganden som bas, utvärdera hur väl kvalitetskraven kan uppnås.
  • Utvärdera och kritisera designbeslut i termer relevanta för programvaruarkitektur.
  • Analysera, rekommendera och tillämpa modifieringar och förbättringar av arkitekturen för att bättre nå specifika kvalitetsnivåer.

5. Läraktiviteter

Kursen bygger på individuella studier, föreläsningar, individuellt fördjupande arbete, så väl som grupparbete i mindre projektuppgifter.
Kursinnehållet är organiserat kring ett antal föreläsningar , i vilka studenten förväntas delta aktivt genom att ställa frågor, diskutera, ifrågasätta och reflektera över sina egna erfarenheter, samt motsägande koncept från kurslitteraturen och forskningsartiklar. Föreläsningarna tillsammans med studentens egna studier av kurslitteraturen bildar grunden för projektuppgifterna. 
De två projektuppgifterna består av verkliga, men storleksanpassade övningar där studenterna förväntas tillämpa de koncept, metoder och tekniker som presenteras i föreläsningarna för att dokumentera, utvärdera och slutligen omvandla programvaruarkitekturer. 
I anslutning till föreläsningar och projektuppgifter hålls ett antal praktiska genomgångar där studenter och handledare gemensamt löser samma typ av problem som projektuppgifterna innehåller.
Två mindre duggor bestående av fler-alternativsfrågor, ges under kursperioden med syfte att förankra de grundläggande koncept som krävs för att genomföra projektuppgifterna. Vid kursen slut ges en skriftlig tentamen.
På detta vis främjas inlärning med en mix av forskningens aktuella kunskaper, aktuell praxis samt erfarenhets evidens och industriella fallstudier.

6. Bedömning och examination

Examinationsmoment för kursen

Kod Benämning Omf. Betyg
1710 Inlämningsuppgift 1 1,5 hp AF
1720 Inlämningsuppgift 2 3 hp AF
1730 Presentation och opposition 1 hp GU
1740 Tentamen 2 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.

Kursbetyget fastställs som en sammanslagning av de ingående examinationsmomenten.

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

Huvudlitteratur:

1. Software Architecture in Practice, 3rd Edition
Authors: L. Bass, P. Clements, and R. Kazman
Addison-Wesley, 2012.
ISBN10: 0321815734 ISBN13: 97803218157362.

2. Applied Software Architecture

Authors: C. Hofmeister, R. Nord, and D. Soni,
Addison-Wesley Professional, 2000.
ISBN 10: 0321643346 ISBN 13: 9780321643346.

Referenslitteratur:

3. Documenting Software Architectures: Views and Beyond, 2nd Edition
Authors P. C. Clements et al.,
Pearson Education, 2010.
ISBN 10: 0321552687 ISBN 13: 978-0321552686.

10. Övrigt

Denna kurs ersätter kursen PA1410