# 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)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://book.sovelluskontti.com/master.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
