Ohjelmistokehityksen menetelmät ja käytänteet

Opas on tarkoitettu ohjelmistokehityksessä tarvittavien menetelmien sekä käytänteiden kouluttamiseen. Tutustutaan eri työkalujen käyttöön, joita päivittäin ja viikottain tarvitaan. Opas on tehty opettamisen tueksi.

Sisältö

Tavoitteet

Versionhallinta

Perusteet luvun tehtävät koostuvat useammasta tasosta. Tasot on yritetty kokoa loogiseen järjestykseen siten, että aina ennen seuraavaa tasoa olisi hyvä tehdä edellinen. Loppupäässä tehtävät ovat kuitenkin vapaampia ja enemmän tiedonhakuun liittyviä, koska joitakin asioita versionhallinnan käytöstä on vaikeampi opettaa suoraan. Erikoistilanteiden luominen opetusta varten on hankalaa ja sen sijaan pyritään tuomaan esille erilaisia tilanteita, joita työskentelyn aikana kohtaa. Monet ovat kuitenkin harvinaisia mutta varsinkin aluksi voi syntyä paljonkin erikoistilanteita mihin ei löydy suoraa vastausta tästä oppaasta.

Opas Gitin perusteisiin

Sanasto (GIT)

Git perusteet 101

Git perusteet 102

Git perusteet 103

Git perusteet 104

Git perusteet 105

Git perusteet 106

Git perusteet 107

Git perusteet 108

Git muu materiaali ja lähteitä

Yksikkötestaus

Perusteissä käydään läpi yksikkötestauksen pääperiaatteet käytännössä. Tasot on suunniteltu siten, että alempi taso täydentää ylempää. Sisällöt auttavat tutustumaan aiheeseen ja opiskelijan tehtävä on itsenäisesti löytää näihin kysyttyihin asioihin vastaukset. Yksikkötestauksen harjoituksissa käytetään xUnit perheeseen kuuluvia yksikkötestauskirjastoja. Esimerkit ovat C# -ohjelmointikielellä tehtyjä mutta samat periaatteet toimivat ohjelmointikielestä riippumatta.

Ohjelmistotestauksen periaatteet

NUnit perusteet 101

NUnit perusteet 102

NUnit perusteet 103

NUnit muu materiaali ja lähteitä

Test Driven Development (TDD)

Testausvetoinen kehitys tai kuten se paremmin tunnetaan termillä Test Driven Development, on tärkeä osa-alue testien kirjoittamisessa. Aihe on hankalampi opettaa ja vaatii kokemuksen kerryttämistä. Esimerkeissä tullaan kuitenkin tarjoamaan mahdollisuus tämän aiheen oppimiseen mutta parhaiten taidon omaksumisesta voi varmistua, kun kokeneempi kehittäjä antaa siitä palautteen. Teoriassa helppo aihe mutta käytännössä haastava.

TDD perusteet 101

TDD perusteet 102

TDD muu materiaali ja lähteitä

Ketterä ohjelmistokehitys (Agile development)

Kirjassa ei ole varsinaisia tehtäviä ketterän ohjelmistokehityksen osalta. Lähteet toimivat vain aiheen esittelijänä. Tarkoitus on lisätä myöhemmin käytännön asioita miten kokonaisuus voi toimia ja minkälaisia hyötyjä menetelmien noudattamisesta on.

Agile, Muu materiaali ja lähteitä

Agile esimerkki, sykli (alunperin valmisteltu projektityöskentelyn harjoitusta varten)

Last updated