TEKA3003 Software Engineering (5 cr)
Description
Ohjelmistotuotanto tutkii tietokoneohjelmistojen elinkaaren aikana yleisesti käytettyjä tekniikoita, työkaluja ja periaatteita. Tämä kurssi on jo ohjelmointia hallitseville tarkoitettu johdanto ohjelmistotuotantoon, eli järjestelmälliseen tapaan tehdä hieman laajempia ohjelmistoja useamman hengen tiimissä ulkoiselle asiakkaalle. Erityinen paino kurssilla on niin sanotuissa ketterissä ohjelmistotuotantomenetelmissä.
Learning outcomes
Opintojakson käytyäsi ymmärrät ohjelmiston elinkaareen liittyvän käsitteistön ja osaat soveltaa ohjelmistotuotannon menetelmällisiä periaatteita ja käytänteitä (esim. Scrum) työskentelyssäsi.
Tarkemmin ottaen
- tunnet ohjelmistotuotannon, erityisesti ketterän ohjelmistotuotannon vaiheet,
- tiedät, miten vaatimuksia hallitaan ketterässä ohjelmistotuotannossa,
- ymmärrät suunnittelun, toteutuksen ja testauksen vastuut ja luonteen ketterässä ohjelmistotuotannossa,
- ymmärrät ohjelmiston laadunhallinnan perusteet,
- tunnistat ohjelmistokehityksen taloudelliset reunaehdot, sekä
- osaat toimia ympäristössä, jossa ohjelmistokehitys tapahtuu hallitusti ja toistettavalla tavalla.
Description of prerequisites
Opiskelija tuntee erilaisia ohjelmistoja sekä niiden suunnittelun ja toiminnan perusteita. Opiskelija osaa käyttää versionhallintaa (git) ja komentorivityökaluja. Opiskelija on kiinnostunut saamaan syvällisempää ymmärrystä sekä käytännöllistä osaamista ohjelmistotuotannon tehtäviin ja työskentelytapoihin liittyen.
Study materials
Avoin verkko-oppimateriaali (ensisijainen oppimateriaali) ja tätä täydentävää vapaaehtoinen kirjallisuus, sekä harjoituksiin liittyvä materiaalit.
Literature
- Ilkka Haikala & Tommi Mikkonen, Ohjelmistotuotannon käytännöt, Talentum, ISBN: 978-952-14-1755-9 (täydentävä oppimateriaali)
- Farley, D. (2021). Modern Software Engineering: Doing What Works to Build Better Software Faster. Addison-Wesley Professional. (täydentävä oppimateriaali)