NITH 2012 - 2013 / Emner / Programmeringsemner (PG,IPG) / PG3300 Programvarearkitektur  

PG3300 Programvarearkitektur

Emnenivå
Bachelor

Emnekode
PG3300

Emnenavn
Programvarearkitektur

Studiepoeng
7,50

Emneansvarlig
Tomas Sandnes

Tilsynssensor
Alf Inge Wang

Godkjenningsdato


Hensikt
Kurset skal gjøre studentene i stand til å designe og videreutvikle større programvaresystemer i tråd med kjente teknikker for modellering, testing og implementasjon.

Forutsetninger
Erfaring med grunnleggende objektorietert programmering.

Læringsutbytte

Etter å ha fullført emnet skal studenten kunne: 

Kunnskap:

  • Vite bakgrunn og innhold for UML standarden.
  • Vite hva design patterns er.
  • Kjenne til og kunne identifisere en del viktige design patterns når de ser de i kode.
  • Vite hva refactoring er.
  • Vite hva multi-threading er.
  • Forklare hvordan en event disptacher fungerer
  • Forstå hvordan locking/lås kan brukes for å kode trådsikkert
  • Kjenne til konsepter for versjonskontroll.
  • Forklare prinsippene for test-driven development.

Ferdigheter:

  • Ha oversikt over og kunne benytte den grunnleggende syntaksen i programmeringspråket C# og vite på hvilke måter denne skiller seg fra Java.
  • Beherske UML-diagrammene: use case, klassediagrammer, komponent diagram og sekvensdiagrammer
  • Bruke UML til å designe programarkitektur.
  • Implementere følgende patterns: singleton, factory, flyweight, MVC, composition, decorator.
  • Kunne anvende følgende design guidelines: controller, layers, information experts, low coupling, high cohesion.
  • Kunne gjennomføre refactoring  på eksisterende kode.
  • Kunne implementere applikasjoner som benytter flere tråder.
  • Beherske et integrert utviklingsverktøy (IDE).
  • Skrive og redigere kildekode med dette verktøyet.

Generell Kompetanse:

  • Reflektere over multi-threading og dets bruksområder.
  • Samarbeide med andre programmerere på en effektiv måte for å utvikle gode programmer.
  • Vurdere kvalitet på eksisterende programmer og foreslå strukturelle forbedringer.
Gjennomføring
Forelesninger, øvinger og egenstudier.

Anbefalt tidsbruk

Aktivitet

Tidsbruk

Deltakelse i undervisning

24

Selvstudium

128

Øving

24

Vurdering

24

Anbefalt tidsbruk totalt

200

.

Verktøy

Visual Studio IDE
Gliffy

Karakterskala
Letter grades A-E for passed and F for failure

Vitnemålstekst
Kurset skal gjøre studentene i stand til å designe og videreutvikle større programvaresystemer i tråd med kjente teknikker for modellering, testing og implementasjon.

Pensum

Lærebok (se "Litteraturliste", under) samt forelesningsmaterialet og nødvendige hjelpemidler for å gjennomføre øvingsopplegget.

Vurderingstype
Innlevering

Vurdering

Skriftlig innlevering og muntlig prøve (se "Vurdering / Assessment", under).




Litteraturliste:
Tittel Forfatter Forlag Utgitt år ISBN Utgave Kommentar Type Litteratur
Software Modeling and Design  Hassan Gomaa  Cambridge University Press  2011  978-0521764148  1 edition    Bok  Pensum 

Vurdering / Assessment

Vekting (%):
70

Vurderingstype:
Innlevering / Assignment

Hjelpemiddel:
Alle / All

Varighet:
-

Semester:
Høst / Autumn


Vekting (%):
30

Vurderingstype:
Muntlig / Oral

Hjelpemiddel:
Ingen / None

Varighet:
-

Semester:
Høst / Autumn