Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely

Koko: px
Aloita esitys sivulta:

Download "Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely"

Transkriptio

1 Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely

2 Sisällysluettelo 1. Johdanto Tarkoitus ja kattavuus Tuote ja ympäristö Määritelmät, termit ja lyhenteet Viitteet Yleiskatsaus dokumenttiin Järjestelmän yleiskuvaus Sovellusalueen kuvaus...9 Järjestelmän liittyminen ympäristöönsä Editori Ohjelma-ajan välityskomponentti Koordinaattien välityskomponentti Xlet-esimerkkisovellus Laitteistoympäristö Editori Ohjelma-ajan välityskomponentti Koordinaattien välityskomponentti Xlet-esimerkkisovellus Ohjelmistoympäristö Editori Ohjelma-ajan välityskomponentti Koordinaattien välityskomponentti Xlet-esimerkkisovellus Toteutuksen keskeiset reunaehdot Sopimukset ja standardit Arkkitehtuurin kuvaus Ratkaisun suunnitteluperiaatteet Editori Ohjelma-ajanvälitys komponentin erityispiirteet Koordinaattien välityskomponentin erityispiirteet Tietokanta-arkkitehtuuri Ohjelmistoarkkitehtuuri, moduulit ja prosessit Editori Ohjelma-ajan välityskomponentti Koordinaattien välityskomponentti Moduulien kommunikointi Editori Ohjelma-ajanvälitys komponentti Koordinaattien välityskomponentti Luokkakuvaukset: Editori Com.digita.digitv...21 Tekninen määrittely 2

3 MPEGContainer CoordinateObject RectangleCoordinateObject OvalCoordinateObject Com.digita.digitveditor EditorFrame ObjectList ObjectListItem ProjectSettingsDialog OpenProjectDialog EditorFileFilter PlaybackSettingsDialog CustomFocusManager RecentFiles ObjectPropertiesDialog LoadingWindow Project Luokkakuvaukset: Ohjelma-ajanvälityskomponentti Receiver-paketti Sender-paketti Testui-paketti Rinnakkaisuuden hallinta Luokkakuvaukset: Koordinaattien välityskomponentti converter paketti sender paketti receiver paketti common paketti Luokkakuvaukset: Xlet-esimerkkisovellus MyXlet XletCanvas Erityiset tekniset ratkaisut Editorin MPEG-2-videon käsittely Ohjelma-ajan välityskomponentti Koordinaattien välityskomponentti Virheenkäsittely Editorin virheenkäsittely Ohjelma-ajan välityskomponentin virheenkäsittely Koordinaattien välityskomponentin virheenkäsittely Hylätyt ratkaisuvaihtoehdot Editorin MPEG-2 videon käsittely GPL-lisenssin alainen dekooderi Videon purku DirectShown avulla Hahmontunnistus OAVK...37 Tekninen määrittely 3

4 Hot update tiedostot Tyhjä MPEG-2 kuvavuo Tekstitys Jatkokehitysajatuksia Ohjelma-ajan välityskomponentti Koordinaattien välityskomponentti...38 Versio- ja muutoshistoria Versio Päiväys Tekijä Kuvaus Pekka Koskinen Ensimmäinen luonnos Pekka Koskinen Lisätty Editorin luokat Pekka Koskinen Lisätty KVK:n osuus Pekka Koskinen Muokkausta ryhmän kommenttien pohjalta Pekka Koskinen Lisätty OAVK:n osuus Ville Vaittinen Muutettu siirtotiedoston määrittelyä Pekka Koskinen Yleispäivitys Pekka Koskinen Direct-X => JMF Pekka Koskinen Luokkakaavion päivitys Pekka Koskinen Viimeistelyä Pekka Koskinen Xlet-osuuden lisäys Tallennettu: :42 Tulostettu: :09 Tekninen määrittely 4

5 1. Johdanto 1.1. Tarkoitus ja kattavuus Teknisen määrittelyn tarkoituksena on suunnitella ja dokumentoida järjestelmän tekninen ratkaisu toteuttamista varten. Tämä dokumentti pitää sisällään koko järjestelmän arkkitehtuurin ja se on tehty erillisten editorin, ohjelma-ajan välityskomponentin, koordinaattien välityskomponentin teknisten määrittelyjen sekä Xlet-esimerkkisovelluksen toiminnallisen määrittelyn pohjalta [1,2, 3, 4]. Dokumentissa esitetty ohjelmistojen rakenne kattaa koko järjestelmän ja se on tarkoitettu avustamaan komponentin ohjelmointia ja lisäksi dokumentoimaan tehdyt tekniset ratkaisut. Dokumentti on suunnattu siis lähinnä järjestelmän toteuttajille, mutta myös niille jotka mahdollisesti ovat mukana jatkokehittämässä järjestelmää myöhemmin. Tässä dokumentissa kuvataan järjestelmän tekniset ongelmat ratkaisuineen ja eri komponentit toteuttavien ohjelmistojen rakenne Tuote ja ympäristö Tässä ohjelmatyössä toteutetaan sovellusalusta, jolla voidaan lisätä Digi-TV ohjelmien interaktiivisuutta. Ohjelmiin lisätään aktiivisia alueita, joita klikkaamalla kasoja laukaisee toiminnon ja saa esimerkiksi lisätietoa alueen alla olevasta henkilöstä tai objektista. Järjestelmä jakautuu neljään osaan: Editoriin, ohjelma-ajan välityskomponenttiin, koordinaattien välityskomponenttiin sekä vastaanottimessa pyörivään XLet-esimerkkisovellukseen. Järjestelmä sijoittuu kokonaisuudessaan Digi-TV ympäristöön ja sen tehtävänä on mahdollistaa tv-ohjelman kanssa synkronoitujen lisäpalveluiden tuottaminen ja toteuttaminen. Järjestelmä on kuvattu tarkemmin projektisuunnitelmassa [5]. Editori on editointityökalu, jonka avulla voidaan muodostaa tv-kuvasta parametri-informaatiota koordinaattimerkinnöiksi sekä synkronoida tämä tieto tiettyyn tv-kuvan hetkeen. Editori on esitetty yleisellä tasolla projektisuunnitelmassa, vaatimusmäärittelyssä sekä toiminnallisessa määrittelyssä [5, 6, 7]. Editointityökalua käyttää palveluntarjoaja. Käyttäjät ovat yksittäisiä eri palveluntarjoajien sisällöntuottajia. Työkalua käytetään studiossa, jossa lisäarvopalveluita tuotetaan. Editorin toiminta on kuvattu tarkemmin toiminnallisessa määrittelyssä [6]. Tekninen määrittely 5

6 Ohjelma-ajan välityskomponentin (OAVK) tehtävänä on tarjota vastaanottimen sovellukselle tarkka ohjelma-aika siten, että sovellus voi määrätyssä kohtaa ohjelmaa tarjota halutun ohjelmaan liittyvän lisäominaisuuden. Komponentin käyttäjiä ovat asiakaspäässä Java-sovellus ja lähetyspäässä ohjelman lähetyksestä vastaava henkilö tai lähetysjärjestelmä. Ohjelma-ajan välityskomponentin toiminta on kuvattu vaatimusmäärittelyssä [8]. Koordinaattien välityskomponentin (KVK) tehtävänä on välittää objektitietoa eli tietoa ruudun aktiivisista alueista. Tieto välitetään sovellukselle, joka määrittelee alueeseen liittyvän toiminnon eli sisällön. XLet-esimerkkisovelluksen tehtävänä on esitellä projektissa tuotetun synkronointijärjestelmän ominaisuuksia, jotka ovat ohjelma-ajan välitys ja aktiivisten alueiden muuttuminen tv-ohjelman mukaan. Xlet:tejä ladataan ohjelman lähettäjän toimesta katsojan päätelaitteisiin ja niiden avulla katsojalle voidaan tarjota vuorovaikutteisuutta lisääviä toimintoja. Xletesimerkkisovelluksen toiminta on määritelty toiminnallisessa määrittelyssä [4] Koska järjestelmä on tässä vaiheessa tutkimusluonteinen, ei siihen kuuluvilla tuotteilla ei vielä tässä vaiheessa kaupallisia nimiä, vaan niitä kutsutaan tässä vaiheessa editoriksi, ohjelma-ajan välityskomponentiksi, koordinaattien välityskomponentiksi sekä Xlet-esimerkkisovellukseksi Määritelmät, termit ja lyhenteet Koko projektiin liittyvät määritelmät, termit ja lyhenteet on esitetty erillisessä dokumentissa[9]. Niistä tärkeimmät ja tähän dokumenttiin liittyvät on esitetty oheisessa taulukossa. DVB Koordinaattiobjekti KVK MPEG-2 Digital Video Broadcasting: organisaatio, joka on kehittänyt digitaalisten TV-lähetysten standardeja Euroopassa. DVB:ssä on yli 200 jäsentä yli 25 maassa. Videokuvaan lisätty objekti, jolla voi olla erilaisia ominaisuuksia. Liittyy tiettyyn ajanhetkeen. Alkuvaiheessa suorakulmio tai ellipsi. Koordinaattien välityskomponentti MPEG-2 on häviöllinen liikkuvan kuvan ja äänen pakkausmenetelmä. MPEG-2 kooderille voidaan antaa erilaisia pakkausprofiileja sen mukaan millaista kuvanlaatua halutaan. Yhden MPEG-2 pakatun TV kanavan siirtoon tarvitaan Mbps siirtokapasiteetti. MPEG-2 menetelmää käytetään sekä DVB:n että ATSC:n standardeissa. Tekninen määrittely 6

7 MHP NPT OAVK Objektitieto OC Ohjelma-aika MUX STB Projekti Stream Event UML Xlet Digital Video Broadcasting Multimedia Home Platform on avoin standardi, joka määrittelee katsojien päätelaiteissa olevan tekniikan. DVB-MHP mahdollistaa esimerkiksi Java sovelmien suorittamisen katsojien päätelaiteissa. Now Playing Time on suhteellinen aika liittyen lähetettävään ohjelmaan. Digi-TV järjestelmä ei välitä NPT:tä tarpeeksi tarkasti, jotta sitä voitaisiin käyttää sovellusten ja TVohjelmien synkronoinnissa. Katso myös Ohjelma-aika. Ohjelma-ajan välityskomponentti Tieto ruudulla esiintyvästä aktiivisesta alueesta. Object Carousel; Objektikaruselli, jossa tiedostot palveluntarjoajan palvelimelta digiboksiin. Pyörii ympäri vanhan kunnon teksti-tv :n tyyliin. Aika joka on kulunut ohjelman alkamisesta pois lukien mainoskatkot. Multiplekseri Set-Top-Box eli digi-tv vastaanotin, digiboksi Videokuvan ja siihen liittyvien aikaan sidottujen koordinaattitietojen ja geometristen objektien yhdistelmä Tapahtuma jonka objektikaruselli lähettää ja jonka jokin asiakkaan päätelaitteessa oleva sovellus huomaa. Unified Modelling Language on olio-ohjelmien ja tietokantojen suunnitteluun kehitetty mallinnus menetelmä. Xlet on Digi-TV:n tarpeisiin muokattu versio Java sovelmista (applet). Xlet:ien avulla voidaan toteuttaa monimutkaisia sovelluksia MHP laiteisiin Viitteet Tekninen määrittely perustuu seuraaviin muihin projektiryhmän tuottamiin dokumentteihin: [1] Tekninen määrittely: Editori 0.1, [2] Tekninen määrittely: Ohjelma-ajanvälitys 0.3, [3] Tekninen määrittely: Koordinaattilukija 0.1, [4] Toiminnallinen määrittely: Xlet-esimerkkisovellus 0.1, [5] Projektisuunnitelma 1.11, [6] Toiminnallinen määrittely: Editori 1.0, [7] Vaatimusmäärittely 1.0, [8] Vaatimusmäärittely: Ohjelma-ajanvälitys komponentti 0.3, [9] Määritelmät ja termit [10] Selvitys GPL-lisenssoinnin tuomat ongelmat 0.1, [11] Tekninen määrittely 0.7, Tekninen määrittely 7

8 Lisäksi dokumentissa viitataan seuraaviin standardeihin: [12] MHP 1.0.1, ETSI TS v [13] JAE API Java 1.1 API Specification 1.5. Yleiskatsaus dokumenttiin Dokumentti jakautuu kahteentoista eri lukuun. Ensimmäinen luku on johdanto ja se kuvaa dokumentin tarkoitusta ja laajuutta sekä esittelee tuotteen pääpiirteittäin. Lisäksi se esittelee dokumentissa käytettävät määritelmät, termit ja lyhenteet. Toinen luku pitää sisällään yleiskuvauksen toteutettavasta järjestelmästä sekä kuvaa asiakkaan ympäristön ja sovellusalueen. Kolmannessa luvussa käsitellään järjestelmän arkkitehtuuria. Arkkitehtuuri kuvataan yleisellä tasolla: ylimmän käsitetason moduulit ja niiden väliset liittymät. Myös kaikki fyysiset tiedostot ovat näkyvillä tässä luvussa. Luku jakautuu suunnitteluperiaatteisiin, tietokanta-arkkitehtuuriin, ohjelmistoarkkitehtuuriin (luokkakaavio) sekä luokkien väliseen kommunikointiin. Neljännessä, viidennessä, kuudennessa ja seitsemännessä luvuissa käydään läpi yksityiskohtaisesti luokkakuvaukset. Luokkakuvaukset on jaettu eri lukuihin siten, että kunkin järjestelmän osan kuvaukset on esitetty omassa luvussaan. Kustakin luokasta esitetään sen yleiskuvaus, rajapinnat ja liittymät, rakenne ja toteutus sekä virhekäsittely. Kahdeksas luku kuvaa erityiset tekniset ratkaisut. Ne voivat liittyä esimerkiksi suojauksiin, turvallisuuteen, varmistuksiin, toipumisiin, ylläpidettävyyteen, joustavuuteen, siirrettävyyteen tai kannettavuuteen Yhdeksäs luku kuvaa virheenkäsittelyn. Kymmenenteen lukuun on dokumentoitu hylätyt ratkaisuvaihtoehdot perusteluineen. Yhdennessätoista luvussa esitetään järjestelmän jatkokehitysajatuksia. Tekninen määrittely 8

9 2. Järjestelmän yleiskuvaus Tässä kappaleessa kuvataan järjestelmän toimintaympäristöä kokonaisuuden, laitteiden ja ohjelmistojen osalta Sovellusalueen kuvaus Järjestelmän tehtävänä on tukea vuorovaikutteisten tv-ohjelmien tuottamista ja toteutusta digi-tv ympäristössä. Sen tehtävänä on tarjota tv-katsojalle lisäpalveluita lähetettävän ohjelman sisällöstä riippuen. Sovellukselle välitetään tietoa ruudulla olevista alueista, joita klikkaamalla katsoja saa esimerkiksi lisätietoa valitsemastaan henkilöstä. Itse digi-tv ympäristö on kuvattu tarkemmin projektisuunnitelmassa sekä koko projektin vaatimusmäärittelyssä [5, 7]. Järjestelmään kuuluvan editorin avulla tuotetaan kuvaan liittyvää lisäinformaatiota. Sen tuottama data tallennetaan tiedostoon, josta se lähetetään siirtoverkon yli TV-katsojan digiboksissa käynnissä olevalle sovellukselle. Projektin yhteydessä tuotetaan editorin lisäksi siirtomenetelmä tiedostojen ja synkronointi-informaation siirtämiseksi sekä yksinkertainen sovellus vastaanottimeen demonstroimaan siirrettävää informaatiota ja sen synkronointia tv-kuvaan. Ohjelma-ajan välityskomponentti välittää ohjelma-ajan lähetyspäästä asiakkaan päässä olevalle sovellukselle. Lähetyspäässä komponentti saa tiedon joko testaukseen tarkoitetulta käyttöliittymältä tai automaattiselta lähetysjärjestelmältä. Komponentin käyttöympäristö on DVB:n määrittelemä Digi-TV järjestelmä, jossa asiakkaan päätelaitteet ovat DVB-MHP yhteensopivia. Koordinaattien välityskomponentti välittää sovelluksesta riippumatonta objektitietoa eli tietoa ruudulla sijaitsevista aktiivialueista. Lähetyspään toimintaympäristö on Windows tai Linux-käyttöjärjestelmällä varustettu PC, jossa toimii objektikaruselli. Liitäntä karuselliin on valmistajakohtainen. Vastaanottopäässä ympäristö on MHP-standardin mukainen päätelaite. Xlet-esimerkkisovelluksen tehtävänä on demota järjestelmän toimivuutta. Sovellus toimii MHP-standardin mukaisessa päätelaitteessa. Tekninen määrittely 9

10 2.2. Järjestelmän liittyminen ympäristöönsä Järjestelmän arkkitehtuuri on esitetty kuvassa 2.1. Kuva 2.1. Järjestelmän arkkitehtuuri Editori Editori toimii täysin itsenäisenä sovelluksena. Sen tuottama siirtotiedosto siirretään objektikarusellin avulla tv-vastaanottimen sovelluksen käyttöön Ohjelma-ajan välityskomponentti Ohjelma-ajan välityskomponentti (OAVK) liittyy digitv-verkon lähetyspäässä objektikaruselliin ja vastaanottopäässä vastaanottimen javavirtuaalikoneeseen. Editointityökalun tuottama koordinaattimerkinnät sisältävä tiedosto voidaan siirtää digi-tv:n tarjoamaan tiedostojen siirtojärjestelmän objektikarusellin avulla vastaanottimen sovellukselle. OAVK koostuu kahdesta osasta lähetyspäässä olevasta lähetysosasta (OAVK Server) ja asiakkaan päätelaiteessa olevasta vastaanotto-osasta (OAVK Client) Koordinaattien välityskomponentti Koordinaattien välityskomponentti (KVK) on osa sovellusten synkronointijärjestelmää. KVK koostuu kahdesta osasta lähetyspäässä olevasta lähetysosasta (KVK Server) ja asiakkaan päätelaiteessa olevasta vastaanotto-osasta, koordinaattilukijasta (KVK Client). Tekninen määrittely 10

11 Xlet-esimerkkisovellus Esimerkkisovellus toimii täysin itsenäisenä sovelluksena vastaanottimessa Laitteistoympäristö Editori Editori toimii työasemassa, jolla on seuraavat vaatimukset: - Mikä tahansa Java virtuaalikoneen mahdollistama prosessori - Näytön vähimmäiskoko 17, suositeltu koko 19 - Näytön tulee pystyä 1280 * 1024 resoluutioon Näytön osalta vaatimukset ovat suosituksia. Editoria voi käyttää myös tietokoneissa, joissa on pienempi ja heikomman resoluution omaava näyttö Ohjelma-ajan välityskomponentti Asiakaspään laitteiston edellytykset: - MHP yhteensopiva Tarkempaa kuvaa itse päätelaitteesta ei voida anaa, koska valmistajilla on vapaus toteuttaa päätelaitteensa omalla tavallaan. Erityisesti tulee huomata, että projektissa toteutettava järjestelmä ei tule mitenkään riippumaan laitteistototeutuksista, vaan käyttää MHP mukaisia palveluita ja rajapintoja. Erityisesti on huomioitava, että tällä hetkellä markkinoilla ei ole saatavilla yhtään MHP:tä tukevaa päätelaitetta. Lähetyspään laitteistoympäristön edellytykset: - Intel x86 PC tietokone Koordinaattien välityskomponentti Vastaanottopään laiteympäristö on määritelty MHP standardin mukaiseksi, ottamatta tarkemmin kantaa itse laitteistoon. Erityisesti tulee huomata että koko projektissa toteutettava järjestelmä, ei tule mitenkään riippumaan laitteistototeutuksista, vaan käyttää MHP mukaisia palveluita ja rajapintoja. Lähetyspään laiteympäristö on Windows tai Linux käyttöjärjestelmällä toimiva PC. Tämä riippuu mahdollisesti objektikarusellin toimittajasta Xlet-esimerkkisovellus - MHP yhteensopiva päätelaite Tekninen määrittely 11

12 2.4. Ohjelmistoympäristö Editori Editori toimii työasemassa, jossa on seuraavat ohjelmistot: - Mikä tahansa Java virtuaalikoneen mahdollistama käyttöjärjestelmä - JRE tai JDK JMF JRE on satavilla osoitteesta: JMF on satavilla osoitteesta: Ohjelma-ajan välityskomponentti Asiakaspään laitteiston ohjemistoedellytykset: - MHP ohjelmistoympäristö Erityisesti on huomioitava se, että koska MHP päätelaitteita ei toistaiseksi ole saatavissa, ei testausta voida suorittaa kohdeympäristössä. Komponentti testataan kehitysvaiheessa tavallisessa Java ympäristössä niiltä osin kuin se on mahdollista. MHP:stä on julkaistu myös versio 1.1 johon on tehty erityisesti paluukanavaan liittyviä muutoksia. Näiden muutosten ei oleteta vaikuttavan projektissa toteutettavaan järjestelmään olennaisesti. Järjestelmä ei välttämättä toimi suoraan MHP 1.1 ympäristössä, mutta asiakas sitoutuu tähän ja on epätodennäköistä että projektin toteuttamaan järjestelmään joudutaan tekemään merkittäviä muutoksia MHP 1.1 yhteensopivuuden saavuttamiseksi. Lähetyspään ohjelmistoympäristön edellytykset: - Windows tai Linux käyttöjärjestelmä - Objektikaruselli Koordinaattien välityskomponentti Asiakkaan päätelaitteessa on tarkasti määritelty MHP ohjelmistoympäristö. Se on Digi-TV päätelaitteille mukautettu versio Java 1.1 ympäristöstä. Oleellisia muutoksia Java 1.1 ympäristöön on tehty lähinnä tiedonsiirron ja käyttöliittymäkomponenttien osalta. Digi-TV katsojilla ei ole käytössä tietokoneista tuttua näppäimistöä ja hiirtä vaan oletusarvoisesti Tekninen määrittely 12

13 pelkkä kaukosäädin. Tiedonsiirtoon liittyvät muutokset johtuvat lähinnä siitä että tiedonsiirto on oletusarvoisesti yksisuuntaista. Yksisuuntainen tiedonsiirto toteutetaan objektikarusellin avulla. Lähetyspäässä ohjelmistoympäristö on Windows tai Linux käyttöjärjestelmä, sekä objektikaruselli sovellus johon lähetysosa liitetään. Rajapinta objektikaruselliin riippuu objektikarusellin toteutuksesta ja rajapintaa ei ole standardoitu. Tästä syystä asiakas on lupautunut avustamaan KVK:n integroinnissa objektikaruselliin ja tämä integrointi voidaan yksityiskohdiltaan jättää pois tästä dokumentista Xlet-esimerkkisovellus Sovelluksen ohjelmistoympäristön edellytyksenä on MHP ympäristö Toteutuksen keskeiset reunaehdot Järjestelmälle asetetut keskeiset reunaehdot on kuvattu eri osien vaatimusmäärittelyissä [7, 8]. Tärkeimpänä esiin tulee synkronoinnin tarkkuus. Reunaehtojen osalta on kuitenkin huomattava että kyseessä on prototyyppi synkronoiduista sovelluksista, eikä voida varmasti tietää mitkä kaikki ominaisuudet ovat oikeasti toteutettavissa. Lisäksi on huomioitava, että vastaanotto-osat, jotka tulevat asiakaan päätelaiteeseen, on tarkoitus suunnitella mahdollisimman yksinkertaiseksi. Syynä tähän on rajattu muisti- ja prosessorikapasiteetti päätelaiteessa Sopimukset ja standardit Järjestelmään toteutettavien ohjelmistojen rakenne kuvataan UML kuvauskielellä. Ohjelmisto on kokonaisuudessaan melko suppea ja UML kaaviot riittävät sen kuvaamiseen. OAVK:n ja KVK:n tietoliikenne kuvataan sannallisesti ja esimerkein. Mitään erityistä menetelmää ei käytetä. Ohjelmointikielen osalta tv-katsojan päätelaite asettaa ohjelmointikielivaatimukseksi Javan version 1.1. Päätelaite tukee MHP ympäristöä, joka on Digi-TV päätelaitteille muunneltu versio Java 1.1 ympäristöstä. [12, 13] Järjestelmän omistusoikeudet ja dokumentaation luottamuksellisuus on määritelty koko projektin osalta projektisuunnitelmassa [5]. Tekninen määrittely 13

14 3. Arkkitehtuurin kuvaus Edellisessä luvussa kuvattiin järjestelmä kokonaisuutena. Tässä luvussa keskitytään sen eri komponenttien tarkempaan kuvaamiseen ohjelmistojen rakenteen ja tiedonsiirron kannalta Ratkaisun suunnitteluperiaatteet Suunnittelu perustuu oliosuunnitteluun, koska järjestelmän ohjelmointikielenä on Java. Lähtökohtana suunnittelussa on hyödyntää Javan valmiita kirjastoja mahdollisimman tehokkaasti. Modulaarisuus on toinen suunnittelun perusta. Selkeiden rajapintojen käyttö toteutuksessa helpottaa eri osien itsenäistä toteuttamista ja yhteen liittämistä Editori Editori rakentuu arkkitehtuurisesti käyttöliittymään sekä videokuvan ja objektien piirrot toteuttavaan osaan Ohjelma-ajanvälitys komponentin erityispiirteet OAVK on melko yksinkertainen komponentti ja sen arkkitehtuuri noudattaa perinteistä asiakas-palvelin mallia, ottaen kuitenkin huomioon että käytössä on vain yksisuuntainen tietoliikenne palvelimen ja asiakaan välillä. OAVK suunnitellaan yleiskäyttöiseksi siten, että sitä voivat hyödyntää kaikki ohjelma-aikaa tarvitsevat sovellukset. OAVK:n erityispiirteitä on käsitelty tarkemmin sen omassa teknisessä määrittelyssä [2]. OAVK:n suunnitteluun liityy myös signalointi lähetys- ja asiakaspään välillä. Signaloinnin tavoitteena on välittää tieto ohjelma-ajasta ja ohjelman tilasta ja myös se on kuvattu tarkemmin OAVK:n teknisessä määrittelyssä [2] Koordinaattien välityskomponentin erityispiirteet Koordinaattien välityskomponentin arkkitehtuuri jakautuu ylemmällä tasolla kahteen osaan: lähetys- ja vastaanottopäähän. Lähetyspään tehtävinä on objektitiedon lukeminen yhdestä ASCII tiedostosta, tiedon tallentaminen binäärimuotoon useampaan pienempään tiedostoon ja binääritiedostojen lähettäminen yksitellen objektikarusellin avulla päätelaiteessa olevalle vastaanotto-osalle. Vastaanottopään tehtävänä on lukea objektikarusellin tiedostojärjestelmästä yksi binääritiedosto kerrallaan ja luetun objektitiedon perusteella ilmoittaa sovellukselle ruudulla esiintyvistä objekteista. Olennaisin piirre ratkaisussa on että KVK:n kaksi eri osaa kommunikoivat keskenään yksisuuntaisesti tiedostojärjestelmän avulla. Tiedostot soveltuvat kommunikointiin hyvin seuraavista syistä: Tekninen määrittely 14

15 Objektitiedon välityksen ei tarvitse olla reaaliaikaista, Objektitietoa on todennäköisesti paljon ja Kaikkien objektikarusellien voidaan olettaa tukevan tiedostojen välitystä 3.2. Tietokanta-arkkitehtuuri Editori tallentaa projektin omaan tiedostoonsa (ASCII-tiedosto), joka tämän jälkeen konvertoidaan siirtotiedostoksi (binääritiedosto). Yleisesti voidaan todeta että ASCII tiedostossa on kaikki koko ohjelman aikana ruudulla esiintyvät objektit ja tiedoston koko voi olla tästä syystä suuri. Objektikarusellissa halutaan välittää pienempiä kokonaisuuksia ja tästä syystä tieto koodataan binääriseen muotoon ja lähetetään rajatun kokoisissa paloissa. Yhdessä binääritiedostossa on objektidata 1250 framen ajalle. Järjestelmä toteutetaan siten että tätä kokoa voidaan helposti vaihtaa. ASCII muotoinen objektitietorakenne sisältää tiedon seuraavista objektiin liittyvistä parametreista. time = [0..2^32] id = [ ] state = [show, hide, done] x = [ ] y = [ ] dx = [ ] dy = [ ] shape = [circle, triangle, rect, point] time : sisältää eventin ajanhetken millisekunteina ohjelman alkamisesta id : objektin uniikki id state: objektin tila x : objektin keskipisteen x-koordinaatti y : objektin keskipisteen x-koordinaatti dx : objektin leveys (arvo merkityksetön objektimuodolle point) dy : objektin korkeus (arvo merkityksetön objektimuodolle point) shape : objektin muoto Tiedostossa eri objektit on eritelty toisistaan tyhjällä rivillä. Esimerkki: time = // 0h 1 min 12 sek 123 msec id = state = 1 x = 200 y = 300 w = 150 h = 150 Tekninen määrittely 15

16 shape = rect Binääritiedostossa objektitietorakenne koostuu 128:stä bitistä, mitkä jakautuvat seuraavasti eri kenttien välillä. Bitit data kentän koko/bittiä Arvot time id state x y dx dy shape Eri tilojen numeroarvot vastaavat seuraavia tiloja: 0 = show, 1 = hide ja 2 = done. Vastaavasti eri muotojen numeroarvot: 0 = circle, 1 = triangle, 2 = rect ja 3 = point. Binääritiedostossa objekteja ei erotella toisistaan, koska objektit ovat määrämittaisia. Binääritiedosto alkaa 16 bittisellä tiedoston numerolla, joka on juokseva numero alkaen nollasta jokaisen ohjelman alussa. ASCII tiedoston jäsennys sekä binääritiedoston tuottaminen ja jäsennys ovat toteutettu KVK:ssa. Konversio ASCII tiedostosta binääritiedostoiksi on melko suoraviivainen. Ainoa muutos joka tehdään on tiedon paloittelu useaan binääritiedostoon Ohjelmistoarkkitehtuuri, moduulit ja prosessit Editori Editori koostuu käyttöliittymästä sekä videokuvan ja objektien piirrot toteuttavasta osasta. Editori käyttöliittymineen on toteutettu Javalla Ohjelma-ajan välityskomponentti OAVK:n arkkitehtuuri on kuvattu erikseen lähetys- ja asiakaspään osalta. Tekninen määrittely 16

17 Asiakaspään toteutukseen kuuluu seuraavat osat: 1. Liityntä objektikaruselliin 2. Ydin, joka pitää yllä aika- ja tilatietoa Kummatkin osat voidaan toteuttaa yhdellä Java luokalla. Liityntä objektikaruselliin tehdään tilaamalla aika- ja tilatietoa välittävä tapahtuma. Asiakaspäässä komponentti ei tarvitse omaa prosessia tai säiettä. Objektikarusellista tulevat tapahtumat päivittävät ytimessä olevaa aika- ja tilatietoa. Tämä osa toteutetaan org.digitv-synkro.programtime.receiver pakettiin. Lähetyspään toteutukseen kuuluu seuraavat osat: 1. Liityntä objektikaruselliin 2. Ydin, joka pitää yllä aika- ja tilatietoa 3. Testikäyttöliittymä jolla aikatieto syötetään Näistä jokainen tulee toteuttaa omana osanaan siten että toteutus voidaan vaihtaa rajapintaa ja muita osia muuttamatta. Tämä koskee erityisesti liityntää objektikaruselliin. Lähetyspäässä ydin ohjaa liityntää objektikaruselliin. Ydintä ajetaan omassa säikeessä. Käyttöliittymää ajetaan myös omassa säikeessä ja käyttöliittymällä päivitetään ytimessä olevia tietoja. Ydin ja liityntä objektikaruselliin toteutetaan org.digitv-synkro.programtime.sender pakettiin. Käyttöliittymä toteutetaan org.digitv-synkro.programtime.testui pakettiin. Tekninen määrittely 17

18 Koordinaattien välityskomponentti Koordinaattien välityskomponentin toiminnalliset osat on esitetty kuvassa 3.1. Kuva 3.1. Koordinaattien välityskomponentin toiminnalliset osat. Kuvan 3.1 vasemmassa reunassa on KVK:n lähetyspää ja oikeassa reunassa vastaanottopää. Keskellä kuvaa on tiedostoja välittävä objektikaruselli OC. Koordinaattitieto luetaan ensin ASCII tiedostosta ja siitä luodaan ObjectEvent objekteja jotka voidaan muuntaa binääri muotoon. Binääritiedostoja syntyy mahdollisesti useampia, riippuen objektitiedon määrästä. Muunto binääritiedostoiksi tehdään ennen ohjelman alkamista. Lähettäjä, eli Sender lähettää binääritiedostot yksi kerrallaan objektikaruselliin. Tämä tehdään ohjelman lähetyksen yhteydessä, hyvissä ajoin ennen kuin tiedostossa määritellyt objektit pitää esittää ruudulla. Vastaanottopäässä binäärinen objektitieto jäsennetään ja siitä luodaan ObjectEvent objekteja. Objekteille on määritelty ohjelma-aika, jonka koittaessa sovellus saa tiedon ruudulla esiintyvästä objektista. Tieto välitetään Java objektina, jonka muoto määritellään tässä dokumentissa myöhemmin. Tekninen määrittely 18

19 3.4. Moduulien kommunikointi Editori Editorin eri moduulien kommunikointi on kuvattu luokkakuvauksien yhteydessä Ohjelma-ajanvälitys komponentti Objektikarusellin avulla toteutettavaa signalointia lukuunottamatta komponentin osat kommunikoivat keskenään Java-rajapintojen yli. Seuraavassa kaaviossa on kuvattu osien välinen kommunikaatio yleisellä tasolla. Kuva 3.2. Tiedonkulku ohjelma-ajan välityskomponentissa Koordinaattien välityskomponentti Moduulien kommunikointi on kuvattu luokkakuvauksien yhteydessä. Tekninen määrittely 19

20 4. Luokkakuvaukset: Editori Tässä kappaleessa kuvataan Editorin ohjelmiston rakenne yksityiskohtaisella tasolla. Kuvauksessa käytetään UML-luokkakaavioita. Editori jaetaan kahteen pakettiin: org.digitv-synkro.digitveditor, org.digitv-synkro.digitv. Toteutettavan koodin kieli on englanti, mukaan lukien kommentit koodissa. Koodi dokumentoidaan Javadockommentein, josta voidaan helposti generoida html-muotoinen dokumentaatio. Kukin paketti kuvataan erikseen siihen kuuluvien luokkien osalta. Kaikkien luokkien osalta käydään läpi luokkien yleiskuvaus, rajapinnat ja liitännät, rakenne ja toteutus sekä mahdollinen virheenkäsittely. Kuva 4.1 Editorin luokkakaavio. Tekninen määrittely 20

21 4.1. Com.digita.digitv MPEGContainer MPEGContainer on editorin keskeisin luokka. Se toteuttaa Editorin työskentelyalueen piirtämällä valitun videokuvan ja sen sisältämät koordinaattimerkinnät. MPEGContainer laajentaa java.awt.container luokan ja toteuttaa rajapinnat: java.awt.event.actionlistener, java.awt.mouselistener ja java.awt.event.mousemotionlistener. Koordinaattimerkinnät liitetään MPEGCanvas-luokkaan CoordinateObject-rajapinnan kautta. MPEGCanvas perii java.awt.container-luokan. Container-olio voi sisältää useita java.awt-olioita ja tätä ominaisuutta MPEGContainer käyttää hyväksi. MPEGContainer lukee java.awt.image-tyyppisen kuvan, joka piirretään ruudulle. Kuvaan liittyvät koordinaattimerkinnät luetaan editoritiedostosta taulukkoon ja ne piirretään ruudulle CoordinateObject CoordinateObject on rajapinta erilaisille koordinaattimerkinnöille. Rajapinta määrittelee toteutettaviksi metodeiksi koordinaattimerkinnän piirtämisen ja tarkistuksen syötetyn koordinaatin kuulumisesta koordinaattimerkinnän alueeseen RectangleCoordinateObject RectCoordinateObject on suorakulmion muotoinen koordinaattimerkintä. RectCoordinateObject toteuttaa CoordinateObject-rajapinnan OvalCoordinateObject Ellipsin muotoinen koordinaattimerkintä. OvalCoordinateObject toteuttaa CoordinateObject-rajapinnan Com.digita.digitveditor EditorFrame EditorFrame-luokka on editorin käyttöliittymän keskeisin luokka. EditorFrame laajentaa javax.swing.jframe-luokan. Editorin graafinen ilme on toteutettu javax.swing komponenteilla, jolloin voidaan toteuttaa alustariippumaton, monipuolinen ja näyttävä käyttöliittymä. Javan Tekninen määrittely 21

22 peruskomponenttipaketti (AWT) ei ole alustariippumaton, vaan se perustuu kullekin käyttöjärjestelmälle kirjoitettuihin natiivikomponentteihin ObjectList Objektiluettelon toteuttava luokka. ObjectList laajentaa javax.swing.panelluokan ja toteuttaa rajapinnan ContainerListener. Kyseisen kuuntelijarajapinnan kautta luettelo saa tiedon uusista ja poistetuista komponenteista. ObjectList-luokkaan liitetään ObjectListItem-luokan esittämät koordinaattimerkinnät ObjectListItem Objektiluettelon koordinaattimerkinnät toteuttava luokka. ObjectList laajentaa javax.swing.panel-luokan ja toteuttaa rajapinnan ComponentListener. Kuuntelijarajapinnan avulla ObjectListItem saa tiedon koordinaattiobjektien näkyvyyden (visibility) muuttumisesta MPEGContainerilla. ObjectListItem kuvaa aina yksikäsitteisesti yhtä MPEContainerilla esitettyä java.awt.component-oliota ProjectSettingsDialog Luokka toteuttaa ikkunan, jolla valitaan videotiedosto ja koordinaattitiedosto. ProjectSettingsDialog laajentaa javax.swing.jdialog-luokan ja liittyy EditorFrame- ja EditorFileFilter-luokkiin. Toteutettavat metodit ovat videokuvan sekä koordinaattitiedoston tiedostopolkujen hakeminen OpenProjectDialog Luokka toteuttaa ikkunan, jolla avataan projekti. OpenProjectDialog laajentaa javax.swing.jdialog-luokan ja liittyy EditorFrame- ja EditorFileFilter-luokkiin. Toteutettava metodi on projektitiedoston tiedostopolun hakeminen EditorFileFilter Luokka on filefilter-olio, jolla filedialogeihin saadaan näkyviin vain halutun tiedostopäätteen omaavat tiedostot esim. *.edi koordinaattitiedostoja valittaessa. ProjectSettingsDialog laajentaa javax.swing.filechooser.filefilter-luokan ja liittyy ProjectSettingsDialog- ja OpenProjectDialog-luokkiin PlaybackSettingsDialog Luokka toteuttaa ikkunan, jonka avulla voi muokata videokuvan esitysasetuksia, kuten esitysnopeutta ja suuntaa. PlaybackSettingsDialog laajentaa java.swing.jdialog-luokan ja liittyy EditorFrame luokkaan CustomFocusManager CustomFocusManager korvaa EditorFramen oletusarvoisen Swing focusmanagerin, jolloin välilyöntiä ja nuolinäppäimiä on mahdollista Tekninen määrittely 22

23 käyttää videokuvan esittämisen näppäinkomentoina RecentFiles Luokka toteuttaa toiminnon, jonka avulla viimeksi editoidut tiedostot näkyvät pikavalintoina sekä File-valikossa että Open Project ikkunassa ObjectPropertiesDialog Luokka toteuttaa ikkunan, jonka avulla käyttäjä voi tarkastella ja muokata koordinaattiobjektien arvoja. ObjectPropertiesDialog laajentaa java.swing.jdialog-luokan ja liittyy ObjectListItem-luokkaan. Ikkuna voidaan käynnistää MPEGCanvas:lta tai ObjectList:ltä kaksoisnapauttamalla koordinaattiobjektia LoadingWindow Luokka toteuttaa latausvaiheessa logo-ikkunan. LoadingWindow laajentaa java.awt.window-luokan ja liittyy EditorFrame-luokkaan Project Luokka yhdistää videotiedoston ja koordinaattitiedoston projektiolioksi. Tekninen määrittely 23

24 5. Luokkakuvaukset: Ohjelma-ajanvälityskomponentti Tässä kappaleessa kuvataan OAVK:n ohjelmiston rakenne yksityiskohtaisella tasolla. Kuvauksessa käytetään UML-luokkakaavioita. OAVK jaetaan kolmeen pakettiin: receiver, sender ja testui. Jokainen paketti on esitetty oman kaavionsa ja sanallisen kuvauksen avulla. Toteutettavan koodin kieli on englanti, mukaan lukien kommentit koodissa. Koodi dokumentoidaan Javadoc-kommentein, josta voidaan helposti generoida html-muotoinen dokumentaatio Receiver-paketti Kuvassa 3 näkyy receiver paketin ainoa luokka ja sen toteuttamat org.dvb.dsmcc.streameventlistener ja ProgramTime rajapinnat. Ohjelman tila ilmaistaan kokonaisluvulla joka on jokin sender paketin ProgramStates rajapinnassa määritellyistä kentistä. Kuva 5.1. Receiver-paketin luokat ja rajapinnat Aika- ja tilatiedon välitykseen tarvittavat metodit on määritelty ProgramTime rajapinnassa jotta toteutusluokka voidaan helposti vaihtaa tarpeen tullen. Tekninen määrittely 24

25 5.2. Sender-paketti Kuvassa 4 näkyy sender paketti johon kuuluvat SenderCore ja StreamEventSender luokat sekä ObjectCarouselInterface ja ProgramStates rajapinnat. SenderCore luokka pitää yllä tietoa sen hetkisestä ajasta ja lähettää aika- ja tilatietoa kymmenen sekunnin välein käyttäen ObjectCarouselInterface rajapintaa. StreamEventSender luokka toteuttaa ObjectCarouselInterface rajapinnan. Rajapinnassa ProgramStates on määritelty kokonaisluku vakiot jotka vastaavat ohjelmien eri tiloja. Kuva 5.2. Sender-paketin luokat ja rajapinnat Tekninen määrittely 25

26 5.3. Testui-paketti Kuvassa 5.3 on testui paketin luokat kuvattu yleisellä tasolla. Käyttöliittymää rakennettaessa saatetaan tarvita muitakin käyttöliittymäelementtejä, mutta alkuun tämä rakenne on riittävä. Kuva 5.3. Testui-paketin luokat Luokka UICore on käyttöliittymän ydin ja se välittää tiedot sender paketin SenderCore luokalle. UICore toteuttaa java.lang.thread rajapinnan jotta käyttöliittymä voi itsenäisesti päivittää ruutua. UICore toteuttaa myös java.awt.event.actionlistener rajapinnan. Tämä siksi että käyttäjän toimiin voidaan reagoida Rinnakkaisuuden hallinta Javassa rinnakkaisuutta hallitaan synkronoimalla objekteja. Tämä synkronointi ei liity mitenkään sovelluksen ja TV-ohjelman synkronointiin. Tässä kappaleessa synkronoinnilla viitataan Java-objektien synkronointiin. Asiakaspäässä rinnakkaisuus voi tuottaa ongelmia jos OAVK:ta käyttävä sovellus käyttää sekä objektikarusellia että OAVK:ta samaan aikaan. Tämän estämiseksi vaaditaan että OAVK:ia käyttävä sovellus ei synkronoidu samaan aikaan objektikaruselliin ja OAVK:in. Lähetyspäässä komponentti pitää sisällään kaksi säiettä, ytimen ja käyttöliittymän. Näiden kahden säikeen toiminta pitää synkronoida siten että käyttöliittymä synkronoituu SenderCore luokkaan aina kun se päivittää tietoja. Tekninen määrittely 26

27 Jos käyttöliittymään lisätään myöhemmin toimintoja jotka ovat ytimen laukaisemia tulee synkronointi jonkin yhteisen objektin kautta. Tekninen määrittely 27

28 6. Luokkakuvaukset: Koordinaattien välityskomponentti Tässä luvussa perehdytään tarkemmin KVK:n toteutukseen ja käydään toimintaa läpi Java-luokkien tasolla. Kuvassa 6.1 on esitetty KVK:n paketit ja niihin kuuluvat luokat. Kuva 6.1 KVK:n luokkakaavio Luokkien välisiä suhteita ja vuorovaikutuksia ei ole kuvattu UML kaavioon vaan ne kuvataan sanallisesti tässä luvussa converter paketti KVK:n toiminta alkaa tiedostojen käsittelystä (converter paketti). BinaryFileProducer luokka lukee ASCII tiedostoa ASCIIParser luokan avulla. ASCIIParser luokka käyttää common paketin ObjectEventFactory luokkaa ObjectEvent olioden luomiseen. BinaryFileProducer muuntaa ObjectEvent luokan oliot takaisin biteiksi käyttäen myös ObjectEventFactory luokkaa. Bitit se tallettaa binääritiedostoihin, siten ettei binääritiedoston maksimikoko ylity. Tekninen määrittely 28

29 6.2. sender paketti sender paketin Sender luokka huolehtii valmiiden binääritiedostojen lähettämisestä objektikaruselliin ohjelman lähetyksen aikana. Digita on toimittanut karuselliliitännän rajapinnan toteutuksen. Tämän yksityiskohdat kuuluvat luottamuksellisiin tietoihin eikä niitä ole kuvattu tässä. Digitan toimittamaa toteutusta käytetään paketin OCConnection-rajapinnan läpi. Lähetyspäässä sender-paketti käyttää Binfileparser-luokkaa receiver paketti receiver paketin koodia suoritetaan asiakkaan päätelaiteessa. Päätelaitteessa on käytössä hyvin määritellyt Java rajapinnat objektikaruselliin joten täällä objektikarusellia ei tarvitse piilottaa rajapinnan taakse. BinaryFileParser luokka lukee karusellista tiedoston ja jäsentää siinä olevan datan käyttäen common paketin ObjectEventFactory luokkaa. EventLauncher luokka taas käyttää BinaryFileParser luokkaa, saaden siltä karusellista luettuja ObjectEvent olioita. Lisäksi EventLauncher käyttää ohjelma-ajanvälitys komponenttia saadakseen tiedon sen hetkisestä ohjelma-ajasta. Ohjelma-ajan ja ObjectEvent olioiden perusteella EventLauncher jakaa event:ejä kuunteleville luokille. Eventtien kuuntelua varten on receiver paketissa SynchronizedEventListener rajapinta ja SychronizedEvent luokka. Objektitietoa haluavien sovellusten tulee toteuttaa SynchronizedEventListener rajapinta ja rekisteröityä kuuntelemaan eventtejä EventLauncher luokan addeventlistener metodilla. Oliotieto toimitetaan ohjelmille SychronizedEvent olion muodossa, joka sisältää kaiken ObjectEvent oliossa välitetyn objektitiedon common paketti common paketissa on ObjectEvent luokka joka on käytännössä pelkkä tietorakenne, eikä sisällä mitään toiminnallisuutta. Paketissa on myös ObjectEventFactory luokka jossa on metodit ObjectEvent olioiden luomiseen ASCII tekstistä tai biteistä. ObjectEventFactory:ssä on myös päinvastaiset metodit joilla ObjectEvent oliot voidaan muuntaa ASCII tekstiksi tai biteiksi. common paketissa on lisäksi koko järjestelmän käyttämät vakiot sisältävä rajapinta Constraints. Järjestelmän parametrejä voidaan näin muuttaa yhdestä paikasta. Tekninen määrittely 29

30 7. Luokkakuvaukset: Xlet-esimerkkisovellus Xlet-esimerkkisovelluksessa on kaksi luokkaa, MyXlet ja XletCanvas. Luokat on kuvattu oheisessa kuvassa. Kuva Esimerkkisovelluksen luokkakaavio 7.1. MyXlet MyXlet on luokka, joka toteuttaa Xlet-rajapinnan (javax.tv.xlet.xlet) neljän metodin avulla. initxlet on metodi, jossa Xlet alustetaan. Tämä tapahtuu luomalla EventLauncher, joka lukee objektikarusellista eventtejä. Lisäksi asetetaan MyXlet kuuntelemaan eventtejä sekä alustetaan TVContainer (awt.containerin aliluokka) esittämään grafiikkaa ruudulla. Lisäksi luokkaan kuuluvat seuraavat Xlet-rajapinnan metodit, jotka eivät tässä esimerkkisovelluksessa tee mitään: - startxlet metodi ajetaan kun Xlet varsinaisesti suoritetaan - pausexlet on metodi, joka ajetaan kun Xlet asetetaan paused-tilaan - destroyxlet on metodi, joka joka ajetaan kun Xlet tuhotaan Lisäksi luokka toteuttaa SynchronizedEventListener-rajapinnan (fi.digita.digitvsynkro.transcoord.receiver.synchronizedeventlistener) oheisen metodin avulla: - receivesynchronizedevent(synchronizedevent se), joka ajetaan aina kun MyXletille tulee uusi eventti. Metodi tulkitsee onko kyseessä uusi koordinaattiobjekti vai olemassa olevan objektin aktiivisuuden lopetus eventti ja lisää/poistaa XletCanvasille/lta kyseisen objektin. Tekninen määrittely 30

31 7.2. XletCanvas XletCanvas-luokka laajentaa java.awt.canvas-luokan ja se on TVContainerissa oleva awt-komponentti, johon koordinaattiobjektit piirretään. XletCanvas sisältää seuraavat metodit: - paint(graphics g), jossa käydään läpi aktiiviset koordinaattiobjektit ja piirretään niitä vastaavat kuviot ruudulle (tunnistaa nelikulmion ja ellipsin). - public SynchronizedEvent getactivearea(integer id) palauttaa id:n mukaisen koordinaattiobjektin - public void removeactivearea(synchronizedevent oldevent) poistaa koordinaattiobjektin aktiivisten objektien listalta - public void putactivearea(integer id, SynchronizedEvent se) lisää koordinaattiobjektin aktiivisten objektien listalle. Tekninen määrittely 31

32 8. Erityiset tekniset ratkaisut 8.1. Editorin MPEG-2-videon käsittely Editorin MPEG-2 videon käsittely on toteutettu JMF:n avulla Ohjelma-ajan välityskomponentti OAVK:n suunnittelussa käytetyt ratkaisut on dokumentoitu edellä. Erityistä on OC-liitäntä, jonka Digita on toimittanut. Komponentin toipumisesta esim. sähkökatkoista ja muista vastaa pitkälti päätelaite ja objektikaruselli. Päätelaite on suunniteltu siten että käyttäjän ei tarvitse tehdä mitään sovellusten käynnistämiseksi vaan niiden käynnistämistä ohjaa objektikaruselli. Lähetyspäässä sähkökatkon tai vastaavan sattuminen on katastrofaalista koko lähetysjärjestelmälle ja siinä tapauksessa kaikki sovellukset, mukaan lukien OAVK, pitää käynnistää manuaalisesti uudelleen. Projektin puitteissa oletetaan, että TVlähetysjärjestelmä on niin hyvin suojattu, että tällaista ei pääse tapahtumaan Koordinaattien välityskomponentti Koordinaattilukijan kannalta olennainen erityiskysymys on toipuminen, jolla tarkoitetaan vastaanottopään synkronoituminen kesken lähetettävän ohjelman. Tämä voi johtua esimerkiksi kanavan vaihtamisesta tai vastaanottimen avaamisesta. Suurimmilta osin tästä huolehtii tietysti itse päätelaite ja objektikaruselli, mutta KVK:n pitää myös pystyä synkronoitumaan lähetettävään objektitietoon. EventLauncher objektin tulee vain hylätä vanhat tiedot ja aloittaa eventtien laukominen niistä objekteista joiden pitäisi esiintyä ruudulla parhaillaan. Tekninen määrittely 32

33 9. Virheenkäsittely 9.1. Editorin virheenkäsittely Editorin virheet jakautuvat karkeasti kahteen luokkaan: 1) Tiedostovirheet 2) Videon käsittelyn virheet Tiedostovirheet tapahtuvat kun videotiedostoa, projektitiedostoa tai jotakin muuta tiedostoa ei kyetä avaamaan tai tallentamaan. Tällöin käyttäjälle esitetään dialogi, jonka tietojen perusteella hän kykenee korjaamaan tilanteen (esimerkiksi vapauttamaan tilaa kovalevyltä). Videon käsittelyn virheet tapahtuvat, kun JMF ei kykene käsittelemään käyttäjän anatamaan videotiedostoa. Tämä saattaa johtua tietokoneen puutteellisista koodekeista tai JMF:lle tuntemattomasta videoformaatista. JMF:n antamat virheilmoitukst suodatetaan ja esitetään käyttäjälle dialogina. Kummassakaan luokassa virhe ei aiheuta sovelluksen keskeytymistä, vaan editointia voidaan jatkaa tilanteesta, jossa oltiin ennen ko. virheen aiheuttanutta toimintaa Ohjelma-ajan välityskomponentin virheenkäsittely Asiakaspäässä voidaan kohdata seuraavia virhetilanteita: 1. Ei saada signalointitapahtumia, eikä pystytä tarjoamaan aika tietoa. Menettely: Heitetään poikkeus palvelua käyttävälle sovellukselle. 2. Saadaan tapahtuma jonka tiedot ovat virheellisiä, eli niitä ei voida tulkita kappaleessa 3 mainittujen sääntöjen perusteella. Menettely: Hylätään viallinen tapahtuma. Lähetyspäässä voidaan kohdata seuraavia virhetilanteita: 1. Ei saada yhteyttä objektikaruselliin. Menettely: Heitetään poikkeus karuselliin liittyvässä objektissa ja ilmoitetaan käyttöliittymälle sekä tulostetaan ytimestä komentoriville. Tekninen määrittely 33

34 2. Käyttäjän antama syöte on virheellinen. Menettely: annetaan käyttäjälle virheilmoitus Koordinaattien välityskomponentin virheenkäsittely Perussääntö virhetilanteissa on että virheelliset eventit hylätään. Jos virheistä ei kuitenkaan pystytä toipumaan täytyy toiminta keskeyttää. KVK ei vaadi juuri lainkaan syötettä käyttäjältä, kaikki olennainen syöte on tietokoneella tuotettua joten testauksen jälkeen suurimmasta osasta virhetilanteita pitäisi välttyä. Tiedostoja muunnettaessa todennäköisimpiä virhetilanteita ja niistä toipumisia ovat: VIRHE: Käyttäjän antamaa ASCII tiedostoa ei löydy. TOIPUMINEN: Ilmoitetaan käyttäjälle ja lopetetaan. VIRHE: Käyttäjän antamassa binääritiedostojen hakemistoa ei löydy. TOIPUMINEN: Luodaan hakemisto, jos se on mahdollista. VIRHE: ASCII tiedosto on korruptoitunut TOIPUMINEN: Yritetään hypätä korruptoituneiden osien yli ja jos se ei auta lopetetaan. Lähetysvaiheessa todennäköisimpiä virhetilanteita ja niistä toipumisia ovat: VIRHE: Karuselliin ei saada yhteyttä. TOIPUMINEN: Ilmoitetaan käyttäjälle ja lopetetaan. VIRHE: Käyttäjän antamassa binääritiedostojen hakemistoa ei löydy. TOIPUMINEN: Ilmoitetaan käyttäjälle ja lopetetaan.. Vastaanottopäässä todennäköisimpiä virhetilanteita ja niistä toipumisia ovat: VIRHE: Binääritiedostoa ei löydy sovelluksen antamasta hakemistosta. TOIPUMINEN: Ilmoitetaan sovellukselle ettei palvelu ole käytössä ja lopetetaan. VIRHE: Binääritiedosto on korruptoitunut. TOIPUMINEN: Yritetään hypätä korruptoituneiden osien yli ja jos se ei auta lopetetaan. Tekninen määrittely 34

35 10. Hylätyt ratkaisuvaihtoehdot Editorin MPEG-2 videon käsittely GPL-lisenssin alainen dekooderi Aikaisemmin editorin MPEG-2-tiedosto luettiin ja purettiin C-kielisessä erillisessä dekooderi-ohjelmassa, jota käytettiin Java Native Interfacen yli. Java-luokka MPEGDecoder toteutti MPEGFile-rajapinnan käyttäen JNImetodeja, jotka olivat toteutettu C-kielellä dekooderi-ohjelmaan. Tämä ratkaisu kuitenkin hylättiin koska sen alkuperäinen lähdekoodi perustui GPL-lisenssiin. GPL-lisensseitä on selvitetty tarkemmin erillisessä dokumentissa (Selvitys GPL-lisensoinnin tuomat ongelmat) [10] Videon purku DirectShown avulla Aikaisemmin kokeiltiin myös editorin MPEG-2 videon tiedoston lukemista ja purkamista C++-kielisen erillisen dekooderi-ohjelman avulla (DSVideo.dll). Tätä käytettiin Java Native Interfacen yli erillisen DirectShowMPEGFileluokan kautta. DSVideo.dll käytti DirectShown Filter Graph Manager oliota videon purkuun. Tämä toteutus on kuvattu kokonaisuudessaan tarkemmin teknisen määrittelyn edellisessä versiossa [11] Hahmontunnistus Automaattisen hahmontunnistuksen käyttömahdollisuuksia on tutkittu, ja todettu että nykytekniikalla sen käyttäminen on mahdotonta, eikä huomattavia parannuksia tekniikkaan ole tiedossa. Selvitys hahmontunnistuksesta löytyy omasta dokumentista: Automaattinen hahmontunnistus. Erityinen ongelma tämän sovelluksen osalta on liikkuva kuva (ohjelmistojen tehokkuus). Toinen ongelma on riittävän kehittyneen tekniikan puuttuminen, ohjelmistot (tai oikeammin algoritmit) eivät ole luotettavia, vaan kadottavat seurattavan pisteen nopeasti. Kaupallisia tuotteita ei ole olemassa, kaikki valmis mitä tälle sovellusalueelle on tehty on erilaisien algoritmien muodossa. Automaattisen hahmontunnistuksen käyttäminen projektissa vaatisi myös suuria Tekninen määrittely 35

36 kehityspanostuksia sekä itse hahmontunnistusmenetelmässä että hahmontunnistuksen liittämisessä projektissa tuotettaviin ohjelmistoihin. Tekninen määrittely 36

37 10.3. OAVK Tätä dokumenttia kirjoitettaessa ei voida olla varmoja voidaanko OAVK:n signalointi toteuttaa tapahtumien avulla. Seuraavassa käsitellään muita vaihtoehtoisia tapoja ratkaista ongelma. Nämä vaihtoehdot tulivat esille Digitan kanssa pidetyssä kokouksessa Hot update tiedostot Objektikarusellissa voidaan välittää tiedostoja myös välittömästi. Tavallisestihan tiedostot lähtevät pyörimään karuselliin ja ne lähetetään epämääräisen ajan kuluttua. Hot update tiedostot menevät lähetykseen välittömästi. Tiedostoon voitaisiin laittaa OAVK:n tarvitsema signalointitieto samassa muodossa kuin se laitetaan tapahtumaan Tyhjä MPEG-2 kuvavuo Objektikarusellissa voidaan siirtää myös vuo muotoista tietoa esimerkiksi kuvaa. Objektikarusellin läpi siirretyille kuvavirroille voidaan asettaa ohjelma-aika. Jos OAVK:n lähetyspää lähettää tyhjää kuvavirtaa objektikarusellinkautta voi vastaanottopää lukea siitä ohjelma-ajan. Tämän vuon voi mahdollisesti myös pysäyttää ja sulkea joten ohjelman tilakin voidaan välittää. Lisäksi tyhjä musta ruutu pakkautuu erittäin hyvin eikä vie kapasiteettiä objektikarusellissä Tekstitys Ohjelmien tekstitys synkronoidaan kuvaan, vaikkakin lähetetään erikseen. Digi-TV järjestelmässä voidaan myös tarjota tekstitys usealla eri kielellä. Jos OAVK:lle varattaisiin oma kieli, esimerkiksi OAVK_signalointi, voitaisiin sitä käyttää signalointiin. Tämä vaihtoehto ei kuitenkaan toimi, koska tekstitystä ei voi MHP-speksin mukaan lukea MHP-sovelmasta käsin. Tekninen määrittely 37

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely

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

Lisätiedot

Ohjelma-ajanvälitys komponentti

Ohjelma-ajanvälitys komponentti Tekninen määrittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 7.12.2001 Oskari Pirttikoski Ensimmäinen versio 0.2 10.12.2001 Oskari Pirttikoski Lisätty keskeneräiset asiat ja testaus.

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

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Teknillinen korkeakoulu 51 Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 21.11.01 Oskari Pirttikoski Ensimmäinen versio 0.2 27.11.01 Oskari Pirttikoski Lisätty termit

Lisätiedot

Toiminnallinen määrittely. XLet esimerkkisovellus

Toiminnallinen määrittely. XLet esimerkkisovellus Toiminnallinen määrittely XLet esimerkkisovellus Versio Päiväys Tekijä Kuvaus 0.1 7.12.2001 Oskari Pirttikoski Ensimmäinen versio Toiminnallinen määrittely, XLet esimerkkisovellus 1/12 SISÄLLYSLUETTELO

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Toiminnallinen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Versio Päiväys Tekijä Kuvaus 0.01 7.11.01 Pekka Koskinen Alustava sisällysluettelo 0.1 12.11.01 Pekka

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

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

Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Xlet Testitapaukset - Xlet Sisällysluettelo 1. Johdanto...3 2. Testattava järjestelmä...4 2.1 Koko järjestelmän yleiskuvaus...4 2.2 Xlet-demosovellus ja sen toimintaperiaate...5 3. Testitapaukset...6 3.1 Objektien

Lisätiedot

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Siirtoprotokolla

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Siirtoprotokolla Testitapaukset - Siirtoprotokolla Sisällysluettelo 1. Johdanto...3 2. Testattava järjestelmä...4 3. Testitapaukset...5 3.1 Ohjelma-ajan lukeminen...5 3.2 Koordinaattidatan lukeminen...5 3.3 Lähetysajan

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

Digi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Käyttöohje

Digi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Käyttöohje Digi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Käyttöohje Sisällysluettelo 1. Johdanto...4 1.1. Editorin nopea aloitus...4 2. Järjestelmän asentaminen...6 2.1. Editori...6 2.1.1. Vaatimukset...6

Lisätiedot

Toteutusvaihe T2 Edistymisraportti

Toteutusvaihe T2 Edistymisraportti Toteutusvaihe T2 Edistymisraportti Sisällysluettelo 1. Projektin tila...3 1.1. Suoritetut tehtävät...4 1.2. Käytetyt menetelmät...5 1.3. Ongelmat...6 1.4. Jatkosuunnitelmat...6 Versio- ja muutoshistoria

Lisätiedot

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite

Lisätiedot

Testitapaukset - Siirtoprotokolla

Testitapaukset - Siirtoprotokolla Testitapaukset - Siirtoprotokolla Versio Päiväys Tekijä Kuvaus 0.2 22.03.02 Ville Vaittinen Ajankohtaistettu versio Sisällysluettelo 2. Siirtotiedoston testitapaukset... 3 2.1 Siirtotiedoston luonti...

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY MS

TOIMINNALLINEN MÄÄRITTELY MS TOIMINNALLINEN MÄÄRITTELY 11.11.2015 MS YLEISTÄ 1/2 jäsennelty etenee yleiskuvauksesta yksityiskohtiin kieliasultaan selkeä kuvaa myös tulevan järjestelmän ympäristöä tarpeellisella tarkkuudella kuvaa

Lisätiedot

Testaussuunnitelma Versio Päiväys Tekijä Kuvaus

Testaussuunnitelma Versio Päiväys Tekijä Kuvaus Testaussuunnitelma Versio Päiväys Tekijä Kuvaus 0.1 15.11.01 Ville Vaittinen Ensimmäinen luonnos 0.2 10.12.01 Ville Vaittinen Kevyet päivitykset kommenttien perusteella Sisällysluettelo 1. Johdanto...3

Lisätiedot

Toteutusvaihe T3 Digi-tv: Edistymisraportti

Toteutusvaihe T3 Digi-tv: Edistymisraportti Toteutusvaihe T3 Digi-tv: Edistymisraportti Sisällysluettelo 1. Projektin tila...3 Dtv: Work done per Person (current phase)...3 Dtv: Work done per Worktype (current phase)...3 2. Suoritetut tehtävät...4

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 toteutettavat interaktiiviset sovellukset Editorin käyttöohje

Digi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Editorin käyttöohje Digi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Editorin käyttöohje Sisällysluettelo 1. Johdanto...4 1.1. Editorin nopea aloitus...4 1.2. Koordinaatti-informaation tuottamisen periaatteet...5

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

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

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi LoCCaM Riistakamerasovellus Dimag Ky janne.koski @ dimag.fi +358505907788 Sovelluksen toimintaperiaate Toimintaperiaate yksinkertaistettuna on seuraavanlainen Kamera ottaa kuvan tai videon jonka lähettää

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset. Riskienhallinta DTV projektissa

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset. Riskienhallinta DTV projektissa Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Riskienhallinta DTV projektissa Riskienhallinta DTV projektissa Sivu 1/8 Sisällysluettelo 1. Riskienhallinta DTV projektissa...3 1.1. Projektin

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

Digi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Selvitys GPL-lisensoinnin tuomat ongelmat

Digi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Selvitys GPL-lisensoinnin tuomat ongelmat Selvitys GPL-lisensoinnin tuomat ongelmat Sisällysluettelo 1. Johdanto...3 2. Ongelman kuvaus...4 3. Eri tulkinnat GPL-lisenssistä...5 3.1. Tiukka tulkinta...5 3.2. Väljä tulkinta...5 3.3. Kompromissitulkinta...5

Lisätiedot

Seuraavat Windowsin käyttöjärjestelmäversiot tukevat Novell Filr -työpöytäsovellusta:

Seuraavat Windowsin käyttöjärjestelmäversiot tukevat Novell Filr -työpöytäsovellusta: Novell Filr -työpöytäsovellus lueminut Huhtikuu 2015 1 Tuotteen yleiskatsaus Novell Filr -työpöytäsovelluksella voit synkronoida Novell Filr -tiedostoja tietokoneesi tiedostojärjestelmän kanssa ja muokata

Lisätiedot

Menetelmäraportti - Konfiguraationhallinta

Menetelmäraportti - Konfiguraationhallinta Menetelmäraportti - Konfiguraationhallinta Päiväys Tekijä 22.03.02 Ville Vaittinen Sisällysluettelo 1. Johdanto... 3 1.1 Tärkeimmät lyhenteet... 3 2. Konfiguraationhallinnan tärkeimmät välineet... 4 2.1

Lisätiedot

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

Lisätiedot

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu

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

Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä

Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä Tiedonsiirto VMS-, Alpro- tai DelProtuotannonohjausjärjestelmästä Ammuohjelmistoon 5/2014 Asennettavat ohjelmat ja versiot VMS-Management

Lisätiedot

Videokuvan siirtäminen kamerasta tietokoneelle Windows Movie Maker -ohjelman avulla

Videokuvan siirtäminen kamerasta tietokoneelle Windows Movie Maker -ohjelman avulla Videokuvan siirtäminen kamerasta tietokoneelle Windows Movie Maker -ohjelman avulla 1. Digivideokamera liitetään tietokoneeseen FireWire-piuhalla. (Liitännällä on useita eri nimiä: myös IEEE 1394, DV,

Lisätiedot

Käyttöjärjestelmät: prosessit

Käyttöjärjestelmät: prosessit Käyttöjärjestelmät: prosessit Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Käyttöjärjestelmä

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

Visma Business AddOn Tilauksen synkronointi. Käsikirja

Visma Business AddOn Tilauksen synkronointi. Käsikirja Visma Business AddOn Tilauksen synkronointi Käsikirja Oppaan päiväys: 10.4.2013. Asiakaspalvelu: Helpdesk: www.visma.fi Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin

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

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT KOULUTUKSEN KOHDERYHMÄ SISÄLTÖ Koulutuksen tavoitteena on antaa opiskelijalle valmiudet uusien tietoteknisten menetelmien ja välineiden hyödyntämiseen.

Lisätiedot

OPI-Maksut - Käyttötapaukset

OPI-Maksut - Käyttötapaukset OPIMaksut Käyttötapaukset Toiminnallisuudet ja käyttötapaukset: maksupalvelutoiminnot Toimeksiannon lisääminen Palveluväylä toiminto: Toimeksiannon lisääminen Yleiskuvaus Palveluväylään sallitut asiointisovellukset

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

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

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

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

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia

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

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux rakenne Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux ydin Ytimen (kernel) päätehtävä on tarjota rajapinta

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

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

Digitaalinen Televisio

Digitaalinen Televisio Digitaalinen Televisio Digitaalinen Televisio 1. Lähetystekniikka ja standardit 2. MHP 3. Interaktiivinen Televisio 4. Vastaanottimet 5. Tulevaisuuden trendit Lähetystekniikka ja standardit DVB = Digital

Lisätiedot

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245 Android ohjelmointi Mobiiliohjelmointi 2-3T5245 Mikä on Android? Linux kernelin päälle rakennettu, Googlen kehittämä sovelluspino mobiilisovelluksiin Erillinen versio puhelimelle ja taulutietokoneille

Lisätiedot

Operatiiviset päivät Ohjeita luennoitsijoille AV-tekniikasta

Operatiiviset päivät Ohjeita luennoitsijoille AV-tekniikasta Operatiiviset päivät 15.-17.11.2017 Ohjeita luennoitsijoille AV-tekniikasta 1. Luentosalin AV-tekniikka ja esityksen valmistelu Helsingin Messukeskuksen luentotilojen varustukseen kuuluu verkkoliittymä

Lisätiedot

Hakemistojen sisällöt säilötään linkitetyille listalle.

Hakemistojen sisällöt säilötään linkitetyille listalle. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä komentoikkunaa (komentotulkkia, komentoriviä) simuloiva olioperustainen ohjelma. Hakemistojen sisällöt säilötään linkitetyille listalle. Työ

Lisätiedot

L models. Tekninen määrittely. Ryhmä Rajoitteiset

L models. Tekninen määrittely. Ryhmä Rajoitteiset Teknillinen Korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Tekninen määrittely Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset

Lisätiedot

NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS PALVELIMELLE

NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS PALVELIMELLE NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS PALVELIMELLE Ennen palvelinohjelman asennusta perustetaan tarvittavat kansiot. Oikeustasoista share- tai security-tason oikeudet riittävät; molempien oikeustasojen

Lisätiedot

PIKAOPAS NOKIA PC SUITE 4.3. Nokia 8310 -puhelimelle. Copyright Nokia Mobile Phones 2001. Kaikki oikeudet pidätetään Issue 6

PIKAOPAS NOKIA PC SUITE 4.3. Nokia 8310 -puhelimelle. Copyright Nokia Mobile Phones 2001. Kaikki oikeudet pidätetään Issue 6 PIKAOPAS NOKIA PC SUITE 4.3 Nokia 8310 -puhelimelle Copyright Nokia Mobile Phones 2001. Kaikki oikeudet pidätetään Issue 6 Sisällysluettelo 1. JOHDANTO...1 2. JÄRJESTELMÄVAATIMUKSET...1 3. PC SUITE -OHJELMISTON

Lisätiedot

Kuvaruudun striimaus tai nauhoitus. Open Broadcaster Software V.20. Tero Keso, Atso Arat & Niina Järvinen (muokattu )

Kuvaruudun striimaus tai nauhoitus. Open Broadcaster Software V.20. Tero Keso, Atso Arat & Niina Järvinen (muokattu ) Kuvaruudun striimaus tai nauhoitus Open Broadcaster Software V.20 Tero Keso, Atso Arat & Niina Järvinen (muokattu 28.11.2017) OBS 1 (12) Sisällysluettelo Mikä on OBS... 2 Ohjelman perusasetukset... 2 Tarvittavat

Lisätiedot

Ohjelmointi 1 / syksy /20: IDE

Ohjelmointi 1 / syksy /20: IDE Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne

Lisätiedot

2. Olio-ohjelmoinnin perusteita 2.1

2. Olio-ohjelmoinnin perusteita 2.1 2. Olio-ohjelmoinnin perusteita 2.1 Sisällys Esitellään peruskäsitteitä yleisellä tasolla: Luokat ja oliot. Käsitteet, luokat ja oliot. Attribuutit, olion tila ja identiteetti. Metodit ja viestit. Olioperustainen

Lisätiedot

Visma Fivaldi. Ohjeet Java web startin ja HTML5-työkalun aktivointiin

Visma Fivaldi. Ohjeet Java web startin ja HTML5-työkalun aktivointiin Visma Fivaldi Ohjeet Java web startin ja HTML5-työkalun aktivointiin Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri

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

ZENworks Application Virtualization 11

ZENworks Application Virtualization 11 ZENworks Application Virtualization 11 ZENworks / perinteinen asennus ZENworks virtualisointi Ei erillistä asennusta Ei vaadita erilisiä oikeuksia Oletusasetukset mukana Eri versiot samanaikaisesti Sama

Lisätiedot

Projektisuunnitelma Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Projektisuunnitelma Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Projektisuunnitelma Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1 Projektin tavoite...4 1.2 Projektin kattavuus...4 1.3 Tuote ja ympäristö...5 1.4

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

McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0

McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0 Julkaisutiedot McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0 McAfee epolicy Orchestrator -ohjelmiston kanssa käytettäväksi Sisällys Tietoja tästä julkaisusta Uudet toiminnot Parannukset Ratkaistut

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services Järjestelmäarkkitehtuuri (TK081702) Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden

Lisätiedot

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

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat Microsoft Office 2010 löytyy tietokoneen käynnistävalikosta aivan kuin kaikki muutkin tietokoneelle asennetut ohjelmat. Microsoft kansion sisältä löytyy toimisto-ohjelmistopakettiin kuuluvat eri ohjelmat,

Lisätiedot

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Maventa Connector Käyttöohje

Maventa Connector Käyttöohje Maventa Connector Käyttöohje 17.4.2015 Sisällys 1. Esittely... 2 1.1. Käytön edellytykset... 2 1.2. Tuetut aineistomuodot... 2 2. Asennustiedosto... 3 2.1. Sisäänkirjautuminen... 7 3. Asetuksien määrittäminen...

Lisätiedot

SSH Secure Shell & SSH File Transfer

SSH Secure Shell & SSH File Transfer SSH Secure Shell & SSH File Transfer TIETOHALLINTO Janne Suvanto 1.9 2002 Sisällysluettelo Sisällysluettelo... 1 Yleistä... 2 SSH Secure Shell ohjelman asetukset... 3 POP3 tunnelin asetukset... 6 Yhteyden

Lisätiedot

Office 2013 - ohjelmiston asennusohje

Office 2013 - ohjelmiston asennusohje Office 2013 - ohjelmiston asennusohje Tämän ohjeen kuvakaappaukset on otettu asentaessa ohjelmistoa Windows 7 käyttöjärjestelmää käyttävään koneeseen. Näkymät voivat hieman poiketa, jos sinulla on Windows

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Rajapinnat Java-kieli ei tue luokkien moniperintää. Jokaisella luokalla voi olla vain yksi välitön yliluokka. Toisinaan olisi

Lisätiedot

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0 CODEONLINE Monni Oo- ja Java-harjoituksia Version 1.0 Revision History Date Version Description Author 25.10.2000 1.0 Initial version Juha Johansson Inspection History Date Version Inspectors Approved

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

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille KServer Etäohjaus 1 (5) KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille Palvelimen toteutuksen ollessa versio 1.0, spesifikaation versio 1.0.0. 2009, Riku Eskelinen/ KServer Software Development

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

12. Näppäimistöltä lukeminen 12.1

12. Näppäimistöltä lukeminen 12.1 12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.

Lisätiedot

Testiraportti - Koordinaattieditori

Testiraportti - Koordinaattieditori Testiraportti - Koordinaattieditori Versio Päiväys Tekijä Kuvaus 3.1 22.03.02 Ville Vaittinen T3 vaiheen 1. testattava editori Sisällysluettelo 1. Testien suoritus... 3 2. Testitapaukset... 4 2.1 Uuden

Lisätiedot

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy Käyttöohje Ticket Inspector Versio 1.0 Sportum Oy 10.5.2017 Sivu 1 Sisällysluettelo 1. Yleistä... 2 2. Kirjautuminen ensimmäisellä kerralla / PIN-koodin unohtuessa... 3 3. Tunnistautuminen... 4 4. Päänäkymä...

Lisätiedot

erasmartcardkortinlukijaohjelmiston

erasmartcardkortinlukijaohjelmiston erasmartcardkortinlukijaohjelmiston asennusohje Sisällysluettelo 1. erasmartcard... 2 2. erasmartcard-ohjelmiston normaali asennus... 3 2.1. Ennen asennusta... 3 2.2. Asennus... 3 3. Muut asennustavat...

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

Excel-lomakkeen (syöttötaulukko) käyttäminen talousarvio- ja suunnitelmatietojen toimittamisen testaamisessa Kuntatalouden tietopalvelussa

Excel-lomakkeen (syöttötaulukko) käyttäminen talousarvio- ja suunnitelmatietojen toimittamisen testaamisessa Kuntatalouden tietopalvelussa Valtiokonttori 1 (8) Excel-lomakkeen (syöttötaulukko) käyttäminen talousarvio- ja suunnitelmatietojen toimittamisen testaamisessa Kuntatalouden tietopalvelussa Valtiokonttori 2 (8) Sisällys 1 Yleistä...

Lisätiedot

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

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

MHP sovellusten synkronoituminen videokuvaan

MHP sovellusten synkronoituminen videokuvaan Esitutkimus MHP sovellusten synkronoituminen videokuvaan Versio Päiväys Tekijä Kuvaus 0.1 5.10.2001 Mika Ståhlberg - Ensimmäinen luonnos 0.2 25.10.2001 Mika Ståhlberg - Lisätty Xlet-kehitykseen liittyvä

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot

Visma Business AddOn Factoring-laskuaineisto. Käyttäjän käsikirja

Visma Business AddOn Factoring-laskuaineisto. Käyttäjän käsikirja Visma Business AddOn Factoring-laskuaineisto Käyttäjän käsikirja Oppaan päiväys: 09.06.2011 Asiakaspalvelu: Helpdesk: www.visma.fi Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin

Lisätiedot

Webforum. Version 15.1 uudet ominaisuudet. Päivitetty: 2015-03-28

Webforum. Version 15.1 uudet ominaisuudet. Päivitetty: 2015-03-28 Webforum Version 15.1 uudet ominaisuudet Päivitetty: 2015-03-28 Sisältö Tietoja tästä dokumentista... 3 Yleistä... 4 Dokumentit... 5 Uudet versiot dokumenttien katseluohjelmista ipadille... 5 Dokumenttien

Lisätiedot

TEKNINEN MÄÄRITTELY Virtuaaliyhteisöjen muodostaminen Versio 1.0 (Luonnos 2)

TEKNINEN MÄÄRITTELY Virtuaaliyhteisöjen muodostaminen Versio 1.0 (Luonnos 2) TEKNINEN MÄÄRITTELY Edited by Checked by Approved by Tuomo Marttila Luonnos 1 Tekninenmäärittely i Sisällysluettelo 1. JOHDANTO 2 1.1. Tarkoitus ja kattavuus 2 1.2. Tuote ja ympäristö 2 1.3. Määritelmät,

Lisätiedot

Muuttujien määrittely

Muuttujien määrittely Tarja Heikkilä Muuttujien määrittely Määrittele muuttujat SPSS-ohjelmaan lomakkeen kysymyksistä. Harjoitusta varten lomakkeeseen on muokattu kysymyksiä kahdesta opiskelijoiden tekemästä Joupiskan rinneravintolaa

Lisätiedot

Tehtävä 2: Tietoliikenneprotokolla

Tehtävä 2: Tietoliikenneprotokolla Tehtävä 2: Tietoliikenneprotokolla Johdanto Tarkastellaan tilannetta, jossa tietokone A lähettää datapaketteja tietokoneelle tiedonsiirtovirheille alttiin kanavan kautta. Datapaketit ovat biteistä eli

Lisätiedot

Harjoitustehtävät ja ratkaisut viikolle 48

Harjoitustehtävät ja ratkaisut viikolle 48 Harjoitustehtävät ja ratkaisut viikolle 48 1. Tehtävä on jatkoa aiemmalle tehtävälle viikolta 42, missä piti suunnitella älykodin arkkitehtuuri käyttäen vain ennalta annettua joukkoa ratkaisuja. Tämäkin

Lisätiedot

KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA

KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA Ohjeistuksessa käydään läpi kuvan koon ja kuvan kankaan koon muuntaminen esimerkin avulla. Ohjeistus on laadittu auttamaan kuvien muokkaamista kuvakommunikaatiota

Lisätiedot

Nspire CAS - koulutus Ohjelmiston käytön alkeet Pekka Vienonen

Nspire CAS - koulutus Ohjelmiston käytön alkeet Pekka Vienonen Nspire CAS - koulutus Ohjelmiston käytön alkeet 3.12.2014 Pekka Vienonen Ohjelman käynnistys ja käyttöympäristö Käynnistyksen yhteydessä Tervetuloa-ikkunassa on mahdollisuus valita suoraan uudessa asiakirjassa

Lisätiedot

MEM-O-MATIC. 6800 järjestelmä

MEM-O-MATIC. 6800 järjestelmä MEM-O-MATIC 6800 järjestelmä Ohjeet Windows yhdysohjelmalle / 6800 yhdysohjelman käyttöohje זתתתתת Windows yhdysohjelman asennus tietokoneelle Tee uusi kansio esimerkiksi nimellä MEMO kovalevyllesi. Kopio

Lisätiedot

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu HAAGA HELIA/IltaTiko ICT2TD005: Ohjelmisto suunnittelutaito 1 VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu Tämä pikaopas opastaa käyttämään VisualStudion web sivujen suunnittelu ja toteutusominaisuuksia.

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

Kurssin hallinta -työväline

Kurssin hallinta -työväline Kurssin hallinta -työväline Kurssin hallinta -työvälineellä muokataan kursseja A&Ooppimisympäristöalustalla Kurssi koostuu - ohjelmasta (linkit työkaluihin& muihin resursseihin), - materiaaleista, - keskusteluryhmästä,

Lisätiedot

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

18 LIITTYMÄT MUIHIN JÄRJESTELMIIN

18 LIITTYMÄT MUIHIN JÄRJESTELMIIN 18 MUIHIN JÄRJESTELMIIN Prospekti DAFOon rakennettu liittymiä muiden ohjelmiston toimittajien järjestelmiin. Tässä yhteydessä ei tarkoiteta siirtotiedoston muodostamista, kuten reskontraan siirto tai lappujen

Lisätiedot