Toteutusdokumentti. Olutkortisto

Samankaltaiset tiedostot
Määrittelydokumentti. Olutkortisto

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0

Käsikirjan paperiversiota ei enää ylläpidetä ohjeen päivämäärän jälkeen. Viimeisimmät versiot ohjeista löydät ohjelman Help-ruudulta.

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

OHJE ATERIAPÄIVÄKIRJAN MUOKKAUKSEEN

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

OHJE KILPIEN LISÄÄMISESTÄ ATJN KILPIVARASTOON

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

Provet Net Kutsut ohje

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.

NORDEAN WEB SERVICES YHTEYDEN KÄYTTÖÖNOTTO

Visma Business AddOn Tositteiden tuonti. Käsikirja

Ensin klikkaa käynnistä-valikkoa ja sieltä Kaikki ohjelmat valikosta kaikki ohjelmat

Larppa-laskutusohjelma v1.1 Ohje

Opintokohteiden muokkaus

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti

Mainosankkuri.fi-palvelun käyttöohjeita

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat

Raporttiarkiston (RATKI) käyttöohjeet Ohjeet

CABAS. Perusominaisuuksien käyttö

WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8)

Ohjelmoinnin perusteet Y Python

UUDEN NETTIJÄSENREKISTERIN OHJEET. Kirjaudu sisään antamalla käyttäjätunnus ja salasana

GeoGebra-harjoituksia malu-opettajille

Päänäkymä Opiskelijan ohjeet Kurssin suorittaminen Opettajan ohjeet kurssin teko

WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8)

KÄYTTÖOHJE LATOMO VERSO

Valmisteverotuksen tuensaajarekisteri Sähkön luovutustietojen lataustoiminto sähköverkonhaltijoille ja sähköntuottajille

OSAAMISENHALLINTA OMAT TIEDOT. Peruskäyttäjän pikaohje

Voit hakea asiakasta nimellä sivun alapalkissa Tarkennettu haku -valinnalla tai sivun yläpalkissa olevalla valinnalla Haut.

NAVIGAATTORIN ASENNUS JA MUOKKAUS

Sukupuu -ohjelma. Ossi Väre ( ) Joni Virtanen ( )

2013 -merkistä tunnistat uudet ominaisuudet

Ohjelmistoprojektin vaiheet ja OMT++ -suunnittelumenetelmä

MOODLE-OHJE: Liitetiedoston lisääminen ja päivittäminen

Visma Fivaldi -käsikirja MiniCRM

Ohjelmoinnin perusteet Y Python

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

INTINU13A6 Java sovellukset

UTIFLEET-VARAUSJÄRJESTELMÄ KÄYTTÄJÄN OHJE. Gospel Flight ry

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

VIS Online 2.0 version uudistukset

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

MICROSOFT EXCEL 2010

Konsolin näytössä näkyy käytettäessä ohjaavia viestejä, joita kannattaa tämän ohjeen lisäksi seurata.

KYMP Webmail -palvelu

Ohjeistus yhdistysten internetpäivittäjille

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

Asiointipalvelun ohje

OptimePortal ja OptimeEvent versioiden yhteenveto joulukuu

Octo käyttöohje 1. Sisältö

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Sähköpostitilin käyttöönotto

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

ELOKUVATYÖKALUN KÄYTTÖ ANIMAATION LEIKKAAMISESSA. Kun aloitetaan uusi projekti, on se ensimmäisenä syytä tallentaa.

1 KR-Laskut Mallitiliöinnit Kommenttikentän käyttö mallitiliöinneissä Mallitiliöinnin tallennus-sivu...

Käyttöohje: LAPIO latauspalvelu

Oppimateriaalin lisääminen

JAKELUPISTE KÄYTTÖOHJE 2/6

Send-It ilmoittautumisjärjestelmä (judotapahtumat Suomessa)

Asentaminen Android-laitteeseen

VERKKOVELHO-YLLÄPITOTYÖKALUN KÄYTTÖOHJE

Visma.net Approval. Versiosaate 1.40

OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Sonera Yrityssähköposti. Outlook 2013 lataus ja asennus

Ohje 1 (12) Maarit Hynninen-Ojala MOODLE PIKAOHJE. Kirjautuminen Moodleen ja työtilan valitseminen

Ohjeet asiakirjan lisäämiseen arkistoon

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin

Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä

HUOM! Latauskaapelia ei saa kytkeä laitteeseen ennen hyväksytyn maksuprosessin suorittamista! Kirjaudu

Ohjelmoinnin perusteet Y Python

Lukkarikone Pikaohjeet v. 1.0

Oppimateriaalin lisääminen

Elisa Yritysnumeropalvelun tavoitettavuuspalvelu Pääkäyttäjän ohjeet

Lammas- ja vuohirekisterisovellus Pikaohje eläintenpitäjille

ALVin käyttöohjeet. 1. Tositteiden tallennus palveluun. 1.1 Kuvaus, rajaus ja tallennus puhelimella

ALVin käyttöohjeet. Kuvaus, rajaus ja tallennus puhelimella ALVin -mobiilisovelluksen avulla dokumentit kuvataan, rajataan ja tallennetaan palveluun.

LoCCaM. LoCCaM Cam laitteiston ohjaaminen. Dimag Ky dimag.fi

UpdateIT 2010: Editorin käyttöohje

Koripallon Live Score

OpeOodi Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

Excel -sisäänlukutaulukko. Haahtela RES -järjestelmän huoltokohteiden - vienti/tuontitoimintojen käyttöohje

OHJE -LIPPUKUNTASIVUN MUOKKAAMISEEN

OpasOodi Opintokohteiden muokkaus

Ohjelmoinnin perusteet Y Python

Maxivision Go käyttöliittymän ohje

Keskustelusivusto. Suunnitteludokumentti

KÄYTTÖOHJE. Servia. S solutions

Lohtu-projekti. Testaussuunnitelma

Toimittajaportaalin pikaohje

RATKI 1.0 Talousraportin käyttäjän ohje

HENKILÖLISTA-PALVELU Käyttöohjeet versio

RATKI 1.0 Käyttäjän ohje

VSP webmail palvelun ka yttö öhje

Office 365 palvelujen käyttöohje Sisällys

Kortinhaltijat joilla on maksukeskeytys Maksuryhmään liitettyjen kortinhaltijoiden lukumäärä, joiden maksut ovat tilapäisesti keskeytetty.

Kuvien siirto-ohjelman käyttöohje Huom! Tämä ohjelmisto on käytössä vain yrityksillä, joilla ei ole käytössä Java Runtime 1.4 -sovellusta.

Ohjelmoinnin jatkokurssi, kurssikoe

Transkriptio:

Toteutusdokumentti Olutkortisto Juuso Hyvönen juuso.hyvonen@cs.helsinki.fi Ohjaaja Pekka Mikkola HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ohjelmoinnin harjoitustyö (Java), 24.10.2010

Sisällys 1 Käyttöohje...3 1.1 Ohjelman tarkoitus ja yleiskuvaus...3 1.2 Ajo-ohje ja laitteistovaatimukset...3 1.3 Kortiston käyttäminen...3 1.3.1 Oluen lisäys...3 1.3.2 Oluiden selailu...4 1.3.3 Oluen esitysmuoto...4 1.3.4 Oluen haku...5 1.4 Olutkortiston sulkeminen...6 2 Ohjelman toiminta ja rakenne...6 2.1 Ohjelman yleiskuvaus...6 2.2 Luokkarakenne...6 2.3 Luokkien kuvaus...7 2.4 Muutoksen suunnitteludokumenttiin nähden...7 2.5 Ohjelman toiminta...8 2.5.1 Ohjelman käynnistyminen...8 2.5.2 Oluen lisäys...9 2.5.3 Oluen haku kortista ja oluen esitys...10 2.5.4 Ohjelman sulkeminen...11 2.6 Ohjelman rajoitusten poisto ja parannusehdotuksia...11 2.6.1 Vain yksi arvosana...11 2.6.2 Ei mahdollisuutta muokata oluen tietokenttiä...11 2.6.3 Oluita ei voi poistaa...12 2.6.4 Oluiden lajittelu...12 3 Testaus...12 3.1 JUnit-testit...12 3.1.1 Havaitut virheet...12 3.2 Muuta...12 1

1 Käyttöohje 1.1 Ohjelman tarkoitus ja yleiskuvaus Olutharrastajat pitävät usein kirjaa maistamistaan oluista. He kirjoittavat lyhyitä sanallisia arvioita ja ottavat talteen oluesta kaikenlaisia oleellisia tietoja kuten alkoholiprosentin ja katkerot sekä tietysti panimon nimen. Vanhoja arvioita on mukava lukea ja niille on myös mukava kirjoitella uudempia arvioita verrokiksi. Olutkortisto on komentoriviohjelma, joka mahdollistaa tälläisen olutkortiston ylläpidon mukavasti komentoriviltä. Kortistoon lisätään olut ja sille syötetään olennaiset tiedot: nimi, panimo, tyyli, arvosana, alkoholiprosentti, kantavierre, katkerot ja väri. Näiden lisäksi olueen voi liittää sanallisia arvioita. Ohjelman käyttöliittymä on tekstipohjainen ja kaikki syötteet annetaan näppäimistöllä. 1.2 Ajo-ohje ja laitteistovaatimukset. Ohjelma on suunniteltu toimimaan Java Standard Edition 6 -ympäristössä. Ohjelma toimii käyttöjärjestelmästä riippumatta millä tahansa nykyaikaisella tietokoneella, johon Javan SE 6:n saa asennettua. Hiirtä ei tarvita. Ohjelma käynnistetään komentamalla ohjelman juurihakemistossa java KaynnistaOlutkortisto. 1.3 Kortiston käyttäminen Ohjelman käynnistyksen jälkeen päävalikko näyttää seuraavalta: Oluita yhteensa: 4 kappaletta Panimoita yhteensa: 3 Uusin olut: Juuson superpanimo Happo-olut (4) (L)isaa (S)elaa (H)ae (P)oistu Valinta: Ensimmäinen rivi kertoo oluiden kokonaismäärän kortistossa. Toinen rivi kertoo panimoiden kokonaismäärän. Kolmas rivi kertoo uusimman oluen nimen sekä tämän tunnisteen, joka löytyy suluista nimen perästä. Näiden alta löytyy neljä valintaa, joista ensimmäinen (L)isää oluen kortistoon. (S)elaa tulostaa listan kaikista kortiston oluista. (H)ae antaa mahdollisuuden hakea tiettyä olutta. (P)oistu sulkee ohjelman. Haluttu toiminto valitaan painamalla toimintoa kuvaavaa kirjainta näppämistöltä ja painamalla ENTER-näppäintä. Ohjelma hyväksyy valinnoissa sekä isot, että pienet kirjaimet. 2 1.3.1 Oluen lisäys Oluen lisäys tapahtuu painamalla L ja ENTER. Ohjelma kysyy seuraavaksi

3 Oluen nimi: Nyt syötetään oluen nimi ja painetaan Enter-näppäintä. Seuraavaksi ohjelma kysyy panimon nimeä. Tällöin syötetään panimo nimi ja painetaan Enternäppäintä. Jos saman niminen olut olit jo lisätty kortistoon, antaa ohjelma ilmoituksen Olut on jo kortistossa. Jos olut lisättiin kortistoon, kyselee ohjelma loputkin tiedot oluesta. Oluen tyyli annetaan vapaamuotoisena tekstinä. Oluen arvosanaksi kelpaa kokonaisluku väliltä 0-50 ja alkoholiprosentiksi luku väliltä 0-100. Muihin kohtiin kelpaa mikä tahansa luonnollinen luku. Tietojen kyselyn jälkeen ohjelma palaa päävalikkoon. Nyt uusimpana oluena näkyy juuri lisätty olut. Olutkortisto tallentaa lisätyt oluet automaattisesti ohjelman sulkemisen yhteydessä ja lataa tallennetut oluet automaattisesti käynnistyksen yhteydessä. 1.3.2 Oluiden selailu Kortistossa olevista oluista saa listauksen valitsemalla (S)elaa, Ohjelma tulostaa listan kaikista kortiston oluista. Oluen nimen perässä näkyy tunniste, jonka avulla olutta pääsee tarkastelemaan. Oluen tarkastelu tapahtuu syöttämällä tämä tunnistenumero ja painamalla ENTER-näppäintä. Selailusta poistutaan tarkastelematta olutta, syöttämällä 0 ja painamalla ENTER-näppäintä. Jos kortistossa ei ole oluita, ilmoittaa ohjelma "Kortistossa ei oluita." 1.3.3 Oluen esitysmuoto Seuraavassa on esiteltynä oluen esitystapa kortistossa. Juuson superpanimo Hieno olut (1) Arvosana: 43 Alkoholi: 5,9% Tyyli: India Pale ale Katkerot: 40,0 EBU Kantavierre: 23.0% Vari: 35.0 EBC Arviot: 22.9.2010: Läpikuultavan tumman ruskea väri. Pieni pitsinen vaahto. Tuoksu herkullisen leipäinen ja hedelmäinen. Maku on hedelmäinen ja hieman havumetsää. Ripaus greippiä ja sopivan kirpeä katkeruus. Suutuntuma keskitäyteläinen. Oikein mukava ruis-ipa tämä. 31.1.2010 Väri läpikuultavan tumman ruskea. Vaahto tiivistä ja pitsiäkin jää. Miedohkossa tuoksussa humala selkeästi esillä. Maku on hieman havuinen ja selkeän greippin kuoren katkeroinen. Maussa tuntuu

4 myös hieman maltaista pyöreyttä päättyen kuitenkin täysin kuivaan loppuun. Suutuntuma on keveähkö ja raikas. (L)isaa arvio Valinta: (P)oistu Ensimmäiseltä riviltä löytyy panimo sekä oluen nimi. Panimoa ja oluen nimeä ei erotella minkäänlaisin välimerkein, sillä oluita on tapana kutsua panimo + nimi -yhdistelmällä. Toiselta riviltä löytyy arvosana, joka on kokonaisluku väliltä 0-50 sekä alkoholiprosentti. Kolmas rivi kertoo oluen tyyliin ja katkeropitoisuuden. Neljäs rivi kertoo kantavierteen sekä värin. Näiden jälkeen tulevat oluelle lisätyt arviot, joista kerrotaan päivämäärä ja tämän jälkeen itse arvio. Alariviltä löytyvät valinnat (L)isää arvio ja (P)oistu. Oluelle lisätään arvio valitsemalla (L). Tämän jälkeen kortisto pyytää käyttäjältä tekstimuotoisen arvion. Päivämäärä tallentuu automaattisesti. (P) poistuu oluen tarkastelutilasta päävalikkoon. 1.3.4 Oluen haku Oluita haetaan kortistosta valitsemalla päävalikossa (H)aku. Jos kortistossa ei ole oluita, ilmoittaa ohjelma "Kortistossa ei oluita." Jos kortistossa kuitenkin oli oluita, aukeaa seuraavanlainen näkymä: Hakuperuste: (N)imi (P)animo (T)unniste Valinta: Valinta (N) tarjoaa haun nimen perusteella. Kortisto pyytää ensin hakuperusteen ja listaa tämän jälkeen kaikki oluet, joiden nimeen tämä hakusana sisältyy. Tämän jälkeen käyttäjä voi valita haluamansa oluen syöttämällä tunnistenumeron ja painamalla ENTER-näppäintä. Valinta (P) tarjoaa panimohaun. Haku tuottaa listan kaikista haetun panimon oluista. Tämän jälkeen käyttäjä voi valita haluamansa oluen syöttämällä tunnistenumeron ja painamalla ENTERnäppäintä. Valinta (T) tarjoaa suoran tunnistehaun, jossa käyttäjä vain syöttää oluen tunnistekoodin. Tämän jälkeen käyttäjä voi valita haluamansa oluen syöttämällä tunnistenumeron ja painamalla ENTERnäppäintä. Valitsemalla 0, joko hakuperustevalikossa tai haun jälkeen, poistutaan takaisin päävalikkoon.

5 1.4 Olutkortiston sulkeminen Kortisto suljetaan valitsemalla päävalikossa (P)oistu. Ohjelma tallentaa lisätyt oluet automaattisesti tiedostoon ja sulkee itsensä. Kun ohjelma taas seuraavan kerran käynnistetään, lataa kortisto oluet automaattisesti tiedostosta. 2 Ohjelman toiminta ja rakenne 2.1 Ohjelman yleiskuvaus Ohjelman rakenne on hyvin yksinkertainen. Olutkortisto toimii käyttöliittymänä ja sen alla toimivat työkaluja tarjoava Kalut-luokka sekä itse kortisto-ominaisuuden tarjoava Kortisto-luokka. Kortiston puolestaan luo ilmentymiä Olut- ja Panimo-luokista omiin taulukoihinsa. Panimo-luokka tallentaa tiedot oluistaan omaan taulukkoonsa. Olut-luokka tallentaa taulukkoon Arvio-luokasta luotuja ilmentymiä, jotka ovat oluen arvioita 2.2 Luokkarakenne Luokkakaavio Olutkortisto koostuu kuudesta luokasta: Olutkortisto luo ohjelmalle tekstipohjaisen käyttöliittymän. Se ottaa käyttöönsä ilmentymät Kalut-

6 luokasta sekä Kortisto-luokasta. Kalut tarjoaa syötteen lukemiseen ja kirjoittamiseen tarvittavia toimintoja, jotka eivät sujuvasti kuulu mihinkään muuhun luokkaan. Kortisto on koko Olutkortiston ydin. Se pitää kirjaa oluista ja panimoista omissa ArrayListeissään. Oluet ovat ilmentymiä Olut-luokasta ja panimot ilmentymiä Panimo-luokasta. Tietovarastona toimimisen lisäksi Kortisto tarjoaa oluen- ja arvion lisäyksen sekä oluen haun nimen- tai tunnisteen perusteella sekä panimon haun. Panimo pitää ArrayListissä kirjaa oluista, joita panimoon kuuluu. Se tarjoaa mahdollisuuden lisätä uusi olut panimoon sekä tarjoaa listan panimon kaikista oluista. Olut on yksittäinen olut. Se sisältää tiedot oluen nimestä, panimosta, tyylistä, arvosanasta, alkoholiprosentista, kantavierteestä, katkeroista ja väristä. Oluella on myös uniikki tunnistenumero, joka lasketaan kaavalla: oluiden määrä + 1. Lisäksi oluella on lista siitä tehdyistä arvioista. Arviot ovat ilmentymiä Arvio-luokasta. Luokka tarjoaa mahdollisuuden muuttaa kaikkia muita arvoja paitsi oluen tunnistenumeroa. Arvio on yksittäinen arvio. Se sisältää yhden sanallisen, enintään 500 merkkiä pitkän arvion sekä aikaleiman, jossa arvion päivämäärä. 2.3 Luokkien kuvaus Katso Javadoc. 2.4 Muutoksen suunnitteludokumenttiin nähden Olutkortiston toteutus sujui hyvin pitkälti suunnitellusti. Suurin muutos alkuperäiseen suunnitelmaan on Kalut-luokan lisäys. Yleiskäyttöisiä syötteenlukumetodeja ja kortiston tallennusja latausmetodit on selkeyden vuoksi siirretty omaan luokkaansa. Joitain turhia attribuutteja kuten int oluidenmaara on tiputettu pois, sillä esimerkiksi tämän tiedon saa kaivettua suoraan ArrayListin size()-metodilla.

7 2.5 Ohjelman toiminta 2.5.1 Ohjelman käynnistyminen Sekvenssikaavio: Olutkortiston käynnistyminen

8 2.5.2 Oluen lisäys Sekvenssikaavio: Oluen lisäys kortistoon

9 2.5.3 Oluen haku kortista ja oluen esitys Oluen haku ja -esitys

10 2.5.4 Ohjelman sulkeminen Sekvenssikaavio: Olutkortiston sulkeminen 2.6 Ohjelman rajoitusten poisto ja parannusehdotuksia 2.6.1 Vain yksi arvosana Kortistoon on mahdollista lisätä vain yksin arvosana. Tämän voisi korjata esimerkiksi lisäämällä oman arvosanataulukkonsa, josta lasketaan esimerkiksi keskiarvo ja suurin ja pienin arvo. Toinen vaihtoehto olisi lisätä jokaisen sanallisen arvion yhteyteen arvosana. 2.6.2 Ei mahdollisuutta muokata oluen tietokenttiä Oluelle lisäämisen yhteydessä annetut arvot ovat lopullisia. Tämä ongelma, jos lisäyksen yhteydessä sattuu huolimattomuusvirhe. Olut-luokalla on jo olemassa metodit oluen kenttien muokkaamiseen. Jotta käyttäjä pystyisi muokkaamaan kenttiä, täytyisi vain toteuttaa yksinkertainen käyttöliittymä, jolla näitä metodeita pääsee käyttämään.

2.6.3 Oluita ei voi poistaa Kerran lisätty olut on ja pysyy. Yksi poistoon liittyvä ongelma on tunnistenumeron laskenta poiston jälkeen lisättäville oluille. Tämän voisi ratkaista muuttamalla tunnisteen laskentaan käytettyä kaavaa muodosta oluiden määrä + 1, muotoon suurin tunnistenumero + 1. Toinen mahdollisuus olisi tutkia olutlista läpi ja katsoa mikä numero välistä puuttuu ja vasta täyden listan jälkeen jatkaa taas tunnistenumeroiden suurentamista. 11 2.6.4 Oluiden lajittelu Oluita olisi mukava selata kauniisti ryhmiteltynä. Esimerkiksi arvosanan mukaan järjestäminen ja panimoittain listaaminen olisi kätevää. Toteutus onnistuu helposti oluiden kenttiä vertailemalla. 3 Testaus 3.1 JUnit-testit Ohjelmasta testattiin JUnit-testeillä luokat Kalut, Kortisto, Olut ja Panimo. Luokasta Kalut testattiin tiedoston tallennus ja lataus sekä tiedoston. Tiedoston latauksessa testattiin myös latausalgoritmin toimivuus, jos ladattavaa tiedostoa ei löydy. Luokasta Kortisto testattiin oluen lisäys, saman oluen lisäys uudelleen sekä oluen, jolla on tyhjä nimi- tai tyhjä panimo-kenttä lisäys. Samalla testattiin myös uuden panimon syntyminen, jos panimoa ei vielä oltu luotu. Kortistosta testattiin myös arvion lisäyksen toimiminen oikean muotoisella arviolla, tyhjällä arviolla ja liian pitkällä arviolla. Luokasta Olut testattiin settereiden toiminta kunnollisilla, negatiivisilla ja liian suurilla arvoilla. Arvion lisäys olueen testattiin samalla tavalla. Luokasta Panimo testattiin oluen lisäyksen toimivuus. 3.1.1 Havaitut virheet Testit suoritettiin melko myöhäisessä vaiheessa ohjelman toteutusta, joten merkittäviä virheitä ei löytynyt. Turhia päällekkäisiä syötteentarkistuksia löytyi jokunen ja ne poistettiin. Esimerkiksi arvion pituus tarkistettiin ensin Olutkortisto-luokassa, sitten Kortisto-luokassa ja tämän jälkeen vielä Olut-luokassa. Nyt tarkistus tapahtuu enää Olutluokassa ja muut luokat reagoivat saamansa boolean-arvon mukaan. 3.2 Muuta Olutkortisto-luokkaa ei testattu erillisillä testeillä, sillä se havaittiin toimivaksi lukuisilla

ohjelman käyttökerroilla sekä Kimmo Heikkisen suorittamalla näppäimistön satunnaisella mätkimisellä. 12