PA1454 Programvaruarkitektur och kvalitet

Programkurs, 6 Högskolepoäng, Grundnivå, höstterminen 2022

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

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 idéer, t.ex. 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.

Fakta

  • Undervisningsform: Campus, dagtid, deltid 50%
  • Period: 2022 vecka 44 till 2023 vecka 02
  • Nivå: G1F
  • Anmälan: Denna kurs är del av program och går inte att söka till.
  • Språk: Undervisningen ges på engelska.
  • Ort: Karlskrona
  • Huvudområde: Programvaruteknik
  • Kursplan: Ladda ner
  • Välkomstbrev: Denna kurs är en del av ett program och saknar välkomstbrev.
  • 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.

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.

Lärandemål

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.

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.
  • Välja, 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.



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.
  • Kritiskt analysera, rekommendera och tillämpa modifieringar och förbättringar av arkitekturen för att bättre nå specifika kvalitetsnivåer.

Kurslitteratur och övriga läromedel

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.

Kurslitteratur och övriga läromedel

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.

Lärande och undervisning

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 kursens slut ges en skriftlig tentamen.
På detta vis skapas inlärning med en mix av forskningens aktuella kunskaper, aktuell praxis samt erfarenhets evidens och industriella fallstudier. Praktik, projekt och gästföreläsningar (de flesta år).

Lärare

Planerade lärtillfällen

Föreläsningar, seminarier, övningar och laborationer. I genomsnitt bör en student räkna med att studera 160 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
1710 Inlämningsuppgift 1 1.5 A-F
1720 Inlämningsuppgift 2 3 A-F
1730 Tentamen 1.5 A-F

Betyg

Kursen bedöms med betygen A Utmärkt, B Mycket bra, C Bra, D Tillfredsställande, E Tillräckligt, FX Otillräckligt, komplettering krävs, F 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.

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