PA1453 Programvaruarkitektur och kvalitet

Programkurs, 7,5 Högskolepoäng, Grundnivå, höstterminen 2020

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

Fakta

  • Undervisningsform: Campus, dagtid, deltid 50%
  • Period: 2020 vecka 45 till 2021 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 skall studenten:
  • 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 skall studenten:
  • 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.

Värderingsförmåga och förhållningssätt
Efter genomförd kurs skall studenten:
  • 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.

Generella förmågor

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

Arbetslivsanknytning

Praktik, projekt och gästföreläsningar (de flesta år).

Lärare

Examinator
  1. Per-Olof Bengtsson
Kursansvarig
  1. Per-Olof Bengtsson

Planerade lärtillfällen

Föreläsningar, seminarier, övningar och laborationer.

Tidsåtgång

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
1710 Inlämningsuppgift 1 1.5 A-F
1720 Inlämningsuppgift 2 3 A-F
1730 Presentation och opposition 1 G-U
1740 Tentamen 2 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.

Kommande tentamenstillfällen

Inga kommande centralt samordnade tentamenstillfällen hittades för denna kurs.

För att få delta vid ett centralt samordnat tentamenstillfälle måste du ha anmält dig i Studentportalen senast 15 dagar innan tentamensdagen.


Lokal och tidpunkt publiceras ca 5 dagar innan tentamensdagen.


Det kan finnas andra planerade examinationstillfällen. Information om de finns i It's Learning 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.