# Ohjelmistokehityksen menetelmät

## Ohjelmistokehityksen menetelmät

- [Ohjelmistokehityksen menetelmät ja käytänteet](https://book.sovelluskontti.com/master.md)
- [Tavoitteet](https://book.sovelluskontti.com/tavoitteet.md)
- [Työkalut](https://book.sovelluskontti.com/tyoekalut.md)
- [Projektityön rajaukset ja toimeksiannot](https://book.sovelluskontti.com/toimeksiannot-2020-01/toimeksiannon-rajaukset.md): Toimeksiantoja projektityöhön.
- [Palkanlaskenta](https://book.sovelluskontti.com/toimeksiannot-2020-01/palkanlaskenta.md): Harjoitustyöhön annettu toimeksianto
- [Kilometrikorvaus](https://book.sovelluskontti.com/toimeksiannot-2020-01/kilometrikorvaus.md): Harjoitustyöhön annettu toimeksianto
- [Laskutus](https://book.sovelluskontti.com/toimeksiannot-2020-01/laskutus.md): Harjoitustyöhön annettu toimeksianto
- [Laskun perintä](https://book.sovelluskontti.com/toimeksiannot-2020-01/laskun-perintae.md)
- [Agile esimerkki, sykli](https://book.sovelluskontti.com/ketterae-ohjelmistokehitys/agile-esimerkki-sykli.md)
- [Agile, Tuotteen tehtävälista](https://book.sovelluskontti.com/ketterae-ohjelmistokehitys/agile-tuotteen-tehta-va-lista.md): Esimerkki tuotteen tehtävälistasta.
- [Agile, Käyttäjätarina ja käyttötapaus](https://book.sovelluskontti.com/ketterae-ohjelmistokehitys/agile-kaeyttaejaetarina-ja-kaeyttoetapaus.md): Esimerkki käyttäjätarinasta ja käyttötapauksesta
- [Agile muu materiaali ja lähteitä](https://book.sovelluskontti.com/ketterae-ohjelmistokehitys/agile-muu-materiaali-ja-laehteitae.md)
- [Agile termit (scrum)](https://book.sovelluskontti.com/ketterae-ohjelmistokehitys/agile-termit-scrum.md): Koostettu käytetyimpiä termejä joita vilisee puhekielessä. Nämä on hyvä ymmärtää.
- [Sanasto Git](https://book.sovelluskontti.com/versionhallinta/sanasto.md): Sanastoa Git versionhallintaan. Termejä suomeksi ja englanniksi.
- [Opas Gitin perusteisiin](https://book.sovelluskontti.com/versionhallinta/opas-gitin-perusteisiin.md)
- [Git perusteet 101](https://book.sovelluskontti.com/versionhallinta/git-perusteet-101.md)
- [Git perusteet 102](https://book.sovelluskontti.com/versionhallinta/git-perusteet-102.md)
- [Git perusteet 103](https://book.sovelluskontti.com/versionhallinta/git-perusteet-103.md)
- [Git perusteet 104](https://book.sovelluskontti.com/versionhallinta/git-perusteet-104.md)
- [Git perusteet 105](https://book.sovelluskontti.com/versionhallinta/git-perusteet-105.md)
- [Git perusteet 106](https://book.sovelluskontti.com/versionhallinta/git-perusteet-106.md): Tavoitteena on oppia tekemään ensimmäinen merkintä versionhallintaan.
- [Git perusteet 107](https://book.sovelluskontti.com/versionhallinta/git-harjoitus-107.md): Tavoitteena on saada koko kehitystiimiltä ensimmäiset merkinnät versiohallintaan.
- [Git perusteet 108](https://book.sovelluskontti.com/versionhallinta/git-harjoitus-108.md): Tavoitteena on ymmärtää mikä on merge conflict ja miten sellainen selvitetään.
- [Git muu materiaali ja lähteet](https://book.sovelluskontti.com/versionhallinta/git-muu-materiaali-ja-laehteet.md)
- [Ohjelmistotestauksen periaateet](https://book.sovelluskontti.com/yksikkoetestaus/ohjelmistotestauksen-periaateet.md)
- [NUnit lisääminen VS2019](https://book.sovelluskontti.com/yksikkoetestaus/nunit-lisaeaeminen-vs2019.md)
- [NUnit perusteet 101](https://book.sovelluskontti.com/yksikkoetestaus/nunit-perusteet-101.md)
- [NUnit perusteet 102](https://book.sovelluskontti.com/yksikkoetestaus/nunit-perusteet-102.md)
- [NUnit perusteet 103](https://book.sovelluskontti.com/yksikkoetestaus/nunit-perusteet-103.md)
- [NUnit perusteet 104](https://book.sovelluskontti.com/yksikkoetestaus/nunit-perusteet-104.md)
- [NUnit perusteet 105](https://book.sovelluskontti.com/yksikkoetestaus/nunit-perusteet-105.md)
- [NUnit perusteet 106](https://book.sovelluskontti.com/yksikkoetestaus/nunit-perusteet-106.md)
- [NUnit muu materiaali ja lähteitä](https://book.sovelluskontti.com/yksikkoetestaus/nunit-muu-materiaali-ja-laehteitae.md)
- [TDD perusteet 101](https://book.sovelluskontti.com/yksikkoetestaus/tdd-perusteet-101.md)
- [TDD perusteet 102](https://book.sovelluskontti.com/yksikkoetestaus/tdd-perusteet-102.md)
- [TDD perusteet 103](https://book.sovelluskontti.com/yksikkoetestaus/tdd-perusteet-103.md)
- [TDD muu materiaali ja lähteitä](https://book.sovelluskontti.com/yksikkoetestaus/tdd-muu-materiaali-ja-laehteitae.md)
- [Johdanto](https://book.sovelluskontti.com/uml-mallinnuskieli/johdanto.md): UML (Unified Modeling Language) -kaavioiden perusteet.
- [Johdanto](https://book.sovelluskontti.com/relaatiotietokannat/johdanto.md)
- [Sanasto](https://book.sovelluskontti.com/relaatiotietokannat/sanasto.md)
- [Mysql perusteet -videosarja](https://book.sovelluskontti.com/relaatiotietokannat/mysql-perusteet-videosarja.md)
- [Pää- ja viiteavaimet](https://book.sovelluskontti.com/relaatiotietokannat/paeae-ja-viiteavaimet.md): Luvussa käsitellään pää- ja viitevainten tarkoitusta sekä miten niitä tulisi käyttää.
- [ER kaaviot](https://book.sovelluskontti.com/relaatiotietokannat/er-kaaviot.md): Luvussa käsitellään Entity Relationship -kaavioita. Lyhennettynä ER tai ERD riippuen lähteistä. Niiden tarkoitus on olla apuna tietokannan suunnittelussa sekä kommunikoinnissa.
- [Viite-eheys ja ACID](https://book.sovelluskontti.com/relaatiotietokannat/viite-eheys-ja-acid.md)
- [SQL JOIN -lauseke](https://book.sovelluskontti.com/relaatiotietokannat/sql-join-lauseke.md): Artikkelissa käydään läpi mikä JOIN -lausekkeen tarkoitus SQL -kielessä. Jos et ole opetellut SQL perusteita niin se kannattaa käydä ensin läpi.
- [Normalisointi](https://book.sovelluskontti.com/relaatiotietokannat/normalisointisaeaennoet.md): Luvussa käsitellään tietokantojen normalisointisääntöjä, jotka tulisi tuntea tietokantasuunnittelun vuoksi. Normalisointisäännöt ohjaavat kohti hyvää tietokantaratkaisua.
- [SQL View](https://book.sovelluskontti.com/relaatiotietokannat/sql-view.md): View on niin sanotusti virtuaalinen taulu, joka muodostetaan halutusta kyselystä.
- [Tehtävä 001 Tietokannan suunnittelu](https://book.sovelluskontti.com/relaatiotietokannat/tehtaevae-001-tietokannan-suunnittelu.md)
- [Indeksointi](https://book.sovelluskontti.com/relaatiotietokannat/indeksointi.md): Mitä tarkoitetaan tietokantojen indeksoinnilla.
- [Hitaat hakukyselyt](https://book.sovelluskontti.com/relaatiotietokannat/indeksointi/hitaat-hakukyselyt.md): Luku pohjustaa asiaa miksi indeksit, taulujen osiointi ja muut vastaavat tavat ovat eduksi tietokantoja suunnitellessa.
- [Esimerkkitietokannan käyttöönotto](https://book.sovelluskontti.com/sql-harjoitukset-ja-esimerkit/esimerkkitietokannan-kaeyttoeoenotto.md)
- [Mysql perusteet 101](https://book.sovelluskontti.com/sql-harjoitukset-ja-esimerkit/mysql-perusteet-101.md): Harjoitustietokanta https://dev.mysql.com/doc/sakila/en/
- [Mysql perusteet 102](https://book.sovelluskontti.com/sql-harjoitukset-ja-esimerkit/mysql-perusteet-102.md): Harjoitustietokanta https://dev.mysql.com/doc/sakila/en/
- [mysql-perusteet-102-vastaukset](https://book.sovelluskontti.com/sql-harjoitukset-ja-esimerkit/mysql-perusteet-102/mysql-perusteet-102-vastaukset.md)
- [Mysql perusteet 103](https://book.sovelluskontti.com/sql-harjoitukset-ja-esimerkit/mysql-perusteet-103.md): Harjoitustietokanta https://dev.mysql.com/doc/sakila/en/
- [mysql-perusteet-103-vastaukset](https://book.sovelluskontti.com/sql-harjoitukset-ja-esimerkit/mysql-perusteet-103/mysql-perusteet-103-vastaukset.md)
- [Mysql perusteet 104](https://book.sovelluskontti.com/sql-harjoitukset-ja-esimerkit/mysql-perusteet-104.md): Harjoitustietokanta https://dev.mysql.com/doc/sakila/en/
- [mysql-perusteet-104-vastaukset](https://book.sovelluskontti.com/sql-harjoitukset-ja-esimerkit/mysql-perusteet-104/mysql-perusteet-104-vastaukset.md)
- [Mysql perusteet 105](https://book.sovelluskontti.com/sql-harjoitukset-ja-esimerkit/mysql-perusteet-105.md): Harjoitustietokanta https://dev.mysql.com/doc/sakila/en/
- [mysql-perusteet-105-vastaukset](https://book.sovelluskontti.com/sql-harjoitukset-ja-esimerkit/mysql-perusteet-105/mysql-perusteet-105-vastaukset.md)
- [Mysql perusteet 106](https://book.sovelluskontti.com/sql-harjoitukset-ja-esimerkit/mysql-perusteet-106.md): Harjoitustietokanta https://dev.mysql.com/doc/sakila/en/
- [mysql-perusteet-106-vastaukset](https://book.sovelluskontti.com/sql-harjoitukset-ja-esimerkit/mysql-perusteet-106/mysql-perusteet-106-vastaukset.md)
- [SQL hakukyselyjä (VANHAT)](https://book.sovelluskontti.com/sql-harjoitukset-ja-esimerkit/sql-hakukyselyjae.md): Sivulle on kerätty harjoituksina tehtyjä kyselyjä. Kaikkia kyselyjä ei ole tarkistettu, joten niissä voi olla joitakin virheitä.
- [SQL harjoitukset syksy 2021](https://book.sovelluskontti.com/sql-harjoitukset-ja-esimerkit/sql-harjoitukset-syksy-2021.md)
- [Vastaukset SQL harjoitukset syksy 2021](https://book.sovelluskontti.com/sql-harjoitukset-ja-esimerkit/sql-harjoitukset-syksy-2021/vastaukset-sql-harjoitukset-syksy-2021.md)
- [TL;DR](https://book.sovelluskontti.com/miten-yrittaejaenae-voin-hyoetyae-ohjelmistokehityksen-ostamisesta/tl-dr.md)
- [Toimeksianto 2019/01](https://book.sovelluskontti.com/toimeksiannot-2019-01/toimeksianto-2019-01.md): Aiheiden opiskeluun suunniteltu toimeksianto. Sisältö vastaa esimerkkiä työelämään tehdystä toimeksiannosta.
- [Käytänteet ja menetelmät](https://book.sovelluskontti.com/toimeksiannot-2019-01/projekti-2018-01-kaeytaenteet.md): Luvussa on listattu ne käytänteet, joita tulisi hyödyntää toimeksiannon tekemisen aikana.
- [Konsoliohjelman refaktorointia](https://book.sovelluskontti.com/toimeksiannot-2019-01/konsoliohjelman-refaktorointia.md)
- [Harjoitustyön sisältö](https://book.sovelluskontti.com/scrum-harjoitustyoe-2020-01/harjoitustyon-sisalto.md)
- [Harjoitustyö: Matkalasku](https://book.sovelluskontti.com/scrum-harjoitustyoe-2020-01/harjoitustyoe-matkalasku.md): Harjoitustyö ohjelmistokehityksen taitojen syventämiseen.
- [Toimeksianto 2019/02](https://book.sovelluskontti.com/toimeksiannot-2019-02/untitled.md): Toimeksiannon kuvaus syksyn opetusta varten.
- [Projekti 2018/01](https://book.sovelluskontti.com/toimeksiannot-2018-01/projekti-2018-01.md): Lukuun on luotu alustava kuvaus toteutettavasta ohjelmasta. Toimeksianto on harjoitusprojekti, johon sisältyy ajankohtaisista asiakasprojekteista poimittuja tilanteita.
- [Projekti 2018/01 Perjantaille 14.9](https://book.sovelluskontti.com/toimeksiannot-2018-01/projekti-2018-01-perjantaille-14.9.md): Kuvattu tehtävä tunneille, josta lähdetään liikkeelle.
- [Projekti 2018/01 Käyttötapauksesta työtehtäviin](https://book.sovelluskontti.com/toimeksiannot-2018-01/projekti-2018-01-kaeyttoetapauksesta-tyoetehtaeviin.md): Esitelty tapa tai enemmän se oma tapa lähteä purkamaan toimeksiantoa pienempiin konkreettisimpiin tehtäväkokonaisuuksiin.
- [Projekti 2018/01 Ohjelmoinnin aloittaminen](https://book.sovelluskontti.com/toimeksiannot-2018-01/projekti-2018-01-ohjelmoinnin-kaesitteitae.md): Sisältö tuotettu tukemaan projektin aikana kohdattuja hidasteita. Keskittyy lähinnä ohjelmoinnin käsitteisiin ja perusteisiin. Oletamme, että näitä rakenteita on jo käyty läpi esimerkein.
- [Projekti 2018/01 TDD esimerkki](https://book.sovelluskontti.com/toimeksiannot-2018-01/projekti-2018-01-tdd-esimerkki.md)
- [Käyttäjätarinat](https://book.sovelluskontti.com/harjoitteet/kaeyttaejaetarinat.md)
- [Pariohjelmointi](https://book.sovelluskontti.com/harjoitteet/pariohjelmointi.md)
- [Versionhallinta](https://book.sovelluskontti.com/harjoitteet/versionhallinta.md)
- [Testivetoinen kehitys](https://book.sovelluskontti.com/harjoitteet/testivetoinen-kehitys.md)
- [Jatkuva integraatio](https://book.sovelluskontti.com/harjoitteet/jatkuva-integraatio.md)
- [Inkrementaalinen dokumentointi](https://book.sovelluskontti.com/harjoitteet/inkrementaalinen-dokumentointi.md)
