PA1458 Programvarudesign

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

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

Arkitekturen och designen av ett mjukvarusystem påverkar i hög grad kvaliteten på systemet och kostnaden för utvecklingen. Utgående från grundläggande objektorienterade begrepp och designprinciper analyseras och modelleras ett systems struktur och beteende med hjälp av modelleringsspråket UML (Unified Modelling Language) i en strukturerad arbetsmetodik, Unified Process. Arbetsmetodiken utgår från en beskrivning av kundkrav och bygger en spårbar kedja via olika UML-modeller hela vägen fram till implementation och testning. Den strukturerade arbetsmetodiken och modelleringsspråket UML ger ett stöd till designarbetet, men för att skapa en hållbar programvarudesign krävs också en förståelse för grundläggande designprinciper och designmönster. Designmönster är generella lösningsförslag på vanligt förekommande problem, och som mjukvaruutvecklare förväntas man känna till och kunna anpassa dessa generella lösningar till de konkreta utmaningar man försöker lösa. Grundläggande designprinciper beskriver hur man fördelar olika typer av ansvar mellan klasser för att få löst kopplad och lättunderhållen programvarukod.

Fakta

  • Undervisningsform: Campus, dagtid, deltid 50%
  • Period: 2021 vecka 13 till 2021 vecka 22
  • Nivå: G1F
  • Anmälan: Denna kurs är del av program och går inte att söka till.
  • Språk: Undervisningen ges normalt på svenska men undervisning på engelska kan förekomma.
  • Ort: Karlskrona
  • Huvudområde: Programvaruteknik
  • Kursplan: Ladda ner
  • Välkomstbrev: Denna kurs är en del av ett program och saknar välkomstbrev.
  • Förkunskapskrav: För tillträde till kursen krävs att den studerande har avklarat programmering, motsvarande 7,5 högskolepoäng.

Innehåll

Kursen omfattar följande:
• Introduktion till Systemutvecklingsprocessen
• Introduktion till Kravhantering
• Tids- och storleksskattningar
• Planering av arbete
• Grundläggande begrepp inom objektorienterad modellering
• Introduktion till modelleringsspråket UML
• Introduktion till arbetsmetodiken Unified Process
• Grundläggande designprinciper, t.ex. låg koppling, hög sammanhållning, inkapsling, och polymorfism
• Introduktion till, och användning av Designmönster
• Testning, i synnerhet ur mjukvarudesignprocess-perspektivet

Lärandemål

Kunskap och förståelse
Efter genomförd kurs ska studenten:
• kunna visa kunskap om och förståelse för en systematisk arbetsmetodik
• kunna visa förståelse för grundläggande principer i objektorienterad programvaruutveckling
• kunna visa förståelse för UML som modelleringsspråk
• kunna visa kunskap om grundläggande designprinciper
• kunna visa kunskap om grundläggande designmönster
• kunna visa kunskap om grundläggande mjukvaruarkitekturstilar
• kunna visa förståelse för hur designarbete skapar förutsättningar för testning av mjukvarusystem.
Färdighet och förmåga
Efter genomförd kurs ska studenten:
• på en grundläggande nivå kunna ta fram krav på en programvara
• på en grundläggande nivå kunna planera sitt arbete
• i grupp kunna implementera ett mjukvaruprogram inom rimlig tid baserat på en objektorienterad design
• kunna uttrycka strukturen och beteendet hos ett system i termer av objektorienterade koncept
• kunna korrekt använda UML för att uttrycka struktur och beteende hos ett system
• kunna tillämpa grundläggande designprinciper för en objektorienterad design
• kunna tillämpa grundläggande designmönster i en objektorienterad design.
Värderingsförmåga och förhållningssätt
Efter genomförd kurs ska studenten:
• kunna analysera källkod för eventuella förbättringar
• kunna analysera och kritiskt diskutera en design för eventuella förbättringar.

Kurslitteratur och övriga läromedel

huvudbok:
- C. Larman, /Applying UML and Patterns/, Prentice Hall, 3rd Edition.
referenslitteratur:
- Gamma, Helm, Johnson, Vlissides, /Design Patterns, Elements of Reusable Object-Oriented Software/, Addison-Wesley Professional.

Kurslitteratur och övriga läromedel

huvudbok:
- C. Larman, /Applying UML and Patterns/, Prentice Hall, 3rd Edition.
referenslitteratur:
- Gamma, Helm, Johnson, Vlissides, /Design Patterns, Elements of Reusable Object-Oriented Software/, Addison-Wesley Professional.

Lärande och undervisning

Undervisningen består av föreläsningar och laborationer. Föreläsningarna behandlar centrala begrepp, tekniker och metoder inom objektorienterad design. Laborationerna syftar till att ge förståelse för hur begrepp, metoder och tekniker kan tillämpas i praktiken.

Arbetslivsanknytning

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

Examinator
  1. Jürgen Börstler
Kursansvarig
  1. Jürgen Börstler

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
1905 Saltentamen 1 A-F
1915 Laboration 6.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.

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.