Ohjelmiston toteutussuunnitelma

Koko: px
Aloita esitys sivulta:

Download "Ohjelmiston toteutussuunnitelma"

Transkriptio

1 Ohjelmiston toteutussuunnitelma Ryhmän nimi: Crossing Tekijät: Timo Nummenmaa (PM) Aki Mäkinen Jussi Rantala Rami Saarinen Harri Smått Toimeksiantaja: Timo Poranen (UTA) Muutospäivämäärä: Versio:

2 Sisällysluettelo 1 Johdanto Tavoitteet Projektin laajuus Ohjelman ympäristö Tärkeimmät rajoitteet Datasunnitelma Arkkitehtuuri- ja komponenttitason suunnitelma Ohjelman rakenne Arkkitehtuurikaaviot Vaihtoehdot libgtl libgtl:n liittymäkuvaus libutag libutag:n liittymäkuvaus mops mops:n prosessikuvaus mops:n liittymäkuvaus mops:n algoritmikuvaus mps mps:n prosessikuvaus mps:n liittymäkuvaus mps:n algoritmikuvaus crossing crossingin prosessikuvaus crossingin liittymäkuvaus crossingin algoritmikuvaus Ohjelmiston käyttöliittymän kuvaus Liittymät ulkoisiin laitteisiin Ulkoiset systeemiliittymät Käyttäjän käyttöliittymän suunnitelma Käyttäjän käyttöliittymän kuvaus Rajoitteet

3 6 Testausasiat Testiluokat Tehokkuusrajat Kriittisten komponenttien tunnistaminen Liitteet Paketointi- ja asennusasiat MPS-suoritusarvoja MOPS-suoritusarvoja Versiohistoria

4 1 Johdanto Toteutussuunitelmadokumentin kuvaa UTAG:n arkkitehtuurin. Lisäksi dokumentissa esitellään mps-, mops- ja crossing-ohjelmat, jotka toimivat kirjaston käyttöesimerkkeinä 1.1 Tavoitteet Projektin tavoitteena on suunnitella ja toteuttaa ohjelma graafien ominaisuuksien, kuten risteämäarvojen, suurimman ulkotasograafin (mops) tai suurimman tasograafin (mps), laskemiseen. Lisäksi tavoitteena on toteuttaa se niin, että jatkossa tämän pohjalle voivat kohdekäyttäjät rakentaa omia sovelluksia. Lähtökohtana toteutuksessa on olemassa oleva apptopinv-ohjelma, josta muokataan vaatimusmääritysten mukainen uusi ohjelma. Projekti on tutkimusluontoinen, jolloin osa työstä koostuu tässä tapauksessa uusien algoritmien kehittelystä ja testauksesta. Tästä johtuen tarkkojen vaatimusten esittäminen toteutuksen osalta on varsin vaikeaa. Olemmekin priorisoineet toteutusvaiheen tehtäviä. Ohjelman toiminnan kannalta olennaisimmat toiminnot ja muut vaatimukset ovat erotettu toisistaan. Ensisijaiset tavoitteet: kaupallisen LEDA-kirjaston poistaminen kaupallisen kirjaston toimintojen korvaaminen GTL-kirjaston sekä omien funktioiden avulla graafin risteämäarvon laskevan satunnaistetun algoritmin toteutus ulkokehägraafin ristämäarvon laskevan algoritmin toteutus ohjelman arkkitehtuurillinen uudelleenjärjestäminen MPS (suurin mahdollinen alitasograafi) ja MOPS (suurin mahdollinen ulkoalitasograafi) algoritmien tekeminen satunnaisten graafien generointi Toissijaiset tavoitteet: graafien tallentaminen halutussa tiedostomuodossa graafien visualisointi näytölle oman graafikirjaston luonti laajennettavuuden mahdollistaminen lisäalgoritmien kehittely 4

5 1.2 Projektin laajuus Projektin päätarkoitus on luoda ohjelmistoarkkitehtuuri graafiongelmien käsittelyn helpottamiseksi. Samalla luodaan muutama (mps, mops, crossing) komentorivipohjainen ohjelma, jotka kuvataan tarkemmin. Syötteet: parametrit, jotka määräävät graafista laskettavan ominaisuuden parametrit, jotka vaikuttavat algoritmin valintaan ja sen toimintaan satunnaisesti generoitava graafi tiedostosta ladattava graafi Tulokset: graafista lasketut arvot arvojen laskemiseen kulunut aika tiedostoon halutussa formaatissa tallennettu graafi graafin visualisointi näytölle 1.3 Ohjelman ympäristö Asiakas käyttää ohjelmaa graafien tutkimiseen testaamalla erilaisten algoritmien tehokkuutta graafien risteämäarvojen laskemisessa. Olemassa olevaan apptopinv-ohjelmaan verrattuna toteutettavan ohjelman tulisi olla laajennettavuudeltaan ja muokattavuudeltaan hyvä, jotta jatkossa asiakas pystyisi lisäämään helposti uusia tutkimusalgoritmeja. Projektin eräs tarkoitus on pilkkoa apptopinv-ohjelman toiminnallisuus pienemmiksi, tiettyyn osa-alueeseen suunnatuiksi, erillisiksi ohjelmiksi. Aikomuksena on myös laatia täysin apptopinv:ia vastaava ohjelma, joka olisi kuitenkin lähinnä tarkoitettu projekin sisäiseen käyttöön ja testaukseen. Ohjelman toteutuksessa tullaan hyödyntämään vapaasti saatavilla olevaa GTL-graafikirjastoa. Tulevaisuutta varten tämän kirjaston tarjoamat palvelut eriytetään muusta ohjelmasta niin, että asiakas pystyy tarvittaessa korvaamaan kirjaston tarjoamat palvelut paremmaksi katsomillaan toteutuksilla. 5

6 1.4 Tärkeimmät rajoitteet Teknisiä rajoitteita toteutukselle aiheuttavat GTL-graafikirjaston käyttö sekä pyrkimys tehdä ohjelmasta käyttöjärjestelmäriippumaton. GTL:ssä lisäksi joudumme tyytymään versioon 0.3.3, joka on viimeinen versio vapaassa levityksessä ja on julkaistu vuonna Tämän jälkeen GTL on muuttunut kaupalliseksi. Projektin aikataulusta johtuen loppupäähän ajoitettujen tehtävien ja ominaisuuksien toteuttamiseen saattaa jäädä vähän aikaa. 2 Datasunnitelma Pyrimme käyttämään jo olemassa olevia tietorakenteita ja täten pyrimme hyödyntämään STLkirjaston rakenteita mahdollisimman monipuolisesti. STL on tunnettu ja varsin toimivaksi testattu C++-kirjasto. STL:n palveluista erityisesti set-, list- ja vector-rakenteita tullaan käyttämään toteutuksessa. Väliaikaisiksi tietorakenteiksi voidaan lukea omat Edge- ja Node-luokkamme. Ne toimivat niin sanottuina wrapper-luokkina, jotka kapseloivat varsinaisen tiedon solmuista ja kaarista. Kapseloivan luokan instanssi muuttuu jokaisella kerralla, vaikka se kapseloisikin saman GTL:n tietoalkion. 3 Arkkitehtuuri- ja komponenttitason suunnitelma 3.1 Ohjelman rakenne Ohjelma sisältää GTL- ja UTAG-kirjastot sekä mops-, mps- ja crossing-komentorivikäskyt. Lisäksi UTAG:n komponenteille laaditaan kattavat yksikkötestit. Yksikkötestit dokumentoidaan testien tekovaiheessa ja ne liitetään osaksi projektin testaussuunnitelmaraporttia ( UTAG-kirjasto ja muut ohjelmat tullaan toimittamaan avoimen GPL-lisenssin 1 alaisuudessa. Kääntämistä varten komponentit varustetaan GNU-mallin mukaisella toiminnallisuudella: configure, make, make install. Riippuvuussuhteiden takia esimerkiksi UTAG-kirjaston 1 6

7 kääntäminen vaatii GTL:n kääntämistä ensiksi ja UTAG:tä käännettäessä tulee GTL-kirjaston löytyä linkitystä varten. Tämä käyttöskenaario tullaan dokumentoimaan tarkasti käyttöohjeessa ja miettimään mahdollisimman helpoksi käyttäjille. Windows-ympäristössä UTAG:lle on luotu MS Visual Studio.NET:n projektitiedosto ja täten sen pystyy rakentamaan kyseistä ohjelmistoa apuna käyttäen. Komponenttien yhteyteen tullaan lisäämään Visual Studio -projektitiedostot ja täten komentoriviohjelmien kääntäminen onnistuu suhteellisen helposti. Kirjastoja voi hyödyntää staattisesti linkittämällä omaan ohjelmaan tai dynaamisesti linkittämällä ja asentamalla kirjastot asianmukaisiin hakemistoihin. Jälkimmäinen lienee *nixympäristössä yleisempi käyttöskenaario. Staattinen linkitys ja kääntäminen on puolestaan Windows-ympäristössä suhteellisen helppoa, vaikkakin ei välttämättä yleisin tapa Arkkitehtuurikaaviot Seuraavissa kolmessa kuvassa esitetään arkkitehtuurimme rakenne. Jaoimme kaavion kolmeen osaan ihan selkeyden vuoksi. Yhdessä kuvassa malli olisi ollut aivan liian sekava. Nyt näistä kuvista näkyy selvästi luokkarakenteet. Lisäksi tämä jako oli helppo tehdä, sillä näin arkkitehtuurista erottuu selvästi eri osa-alueet, joista enemmän kuvien yhteydessä. Ensimmäisessä kuvassa esitetään keskesimmät luokat, eli Graph-, Node- ja Edge-luokat. Seuraavassa kuvassa on algoritmiluokkia ja viimeisessä IO-luokat. 7

8 Kuva 1: Base UTAG-arkkitehtuurin perusrakennuspalikat ovat Graph-, Node- ja Edge-luokat, jotka kätkevät sisäänsä GTL-kirjaston vastaavat toteutukset. Luokat on suunniteltu siten, että GTL-kirjasto voidaan korvata omalla ratkaisulla mahdollisimman helposti. Graph Graafi on ehdottomasti tärkein komponentti koko kirjastossa. Suurin osa graafeihin, solmuihin ja kaariin kohdistuvista operaatioista tapahtuu juuri graafiluokan kautta. Esimerkiksi käyttäjä luo uusia solmuja ja kaaria graafiin itse Graafiluokan instanssin kautta. Sekä solmuihin että kaariin voidaan liittää lisäinformatiota. Tämä tapahtuu ensiksi liittämällä oikeanlainen tietoalkio (tyyppiä DataElement) Graafiluokkaan metodeilla setdataelementfornode ja setdataelementforedge. Tietylle kaarelle tai solmulle kuuluvaa tietoalkiota voi vuorostaan kysellä metodeilla getdataelementfornode ja getdataelementforedge. 8

9 Node UTAG-kirjaston Node luokka sisältää tarvittavat metodit GTL:n node-luokan tietojen käsittelyyn. Luokan pääasia on toiminnallisuus solmuun liitettyjen kaarien (getadjedges) ja vierussolmujen (getadgnodes) tutkimiseen. getid antaa solmuun sidotun ainulaatuisen tunnusnumeron. Edge Kuten solmukin, kaari käärii GTL-kirjaston edge-luokan sisäänsä ja tarjoaa tarvittavat operaatiot edge-luokan tietojen käsittelyyn. Kaareissa on informaatio solmuista, jotka kaari yhdistää, vaikka graafit ovatkin suuntaamattomia. Täten source-metodi palauttaa sen solmun, josta kaari katsotaan lähtevän ja target-metodi palauttaa solmun, johon kaaren katsotaan johtavan. Kuva 2: Algorithm 9

10 Algorithm-luokka toimii kantaluokkana kaikelle toiminnallisuudelle, joka käsittelee Graafeja tai muiden algoritmien luomaa dataa Graafeista. Tämä osa luokkakaaviosta täydentyy sen mukaan miten eri algoritmeja totetutetaan. Tällä hetkellä eriteltynä on Graafeja käsittelevät algoritmit, joihin kuuluvat mm. kaktuspuualgoritmit CA, CA1 ja CA2 (jotka tarkkaan ottaen kuuluvat PlanarityAlgorithm luokan alaisuuteen). Tämä dokumentti jäi hieman jälkeen uusista ideoista, mikä näkyy etenkin tässä Algorithmluokassa. Ensinnäkin Algorithm-luokan metodit jätetään kaikki muut paitsi run pois. Kaikki toimenpiteet toteutetaan ylimäärittelemällä run. CA-, CA1- ja CA2-algoritmit jaetaan kolmeen osaan. Varsinainen algoritmi etsii kaikki kolmionmuotoiset silmukat, Join yhdistää saadut silmukat ja Fill lisää kaaria taso-ominaisuuden kärsimättä. Luokkarakenteen kannalta mahdollinen ratkaisu on lisätä PlaranityAlgorithmille uusi (vielä nimeämätön yläluokka). Tämän yläluokan alle tulisi myös uusi luokka, jonka nimi olisi esimerkiksi PlaranityToolAlg. Tästä luokasta perittäisiin Join-, Fill- sekä SA-luokat, minkä seurauksena RepetitiveAlgorithmluokka poistettaisiin. Lisäksi dfs:n paikka on vielä ratkaisematta. Kuva 3: FileIO FileIO-kategoriaan kuuluvat kaikki ne luokat, jotka tarjoavat eri tiedostoformaattien sekä lukuettä kirjoitusominaisuuksia. Luokkia laajennetaan ylimäärittelemällä sekä load- että savemetodit Vaihtoehdot Vaihtoehtoisia arkkitehtuureja projektin vaatimusten täyttämiseksi ovat: 10

11 Toteuttaa vaaditut toiminnot yksittäisinä sovelluksina hyvin yksinkertaisen graafitoteutuksen kera. Tässä mallissa ei käytettäisi graafikirjastoa lainkaan, joten tasoominaisuuden testaus jouduttaisiin tekemään itse. Kirjoittaa sovellukset suoraan GTL:ää hyödyntäviksi. Tämän mallin heikkous olisi vaihtaa graafikirjastoa, jolloin sovellukset sisältäisivät algoritmeja GTL-laajennuksina. Kirjoittaa tarvittavat laajennukset GTL:ään. Tämä vaihtoehto on kenties paras, jos GTL olisi edelleen vapaastijaettavissa. Nykytilanteessa laajennetun GTL:n jakaminen saattaisi olla kiusallista. Lisäksi onnistuneet ja yleishyödylliset algoritmit olisivat jopa saattaneet päätyä osaksi jaettavaa GTL:ää melkoinen porkkana. Korvata GTL jollain muulla valmiilla graafikirjastolla. Projektin yhteydessä evaluoiduista graafikirjastoista ainoastaan GTL vaikutti varteenotettavalta vaihtoehdolta LEDA:n korvaajaksi. 3.2 libgtl GTL-graafikirjaston versiot ennen 1.0:aa olivat vapaasti saatavilla ja meidän käytössämme onkin GTL:n sivuilla mainostetaan kuitenkin edelleen, että kirjasto olisi ilmaiseksi saatavilla tutkimuskäyttöön. Otettuamme yhteyttä tekijöihin kävi kuitenkin ilmi, että sivuston tieto on pahasti vanhentunutta. Kirjaston viimeisin ilmainen versio löytyy esimerkiksi funet ftp:ltä: ftp://ftp.funet.fi/pub/netbsd/packages/distfiles/gtl tar.gz Kyseessä on suhteellisen vanha versio GTL:stä, eikä se käänny sellaisenaan gcc-kääntäjän versiolla 3.0 eikä uudemmilla. Pakettia ei tosin tarvitse muokata kovinkaan paljon, jotta sen saa kääntymään nykyaikaisemmassa ympäristössä. Tarjoamme GTL:stä oman korjatun version 0.3.3b, jos se on vain laillista. Vaihtoehtoisesti tarjoamme erillisen korjaustiedoston (patch) GTL:n versiolle UTAG-kirjasto sisältää toiminnallisuuden graafin taso-ominaisuuden testaamiseen, jota hyödynnetään mm. projektin tuottamissa erillisissä sovelluksissa, ja joka on keskeinen osa monia graafialgoritmeja. Koska kyseessä on kirjasto, on mahdollista linkittää se kiinteäksi osaksi omaa ohjelmaa tai käyttää sitä kaikille ohjelmille yhteisenä dynaamisena kirjastona. Käyttötavat ovat ohjelmoijalle hyvin samankaltaiset, mutta ajettavaa käännettyä tiedostoa jaettaessa on huomattava ero, pitääkö kirjasto olla myös asennettuna. 11

12 3.2.1 libgtl:n liittymäkuvaus GTL:n mukana seuraa otsikkotiedostot kirjaston käyttämiseksi omassa ohjelmassa. Tätä kirjastoa ei tosin ole suunniteltu käytettäväksi suoraan projektin tapauksessa, vaan UTAGkirjasto paketoi GTL:n sisäänsä ja tarjoaa tarvittavat toiminnot sovelluksille. GTL tulisi piilottaa loppukäyttäjältä niin, että hän ei sitä pääse käyttämään, vaan joutuu käyttämään UTAG:n vastaavia luokkia ja tietorakenteita. 3.3 libutag Projektin suunnitteluvaiheesta asti ollaan pyritty rakentamaan omaa kirjastoa, jolla vaadittavat ohjelmat saisi toteutettua. GTL:n epävarman tilanteen takia päätettiin pelata varman päälle, eikä lähdetä tekemään laajennuksia GTL:ään. UTAG-kirjasto hyödyntää soveltuvin osin GTL:ää sellaisenaan, nimeämiskäytäntöä lähinnä muokataan. Tarkoituksena on samalla tehdä alustava rakenne omalle graafikirjastolle, jossa mahdollisimman pienellä vaivalla olisi GTL korvattavissa omilla tai toisen kirjaston luokilla ja funktioilla. GTL:n luokkia kääritään UTAG:ssä, mikä mahdollistaa hyvin dynaamisen per funktio korvaamisen. Lisäksi kirjaston luokkahierarkiassa pyritään ohjaamaan mahdollisten laajennusten ja toteutuksen muotoa libutag:n liittymäkuvaus UTAG:n mukana tulevat otsikkotiedostot kirjaston käyttämiseksi. 3.4 mops Projektin vaatimuksiin kuuluu toteuttaa apptopinv-ohjelman suurimman ulkotasograafin etsintä ilman LEDA-kirjastoa. Varsinainen etsintäalgoritmi toteutetaan UTAG-kirjastossa, mutta tämän toiminnon esittelyä varten tehdään lisäksi komentoriviohjelma, joka toimii samalla kirjaston käyttöesimerkkinä mops:n prosessikuvaus Ohjelma saa syötteenä tiedostonimen ja toimintaa ohjaavia parametrejä. Tutkittava graafi 12

13 voidaan joko ladata tiedostosta (gml-, rmf- tai kaarilistamuodossa) tai muodostaa satunnaismenetelmällä. Suurimman ulkotasograafin etsintä koostuu kolmesta algoritmistä. Ensiksi etsitään yksi alustava ratkaisu, joka on yleisesti huono, eli ei ole suurin mahdollinen. Tämän jälkeen seuraava algoritmi saa syötteenään edellisen tulosteen ja pyrkii parantamaan ratkaisua jollain heuristiikalla. Kolmantena suoritetaan simuloitu jäähdytys, joka pyrkii edelleen parantamaan toisen vaiheen löytämää (parempaa) ratkaisua. Simuloitua jäähdytystä ei käynnistetä automaattisesti jokaisen ajon yhteydessä, vaan sen valinta suoritetaan parametrilla. Jokaisen algoritmin yhteydessä on mahdollista tulostaa tietoa sen hetkisestä ratkaisusta ja suorittaa vertailua etsimisen onnistumisesta. Lisäksi on mahdollista tallentaa löytyvä osagraafi tiedostoon gml- tai kaarilistaformaatissa Näitä valinnaisia tulosteita ohjataan suorituksen yhteydessä annettavin parametrein. syöte: graafi tuloste: suurin ulkotasograafi mops:n liittymäkuvaus Apptopinv-ohjelma tarvitsee parametrinaan ongelman nimen, eli tässä tapauksessa sille annettaisiin käsky -mops. Meillä mops ja mps ovat eriteltyjä eri ohjelmaan, jolloin tätä parametria ei tarvita. Mops-ohjelmalle annetaan kuitenkin komentoriviltä ainakin algoritmin suorituksen lukumäärä, tulostiedosto, käytettävä algoritmi, mahdollinen simuloidun jäähdytyksen käyttö, graafin lähde ja mahdollinen graafin tallennustiedosto. Seuraavassa taulukossa esitellään tarkemmin komentorivikäskyjä. Toistojen määrä Tulostiedosto Algoritmi Numeroarvo tietyn algoritmin toistojen määrälle Tiedosto, johon tulokset kirjataan Valitaan käytettävä algoritmi -ca -ca1 Simuloitu jäähdytys -sa Valitaan, käytetäänkö simuloitu jäähdytystä. Parametrilla -sa käytetään simuloitu jäähdytystä. Jos simuloitua jäähdytys halutaan pois, niin ei anneta parametria ollenkaan. 13

14 Graafi tiedostosta -f FILENAME -frmf FILENAME Käsiteltävä graafi haetaan tiedostosta. Hyväksyttävät formaatit ovat kaarilista (-f), rmf (-frmf) ja gml (-fgml). FILENAMEn paikalle annetaan tietenkin tiedosto, josta graafi luetaan -fgml FILENAME Laskennallisia graafeja -c V1 V2... Vk -ch k -pl V E Tämä on yksi vaihtoehto graafin lähteeksi, eli rinnakkainen edellisen ja seuraavan kohdan kanssa. Ensimmäinen (-c V1 V2... Vk) komennolla tutkitaan täydellistä k-jakoista graafia, jossa V1, V2... ovat solmusarjojen koko. Seuraavalla (-ch k) luodaan täydellinen hyperkuutio 2 k solmulla. Maksimaalinen tasograafi määrällä V solmuja ja E kaaria luodaan komennolla -pl V E. Viimeinen käsky on vastaava, mutta siinä tutkitaan ulkotasograafia. -opl V E Satunnainen graafi -r V E -rr V D Tallennustiedosto -gml FILENAME Kolmas vaihtoehto graafin lähteeksi. Ensimmäisellä komennolla (-r V E) luodaan satunnainen graafi V:llä solmulla ja E:llä kaarella. Toisessa (-rr V D) luodaan D-regular??? graafi määrällä V solmuja Tämä on valinnainen käsky. Satunnaisesti luotu graafi tallennetaan annetussa muodossa (gml tai kaarilista) haluttuun (FILENAME) tiedostoon. -f FILENAME Kaikkia mahdollisia kombinaatioita ei ole välttämättä tarvetta toteuttaa. Varsinkin tulosteita pitäisi olla helppo muokata lisää omatoimisesti, jos ei sellaisenaan kelpaa: mops [options] graph.gml --verbose, v : tulostelee välivaiheista tietoa --out file, -o file : tallentaa tuloksen gml-formaatissa tiedostoon mops:n algoritmikuvaus Ohjelman rakenne: 1. lataa graafi 2. satunnainen ratkaisu 14

15 3. etsi parempi ratkaisu 4. simuloitu jäähdytys 5. tulostus/graafin tallennus Ohjelma käyttää UTAG-kirjaston algoritmeja etsinnässä: -lista luokkien nimistä 3.5 mps Projektin vaatimuksiin kuuluu toteuttaa apptopinv-ohjelmasta suurimman tasograafin etsintä ilman LEDA-kirjastoa. Varsinainen etsintäalgoritmi toteutetaan UTAG-kirjastossa, mutta tämän toiminnon esittelyä varten tehdään lisäksi komentoriviohjelma, joka toimii samalla kirjaston käyttöesimerkkinä. Suurimman tasograafin etsintä on hyvin samankaltainen kuin ulkotasograafin etsintä (mops) mps:n prosessikuvaus Ohjelma saa syötteenä tiedostonimen ja toimintaa ohjaavia parametrejä. Tutkittava graafi voidaan joko ladata tiedostosta (gml-, rmf- tai kaarilistamuodossa) tai muodostaa satunnaismenetelmällä. Suurimman tasograafin etsintä koostuu kolmesta algoritmistä. Ensiksi etsitään yksi alustava ratkaisu, joka on yleisesti huono, eli ei ole pienin mahdollinen. Tämän jälkeen seuraava algoritmi saa syötteenään edellisen tulosteen ja pyrkii parantamaan ratkaisua jollain heuristiikalla. Kolmantena suoritetaan simuloitu jäähdytys, joka pyrkii edelleen parantamaan toisen vaiheen löytämää (parempaa) ratkaisua. Simuloitua jäähdytystä ei käynnistetä automaattisesti jokaisen ajon yhteydessä, vaan sen valinta suoritetaan parametrilla. Jokaisen algoritmin yhteydessä on mahdollista tulostaa tietoa sen hetkisestä ratkaisusta ja suorittaa vertailua etsimisen onnistumisesta. Lisäksi on mahdollista tallentaa löytyvä osagraafi tiedostoon joko gml- tai kaarilistaformaatissa. Näitä valinnaisia tulosteita ohjataan suorituksen yhteydessä annettavin parametrein mps:n liittymäkuvaus Apptopinv-ohjelma tarvii parametrinaan ongelman nimen, eli tässä tapauksessa sille annettaisiin käsky -mps. Meillä mops ja mps ovat eriteltyjä eri ohjelmaan, jolloin tätä 15

16 parametria ei tarvita. Mps-ohjelmalle annetaan kuitenkin komentoriviltä ainakin algoritmin suorituksen lukumäärä, tulostiedosto, käytettävä algoritmi, mahdollinen simuloidun jäähdytyksen käyttö, graafin lähde ja mahdollinen graafin tallennustiedosto. Seuraavassa taulukossa esitellään tarkemmin komentorivikäskyjä. Mopsin vastaavista käskyistä mpsohjelma ei poikkea kovinkaan paljoa. Ainoastaan komento -ca2 on lisätty algoritmivalintaan. Toistojen määrä Tulostiedosto Algoritmi Numeroarvo tietyn algoritmin toistojen määrälle Tiedosto, johon tulokset kirjataan Valitaan käytettävä algoritmi -ca -ca1 -ca2 Simuloitu jäähdytys -sa Graafi tiedostosta -f FILENAME -frmf FILENAME Valitaan, käytetäänkö simuloitu jäähdytystä. Parametrilla -sa käytetään simuloitu jäähdytystä. Jos simuloitua jäähdytys halutaan pois, niin ei anneta parametria ollenkaan. Käsiteltävä graafi haetaan tiedostosta. Hyväksyttävät formaatit ovat kaarilista (-f), rmf (-frmf) ja gml (-fgml). FILENAMEn paikalle annetaan tietenkin tiedosto, josta graafi luetaan -fgml FILENAME Laskennallisia graafeja -c V1 V2... Vk -ch k -pl V E Tämä on yksi vaihtoehto graafin lähteeksi, eli rinnakkainen edellisen ja seuraavan kohdan kanssa. Ensimmäinen (-c V1 V2... Vk) komennolla tutkitaan täydellistä k-jakoista graafia, jossa V1, V2... ovat solmusarjojen koko. Seuraavalla (-ch k) luodaan täydellinen hyperkuutio 2 k solmulla. Maksimaalinen tasograafi määrällä V solmuja ja E kaaria luodaan komennolla -pl V E. Viimeinen käsky on vastaava, mutta siinä tutkitaan ulkotasograafia. -opl V E Satunnainen graafi -r V E -rr V D Kolmas vaihtoehto graafin lähteeksi. Ensimmäisellä komennolla (-r V E) luodaan satunnainen graafi V:llä solmulla ja E:llä kaarella. Toisessa (-rr V D) luodaan D-regular??? graafi määrällä V solmuja 16

17 Tallennustiedosto -gml FILENAME Tämä on valinnainen käsky. Satunnaisesti luotu graafi tallennetaan annetussa muodossa (gml tai kaarilista) haluttuun (FILENAME) tiedostoon. -f FILENAME Kaikkia mahdollisia kombinaatioita ei ole välttämättä tarvetta toteuttaa. Varsinkin tulosteita pitäisi olla helppo muokata lisää omatoimisesti, jos ei sellaisenaan kelpaa: mops [options] graph.gml --verbose, v : tulostelee välivaiheista tietoa --out file, -o file : tallentaa tuloksen gml-formaatissa tiedostoon mps:n algoritmikuvaus Ohjelman rakenne: 6. lataa graafi 7. satunnainen ratkaisu 8. etsi parempi ratkaisu 9. simuloitu jäähdytys 10.tulostus/graafin tallennus Ohjelma käyttää UTAG-kirjaston algoritmeja etsinnässä: -lista luokkien nimistä 3.6 crossing Projektin vaatimuksiin kuuluu toteuttaa vähintään satunnainen risteämäarvon etsiminen graafista. Varsinainen etsintä-algoritmi toteutetaan UTAG-kirjastossa, mutta tämän toiminnon esittelyä varten tehdään lisäksi komentoriviohjelma, joka toimii samalla kirjaston käyttöesimerkkinä crossingin prosessikuvaus Ohjelma saa syötteenä tiedostonimen ja toimintaa ohjaavia parametrejä. Tutkittava graafi voidaan joko ladata tiedostosta (gml-, rmf- tai kaarilistamuodossa) tai muodostaa satunnaismenetelmällä. 17

18 Ohjelma laskee ja tulostaa löytämänsä graafin risteämäarvon. Lisäksi on mahdollista tallentaa löydettyä risteämäarvoa vastaava graafin esitys koordinaatteineen crossingin liittymäkuvaus Komentorivikomento, parametrien esittely crossingin algoritmikuvaus 1. lataa graafi 2. a/ graafin risteämäarvon laskeminen b/ graafin risteämäarvon laskeminen ja koordinaattien määrittäminen ladattuun graafiin 3. risteämäarvon tulostus/graafin tallennus 3.7 Ohjelmiston käyttöliittymän kuvaus Tässä luvussa käydään läpi ohjelmiston ulkoiset liittymät Liittymät ulkoisiin laitteisiin Ohjelmistolla ei ole liittymiä ulkoisiin tietokoneisiin tai laitteisiin Ulkoiset systeemiliittymät Ohjelmisto hyödyntää ulkoisen GTL-graafikirjaston versiota Kyseinen kirjasto tarjoaa arkkitehtuureja graafien, solmujen ja kaarien käsittelyyn. GTL toimii pohjana oman UTAGkirjaston toteuttamisessa. Näiden kahden kirjaston välinen kommunikointi on tarkoitus dokumentoida hyvin, jotta tulevaisuudessa GTL:n korvaaminen jollain muulla toteutuksella olisi suhteellisen vaivatonta. GTL on oltava asennettuna järjestelmään ennen ohjelmiston käynnistämistä. 4 Käyttäjän käyttöliittymän suunnitelma Tässä luvussa esittelemme ohjelmiston käyttöliittymän käyttäjän näkökulmasta. 18

19 4.1 Käyttäjän käyttöliittymän kuvaus Ohjelmistoa voidaan kuvata parhaiten sanalla arkkitehtuuri. Sen tarkoituksena on tarjota työkaluja graafiohjelmistojen tarpeisiin. Oletuksena on, että käyttäjällä on valmiudet hyödyntää arkkitehtuuria omassa ohjelmassaan. Näin ollen erityisen käyttöliittymän toteuttaminen ei tässä yhteydessä ole ensisijaista. Projektissa valmistattavat sovellukset tulee toimimaan komentorivipohjaisesti. Käyttäjän tulee käynnistyksen yhteydessä antaa joko ladattavan graafitiedoston nimi tai vaihtoehtoisesti määriteltävä satunnaisen graafin generointi. Lisäksi parametrien avulla tulee määritellä graafista laskettava ominaisuus sekä vaihtoehtoisten algoritmien kohdalla valittava haluttu algoritmi. Ohjelma palauttaa ajon tulokset komentoriville. Haluttaessa generoitu graafi voidaan tallentaa halutussa formaatissa tiedostoon. 5 Rajoitteet Rajoitteita toteutukselle asettavat hyödyntämämme GTL-kirjaston toteutukset. GTL:n käyttämät tietorakenteet eivät välttämättä ole tehokkaimpia mahdollisia, mutta niiden uusiksi kirjoittaminen olisi varsin hankalaa ja aikaa vievää. Joudumme käyttämään GTL:stä versiota 0.3.3, joka on julkaistu vuonna Kyseinen versio on viimeinen vapaasti saatavissa oleva. Uudemmissa ja kaupallisissa versioissa on korjattu 0.3.3:ssa ilmenneitä virheitä. Onkin luultavaa, että tulemme jossain vaiheessa törmäämään GTL:n virheistä aiheutuviin ongelmiin. Näiden virheiden käsittely saattaa muodostua työlääksi, mutta testauksen avulla niiden paikallistamisen ja korjaamisen ei tulisi olla mahdotonta. 6 Testausasiat Tarkat testistrategiat ovat testaussuunnitelmassa. Dokumentin löytää osoitteesta Seuraavassa on vain lyhyet yhteenvedot. 19

20 6.1 Testiluokat Testauksessa toteutamme seuraavan tyyppisiä testejä: Yksikkötestaus. Yksikkötestauksessa testaamme vain yksittäisiä luokkia (Algorithm, Graph, Node, Edge ja FileIO). Yksikkötestit ovat automatisoituja ja ne ajetaan noin kerran viikossa. Integrointitestaus. Integrointitestausta tarvitaan esimerkiksi, kun rupeamme testaamaan eri komponenttien yhteensopivuutta. Hyväksymistestaus. Hyväksymistestauksessa pyrimme saamaan algoritmien tehokkuuden samalle tasolle kuin apptopinv-ohjelmassa. Tehokkuusrajoina käytämme Timo Porasen väitöskirjasta löytyviä arvoja, joista osa löytyy liitteinä (7.3 ja 7.4) tästäkin dokumentista. Järjestelmätestaus. Viimeisen vaiheen testauksessa testaamme esimerkkiohjelmia, joita käytetään mops:in ja mps:n laskemiseen. Lisäksi tässä vaiheessa tutkimme käytettävyyttä. Tämän kappaleen asioista löytyvät tarkemmat selostukset testaussuunnitelman luvuista 2.2 ja Tehokkuusrajat Katso liitteet 7.3 ja Kriittisten komponenttien tunnistaminen Testauksen kannalta kriittisimmät komponentit ovat ehdottomasti Graph-, Node- ja Edgeluokat. Näiden toiminnallisuus on mukana kaikissa algoritmeissa. Jos näihin luokkiin jää virheitä, niin melko todennäköisesti graafiin käsittelyä varten tehdyt algoritmit eivät toimi ollenkaan tai toimivat virheellisesti. 7 Liitteet 7.1 Paketointi- ja asennusasiat GTL, josta UTAG on riippuvainen, tullaan paketoimaan ja jakelemaan erikseen. Levitysmuotoa ja tapaa kontrolloi pääsääntöisesti ohjelman lisenssien rajoitukset. 20

21 UTAG:tä tullaan levittämään kahdessa eri paketissa. Ensimmäisessä paketissa on esikäännetty Windows-versio, joka sisältää UTAG:n dynaamisen kirjaston (DLL) ja tarvittavat otsikkotiedostot. Tämän lisäksi paketista löytyvät projektin esimerkkiohjelmat mops ja mps käynnistettävinä ohjelmina. Toinen paketti sisältää UTAG:n lähdekoodit, MS Visual C++ -projektitiedostot ja tarvittavat tiedostot ohjelman kääntämiseen ja asentamiseen Linux-käyttöjärjestelmään. Kirjaston saa käännettyä Windows käyttöjärjestelmälle käyttämällä edellä mainittua VC++:n projektitiedostoa. Linux-asennusta varten löytyy autoconf- ja automake-asetustiedostot, jotta asennus toimisi tyypilliseen kolmen komennon tyyliin "./configure; make; make install". Lähdekoodipaketti sisältää niin ikään mps- ja mops-ohjelmien lähdekoodin, projektin yksikkötestit sekä muiden esimerkkiohjelmien lähdekoodit. Molemmat paketit sisältävät myös UTAG:n kattavan dokumentaation. 7.2 MPS-suoritusarvoja Seuraavissa taulukoissa on CA-, CA1- ja CA2-algoritmien suoritusarvoja mps-tapauksessa. Taulukoissa on eräitä graafeja ja näille arvot. Taulukot ovat peräisin Timo Porasen väitöskirjasta (sivut ). Taulukoissa ensimmäisellä sarakkeella on graafin nimi. Suoritusarvoista ensimmäisenä on aika, jota seuraavat huonoin tapaus, keskiarvo ja paras tapaus maksimaaliselle alitasograafille. 21

22 CA ave t. worst ave best cimi-g1 0, cimi-g2 0, ,82 88 cimi-g3 0, ,79 38 cimi-g4 0, cimi-g5 0, ,77 59 cimi-g6 0, g10 0, ,21 36 g11 0, ,21 36 g12 0, ,07 36 g13 0, ,4 73 g14 0, ,64 73 g15 0, ,72 73 g16 0, , g17 0, , g18 0, g19 0, , CA1 ave t. worst ave best cimi-g1 0, cimi-g2 0, , cimi-g3 0, cimi-g4 0, ,75 16 cimi-g5 0, cimi-g6 0, g10 0, ,95 47 g11 0, ,96 47 g12 0, ,98 47 g13 0, ,76 97 g14 0, g15 0, g16 0, , g17 0, , g18 0, , g19 0, ,

23 CA2 ave t. worst ave best cimi-g1 0, cimi-g2 0, , cimi-g3 0, cimi-g4 0, ,7 16 cimi-g5 0, cimi-g6 0, g10 0, ,94 47 g11 0, ,89 47 g12 0, ,84 47 g13 0, ,8 97 g14 0, ,96 97 g15 0, ,96 97 g16 0, , g17 0, , g18 0, , g19 0, , MOPS-suoritusarvoja Seuraavissa taulukoissa on CA- ja CA1-algoritmien suoritusarvoja mops-tapauksessa. Taulukoissa on eräitä graafeja ja näille arvot. Taulukot ovat peräisin Timo Porasen väitöskirjasta (sivu 129). Taulukoissa ensimmäisellä sarakkeella on graafin nimi. Suoritusarvoista ensimmäisenä on aika, jota seuraavat huonoin tapaus, keskiarvo ja paras tapaus maksimaaliselle ulkoalitasograafille. CA ave t. worst ave best o , , o , , o , , o , , o , ,8 147 o , ,2 292 o , , o , , o , , o , ,

24 CA1 ave t. worst ave best o , , o , ,4 194 o , , o , , o , , o , , o , , o , , o , , o , , Versiohistoria Päivämäärä: Versio: Tekijät: Muutokset: Timo Nummenmaa Aki Mäkinen Jussi Rantala Rami Saarinen Harri Smått Aki Mäkinen Jussi Rantala Rami Saarinen Johdantoa muokattu vastaamaan toteutussuunitelmaa, lukua lähes kokonaan uusittu (vain luvun alku ja kuva 3 säilynyt ennallaan), simuloidun jäähdytyksen parametreja muutettu (mops: 3.4.2; mps: 3.5.2), muutettu parametri -f1:n -frmf:ksi, hieman muokattu lukujen ja sekä 2. kappaletta, toinen muutettu 3.6.3:ksi, versiohistoria + muutamia selvennöksejä ja kirjoitusvirheitä 24

Ohjelmiston testaussuunnitelma

Ohjelmiston testaussuunnitelma Ohjelmiston testaussuunnitelma Ryhmän nimi: Crossing Tekijät: Timo Nummenmaa (PM) Aki Mäkinen Jussi Rantala Rami Saarinen Harri Smått Toimeksiantaja: Timo Poranen (UTA) Muutospäivämäärä: 12.2. 2005 Versio:

Lisätiedot

Ohjelmiston toteutussuunnitelma

Ohjelmiston toteutussuunnitelma Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,

Lisätiedot

UCOT-Sovellusprojekti. Asennusohje

UCOT-Sovellusprojekti. Asennusohje UCOT-Sovellusprojekti Asennusohje Ilari Liukko Tuomo Pieniluoma Vesa Pikki Panu Suominen Versio: 1.00 Julkinen 15. joulukuuta 2006 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä

Lisätiedot

Ryhmän nimi: Crossing

Ryhmän nimi: Crossing Loppuraportti Ryhmän nimi: Crossing Tekijät: Timo Nummenmaa (PM) Aki Mäkinen Jussi Rantala Rami Saarinen Harri Smått Toimeksiantaja: Timo Poranen (UTA) Päivämäärä: 17.05. 2005 1 Sisällysluettelo 1. Johdanto...

Lisätiedot

Valppaan asennus- ja käyttöohje

Valppaan asennus- ja käyttöohje Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi

Lisätiedot

T Testiraportti - järjestelmätestaus

T Testiraportti - järjestelmätestaus T-76.115 Testiraportti - järjestelmätestaus 18. huhtikuuta 2002 Confuse 1 Tila Versio: 1.0 Tila: Päivitetty Jakelu: Julkinen Luotu: 18.04.2002 Jani Myyry Muutettu viimeksi: 18.04.2002 Jani Myyry Versiohistoria

Lisätiedot

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testausdokumentti Kivireki Helsinki 17.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Anu Kontio Ilmari

Lisätiedot

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Koskelo Helsinki 16.12.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Tom Bertell Johan

Lisätiedot

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testausraportti Orava Helsinki 5.5.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Juhani Bergström Peter

Lisätiedot

Simulaattorin asennus- ja käyttöohje

Simulaattorin asennus- ja käyttöohje Linux ja Windows XP Versio Päiväys Muokkaaja Kuvaus 0.2 16.2.2006 Mikko Halttunen Katselmoinin jälkeen 0.1 13.2.2006 Mikko Halttunen Alustava versio Sisällysluettelo 1 Johdanto... 3 2 Simulaattorin asennus...

Lisätiedot

S11-09 Control System for an. Autonomous Household Robot Platform

S11-09 Control System for an. Autonomous Household Robot Platform S11-09 Control System for an Autonomous Household Robot Platform Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Quang Doan Lauri T. Mäkelä 1 Kuvaus Projektin tavoitteena on

Lisätiedot

VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique

VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique VAATIMUSMÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 3 1. JOHDANTO... 4 1.1 Algoritmi... 4 1.2 Graafi... 4 1.3 Nauty... 5 1.4 Mermaid... 5 2. YLEISKUVAUS...

Lisätiedot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää

Lisätiedot

VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique

VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique VAATIMUSMÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 3 1. JOHDANTO... 4 1.1 Algoritmi... 4 1.2 Graafi... 4 1.3 Nauty... 5 1.4 Mermaid... 5 2. YLEISKUVAUS...

Lisätiedot

EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE: 15.03.

EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE: 15.03. EMVHost Online SUBJECT: COMPANY: COMMENTS: AUTHOR: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT NETS OY EMVHost Online Client sovelluksen käyttöohje NETS OY DATE: 15.03.2011 VERSION: 1.0 1 SISÄLLYS SISÄLLYS...

Lisätiedot

Ohjelmiston testaussuunnitelma

Ohjelmiston testaussuunnitelma Ohjelmiston testaussuunnitelma Ryhmän nimi: Crossing Tekijät: Timo Nummenmaa (PM) Aki Mäkinen Jussi Rantala Rami Saarinen Harri Smått Toimeksiantaja: Timo Poranen (UTA) Muutospäivämäärä: 28.2. 2005 Versio:

Lisätiedot

T Testiraportti - integraatiotestaus

T Testiraportti - integraatiotestaus T-76.115 Testiraportti - integraatiotestaus 16. huhtikuuta 2002 Confuse 1 Tila Versio: 1.1 Tila: Päivitetty Jakelu: Julkinen Luotu: 19.03.2002 Jani Myyry Muutettu viimeksi: 16.04.2002 Jani Myyry Versiohistoria

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3 AgilElephant SEPA Diary Petri Kalsi 55347A Heikki Salminen 51137K Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: PK&HS Sivu 1 / 7 Dokumenttihistoria Revisiohistoria Revision päiväys: 29.11.2004 Seuraavan

Lisätiedot

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

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ). Tehtävä 1: Metodit, listat, alkuluvut (4p) Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ). Alkuluvut ovat lukuja, jotka ovat suurempia kuin yksi ja jotka ovat jaollisia

Lisätiedot

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1 T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tästä dokumentista ilmenee T1-vaiheessa suoritettu testaus, sen tulokset ja poikkeamat testisuunnitelmasta. Päivämäärä 1.12.2002 Projektiryhmä Keimo keimo-dev@list.hut.fi

Lisätiedot

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

Lisätiedot

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

Sukupuu -ohjelma. Ossi Väre (013759021) Joni Virtanen (013760641) Sukupuu -ohjelma Ossi Väre (013759021) Joni Virtanen (013760641) 7.11.2011 1 Johdanto Toteutimme C -kielellä sukupuuohjelman, johon käyttäjä voi lisätä ja poistaa henkilöitä ja määrittää henkilöiden välisiä

Lisätiedot

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ylläpitodokumentti Boa Open Access Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari

Lisätiedot

MixW ja Dx-vihjeet (ohje) oh3htu 10.9.2009

MixW ja Dx-vihjeet (ohje) oh3htu 10.9.2009 MixW ja Dx-vihjeet (ohje) oh3htu 10.9.2009 MixW:n käyttäjille mieleen on saada DX-vihjeet MixW:n Dxcluster dialog-ikkunaan sen monipuolisuuden ansiosta. Dxcluster dialog-ikkunassa on muun muassa helposti

Lisätiedot

Visual Case 2. Miika Kasnio (C9767) 23.4.2008

Visual Case 2. Miika Kasnio (C9767) 23.4.2008 Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4

Lisätiedot

Testaussuunnitelma Labra

Testaussuunnitelma Labra Testaussuunnitelma Labra Helsinki 25.8.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op) Projektiryhmä Anssi Kapanen,

Lisätiedot

Linuxissa uusi elämä 1

Linuxissa uusi elämä 1 17.06.19 Linuxissa uusi elämä 1 Linux on hyvä vaihtoehto Windowsille Uusiin tai vanhempiin tietokoneisiin Miksi käyttäisin Linuxia Tekniikan Maailman Linux vinkki Siirtyisinkö Linuxiin? 17.06.19 Linuxissa

Lisätiedot

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma PUSU-ryhmä Helsinki 13.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 op) Projektiryhmä Jussi Hynninen

Lisätiedot

Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Käyttöohje Boa Open Access Helsinki 5.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari Heikkinen

Lisätiedot

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi)

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Tietokannan hallinta-opintojakson selvitysraportti Huhtikuu 2010 Mediatekniikka ICT/Teknologia Tämän teosteoksen käyttöoikeutta koskee Creative

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,

Lisätiedot

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä Versiohistoria: Versio: Pvm: Laatijat: Muutokset: 0.1 2006 12 09 Jani Eränen Alustava DOKUMENTIN TILA: Alustava Valmis Tarkastettu

Lisätiedot

ohjelman arkkitehtuurista.

ohjelman arkkitehtuurista. 1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä

Lisätiedot

MPCC-työkalua voidaan käyttää yhden laitteen valvontaan ja yhden tai useamman laitteen konfigurointiin (Modbus broadcast, osoite 0).

MPCC-työkalua voidaan käyttää yhden laitteen valvontaan ja yhden tai useamman laitteen konfigurointiin (Modbus broadcast, osoite 0). V1.0.0 (14.10.2015) 1 (7) KYTKENTÄ HUOM: toimii Modbus-masterina. Tämän vuoksi toinen mahdollinen Modbus-master on irrotettava verkosta, kun kytketään valmiiseen Modbus-verkkoon. Produalin Modbus-laitteiden

Lisätiedot

CLOUDBACKUP TSM varmistusohjelmiston asennus

CLOUDBACKUP TSM varmistusohjelmiston asennus Luottamuksellinen JAVERDEL OY CLOUDBACKUP TSM varmistusohjelmiston asennus Copyright 2 (9) SISÄLLYSLUETTELO 1 ASENNUSOHJE WINDOWS KÄYTTÖJÄRJESTELMÄLLÄ VARUSTETTUIHIN LAITTEISIIN... 3 1.1 Yleistä... 3 1.2

Lisätiedot

UCOT-Sovellusprojekti. Testausraportti

UCOT-Sovellusprojekti. Testausraportti UCOT-Sovellusprojekti Testausraportti Ilari Liukko Tuomo Pieniluoma Vesa Pikki Panu Suominen Versio: 0.02 Julkinen 11. lokakuuta 2006 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä

Lisätiedot

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

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

Excel-taulukkoon X- ja Y-sarakkeisiin tallennettujen koordinaattien muuntaminen paikkatietokohteiksi

Excel-taulukkoon X- ja Y-sarakkeisiin tallennettujen koordinaattien muuntaminen paikkatietokohteiksi Excel-taulukkoon X- ja Y-sarakkeisiin tallennettujen koordinaattien muuntaminen paikkatietokohteiksi Esimerkkinä Excel-taulukkona ladattavat Helsingin pysäköintilippuautomaatit Viimeksi muokattu 27. huhtikuuta

Lisätiedot

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

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin. TIETOKANTA MERIKOTKIEN SEURANTAAN Käyttöohje Versiohistoria: Versio Päivämäärä Kuvaus Tekijä 1.0 11.12.2007 Ensimmäinen luonnos Janne Piippo 2.0 13.12.2007 Virallinen verio Janne Piippo HELSINGIN YLIOPISTO

Lisätiedot

VHOPE-sovelluksen ja VHOPE-kirjastotiedostojen asentaminen

VHOPE-sovelluksen ja VHOPE-kirjastotiedostojen asentaminen VHOPE-sovelluksen ja VHOPE-kirjastotiedostojen asentaminen Vaihe 1: Asenna VHOPE PC:hen täytyy asentaa VHOPE-sovellus, ennen kuin USB-muistitikun esitysaineistoa voidaan ryhtyä käyttämään. VCN (Volvo Corporate

Lisätiedot

Tekninen suunnitelma - StatbeatMOBILE

Tekninen suunnitelma - StatbeatMOBILE Tekninen suunnitelma - StatbeatMOBILE Versio Päivämäärä Henkilö Kuvaus 1.0 13.12.2013 Pöyry Alustava rakenne ja sisältö 1.1 22.12.2013 Pöyry Lisätty tekstiä ilmoituksiin, turvallisuuteen ja sisäiseen API:in

Lisätiedot

Office 365 palvelujen käyttöohje Sisällys

Office 365 palvelujen käyttöohje Sisällys Office 365 palvelujen käyttöohje Sisällys Sisäänkirjautuminen... 2 Office 365:n käyttöliittymä... 3 Salasanan vaihto... 5 Outlook-sähköpostin käyttö... 7 Outlook-kalenterin käyttö... 10 OneDriven käyttö...

Lisätiedot

Testaussuunnitelma. Ohjelmistotuotantoprojekti Nero. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma. Ohjelmistotuotantoprojekti Nero. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Ohjelmistotuotantoprojekti Nero Helsinki 5.11.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä

Lisätiedot

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Kieliversiointityökalu Java-ohjelmistoon. Ohje Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5

Lisätiedot

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER Group 16 Ville Laatu Henri Myllyoja - i SISÄLLYSLUETTELO 1. DEBUGGERI YLEISESTI... II 1.1 Debuggerin käyttämien... ii 1.2 Debuggerin käynnistäminen... ii

Lisätiedot

Vedä ja pudota Maamittauslaitoksen JPEG2000-ortoilmakuva GeoTIFF-muotoon

Vedä ja pudota Maamittauslaitoksen JPEG2000-ortoilmakuva GeoTIFF-muotoon Vedä ja pudota Maamittauslaitoksen JPEG2000-ortoilmakuva GeoTIFF-muotoon Jukka Rahkonen http://latuviitta.org Viimeksi muutettu 16. lokakuuta 2012 Tiivistelmä Latuviitta.ogr -sivuston palautteessa kaivattiin

Lisätiedot

Ylläpitodokumentti Mooan

Ylläpitodokumentti Mooan Ylläpitodokumentti Mooan Helsinki 16.08.06 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op/6ov) Projektiryhmä Heikki Aitakangas

Lisätiedot

Pedacode Pikaopas. Web Service asiakasohjelman luominen

Pedacode Pikaopas. Web Service asiakasohjelman luominen Pedacode Pikaopas Web Service asiakasohjelman luominen Pikaoppaan sisältö Pikaoppaassa kuvataan, Netbeans-työkalulla luodaan valmista olemassa olevaa Web Service palvelua käyttävä asiakasohjelma. Opas

Lisätiedot

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen CVS Versionhallintajärjestelmä Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen Käytetään komentoriviltä, myös graafisia käyttöliittymiä saatavilla CVS Kaikki tiedostot

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria Sivu: 1 / 10 Testausdokumentti Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto Versiohistoria Versio Päivitykset 0.4 Lisätty mod_form.php -tiedostoon liittyvät testit 0.5 Lisätty johdanto 1.0 Dokumentti

Lisätiedot

Febdok 6.0 paikallisversion asennus OHJEISTUS

Febdok 6.0 paikallisversion asennus OHJEISTUS Febdok 6.0 paikallisversion asennus OHJEISTUS Sisällys 1 YLEISTÄ 1 2 ASENNUKSEN VALMISTELUT 2 2.1 VARMUUSKOPIOT 2 2.2 ASENNUSTIEDOSTON LATAUS, WWW.FEBDOK.FI 2 2.3 ASENNUSTIEDOSTON LATAUS, FEBDOK:IN SISÄINEN

Lisätiedot

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen Enigmail-opas Enigmail on Mozilla Thunderbird ja Mozilla Seamonkey -ohjelmille tehty liitännäinen GPG-salausohjelmiston käyttöä varten. Sitä käytetään etenkin Thunderbirdin kanssa sähköpostin salaamiseen

Lisätiedot

Käyttöohje. Energent MagiCAD plugin

Käyttöohje. Energent MagiCAD plugin Käyttöohje Energent MagiCAD plugin Sisältö 1. Yleistä 1 Dokumentin sisältö... 1 Ohjelman asennus... 1 Vaadittavat ohjelmistot... 1 Asennus... 1 Ohjelman käynnistys... 2 2. Toiminnallisuudet 3 Insert Energent

Lisätiedot

Henkilö- ja koulutusrekisterin asennusohje

Henkilö- ja koulutusrekisterin asennusohje Henkilö- ja koulutusrekisterin asennusohje Ohjelmaversio 1.0 Dokumenttiversio 1.0 2 Ohjelman lataaminen Voit ladata henkilöstö- ja koulutusrekisteriohjelman asennuspaketin EduSetup.exe sivustolta valitsemalla

Lisätiedot

Search space traversal using metaheuristics

Search space traversal using metaheuristics Search space traversal using metaheuristics Mika Juuti 11.06.2012 Ohjaaja: Ville Mattila Valvoja: Harri Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla. Muilta osin kaikki

Lisätiedot

Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori

Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori Testitapaukset - Koordinaattieditori Sisällysluettelo 1. Johdanto...3 2. Testattava järjestelmä...4 3. Toiminnallisuuden testitapaukset...5 3.1 Uuden projektin avaaminen...5 3.2 vaa olemassaoleva projekti...6

Lisätiedot

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

LoCCaM. LoCCaM Cam laitteiston ohjaaminen. Dimag Ky dimag.fi LoCCaM LoCCaM Cam laitteiston ohjaaminen Dimag Ky janne.koski @ dimag.fi +358505907788 Laitteen lisääminen sovellukseen Sovelluksen pääsivulta valitaan oikeasta yläkulman valikosta Aloita uusi (1) Aukeavaan

Lisätiedot

Käyttöohje. Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio

Käyttöohje. Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio Otus- projektinhallintatyökalu Käyttöohje Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio Mari Tampere 9. toukokuuta 2003 Kimmo Airamaa, Andreas Asuja,

Lisätiedot

Testidatan generointi

Testidatan generointi Testidatan generointi Anu Ahonen Kevät 2008 Tämä työ on tehty Creative Commons -lisenssin alla Työn tarkasti 9.4.2008 Jouni Huotari (JAMK/IT) 1 SISÄLTÖ 1 TYÖN LÄHTÖKOHDAT JA TOTEUTUS...2 2 TESTIDATAN GENEROINTI

Lisätiedot

STL:n luonti IronCADillä

STL:n luonti IronCADillä STL:n luonti IronCADillä STL-tiedoston luonti IronCADilla etenee seuraavasti: 1. Avataan haluttu kappale IronCADilla. 2. Kappaletta napsautetaan hiiren oikealla näppäimellä ja valitse pudotusvalikosta

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.3.2010 1 / 44 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Ohjelmiston testaus ja laatu. Testausmenetelmiä Ohjelmiston testaus ja laatu Testausmenetelmiä Testausmenetelmiä - 1 Testauksen menetelmien päälähestymistapoina ovat black-box testi testaaja ei voi tutkia lähdekoodia testaus perustuu sovellukselle suunnitteluvaiheessa

Lisätiedot

Toinen harjoitustyö. ASCII-grafiikkaa

Toinen harjoitustyö. ASCII-grafiikkaa Toinen harjoitustyö ASCII-grafiikkaa Yleistä Tehtävä: tee Javalla ASCII-merkkeinä esitettyä grafiikkaa käsittelevä ASCIIArt-ohjelma omia operaatioita ja taulukoita käyttäen. Työ tehdään pääosin itse. Ideoita

Lisätiedot

Maanmittauslaitoksen nimistö Spatialite-tietokantana. - kuvitettu ohje Quantum GIS 1.8.0 -ohjelmaa varten

Maanmittauslaitoksen nimistö Spatialite-tietokantana. - kuvitettu ohje Quantum GIS 1.8.0 -ohjelmaa varten Maanmittauslaitoksen nimistö Spatialite-tietokantana - kuvitettu ohje Quantum GIS 1.8.0 -ohjelmaa varten Taustaa Maanmittauslaitoksen nimistöaineistot ovat ladattavissa tekstitiedostoina Maanmittauslaitoksen

Lisätiedot

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma PULSU Syksy 2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 op) Projektiryhmä Heikki Manninen Noora Joensuu

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique TOIMINNALLINEN MÄÄRITTELY PROJEKTITYÖ Tik-.115 SISÄLLYSLUETTELO Sisällysluettelo... Versiohistoria... 1. JOHDANTO... 4 1.1 Tarkoitus ja kattavuus... 4 1. Tuote... 4 1. Määritelmät, termit ja lyhenteet...

Lisätiedot

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

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin

Lisätiedot

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

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

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu JÄRJESTELMÄN KÄYTTÖOHJE LiKe Liiketoiminnan kehityksen tukiprojekti Versio: 1.1 Tila: hyväksytty Päivämäärä: 13.2.2001

Lisätiedot

Lohtu-projekti. Testaussuunnitelma

Lohtu-projekti. Testaussuunnitelma Lohtu-projekti Testaussuunnitelma Versiohistoria: 1.0 19.2.2003 1. versio Mari 1.1 20.2.2003 Muutoksia Mari 1.2 25.2.2003 Katselmoinnissa esiin tulleet Mari muutokset 1.3 17.3.2003 2. syklissä tehtävät

Lisätiedot

Convergence of messaging

Convergence of messaging Convergence of messaging Testaussuunnitelma The Converge Group: Mikko Hiipakka Anssi Johansson Joni Karppinen Olli Pettay Timo Ranta-Ojala Tea Silander Helsinki 20. joulukuuta 2002 HELSINGIN YLIOPISTO

Lisätiedot

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen mallintaminen. Luento 11, 7.12. Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,

Lisätiedot

Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto

Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto OHJ-3200 Ohjelmistoarkkitehtuurit 1 Arkkitehtuurien tutkimus Outi Räihä 2 Darwin-projekti Darwin-projekti: Akatemian rahoitus 2009-2011 Arkkitehtuurisuunnittelu etsintäongelmana Geneettiset algoritmit

Lisätiedot

GDAL ja WFS: suora muunnos ogr2ogr-ohjelmalla

GDAL ja WFS: suora muunnos ogr2ogr-ohjelmalla GDAL ja WFS: suora muunnos ogr2ogr-ohjelmalla Viimeksi muokattu 30. tammikuuta 2012 GDAL tukee WFS-palvelun käyttämistä vektoritietolähteenä yhtenä muiden joukossa. WFS-ajurin käyttöohjeet löytyvät osoitteesta

Lisätiedot

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen Projektityö: Mobiiliajopäiväkirja Mikko Suomalainen 1. Määritelmä Mobiiliajopäiväkirja on kännyköille suunnattu ajopäiväkirja-sovellus. Sovelluksen pääperiaate on toimia automaattisena ajopäiväkirjana.

Lisätiedot

Näin asennat MS-DOS käyttöjärjestelmän virtuaalikoneeseen

Näin asennat MS-DOS käyttöjärjestelmän virtuaalikoneeseen Näissä ohjeissa käydään läpi Microsoftin MS-DOS 6.22 -käyttöjärjestelmän asennus Microsoftin Virtual PC 2007 -virtuaalikoneeseen. Asennusta varten sinulla on oltava Virtual PC 2007 asennettuna tietokoneellasi

Lisätiedot

Aimo-ohjauspaneelin käyttöohje Sisällys

Aimo-ohjauspaneelin käyttöohje Sisällys Aimo-ohjauspaneelin käyttöohje Sisällys Tunnusten tilaaminen... 2 Sisäänkirjautuminen... 3 Käyttöliittymä... 4 Ryhmätekstiviestien lähettäminen... 5 Ryhmät... 7 Push-viestien lähettäminen... 12 Mobiilipalvelun

Lisätiedot

Sonera Viestintäpalvelu VIP VIP Laajennettu raportointi Ohje

Sonera Viestintäpalvelu VIP VIP Laajennettu raportointi Ohje Sonera Viestintäpalvelu VIP VIP Laajennettu raportointi Ohje Sisällysluettelo VIP Laajennettu raportointi... 3 Luo raportti Laajennetun raportoinnin työkaluilla... 4 Avaa Laajennettu raportointi... 4 Valitse

Lisätiedot

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

Solteq Tekso v Versiopäivitysohje.

Solteq Tekso v Versiopäivitysohje. Solteq Tekso v. 5.0 Versiopäivitysohje www.solteq.com Sisällysluettelo TEKSON VERSIOPÄIVITYS v.5.0... 3 1.1 Ennen päivityksen ajoa 3 1.2 Käytössä olevan Tekson version tarkastaminen 3 1.3 Päivityksen lataus

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Vaatimusmäärittely Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.1 12.10.01 Pekka Koskinen Ensimmäinen luonnos 0.2 17.10.01 Pekka Koskinen Lisätty vaatimuksia

Lisätiedot

dokumentin aihe Dokumentti: Testausraportti_I1.doc Päiväys: Projekti : AgileElephant

dokumentin aihe Dokumentti: Testausraportti_I1.doc Päiväys: Projekti : AgileElephant AgilElephant Testausraportti I1 Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: Testausraportti Sivu 1 / 5 Dokumentti Historia Muutoshistoria Revision Numero Revision Päiväys Yhteenveto muutoksista Revision

Lisätiedot

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } } Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin testattaviin toiminnallisuuksiin, kuten olion tarjoamiin metodeihin.

Lisätiedot

ETS suunnittelutyökaluna. Veijo Piikkilä Stateko Oy

ETS suunnittelutyökaluna. Veijo Piikkilä Stateko Oy ETS suunnittelutyökaluna Veijo Piikkilä Stateko Oy ETS Historia ETS1 1993-1996 ETS2 1996-2004 ETS3 2004-2010 ETS4 2010-2014 ETS5 2014-2018 Nykyinen versio: ETS 5.5.6 julkaistiin 22.06.2018 Seuraavat päivitykset

Lisätiedot

Määrittelydokumentti NJC2. Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Määrittelydokumentti NJC2. Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Määrittelydokumentti NJC2 Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Eero Anttila Olli

Lisätiedot

Purot.net Wiki. Tutkielma. Paavo Räisänen. Centria Ammattikorkeakoulu 24.10.2012

Purot.net Wiki. Tutkielma. Paavo Räisänen. Centria Ammattikorkeakoulu 24.10.2012 Purot.net Wiki Tutkielma Paavo Räisänen Centria Ammattikorkeakoulu 24.10.2012 Sisällysluettelo 1: Esittely 2: Perustaminen 3: Uuden sivun luonti 4: Kuvien lisääminen 5: Linkin lisääminen 6: Lopuksi 1:

Lisätiedot

A-Tiilikate objektikirjasto

A-Tiilikate objektikirjasto A-Tiilikate objektikirjasto 15.1.2014 A-Tiilikate-objektikirjasto toimii ArchiCAD 14, 15, 16 ja 17 -versioissa. Kirjaston käyttöön tarvitaan Graphisoftin Tarvikkeet-laajennus. Tarvikkeet-laajennuksen käyttöönotto

Lisätiedot

Raporttiarkiston (RATKI) käyttöohjeet Ohjeet

Raporttiarkiston (RATKI) käyttöohjeet Ohjeet Raporttiarkiston (RATKI) käyttöohjeet Ohjeet 15.11.2012 1.0 Vastuutaho TRAFI Sisällys Raporttiarkiston (RATKI) käyttöohjeet 1 1. Johdanto 3 1.1. Esitiedot 3 1.2. Käyttöoikeudet 3 1.3. Sisäänkirjautuminen

Lisätiedot

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9. Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.

Lisätiedot

LUSAS tiedosto-opas. Matti Lähteenmäki 2010 http://home.tamk.fi/~mlahteen/

LUSAS tiedosto-opas. Matti Lähteenmäki 2010 http://home.tamk.fi/~mlahteen/ LUSAS tiedosto-opas 2010 http://home.tamk.fi/~mlahteen/ LUSAS tiedosto-opas 2 1. Johdanto LUSASia käytettäessä esiintyy useita erityyppisiä tiedostoja, joista osan käyttäjä luo ja nimeää itse ja osa syntyy

Lisätiedot

Harjoitus 7: NCSS - Tilastollinen analyysi

Harjoitus 7: NCSS - Tilastollinen analyysi Harjoitus 7: NCSS - Tilastollinen analyysi Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tilastollinen testaus Testaukseen

Lisätiedot

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2 Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2 Sisällysluettelo Muutoshistoria...3 1 Johdanto...4 2 Palvelimen käyttöön tarvittavat ohjelmat...4 3 Palvelimelle kirjautuminen...4 4

Lisätiedot

CSV - XML ohjelman käyttöohje

CSV - XML ohjelman käyttöohje CSV - XML ohjelman käyttöohje Käynnistä ohjelma CSC_Virta_Julkaisut_ToXMLConverter.exe CSV-XML muunnos tapahtuu etenemällä ohjelmassa järjestyksessä 1. -> 6. ylhäältä oikealle: Perustoimintoja voi suorittaa

Lisätiedot

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 1. Luento 9 Ti Timo Männikkö Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward

Lisätiedot

ALKUSANAT... 4 ALKUSANAT E-KIRJA VERSIOON... 5 SISÄLLYSLUETTELO... 6

ALKUSANAT... 4 ALKUSANAT E-KIRJA VERSIOON... 5 SISÄLLYSLUETTELO... 6 Sisällysluettelo ALKUSANAT 4 ALKUSANAT E-KIRJA VERSIOON 5 SISÄLLYSLUETTELO 6 1 PERUSASIOITA JA AINEISTON SYÖTTÖ 8 11 PERUSNÄKYMÄ 8 12 AINEISTON SYÖTTÖ VERSIOSSA 9 8 Muuttujan määrittely versiossa 9 11

Lisätiedot