TDAT3019

Software Engineering 3

Last taught 2019

Autumn

Trondheim

Norwegian

Overview

9 candidates

Average grade

B

3.89

0.16

Pass rate

100%

same

Grade distribution
Average over time
Pass rate over time

About this course

Content

Utviklingsprosesser med vekt på smidige prosesser. Objektorientert analyse, objektorientert design,. Domain-driven design, testdrevet utvikling. Arkitektoniske stiler, designmønstre. Konfigurasjonsstyring. Kvalitetsbegrepet generelt og for programvare spesielt. Strategier for å oppnå kvalitet. Kvalitetsstyring. "Beste praksis".

Learning outcomes

Kunnskaper
Kandidaten kan:
- definere, gjenkjenne og forklare grunnleggende konsepter for utvikling av store programvaresystemer
- argumentere for og imot ulike utviklingsstrategier
- forklare og drøfte begrepene arkitektoniske stiler og designmønstre
- forklare hvorfor smidige utviklingsprosesser som f.eks. Scrum og prosesser basert på Kanban, er effektive
- forklare hvorfor man trenger et konfigurasjonsstyringssystem
- kan definere, gjenkjenne og forklare konsepter relatert til kvalitet generelt og for programvare spesielt
- kan begrunne behovet for å følge en definert prosess for å nå kvalitetsmål
- kan diskutere behovet for kvalitetsstandarder og hva som ligger i begrepet beste praksis

Ferdigheter
Kandidaten kan:
- arbeide selvstendig og som deltaker i team for å levere kvalitetsprogramvare
- evaluere egnetheten til en gitt prosessmodell for et konkret utviklingsprosjekt
- demonstrere forståelse for, og anvendelse av, teorier, modeller og teknikker
- gjennomføre en arkitektonisk design og argumentere for dens egnethet for et gitt programvaresystem
- gjennomføre en detaljert design, eventuelt med bruk av designmønstre, og vise at den tilfredsstiller kravene til god design
- kan lage en kvalitetsplan
- kan delta i gjennomganger og inspeksjoner

Generell kompetanse
Kandidaten:
- kan bidra til utviklingen av "beste praksis" for utvikling av komplekse programvaresystemer gjennom å delta i i faglige diskusjoner innenfor fagområdet og dele sine kunnskaper og erfaringer med andre
- kan reflektere over egen faglige utøvelse, også i team og tilpasse denne til den aktuelle oppgaven og arbeidssituasjonen

Teaching methods

Forelesninger, seminarer, øvinger.