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...20 Tekninen määrittely 2

3 MPEGCanvas CoordinateObject RectCoordinateObject OvalCoordinateObject MPEGFile Com.digita.digitveditor EditorFrame ObjectList ObjectListItem ProjectSetupDialog AboutEditorDialog PlaybackSettingsDialog ObjectPropertiesDialog LoadingWindow 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 Erityiset tekniset ratkaisut Editorin MPEG-2-videon käsittely DirectShowMPEGFile 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 Hahmontunnistus OAVK Hot update tiedostot Tyhjä MPEG-2 kuvavuo Tekstitys Jatkokehitysajatuksia Ohjelma-ajan välityskomponentti Koordinaattien välityskomponentti...37 Tekninen määrittely 3

4 12. Vielä avoimet asiat...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 Tallennettu: :01 Tulostettu: :24 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.09, [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, Lisäksi dokumentissa viitataan standardiin: Tekninen määrittely 7

8 [11] MHP 1.0.1, ETSI TS v [12] 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 editorin jatkokehitysajatuksia. Kahdennessatoista luvussa on lueteltu toteutuksen tässä vaiheessa vielä avoimet asiat. 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 Järjestelmä liittyy digitv-verkon lähetyspäässä objektikaruselliin ja vastaanottopäässä vastaanottimen java-virtuaalikoneeseen. Editointityökalun tuottama koordinaattimerkinnät sisältävä tiedosto voidaan siirtää digi-tv:n tarjoamaan tiedostojen siirtojärjestelmän objektikarusellin avulla vastaanottimen sovellukselle Koordinaattien välityskomponentti Koordinaattilukija on osa sovellusten synkronointijärjestelmää. KVK koostuu kahdesta osasta lähetyspäässä olevasta lähetysosasta ja asiakkaan päätelaiteessa olevasta vastaanotto-osasta (koordinaattilukija) Xlet-esimerkkisovellus Esimerkkisovellus toimii täysin itsenäisenä sovelluksena vastaanottimessa. Tekninen määrittely 10

11 2.3. Laitteistoympäristö Editori Editori toimii työasemassa, jolla on seuraavat vaatimukset: - Intel P2 300 MHZ tai parempi - Vähintään 128 MB muistia - Vähintään 500 MB kovalevytilaa - Näytön vähimmäiskoko 17, suositeltu koko 19 - Näytön tulee pystyä 1280 * 1024 resoluutioon Editorin käyttöä kannettavissa tietokoneissa ei suositella 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. Digitalta saatujen tietojen mukaan 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: - MS Windows - DirectX 8.0 tai uudempi - JRE 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 pelkkä kaukosäädin. Tiedonsiirtoon liittyvät muutokset johtuvat lähinnä siitä että tiedonsiirto on oletusarvoisesti yksisuuntaista. Yksisuuntainen tiedonsiirto toteutetaan objektikarusellin avulla. Tekninen määrittely 12

13 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ä. [11, 12] 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, videokuvan ja objektien piirrot toteuttavaan osaan sekä MPEG-2 videon purkuosaan. MPEG-2 videon purku on rakennettu DirectShow:ta hyväksi käyttäen 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. Tekninen määrittely 14

15 Olennaisin piirre ratkaisussa on että KVK:n kaksi eri osaa kommunikoivat keskenään yksisuuntaisesti tiedostojärjestelmän avulla. Tiedostot soveltuvat kommunikointiin hyvin seuraavista syistä:? 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 Järjestelmän tietorakenteista merkittävin on editorin on sisäinen tietorakenne koordinaattiobjekteja varten. (Editorin sisäisen tietorakenteen määrittely on vielä kesken ja se täydennetään tähän kappaleeseen toteutusvaiheen 3 aikana.) Sisäisen tietorakenteen lisäksi editori tallentaa projektin omaan tiedostoonsa (ASCII-tiedosto) sekä siirtotiedoston (binääritiedosto) omaan tiedostoonsa. 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. Yhden binääritiedoston maksimi koko on 200kB. 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 Tekninen määrittely 15

16 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 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. KVK:n toteutetaan ASCII tiedoston jäsennys sekä binääritiedoston tuottaminen ja jäsennys. Konversio ASCII tiedostosta binääritiedostoiksi on melko suoraviivainen. Ainoa muutos joka tehdään on tiedon paloittelu useaan binääritiedostoon. Tekninen määrittely 16

17 3.3. Ohjelmistoarkkitehtuuri, moduulit ja prosessit Editori Editori koostuu käyttöliittymästä, joka näyttää videokuvan ja jonka päälle koordinaattimerkintöjä voidaan lisätä ja erillisestä MPEG-2 dekooderista, joka purkaa MPEG-2 muotoista videokuvaa. Editori käyttöliittymineen toteutetaan Javalla ja dekooderi toteutetaan DirectX:n avulla Ohjelma-ajan välityskomponentti OAVK:n arkkitehtuuri on kuvattu erikseen lähetys- ja asiakaspään osalta. 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 Com.digita.digitv MPEGCanvas MPEGCanvas on editorin keskeisin luokka. Se toteuttaa Editorin työskentelyalueen piirtämällä valitun videokuvan ja sen sisältämät koordinaattimerkinnät. Tekninen määrittely 20

21 MPEGCanvas laajentaa java.awt.container luokan ja toteuttaa rajapinnat: java.awt.event.actionlistener, java.awt.mouselistener ja java.awt.event.mousemotionlistener. MPEGCanvas keskustelee MPEG-2 tiedostoa purkavan moduulin kanssa käyttäen MPEGFile-rajapintaa. Koordinaattimerkinnät liitetään MPEGCanvas-luokkaan CoordinateMarkrajapinnan kautta. MPEGCanvas perii java.awt.container-luokan. Container-olio voi sisältää useita java.awt-olioita ja tätä ominaisuutta MPEGCanvas käyttää hyväksi. MPEGCanvas 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 RectCoordinateObject RectCoordinateObject on suorakulmion muotoinen koordinaattimerkintä. RectCoordinateObject toteuttaa CoordinateObject-rajapinnan OvalCoordinateObject Ellipsin muotoinen koordinaattimerkintä. OvalCoordinateObject toteuttaa CoordinateObject-rajapinnan MPEGFile Rajapinta, jonka avulla MPEGCanvas-luokka keskustelee MPEG-2 tiedostoa purkavan moduulin kanssa. MPEGFile on siis rajapinta, joka edustaa MPEG-2 tiedostoa. Rajapinta määrittelee toteutettaviksi metodeiksi tiedoston lataamisen, tietyn videon kohdan etsimisen, kuvan palauttamisen java.awt.image-tyyppisenä ja kuvan koon palauttamisen. Tekninen määrittely 21

22 4.2. 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 peruskomponenttipaketti (AWT) ei ole alustariippumaton, vaan se perustuu kullekin käyttöjärjestelmälle kirjoitettuihin natiivikomponentteihin ObjectList Objektiluettelon toteuttava luokka. ObjectList laajentaa java.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 java.swing.panel-luokan ja toteuttaa rajapinnan ComponentListener. Kuuntelijarajapinnan avulla ObjectListItem saa tiedon koordinaattiobjektien näkyvyyden (visibility) muuttumisesta MPEGCanvaksella. ObjectListItem kuvaa aina yksikäsitteisesti yhtä MPECanvaksella esitettyä java.awt.component-oliota ProjectSetupDialog Luokka toteuttaa ikkunan, josta voidaan muuttaa projektin asetuksia. ProjectSetupDialog laajentaa java.swing.jdialog-luokan ja liittyy EditorFrame luokkaan. Toteutettavat metodit ovat projektin, videokuvan sekä koordinaattitiedoston tiedostopolkujen hakeminen AboutEditorDialog Luokka toteuttaa ikkunan, joka kertoo perustiedot editorista. AboutEditorDialog laajentaa java.swing.jdialog-luokan ja liittyy EditorFrame luokkaan PlaybackSettingsDialog Luokka toteuttaa ikkunan, jonka avulla voi muokata videokuvan esitysasetuksia, kuten esitysnopeutta ja suuntaa. PlaybackSettingsDialog laajentaa java.swing.jdialog-luokan ja liittyy EditorFrame luokkaan. Tekninen määrittely 22

23 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. 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 Javan 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 Tekninen määrittely 28

29 luokan oliot takaisin biteiksi käyttäen myös ObjectEventFactory luokkaa. Bitit se tallettaa binääritiedostoihin, siten ettei binääritiedoston maksimikoko ylity sender paketti sender paketin Sender luokka huolehtii valmiiden binääritiedostojen tuuppaamisesta objektikaruselliin ohjelman lähetyksen aikana. Se miten tämä tuuppaaminen tehdään ei ole vielä selvää tässä vaiheessa, joten Sender luokka käyttää OCConnection rajapintaa joka toteutetaan kun projektilla ja asiakkaalla on enemmän tietoa karusellin toiminnasta 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 Täydennetään seuraavassa vaiheessa (T3). Tekninen määrittely 30

31 8. Erityiset tekniset ratkaisut 8.1. Editorin MPEG-2-videon käsittely Editorin MPEG-2 videon tiedostoa luetaan ja puretaan C++-kielisessä erillisessä dekooderi-ohjelmassa, DSVideo.dll, jota käytetään Java Native Interfacen yli DirectShowMPEGFile-luokan kautta. DSVideo.dll käyttää DirectShown Filter Graph Manager oliota videon purkuun. Funktiossa olio käyttää seuraavia DirectShown rajapintoja: - IgraphBuilder (videon purku) - ImediaSeeking (kohdan etsiminen videosta) - IbasicVideo (haetun kuvan muuntaminen tavutaulukoksi) - ImediaPosition (tarkistaa onko videossa mahdollista etsiä paikkoja) DSVideo.dll:ssä on vain yksi funktio JNICALL, joka käyttää DirectShown Filter Graph Manager oliota videon purkuun DirectShowMPEGFile DirectShow-rajapintaa hyödyntävä MPEGFile-rajapinnan toteuttava luokka. DirectShowMPEGFile toteuttaa MPEGFile-rajapinnan. MPEGFile-rajapinnan metodien lisäksi luokan getvideoframe-metodi käyttää C++:lla tehtyä DirectShow-rajapintaa käyttävää videonpurku dll:ää (DSVideo.dll) Java Native Interfacen yli. Luokan metodi loadbitmapcallback on callback-metodi, jota kutsutaan C++-koodin puolelta. MPEGCanvas-luokan pyytäessä hakemaan jonkun framen, seek-metodi hakee framen getvideoframemetodilla, joka pyytää dll:ää purkamaan kyseisen framen. Tämän jälkeen dll muodostaa framesta tavutaulukon ja kutsuu sitten loadbitmapcallbackmetodia kyseinen taulukko argumenttina. LoadBitmapCallback-metodi muodostaa taulukosta java.awt.image-tyyppisen kuvan createimage-metodia käyttäen. Tekninen määrittely 31

32 8.2. Ohjelma-ajan välityskomponentti OAVK:n suunnittelussa käytetyt ratkaisut on dokumentoitu edellä. Erityistä niissä on vain tapahtumien käyttö, joka toteutetaan yhteistyössä Digitan asiantuntijoiden kautta. Lisäksi pitää huomata että kappaleessa 9 selvitetään muita mahdollisia tapoja ratkaista komponentin tarvitsema tiedonvälitys. 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:n, pitää käynnistää manuaalisesti uudelleen Koordinaattien välityskomponentti Koordinaattilukijan kannalta olennainen erityiskysymys on toipuminen, jolla tarkoitetaan vastaanottopään käynnistymistä 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. Tämän toteuttaminen ei ole hankalaa. 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 virheenkäsittely tullaan kuvaamaan toteutusvaiheen 3 aikana 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. 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. Tekninen määrittely 33

34 ? 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 Edellisessä vaiheessa 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 JNI-metodeja, 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] 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 kehityspanostuksia sekä itse hahmontunnistusmenetelmässä että hahmontunnistuksen liittämisessä projektissa tuotettaviin ohjelmistoihin. Tekninen määrittely 35

36 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 36

37 11. Jatkokehitysajatuksia Ohjelma-ajan välityskomponentti OAVK on komponenttina yksinkertainen eikä sen kehittämiselle jatkossa näy suurta tarvetta. Jatkossa voisi tietysti olettaa että MHP standardiin tulisi vakiona vastaava palvelu Koordinaattien välityskomponentti Koordinaattien välityskomponentin osalta käyttöliittymää olisi hyödyllistä kehittää eteenpäin. Järkevä ratkaisu olisi varmaankin sen ja ohjelma-ajan välityskomponenttien käyttöliittymän yhdistäminen. Tekninen määrittely 37

38 12. Vielä avoimet asiat OAVK:n kannalta keskeneräisiä asioita ovat tällä hetkellä tapahtuma objektien luominen objektikaruselliin sekä tapahtumien laukaiseminen. Näiden toteutus riippuu pitkälti käytettävästä objektikarusellista. Digitalta on luvattu tarjota asiantuntija-apua, kunhan ensimmäiset MHP päätelaitteet saadaan käyttöön. Tekninen määrittely 38

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.

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

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

PIKAOPAS NOKIA PC SUITE 4.51a NOKIA 6510 -PUHELIMELLE

PIKAOPAS NOKIA PC SUITE 4.51a NOKIA 6510 -PUHELIMELLE PIKAOPAS NOKIA PC SUITE 4.51a NOKIA 6510 -PUHELIMELLE Copyright Nokia Oyj 2002. Kaikki oikeudet pidätetään. Sisällysluettelo 1. JOHDANTO...1 2. JÄRJESTELMÄVAATIMUKSET...1 3. PC SUITE -OHJELMISTON ASENTAMINEN...2

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

4.2 Yhteensopivuus roolimalleihin perustuvassa palvelussa

4.2 Yhteensopivuus roolimalleihin perustuvassa palvelussa 4. Roolimallipalvelu 4.1 Tiedot palvelusta Palvelun nimi: Palvelun versio 01.01.00 Toteuttaa palvelun yksilöllistä palvelua (kts. M14.4.42) Roolimallipalvelu (Model role service) MYJ:lle, jotka toteuttavat

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ä luku

Lisätiedot

L models. Käyttöohje. Ryhmä Rajoitteiset

L models. Käyttöohje. Ryhmä Rajoitteiset Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Käyttöohje Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset 0.1

Lisätiedot

PIKAOPAS NOKIA PC SUITE 4.88. Copyright Nokia Oyj 2003. Kaikki oikeudet pidätetään

PIKAOPAS NOKIA PC SUITE 4.88. Copyright Nokia Oyj 2003. Kaikki oikeudet pidätetään PIKAOPAS NOKIA PC SUITE 4.88 Copyright Nokia Oyj 2003. Kaikki oikeudet pidätetään Sisällysluettelo 1. JOHDANTO...1 2. JÄRJESTELMÄVAATIMUKSET...1 3. PC SUITE -OHJELMISTON ASENTAMINEN...2 4. KÄYTÖN ALOITTAMINEN...3

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

1 Visma L7 päivitysaineiston nouto

1 Visma L7 päivitysaineiston nouto 1 Visma L7 päivitysaineiston nouto Tässä ohjeessa kerrotaan, kuinka Visma L7 -järjestelmän master-ympäristö päivitetään etäpäivitysohjelman avulla. 1.1 Etäpäivitysohjelman asennus/päivitys Saat etäpäivitysohjelman

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

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

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

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

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

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

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002 JReleaser Yksikkötestaus ja JUnit Mikko Mäkelä 6.11.2002 Sisältö Johdanto yksikkötestaukseen JUnit yleisesti JUnit Framework API (TestCase, TestSuite) Testien suorittaminen eri työkaluilla Teknisiä käytäntöjä

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

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

2007 Nokia. Kaikki oikeudet pidätetään. Nokia, Nokia Connecting People, Nseries ja N77 ovat Nokia Oyj:n tavaramerkkejä tai rekisteröityjä

2007 Nokia. Kaikki oikeudet pidätetään. Nokia, Nokia Connecting People, Nseries ja N77 ovat Nokia Oyj:n tavaramerkkejä tai rekisteröityjä Nokia Lifeblog 2.5 2007 Nokia. Kaikki oikeudet pidätetään. Nokia, Nokia Connecting People, Nseries ja N77 ovat Nokia Oyj:n tavaramerkkejä tai rekisteröityjä tavaramerkkejä. Muut tässä asiakirjassa mainitut

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

Käyttäjän käsikirja. LIB 500 ja LIB 510 v.4.0.2. 8.2. Releasettelutyökalu. 8.2.1. Yleistä. ,NNXQDMRNDLOPRLWWDDHWWlNRKGHRQSlLYLWHWWlYl

Käyttäjän käsikirja. LIB 500 ja LIB 510 v.4.0.2. 8.2. Releasettelutyökalu. 8.2.1. Yleistä. ,NNXQDMRNDLOPRLWWDDHWWlNRKGHRQSlLYLWHWWlYl 1MRS751368-RUM Käyttäjän käsikirja 8.1. Releyksikön valitseminen Releyksiköt esitetään asemakuvassa painikkeina. 8 $VHPDNXYDMRVVDQlN\\UHOH\NVLNN Jos kohteita tarvitsee päivittää, avataan ikkuna (Kuva 8.1.-2)

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann

Lisätiedot

Luku 10 Käyttöönoton suunnitteluja toteutusvaihe

Luku 10 Käyttöönoton suunnitteluja toteutusvaihe Luku 10 Käyttöönoton suunnitteluja toteutusvaihe Käyttöönoton Roll-Out Planning suunnittelu- & Preparation ja valmistelu Design Tiedon- Data Conversion muunnos- prosessien Processes suunnittelu Toimipisteiden

Lisätiedot

Webmail on monipuolinen työkalu jolla voi tehdä paljon muutakin kuin lukea sähköpostia. Tässä ohjeessa on lyhyesti esitelty joitakin sen ominaisuuksia. Peruspostilaatikossa ei ole kaikkia ominaisuuksia,

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

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

Nokia Lifeblog 2.5 Nokia N76-1

Nokia Lifeblog 2.5 Nokia N76-1 Nokia Lifeblog 2.5 Nokia N76-1 2007 Nokia. Kaikki oikeudet pidätetään. Nokia, Nokia Connecting People, Nseries ja N76 ovat Nokia Oyj:n tavaramerkkejä tai rekisteröityjä tavaramerkkejä. Muut tässä asiakirjassa

Lisätiedot

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari JWT 2016 luento 11 to 21.4.2016 klo 14-15 Aulikki Hyrskykari PinniB 1097 1 Viime luennolla o AJAX ja JSON, harjoitustyön tehtävänanto, vierailuluento avoimesta datasta Tänään o APIt rajapinnoista yleisesti

Lisätiedot

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

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus: Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus

Lisätiedot

Muutamia peruskäsitteitä

Muutamia peruskäsitteitä Muutamia peruskäsitteitä Huom. 1: nämä peruskäsitteet eivät muodosta hyvin määriteltyä keskenään yhteensopivien käsitteiden joukkoa, vaan käsitteet ovat osittain päällekkäisiä ja eri yhteyksissä niillä

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

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

ASENNUS- JA KÄYTTÖOHJE

ASENNUS- JA KÄYTTÖOHJE ASENNUS- JA KÄYTTÖOHJE YKSIKKÖHINTA SOPIMUKSEN TOTEUTUNEET MÄÄRÄT-SOVELLUS CMPRO5 VERSIO 2.8 PÄIVITETTY HEINÄKUU 2010 COPYRIGHT 2010 ARTEMIS FINLAND OY. ALL RIGHTS RESERVED. KÄYTTÖOHJE SIVU 2 (12) SISÄLLYSLUETTELO

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

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

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 12.4.2010 T-106.1208 Ohjelmoinnin perusteet Y 12.4.2010 1 / 34 Graafiset käyttöliittymät Tähän asti kirjoitetuissa ohjelmissa on ollut tekstipohjainen käyttöliittymä.

Lisätiedot

Siirtyminen Outlook 2010 -versioon

Siirtyminen Outlook 2010 -versioon Tämän oppaan sisältö Microsoft Microsoft Outlook 2010 näyttää hyvin erilaiselta kuin Outlook 2003. Tämän oppaan tarkoituksena on helpottaa uuden ohjelman opiskelua. Seuraavassa on tietoja uuden käyttöliittymän

Lisätiedot

Harjoitustyö 3 - Reittioptimisaatio

Harjoitustyö 3 - Reittioptimisaatio Harjoitustyö 3 - Reittioptimisaatio Tampereen kaupunki tarjoaa avoin data -sivuilla kaupungin avoimena julkaistun tietoaineston osana Tampereen joukkoliikenteen aikataulut, reitit sekä rajapinnan joukkoliikenteen

Lisätiedot

Projektisuunnitelma. Projektin tavoitteet

Projektisuunnitelma. Projektin tavoitteet Projektisuunnitelma Projektin tavoitteet Projektin tarkoituksena on tunnistaa erilaisia esineitä Kinect-kameran avulla. Kinect-kamera on kytkettynä tietokoneeseen, johon projektissa tehdään tunnistuksen

Lisätiedot

TOIMIJAREKISTERIN TOTEUTUKSEN JA YLLÄPIDON HANKINTA - HANKINNAN YKSI- LÖINTI HUOM!

TOIMIJAREKISTERIN TOTEUTUKSEN JA YLLÄPIDON HANKINTA - HANKINNAN YKSI- LÖINTI HUOM! TARJOUSPYYNTÖ / LIITE 1 1 (5) TOIMIJAREKISTERIN TOTEUTUKSEN JA YLLÄPIDON HANKINTA - HANKINNAN YKSI- LÖINTI HUOM! Tällä liitteellä yksilöidään hankinnan kohteen ominaisuuksia ja toiminnallisuuksia, jotka

Lisätiedot

Sovellusarkkitehtuurit

Sovellusarkkitehtuurit HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit

Lisätiedot

TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ

TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ Kuva 1 Ville Ranta ville.p.j@student.jyu.fi TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ 20.4.2016 Sisällysluettelo 1. Digitaalitelevisio... 1 1.1. Maanpäällisten digitaalilähetysten standardit eri maissa...

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

MyTheatre asennus ja kanavien haku

MyTheatre asennus ja kanavien haku 25.10.2006 MyTheatre asennus ja kanavien haku Talletettuasi asennusohjelman koneellesi, käynnistä asennus kaksoisklikkaamalla tiedostoa Artec Driverpack by Toptronics.exe Valitse Seuraava Varmista, että

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

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

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

edocker PUBLISH! -paketinhallinnan käyttöohje 9/2015

edocker PUBLISH! -paketinhallinnan käyttöohje 9/2015 edocker PUBLISH! -paketinhallinnan käyttöohje 9/2015 Uusien EDTPLIB- ja PDF -pakettien vienti ohjatulla toiminnolla...3 Tiedoston tarkistus...3 Kohdejulkaisun valinta... 4 Numeron tiedot... 5 Yhteenveto...6

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

TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ

TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ aaro.leikari@hotmail.com TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ 25.01.2016 SISÄLLYS 1. Käyttöjärjestelmän asentaminen... 1 1.1 Windowsin asettamia laitteistovaatimuksia... 1 1.2 Windowsin asentaminen...

Lisätiedot

RATKI 1.0 Käyttäjän ohje

RATKI 1.0 Käyttäjän ohje RATKI RATKI 1.0 Käyttäjän ohje Ohje 0.5 Luottamuksellinen Vastuuhenkilö Petri Ahola Sisällysluettelo 1. Yleistä... 3 1.1. Kuvaus... 3 1.2. Esitiedot... 3 1.3. RATKIn käyttöoikeuksien hankinta... 3 1.4.

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

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

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k 1 Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa ko. toiminnallisuuden hyödyntämisen Web-palveluna.

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

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

Virtuoosi POS-järjestelmien joukossa

Virtuoosi POS-järjestelmien joukossa Virtuoosi POS-järjestelmien joukossa Menestyvä liiketoiminta muistuttaa monin osin huippuunsa viritettyä orkesteria jossa eri osien sopusuhtainen vuorovaikutus ja integrointi luovat sykähdyttävän esityksen.

Lisätiedot

4.1. Sovitusopas. Sisällysluettelo. Maaliskuu 2015. Tässä oppaassa on yksityiskohtaiset ohjeet kuulokojeen sovittamiseen Phonak Target -ohjelmalla.

4.1. Sovitusopas. Sisällysluettelo. Maaliskuu 2015. Tässä oppaassa on yksityiskohtaiset ohjeet kuulokojeen sovittamiseen Phonak Target -ohjelmalla. 4.1 Maaliskuu 2015 Sovitusopas Tässä oppaassa on yksityiskohtaiset ohjeet kuulokojeen sovittamiseen Phonak Target -ohjelmalla. Katso myös Phonak Target -aloitusnäytön kohta [Uutisia]. Sisällysluettelo

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

Kirjaudu sisään palveluun klikkaamalla Omat kartat -painiketta.

Kirjaudu sisään palveluun klikkaamalla Omat kartat -painiketta. Kirjaudu sisään palveluun klikkaamalla Omat kartat -painiketta. Sisäänkirjauduttuasi näet palvelun etusivulla helppokäyttöisen hallintapaneelin. Vasemmassa reunassa on esillä viimeisimmät tehdyt muutokset

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

Datatähti 2009 -alkukilpailu

Datatähti 2009 -alkukilpailu Datatähti 2009 -alkukilpailu Ohjelmointitehtävä 1/3: Hissimatka HUOM: Tutustuthan huolellisesti tehtävien sääntöihin ja palautusohjeisiin (sivu 7) Joukko ohjelmoijia on talon pohjakerroksessa, ja he haluavat

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

Järjestelmän asetukset. Asetustiedostojen muokkaaminen. Pääkäyttäjä eli root. Järjestelmänhallinnan työkalut

Järjestelmän asetukset. Asetustiedostojen muokkaaminen. Pääkäyttäjä eli root. Järjestelmänhallinnan työkalut Järjestelmän asetukset Järjestelmänhallinnan työkalut Ubuntussa järjestelmän hallintaan ja asetusten muokkaamiseen tarkoitetut ohjelmat on koottu Järjestelmä-valikon alle Asetukset- ja Ylläpito -alavalikoista

Lisätiedot

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA: REFAKTOROINTI 2 (9) SEPA: REFAKTOROINTI 3 (9) VERSIOHISTORIA Version Date Author Description 0.1 2.12.2005 Erik Hakala Ensimmäinen

Lisätiedot

REKISTERI- JA TIETOKANTA-AINEISTOJEN SIIRTÄMINEN VAPA-PALVELUUN

REKISTERI- JA TIETOKANTA-AINEISTOJEN SIIRTÄMINEN VAPA-PALVELUUN Arkistolaitos REKISTERI- JA TIETOKANTA-AINEISTOJEN SIIRTÄMINEN VAPA-PALVELUUN Ohje v. 1.0 (16.10.2012) Kansallisarkisto Rauhankatu 17 PL 258, 00171 Helsinki Puh. Tel. (09) 228 521 arkisto@narc.fi Riksarkivet

Lisätiedot

EMCS-järjestelmän sanomarajapinnan toiminnallinen kuvaus asiakkaille 13.6.2008. Meeri Nieminen

EMCS-järjestelmän sanomarajapinnan toiminnallinen kuvaus asiakkaille 13.6.2008. Meeri Nieminen EMCS-järjestelmän sanomarajapinnan toiminnallinen kuvaus asiakkaille 13.6.2008 Meeri Nieminen Asiakkaan vaihtoehdot Asiakkaan vaihtoehdot EMCS-järjestelmän käyttöön XML-sanomarajapinta oman järjestelmän

Lisätiedot

Webforum. Version 15.2 uudet ominaisuudet. Päivitetty: 2015-06-26

Webforum. Version 15.2 uudet ominaisuudet. Päivitetty: 2015-06-26 Webforum Version 15.2 uudet ominaisuudet Päivitetty: 2015-06-26 Sisältö Tietoja tästä dokumentista... 3 Yleistä... 4 Aloita-sivu / Dashboard... 5 Dokumentit... 6 Salli dokumenttien muokkaaminen tarkistusprosessin

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

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa WWW ja tietokannat WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa tekstiä, kuvia, hyperlinkkejä Staattiset sivut kirjoitettu kerran, muuttaminen käsin ongelmana pysyminen ajantasalla Ylläpito hankalaa,

Lisätiedot

Ohjelmiston kuvakkeiden kuvaus

Ohjelmiston kuvakkeiden kuvaus Ohjelmiston kuvakkeiden kuvaus Aliro-ohjelmiston kuvakkeiden esittely kattaa kaikki ohjelmistossa käytettävät kuvakkeet. Esittelyn avulla tunnistat helposti kuvakkeet ja niiden kautta käytettävät toiminnot.

Lisätiedot

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit Konnektorit ohjelmistoarkkitehtuurissa 18.9.2012 1 Konnektorit (connectors) Konnektori (connector) (liitos) Arkkitehtuurielementti, jonka tehtävänä on mahdollistaa ja hallita komponenttien

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

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

Liite D: Poikkeamispäätösten ja suunnittelutarveratkaisujen mallinnus tiedonsiirtoa varten

Liite D: Poikkeamispäätösten ja suunnittelutarveratkaisujen mallinnus tiedonsiirtoa varten Liite D: Poikkeamispäätösten ja suunnittelutarveratkaisujen mallinnus tiedonsiirtoa varten Versio: 18.10.2011 Julkaistu: 27.10.2011 Voimassaoloaika: Toistaiseksi Sisällys 1 Johdanto... 2 1.1 Poikkeamispäätös

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