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
  • Matkalasku
  • Ohjelman toimintojen lisätoiveet
  • Harjoitustyön rajaukset
  • Vinkkejä
  1. SCRUM harjoitustyö (2020/01)

Harjoitustyö: Matkalasku

Harjoitustyö ohjelmistokehityksen taitojen syventämiseen.

PreviousHarjoitustyön sisältöNextToimeksianto 2019/02

Last updated 5 years ago

Matkalasku

Kirjanpitäjänä (jäljempänä Asiakas) toimiva henkilö laskee usealle yritykselle heidän työntekijöiden matkakorvauksia. Työ on alkanut käymään toistuvaksi puurtamiseksi ja asiakas on miettinyt matkalaskujen hoitamista sähköisesti. Ensimmäiseksi asiakas haluaisi päästä kokeilemaan matkalaskujen luomiseen luotua ohjelmaa. Asiakas on antanut seuraavat lähtötiedot ohjelman ensimmäisistä vaatimuksista.

Matkalaskun sisältö on seuraavanlainen:

  • Matkan lähtö- ja paluuaika.

  • Matkan tarkoitus ja lisätiedot.

  • Matkakorvauksen saaja.

  • Ajankohta, jolloin matkalasku on luotu.

  • Reitin kuvaus ja välimatka (km)

  • Matkustajien lukumäärä.

Annettujen tietojen perusteella ohjelman tulisi laskea:

  • Kilometrikorvaus auton käytöstä ()

  • Kilometrikorvauksesta tulisi nähdä sen erittely eli mistä kokonaiskorvaus muodostuu. (kilometrit, henkilöiden lkm., laskemiseen käytetty korvauksen määrä per kilometri)

  • Päivärahat matkan keston perusteella. ()

  • Päivärahasta tulee nähdä määrä, yksikköhinta ja päivärahojen kokonaiskorvaus.

  • Lopuksi ohjelman tulee laskea edellisten tietojen pohjalta kokonaiskorvaus.

Asiakas on vaatimaton ensimmäisen version suhteen kunhan hän pääsee kokeilemaan vain ideaansa.

Jotta ohjelma olisi käyttökelpoinen, tulisi sen myös tallentaa muodostetut matkalaskut. Ohjelman avulla voidaan siis tarkastella jo muodostettuja matkalaskuja.

Ohjelman ei tarvitse tukea useiden eri korvaustyyppien laskemista vaan riittää, että puhutaan aluksi oman auton käytöstä ja päivärahoista.

Malli matkalaskun sisällöstä, jonka asiakas on antanut vaatimusten tueksi.

Ohjelman toimintojen lisätoiveet

  • Matkalaskun laskemiseen käytettyjä korvausmääriä voi vaihtaa.

  • Matkalaskuun voi merkitä myös auton lisäksi muita kulkuneuvoja.

  • Matkalaskuista saisi yhden yhteenvedon kaikista luoduista matkalaskuista.

  • Matkalaskun voi merkitä Maksetuksi -tilaan.

  • Matkalaskuja voi luoda usealle eri henkilöille.

Harjoitustyön rajaukset

Ohjelman pitää olla konsoliohjelma (esimerkki alla mikä on konsoliohjelma).

Ohjelmointikielenä pitää olla C#.

Harjoitustyössä ei tarvitse tulostaa laskun kuvaa vaan riittää, että konsoliohjelmasta näkee kaikki tiedot.

Vinkkejä

Lyhyt soittolista, jossa tehdään pieni ohjelma missä hyödynnetään tekstitiedostoja tallennusmekanismina. Videolla puhutaan myös Luokkien ja Listojen käytöstä, jotka ovat osa olio-ohjelmoinnin perusrakenteita.

https://www.veronmaksajat.fi/Palkka-ja-elake/Kilometrikorvaukset/kilometrikorvaukset-2020/#3c29c31d
https://www.veronmaksajat.fi/Palkka-ja-elake/Paivarahat/kotimaan-paivarahat-2020/#3c29c31d
https://www.youtube.com/playlist?list=PL3iay_FdAzV_EDcg7lLR1iJgZf6ObTsfEwww.youtube.com
https://www.youtube.com/playlist?list=PL3iay_FdAzV_7GzGYkoO1msZPSLl1vIazwww.youtube.com
User Stories and User Story Examples by Mike CohnMountain Goat Software
Esimerkki Githubin Issues listan käytöstä.
Issues · hamk-ohjelmointi-intip19x6/hamk-development-team-00GitHub
Logo
Logo
Esimerkki matkalaskusta
Esimerkki konsoliohjelmasta