Ohjelmistokehityksen menetelmät
  • Ohjelmistokehityksen menetelmät ja käytänteet
  • Tavoitteet
  • Työkalut
  • Toimeksiannot
    • Projektityön rajaukset ja toimeksiannot
    • Palkanlaskenta
    • Kilometrikorvaus
    • Laskutus
    • Laskun perintä
  • Ketterä ohjelmistokehitys
    • Agile esimerkki, sykli
    • Agile, Tuotteen tehtävälista
    • Agile, Käyttäjätarina ja käyttötapaus
    • Agile muu materiaali ja lähteitä
    • Agile termit (scrum)
  • Versionhallinta
    • Sanasto Git
    • Opas Gitin perusteisiin
    • 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ähteet
  • Yksikkötestaus
    • Ohjelmistotestauksen periaateet
    • NUnit lisääminen VS2019
    • NUnit perusteet 101
    • NUnit perusteet 102
    • NUnit perusteet 103
    • NUnit perusteet 104
    • NUnit perusteet 105
    • NUnit perusteet 106
    • NUnit muu materiaali ja lähteitä
    • TDD perusteet 101
    • TDD perusteet 102
    • TDD perusteet 103
    • TDD muu materiaali ja lähteitä
  • UML mallinnuskieli
    • Johdanto
  • Relaatiotietokannat
    • Johdanto
    • Sanasto
    • Mysql perusteet -videosarja
    • Pää- ja viiteavaimet
    • ER kaaviot
    • Viite-eheys ja ACID
    • SQL JOIN -lauseke
    • Normalisointi
    • SQL View
    • Tehtävä 001 Tietokannan suunnittelu
    • Indeksointi
      • Hitaat hakukyselyt
  • SQL harjoitukset ja esimerkit
    • Esimerkkitietokannan käyttöönotto
    • Mysql perusteet 101
    • Mysql perusteet 102
      • mysql-perusteet-102-vastaukset
    • Mysql perusteet 103
      • mysql-perusteet-103-vastaukset
    • Mysql perusteet 104
      • mysql-perusteet-104-vastaukset
    • Mysql perusteet 105
      • mysql-perusteet-105-vastaukset
    • Mysql perusteet 106
      • mysql-perusteet-106-vastaukset
    • SQL hakukyselyjä (VANHAT)
    • SQL harjoitukset syksy 2021
      • Vastaukset SQL harjoitukset syksy 2021
  • Miten yrittäjänä voin hyötyä ohjelmistokehityksen ostamisesta?
    • TL;DR
  • Toimeksiannot (2019/01)
    • Toimeksianto 2019/01
    • Käytänteet ja menetelmät
    • Konsoliohjelman refaktorointia
  • SCRUM harjoitustyö (2020/01)
    • Harjoitustyön sisältö
    • Harjoitustyö: Matkalasku
  • Toimeksiannot (2019/02)
    • Toimeksianto 2019/02
  • Toimeksiannot (2018/01)
    • Projekti 2018/01
    • Projekti 2018/01 Perjantaille 14.9
    • Projekti 2018/01 Käyttötapauksesta työtehtäviin
    • Projekti 2018/01 Ohjelmoinnin aloittaminen
    • Projekti 2018/01 TDD esimerkki
  • Harjoitteet (keskeneräiset)
    • Käyttäjätarinat
    • Pariohjelmointi
    • Versionhallinta
    • Testivetoinen kehitys
    • Jatkuva integraatio
    • Inkrementaalinen dokumentointi
Powered by GitBook
On this page

Ohjelmistokehityksen menetelmät ja käytänteet

NextTavoitteet

Last updated 5 years ago

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ö

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.

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.

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.

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.

(alunperin valmisteltu projektityöskentelyn harjoitusta varten)

Tavoitteet
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ä
Ohjelmistotestauksen periaatteet
NUnit perusteet 101
NUnit perusteet 102
NUnit perusteet 103
NUnit muu materiaali ja lähteitä
TDD perusteet 101
TDD perusteet 102
TDD muu materiaali ja lähteitä
Agile, Muu materiaali ja lähteitä
Agile esimerkki, sykli