Software Engineering 1
Overordnede kursusmål
At give de studerende en introduktion til softwareudvikling.
At give de studerende færdigheder omkring løsningen af en mindre softwareudviklingsopgave, spændende fra problemformulering til implementering og brug af det konkrete softwareprodukt.
See course description in English
Læringsmål
- opstille en kravspecification i form af use case beskrivelser på baggrund af en given problemstilling.
- anvende UMLs klasse- og sekvensdiagrammer til beskrivelse af programdesign.
- planlægge en funktionel test for en given kravspecifikation og gennemføre de konkrete test.
- planlægge en strukturel test for et givet program og gennemføre de konkrete test.
- gennemføre et mindre software projekt og lave en teknisk dokumentation der sikrer at væsentlige begreber fra problemstillingen er sporbare i implementeringen.
- præsentere deres resultater og analyser på en præcis og klar form.
- at gøre rede for typiske faser og roller i softwareudviklingsprocessen.
- gennemføre problem-, design- og implementerings-orienterede analyser og gøre rede for fordele og ulemper for alternative løsninger.
- bruge begreber fra design-by-contract i forbindelse med programdokumentation.
- bruge programbiblioteker i forbindelse med programmelkonstruktion.
- bruge nogle design patterns.
Kursusindhold
Softwareudvikling, herunder typiske faser i et udviklingsforløb og forskellige roller i udviklingsgrupper og agile processer.
Softwaredokumentation, herunder analyse af problemformulering, kravspecifikation, softwaredesign, test og implementering. Til dette formål introduceres dele af UML, bl.a. use cases, klassediagrammer og sekvensdiagrammer.
Et udviklingsmiljø vil blive benyttet.
Anbefalede forudsætninger
02100/02101, Basale Java programmeringsevner
Undervisningsform
Forelæsninger og projektarbejde, hvor grupper af studerende skal samarbejde omkring udviklingen af et mindre softwaresystem.