Emne - Design av kommuniserende systemer - TTM4115
Design av kommuniserende systemer
Vurdering og obligatoriske aktiviteter kan bli endret frem til 20. september.
Om
Om emnet
Faglig innhold
Emnet dreier seg om metoder, språk og arkitektur for å utvikle IKT systemer med vekt på kommunikasjon mellom systemkomponenter. Det inkluderer klassiske IKT systemer, cyberfysikalske systemer, tingenes internett, og kombinasjoner av slike systemer. Hovedtemaene er: - Utvikling av systemer i henhold til krav og use cases fra brukere - Språk for systemspesifikasjon og systemmodeller, med vekt på beskrivelse av oppførsel - Semantikk av spesifikasjons- og designmodeller, og konsistens mellom de - Utviklingsmetodikk, blant annet agile metoder.
Læringsutbytte
A. Kunnskap:
- Klassifisere ulike typer av krav, og forklare de viktigste aktivitetene i en utviklingsprosess. Nevne og oppdage potensielle problemer under kravspesifikasjon.
- Gjenkjenne modelleringselementer i UML, forklare semantikken av dem, og finne den rette måten å implementere dem i kode. Dette omfatter bland annet use case-, sekvens-, tilstandsmaskin- og deployment-diagrammer.
- Forstå og beskrive hovedtrekkene ved applikasjonsprotokoller (som HTTP og MQTT), og bruke dem på korrekt måte i kontekst av en systemarkitektur.
- Liste opp og forklare hovedelementene i en smidig utviklingsmetode som for eksempel Scrum, og reflektere over deres anvendelse i et gitt utviklingssammenheng.
B. Ferdigheter:
- Fange opp brukerkrav og syntetisere relevante use cases med rett detaljnivå.
- Skrive prosjektleveranser som beskriver systemkrav, egenskaper og løsninger.
- Planlegge og koordinere utvikling av større programvareprodukter i et team av utviklere.
- Tenke i tilstander og transisjoner, og håndtere kompleks, samtidig oppførsel på en korrekt måte.
- Modellere forskjellige aspekter av et system på en effektiv måte, spesielt med tanke på detaljnivå og konsistens mellom forskjellige perspektiver.
- Bruke smidige utviklingsmetoder og reflektere over bruken av de i kontekst av et prosjekt.
- Gjøre riktige designvalg for systemarkitektur og dokumentere dem på en hensiktsmessig måte.
C. Generell kompetanse:
- Organisere og lede møter der brukerscenarioer blir samlet, diskutert og vurdert.
- Organisere arbeid med flere utviklere.
- Lede gruppediskusjoner og idémuldring.
- Gi tilbakemelding til andres arbeid som er kritisk, konstruktiv og relevant.
- Reflektere over egen arbeid, individuell og i et team.
Læringsutbyttet av dette kurset er knyttet til konstruksjon av store, distribuerte IKT-systemer som er ryggraden i digitale infrastrukturer som er kritiske for samfunnet. Slike systemer implementerer funksjoner på en robust og effektiv måte, og er direkte relatert til SDG 9 (Industry, Innovation and Infrastructure). Indirekte bidrar slike systemer også til andre bærekraftsmål som muliggjørende teknologi i ulike områder, som SDG 2 (Zero Hunger), SDG 3 (Good Health and Wellbeing), SDG 7 (Affordable Clean Energy), for å nevne noen.
Læringsformer og aktiviteter
Kurset bruker teambasert læring der tradisjonelle forelesninger kombineres med øvinger. Gjennom semesteret får studentene kontinuerlig tilbakemelding på egen læringsfremgang gjennom flere tester (engelsk: Readiness Assurance Tests (RATs)). Disse testene gjennomføres først av hver student individuelt og deretter gjentas i grupper, vangligvis i begynnelsen av hovedtimen i hver læringsenhet . For å lære å arbeide med større prosjekter i en realistisk setting, inkluderer kurset også en semesteroppgave. I denne oppgaven planlegger, forbedrer og utvikler studentene en egen applikasjon.
Obligatoriske aktiviteter
- Systemspesifikasjon: innlevering av versjon 1 og 2
- Teamaktiviteter: deltakelse og innlevering av resultater på slutten av uken
Mer om vurdering
Mappevurdering gir grunnlag for sluttkarakteren i emnet. Mappen består av flere elementer som produseres gjennom hele semesteret, både individuelt og i team. Vurderingen av hele mappen (sluttkarakteren) angis med bokstavkarakter.
Semesteroppgaven er et utviklingsprosjekt som gjennomføres i team. Dette prosjektet resulterer i et dokument med systemspesifikasjonen, kode og en screencast. Disse leveransene sendes inn av hvert team på slutten av semesteret og inngår i mappen til alle studentene i teamet.
I løpet av semesteret må teamene levere delversjoner av systemspesifikasjonen. Disse innleveringene er obligatoriske, men inngår ikke i mappen.
Gjennom prosessen gir og mottar studentene tilbakemeldinger på delversjonene av systemspesifikasjonen. Bare tilbakemeldingene som hver student gir til andre, inngår i mappen. Tilbakemeldinger man mottar, er ikke en del av vurderingen.
På slutten av semesteret leverer hver student et individuelt refleksjonsessay om utviklingsprosessen og utvalgte tema fra kurset. Dette essayet inngår i mappen.
I tillegg til prosjektarbeidet gjennomfører teamene en rekke strukturerte teamaktiviteter som trener ferdigheter som er nødvendige for de endelige leveransene. Deltakelse i disse aktivitetene, inkludert ukentlige innleveringer, er obligatorisk, men inngår ikke i vurderingen.
Sluttkarakteren bestemmes ut fra elementene i mappen, vurdert som en helhet. De vurderte komponentene er prosjektleveransene (endelig systemspesifikasjon, kode og screencast) levert i team, tilbakemeldingene gitt til andre team, resultatene fra de individuelle testene (RATs) og det individuelle refleksjonsessayet.
Alt materiell skal leveres på engelsk, med unntak av refleksjonsessayet, som også kan leveres på norsk.
Anbefalte forkunnskaper
TDT4100 Objektorientert programmering og TTM4200 Datanettverk eller tilsvarende forkunnskaper.
Kursmateriell
Oppgis ved semesterstart. Materialet inneholder et skript fra forelesning, et kompendium som består av standardbøker innenfor programvareutvikling og kilder fra nettet, blant annet blogginnlegg, artikler og videoer.
Studiepoengreduksjon
| Emnekode | Reduksjon | Fra |
|---|---|---|
| SIE5020 | 7,5 sp |
Fagområder
- Program/system-utvikling
- Telematikk
- IKT
- Sivilingeniør
- Teknologiske fag
Kontaktinformasjon
Emneansvarlig/koordinator
Faglærere
Ansvarlig enhet
Institutt for informasjonssikkerhet og kommunikasjonsteknologi