Päivämäärä 28.10.2002 Projektiryhmä Keimo keimo-dev@list.hut.fi



Samankaltaiset tiedostot
T Tietojenkäsittelyopin ohjelmatyö

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

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

T Tietojenkäsittelyopin ohjelmatyö. Testisarja Ray tracing. Tietokonegrafiikka-algoritmien visualisointi. Testisarja Ray tracing

T Tietojenkäsittelyopin ohjelmatyö

Tämä on tietokonegrafiikka-algoritmien visualisointijärjestelmän projektisuunnitelma. Päivämäärä Projektiryhmä Keimo

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

Ksenos Prime Käyttäjän opas

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

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

Luento 3: 3D katselu. Sisältö

T Tietojenkäsittelyopin ohjelmatyö

Määrittelyvaihe. Projektinhallinta

Muita kuvankäsittelyohjelmia on mm. Paint Shop Pro, Photoshop Elements, Microsoft Office Picture Manager

Epooqin perusominaisuudet

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjekirja Kilipa Cup versio 1.0 Mäkihypyn ja yhdistetyn cup-pisteiden laskentaohjelma

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

Testisarja Materiaali- ja valaistusparametrit

NUUO ETÄOHJELMA PIKAOPAS. Maahantuoja Dasys Oy Kaivolahdenkatu HELSINKI helpdesk@dasys.fi

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

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

OHJ-7400 Graafisen käyttöliittymän ohjelmointi 4/6 op

ASENNUSOHJEET INTERNET-ASENNUS. Navita Yritysmalli. YHTEYSTIEDOT Visma Solutions Oy Mannerheiminkatu LAPPEENRANTA Puh.

TOIMINNALLINEN MÄÄRITTELY MS

TAMK Ohjelmistotekniikka G Graafisten käyttöliittymien ohjelmointi Herkko Noponen Osmo Someroja. Harjoitustehtävä 2: Karttasovellus Kartta

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

UCOT-Sovellusprojekti. Testausraportti

Webforum. Version 14.4 uudet ominaisuudet. Viimeisin päivitys:

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

OHJ-7400 Graafisen käyttöliittymän ohjelmointi, Harjoitustyö

Kurssin hallinta -työväline

Windows 10 käyttöjärjestelmän helppokäyttötoiminnot ja asetukset

Testaussuunnitelma Labra

Luento 7: Lokaalit valaistusmallit

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Toiminnallinen määrittely

CEM DT-3353 Pihtimittari

CABAS. Release Notes 5.4. Uusi kuvien ja dokumenttien käsittely

VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

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

Käyttöohje. Mooan. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN Virtuaaliyhteisöjen muodostaminen Versio 1.0

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

2020 Fusion. What s New in Version 6? What s New in Version 6? 1 of Fusion

AS C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

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

Ohje olettaa, että Java on asennettu oletuskansioonsa sekä päivitetty uusimpaan versioonsa ja että selaimen latauskansiona on oletus.

KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA

Ohjeistus yhdistysten internetpäivittäjille

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Tämä on tietokonegrafiikka-algoritmien visualisointijärjestelmän projektisuunnitelma. Päivämäärä Projektiryhmä Keimo

FOTONETTI BOOK CREATOR

VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique

Operatiiviset päivät Ohjeita luennoitsijoille AV-tekniikasta

T Testiraportti - integraatiotestaus

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

Pauliina Munter/Suvi Junes Tampereen yliopisto / Tietohallinto Valitse muokkaustila päälle kurssialueen etusivun oikean yläkulman painikkeesta.

HIBBO. Tietotekniikan sovellusprojekti. Matti Eskelinen Olli Karppinen Harri Kosunen Riikka Rikkola. Testaussuunnitelma Versio:

Tietokannan luominen:

4. Lausekielinen ohjelmointi 4.1

Transkribuksen pikaopas

Sopimus Asiakas- ja potilastietojärjestelmästä. Liite N: Kielivaatimukset

Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto

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

Multimaker7 ohjelmalla tuotettujen ohjelmien julkaisusta

S11-04 Kompaktikamerat stereokamerajärjestelmässä. Projektisuunnitelma

TAMPEREEN TEKNILLINEN YLIOPISTO KÄYTTÖOHJE TIETOVARASTON KUUTIOT

FrontPage Näkymät

Vektoreita GeoGebrassa.

Ohjelmointi 1 / syksy /20: IDE

Midland BTNext -päivityssovellus

T Testiraportti - järjestelmätestaus

TALLENNETAAN MUISTITIKULLE JA MUISTIKORTILLE

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

Visual Case 2. Miika Kasnio (C9767)

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

Liikkuva-sovellusprojekti

Tallennuspalvelu Käyttöohjeet

Sivu 1 / Viikin kirjasto / Roni Rauramo

Testaaminen ohjelmiston kehitysprosessin aikana

FTP -AINEISTOSIIRRON OHJE PC / MAC Ympäristö

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

Ylläpitodokumentti Mooan

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

SIJAISET.FI KÄYTTÖOHJE TAKSI YRITYKSILLE. 1. Palveluun rekisteröityminen Palveluun kirjautuminen Etusivu... 2

T e k s t i n k ä s i t t e l y ä s e l k o k i e l e l l ä WORD

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

Visma.net Approval. Versiosaate 1.40

Opponointitestaus VYM -> LiKe

GlucoNavii DMS ohjelma

NÄIN TEET VIDEO-MAILIN (v-mail)

1 Yleistä Web-editorista Web-editori -dokumentin luominen Pikatoimintopainikkeet Tallenna... 3

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

Sisällys. 2 Aloittaminen. 4 Ominaisuudet esimiehet esimerkissä. 5 Työajan mobiilikirjaus

Transkriptio:

T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tämä on tietokonegrafiikka-algoritmien visualisointiin tarkoitettujen visualisointien ja niiden kehitykseen tarkoitetun ohjelmointirajapinnan käyttäjävaatimusdokumentti. Päivämäärä 28.10.2002 Projektiryhmä Keimo keimo-dev@list.hut.fi Kirjoittajat Matti Kannala mkannala@cc.hut.fi Muutokset PVM Tekijä Versio Selitys 18.10.2002 Matti Kannala 0.1 Dokumentti mentorin kommentointiin 25.10.2002 Matti Kannala 0.2 Dokumentti ryhmälle kommentointiin 28.10.2002 Matti Kannala 1.0 Dokumentti PP-vaiheen palautukseen 1(1)

Sisällysluettelo 1 Johdanto...3 1.1 Dokumentin tarkoitus...3 1.2 Dokumentin lukijat...3 1.3 Yleiskatsaus dokumenttiin...3 1.4 Lähteet...4 2 Järjestelmän yleiskuvaus...5 2.1 Keimo - algoritmien visualisointiympäristö...5 2.2 Järjestelmän päätoiminnot...5 3 Asiakkaan tavoitteet...6 3.1 Taustatietoa...6 3.2 Tavoitteet...6 4 Käyttäjäryhmät...7 5 Toiminnalliset vaatimukset...7 5.1 Käyttötapauslista...7 5.2 Käyttötapaukset kaikissa visualisoinneissa...8 5.3 Käyttötapaukset yksittäisissä visualisoinneissa...11 5.4 Käyttötapaukset ohjelmointirajapinnassa...14 6 Tuotteen ominaisuudet...16 6.1 Ominaisuuslista...16 6.2 Käytettävyys...16 6.3 Luotettavuus...16 6.4 Suorituskyky...17 6.5 Siirrettävyys...17 6.6 Jatkokehitettävyys...17 6.7 Dokumentointi...18 7 Rajoitukset...18 7.1 Standardit...18 7.2 Ohjelmistorajoitukset...19 7.3 Laitteistorajoitukset...19 7.4 Sopimukset...19 8 Käsitteet...19 9 Sanasto...20 10 Hyväksyntä...21 10.1 Tuotteen hyväksyminen...21 10.2 Dokumentin hyväksyminen...21 2(2)

1 Johdanto 1.1 Dokumentin tarkoitus Tämän dokumentin tarkoitus on kuvata järjestelmän toimintaa käyttäjän näkökulmasta. Teknisiä yksityiskohtia ei tässä dokumentissa kuvata. Käyttäjävaatimukset kuvaavat järjestelmän toiminnot, jotka käyttäjä voi nähdä ja joita asiakas toivoo järjestelmään saavansa. Muutokset dokumenttiin tehdään vaatimusten muutosprosessin mukaan. Dokumentti on myös asiakkaan hyväksymä sopimus toimitettavan tuotteen toiminnoista ja ominaisuuksista. Seuraavalla kaaviolla on kuvattu yleisellä tasolla mitkä osat kuuluvat dokumentin aihepiiriin ja mitkä ovat niiden suhteet ja sijoittumiset projektiin. Vaatimusten määrittely Määrittely & Suunnittelu & Ohjelmointi & Testaus Hyväksymistestaus Vaatimusten hallinta 1.2 Dokumentin lukijat Taulukko 1 Dokumentin mahdolliset lukijat Lukija ryhmä ja asiakas Ohjelmoijat Testaajat Manuaalien kirjoittajat Projekti ryhmä Syy lukemiseen Voidakseen antaa palautetta käyttäjävaatimuksista Voidakseen ymmärtää mitä toimintoja ja ominaisuuksia järjestelmän pitää sisältää Voidakseen testata vaatimuksien perusteella Saadakseen materiaalia käyttöoppaisiin Voidakseen seurata projektin edistymistä vaatimuksien kannalta 1.3 Yleiskatsaus dokumenttiin Dokumentin kappaleessa 2 (Järjestelmän yleiskuvaus) kerrotaan toimitettavan tuotteen ominaisuudet pääpiirteiltään. Kappaleessa 3 (Asiakkaan tavoitteet) keskitytään asiakkaaseen ja sen tavoitteeseen projektin suhteen. Tuotteen käyttäjäryhmät esitellään kappaleessa 4 (Käyttäjäryhmät). Dokumentin tärkein osa vaatimukset listataan kappaleissa 5 (Toiminnalliset vaatimukset) ja kappaleessa 6 (Tuotteen ominaisuudet). Kappaleessa 7 (Rajoitukset) kerrotaan tuotteeseen liittyvät rajoitukset. Dokumentin käsitteet ja sanasto esitellään kappaleissa 8 (Käsitteet) ja 9 (Sanasto). Dokumentin allekirjoittaa ja hyväksyy asiakas kappaleeseen 10 (Hyväksyntä). 3(3)

Dokumentissa vaatimukset on luokiteltu kolmeen luokkaan: Toiminnallinen järjestelmän pitää tehdä Ominaisuus järjestelmällä pitää olla Rajoitus rajoittaa järjestelmää Vaatimukset luokitellaan seuraavien tärkeysluokkien mukaan: elintärkeä Suositeltava toimintaa oleellisesti lisäävä Hyödyllinen otetaan huomioon, mutta toteutetaan vain jos aikaa projektissa jää 1.4 Lähteet Taulukko 2 Lähteenä käytetyt dokumentit Tyyppi Dokumentin nimi Versio Kuvaus Projektiaiheen esite Muistio Muistio Vaatimuslista Dokumenttipohja Ohje vaatimustenmäärittelyyn Tutkimusprojekti T-76.115 Topic Overview: Visualization of Computer Graphics Algorithms 1. Asiakas tapaaminen muistio 2. Asiakas tapaamisen muistio Kerättyjä vaatimuksia T-76.115 User Requirements Document T-76.115 Requirements definition guidelines QURE Quality through Requirements 1.0 Asiakas esittelee projektin aiheen, tavoitteet, teknologiaratkaisut, vaatimukset projekti ryhmältä ja yhteystiedot asiakkaaseen. 1.0 Muistio, jossa listattu asiakastapaamisessa esille tulleet asiat 1.0 Muistio, jossa listattu asiakastapaamisessa esille tulleet asiat 15.10.02 Lista vaatimuksista, joita on tullut esiin asiakkaalta ja projektiryhmältä 1.0 Tämän dokumentin englanninkielinen dokumenttipohja 20.10.02 Ohje vaatimusten määrittelyyn. 16.11.01 QURE-tutkimusprojektin kotisivut ja siellä olevat dokumentit 4(4)

2 Järjestelmän yleiskuvaus 2.1 Keimo - algoritmien visualisointiympäristö Keimo-järjestelmä on tietokonegrafiikka-algoritmien visualisointijärjestelmä. Järjestelmä on tarkoitettu opetuskäyttöön yliopistotasoiselle tietokonegrafiikan kurssille. Lopullinen asiakkaalle toimitettava järjestelmä koostuu muutamasta valmiista visualisoinnista ja uusien visualisointien tekemiseen tarkoitetusta ohjelmointirajapinnasta. Valmis tietokonegrafiikka-algoritmien visualisointi on yhdellä tietokoneella ajettava interaktiivinen, kolmiulotteista grafiikka sisältävä havainnollinen esitys algoritmin toiminnasta. Visualisointeja käyttävät tietokonegrafiikkakurssin luennoitsija ja opiskelijat. Ohjelmointirajapinta (framework) on korkeantason C++kielinen ohjelmointirajapinta, jonka avulla voidaan sujuvasti tehdä uusia visualisointeja. Ohjelmointirajapintaa käyttävät tietokonegrafiikkakurssin luennoitsija ja assistentit. 2.2 Järjestelmän päätoiminnot 2.2.1 Valmiit visualisoinnit Kuva 1 Visualisointien käyttötapausdiagrammi 5(5)

2.2.2 Uusien visualisointien ohjelmointirajapinta Kuva 2Ohjelmointirajapinnan käyttötapausdiagrammi 3 Asiakkaan tavoitteet 3.1 Taustatietoa Asiakkaana projektissa on Teknillisen korkeakoulun Tietoliikenneohjelmistojen ja Multimedian Laboratorion professori Lauri Savioja. Asiakas tietää paljon projektin aihepiiristä. Tällä hetkellä asiakas luennoi Tietokonegrafiikan kurssia (T- 111.300). Luennoilla käydään läpi mm. tietokonegrafiikan algoritmeja. Algoritmien oppiminen on paljon helpompaa selventävistä kuvasta kuin pelkästä tekstistä. Vielä helpompaa oppiminen on animoidusta visualisaatiosta, joka kuvaa algoritmin toimintaa. Tällaiset visualisoinnit, esim. järjestämisalgoritmia visualisoiva Java-appletti, voivat olla todella arvokkaita luennolla näytettäviksi tai itseopiskeluun. Asiakas uskoo, että monen tietokonegrafiikka-algoritmin ideat ja rajoitukset voitaisiin visualisoida näyttävästi käyttäen reaaliaikaista kolmiulotteista grafiikkaa. 3.2 Tavoitteet Asiakkaan päätavoitteena on tuottaa materiaalia, jota voi käyttää opetuksellisiin tarkoituksiin Tietokonegrafiikan kurssilla (T-111.300). Tavoitteena on saada muutama esitysvalmis visualisointi tietokonegrafiikka-algoritmeista ja ohjelmointirajapinta uusien visualisointien luontiin. Näistä ohjelmointirajapinnalla on suurempi painoarvo. 6(6)

4 Käyttäjäryhmät Taulukko 3 Järjestelmän käyttäjät Käyttäjäryhmä Kuvaus Käyttäjien lukumäärä Luennoitsijat Luennoitsijat luennoivat 1-3 yliopistotasoisella tietokonegrafiikkakurssilla. He valmistelevat visualisoinnit ennen luentoa ja näyttävät ne opiskelijoille luennolla. Ohjelmoijat Tietokonegrafiikkakurssin 5-10 henkilökunnasta (luennoitsija ja assistentit) he tekevet uusia visualisointeja C++-kielellä käyttäen visualisointeja varten tarkoitettua ohjelmointirajapintaa. Opiskelijat Tietokonegrafiikkakurssin opiskelijat, jotka katsovat valmisteltuja visualisointeja luennolla ja luennon jälkeen itseopiskeluna. 100-200 per vuosi 5 Toiminnalliset vaatimukset 5.1 Käyttötapauslista Käyttötapaus 1 Kameroiden navigointi...8 Käyttötapaus 2 Kappaleiden renderöintitavan muuttaminen...8 Käyttötapaus 3 Normaalivektoreiden näyttäminen...9 Käyttötapaus 4 Käyttöliittymäkomentojen nauhoittaminen...9 Käyttötapaus 5 Nauhoituksien toistaminen...9 Käyttötapaus 6 Kameroiden lisääminen...10 Käyttötapaus 7 Debug-kameran lisääminen...10 Käyttötapaus 8 Kameran polttoväli...11 Käyttötapaus 9 Etu- ja takaleikkaustasot...11 Käyttötapaus 10 Ortogonaali perspektiivi...11 Käyttötapaus 11 Materiaaliparametrien säätäminen...12 Käyttötapaus 12 Paikallinen valaistusmalli: Phong...12 Käyttötapaus 13 Z-puskurin visualisointi...13 Käyttötapaus 14 A-puskurin visualisointi...13 Käyttötapaus 15 Varjojen näyttäminen...13 Käyttötapaus 16 Perustransformaatiot...14 Käyttötapaus 17 Objektikirjasto...14 Käyttötapaus 18 Tekstuurikirjasto...15 7(7)

Käyttötapaus 19 Matematiikkakirjasto...15 Käyttötapaus 20 Yleiset 3D-primitiivit...15 5.2 Käyttötapaukset kaikissa visualisoinneissa Käyttötapaus 1 Kameroiden navigointi Kameroiden navigointi R504 Käyttäjän pitää voida navigoida kaikkia kameroita hiiren ja näppäimistön avulla. Visualisoinnissa on ainakin yksi visualisointi-ikkuna auki. 1. Käyttäjä valitsee hiirellä ikkunan. 2. Käyttäjä suuntaa kameran hiiren nappi pohjassa samalla liikuttamalla ikkunassa kursoria. 3. Käyttäjä liikuttaa kameraa katsomissuuntaan eteenpäin ja taaksepäin näppäimistöllä. 4. Käyttäjä pyörittää kameraa katsomissuunnan akselin ympäri molempiin suuntiin näppäimistöllä. 5. Käyttäjä suuntaa kameran näppäimistöllä. Visualisoinnissa voi olla kappaleita, joiden läpi ei voi navigoida. Kamera on käyttäjän haluamassa paikassa ja suunnassa. Käyttötapaus 2 Kappaleiden renderöintitavan muuttaminen Kappaleiden renderöintitavan muuttaminen R503 Käyttäjän pitää voida valita kappaleiden renderöintitapa käyttöliittymän avulla. Valittavia renderöintitapoja pitää olla rautalankamalli (Wireframe), tasaväriset pinnat (Flat) ja sävytetyt pinnat (Gouraud). Visualisoinnissa on ainakin yksi visualisointi-ikkuna auki. 1. Käyttäjä valitsee hiirellä ikkunan. 2. Käyttäjä valitsee hiirellä yhden kappaleen ikkunasta. 3. Käyttäjä vaihtaa hiirellä käyttöliittymästä renderöintitapaa. Jos käyttäjä ei valitse kappaletta ikkunasta vaiheessa 2. kaikki kappaleet vaihtavat renderöintitapaa Valitun kappaleen renderöintitapa muuttuu. 8(8)

Käyttötapaus 3 Normaalivektoreiden näyttäminen Normaalivektoreiden näyttäminen R508 Käyttäjän pitää voida valita kappaleiden normaalivektorit näkyviin käyttöliittymän avulla. Visualisoinnissa on ainakin yksi visualisointi-ikkuna auki. 1. Käyttäjä valitsee hiirellä ikkunan. 2. Käyttäjä valitsee hiirellä yhden kappaleen ikkunasta. 3. Käyttäjä vaihtaa hiirellä käyttöliittymästä normaalivektorit päälle/pois. Jos käyttäjä ei valitse kappaletta ikkunasta vaiheessa 2. kaikkien kappaleiden normaalivektorit tulevat näkyviin/poistuvat näkyvistä Valitun kappaleen normaalivektorit tulevat näkyyviin/poistuvat näkyvistä. Käyttötapaus 4 Käyttöliittymäkomentojen nauhoittaminen Käyttöliittymäkomentojen nauhoittaminen R509 Käyttäjän pitää voida nauhoittaa käyttöliittymäkomentoja ja tallentaa nauhoite käyttöliittymän avulla. Luennoitsijat Käyttäjä on asettanut visualisoinnin tilaan josta hän haluaa aloittaa nauhoittamisen. 1. Käyttäjä painaa käyttöliittymästä nauhoitusnappia. 2. Käyttäjä navigoi kameraa. 3. Käyttäjä vaihtaa visualisoinnin asetuksia. 4. Käyttäjä painaa käyttöliittymästä nauhoituksen pysäytysnappia. 5. Käyttäjä painaa nauhoituksen tallennusnappia. 6. Käyttäjä valitsee kansion tiedostolle. 7. Käyttäjä syöttää tiedoston nimen tallenteelle. 8. Käyttäjä hyväksyy tallennuksen Save -napilla. Tiedoston väärä nimi tai saman niminen tiedosto aiheuttaa varoituksen ja keskeyttää toiminnon. Käyttäjällä on toistettava tiedosto. Käyttötapaus 5 Nauhoituksien toistaminen Nauhoituksien toistaminen R510 Käyttäjän pitää voida toistaa tallennettu nauhoite käyttöliittymäkomennoista käyttöliittymän avulla. 9(9)

Luennoitsijat, Opiskelijat Käyttäjällä on samalla visualisoinnilla nauhoitettu tiedosto 1. Käyttäjä painaa käyttöliittymästä lataamisnappia. 2. Käyttäjä valitsee kansion 3. Käyttäjä valitsee tiedoton 4. Käyttäjä hyväksyy lataamisen Load -napilla 5. Käyttäjä painaa toistamisnappia. 6. Käyttäjä painaa pysäytysnappia. 7. Käyttäjä valitsee kohdan nauhoituksesta vierityspalkista hiirellä. 8. Käyttäjä painaa toistamisnappia. Tiedoston väärä formaatti aiheuttaa varoituksen ja keskeyttää toiminnon. Nauhoite pyörinyt loppuun ja käyttäjä on nähnyt nauhoitetun esityksen. Käyttötapaus 6 Kameroiden lisääminen Kameroiden lisääminen R501 Käyttäjän pitää voida lisätä käyttöliittymän avulla visualisointiin kameroita (ikkunoita) käyttöliittymän kameralistasta. Kaikki visualisoinnin kamerat eivät ole näkyvissä. 1. Käyttäjä valitsee käyttöliittymästä kameran näkyviin. Jos kamera on näkyvissä ei uutta kameraa tule näkyviin. Käyttäjän valitsema kamera (ikkuna) tulee näkyviin. Käyttötapaus 7 Debug-kameran lisääminen Debug-kameran lisääminen R502 Käyttäjän pitää voida lisätä käyttöliittymän avulla visualisointiin debug-kameroita (ikkunoita) käyttöliittymän debugkameralistasta. Debug-kamerassa pitää näkyä muiden kameroiden kuvausalue läpinäkyvänä keilana. Kaikki visualisoinnin kamerat eivät ole näkyvissä. 1. Käyttäjä valitsee käyttöliittymästä debug-kameran näkyviin. Jos kamera on näkyvissä ei uutta kameraa tule näkyviin. Käyttäjän valitsema debug-kamera (ikkuna) tulee näkyviin. Muiden kameroiden kuvausalueet näkyvät läpinäkyvinä keiloina. 10(10)

5.3 Käyttötapaukset yksittäisissä visualisoinneissa 5.3.1 3D-kameran parametrit Käyttötapaus 8 Kameran polttoväli Kameran polttoväli R608 Käyttäjän pitää voida säätä valitun kameran polttoväliä käyttöliittymän avulla. Visualisoinnissa on ainakin yksi visualisointi-ikkuna auki. 1. Käyttäjä valitsee hiirellä ikkunan. 2. Käyttäjä säätä kameran polttoväliä käyttöliittymästä. - Kameran polttoväli muuttuu. Käyttötapaus 9 Etu- ja takaleikkaustasot Etu- ja takaleikkaustasot R609 Käyttäjän pitää voida säätä valitun kameran etu- ja takaleikkaustasojen etäisyyksiä käyttöliittymän avulla. Visualisoinnissa on ainakin yksi visualisointi-ikkuna auki. 1. Käyttäjä valitsee hiirellä ikkunan. 2. Käyttäjä säätää etuleikkaustason etäisyyden käyttöliittymästä. 3. Käyttäjä säätää takaleikkaustason etäisyyden käyttöliittymästä. - Kameran etu- ja takaleikkaustasot muuttuvat ja kappaleita tulee tai poistuu näkyvistä riippuen käyttäjän säätämistä arvoista. Käyttötapaus 10 Ortogonaali perspektiivi Ortogonaali perspektiivi R617 Hyödyllinen Käyttäjän pitää voida asettaa kameran perspektiivin ortogonaaliseksi käyttöliittymän avulla. Visualisoinnissa on ainakin yksi visualisointi-ikkuna auki. 1. Käyttäjä valitsee hiirellä ikkunan. 11(11)

2. Käyttäjä valitsee käyttöliittymästä perspektiivin ortogonaaliseksi Jos perspektiivi oli jo valmiiksi ortogonaali ei muutosta kamerassa tapahdu. Kameran perspektiivi muuttuu ortogonaaliseksi. 5.3.2 Lokaalit valaistusmallit ja materiaaliparametrit Käyttötapaus 11 Materiaaliparametrien säätäminen Materiaaliparametrien säätäminen R607 Käyttäjän pitää voida valita kappaleiden materiaaliparametrit. Parametrejä ovat kappaleen väri, emittoituva valo, ambientin valon heijastus, diffuusin valon heijastus, specular-valon heijastus ja läpinäkyvyys. Visualisoinnissa on ainakin yksi visualisointi-ikkuna auki. 1. Käyttäjä valitsee hiirellä ikkunan. 2. Käyttäjä valitsee hiirellä yhden kappaleen ikkunasta. 3. Käyttäjä vaihtaa hiirellä käyttöliittymästä materiaaliparametriä. Jos käyttäjä ei valitse kappaletta ikkunasta vaiheessa 2. kaikki kappaleet vaihtavat materiaaliansa. Valitun kappaleen materiaali muuttuu. Käyttötapaus 12 Paikallinen valaistusmalli: Phong Paikallinen valaistusmalli: Phong R606 Suositeltava Käyttäjän pitää voida valita kappaleiden valaistusmalliksi Phongvalaistusmalli käyttöliittymän avulla. Visualisoinnissa on ainakin yksi visualisointi-ikkuna auki. 1. Käyttäjä valitsee hiirellä ikkunan. 2. Käyttäjä valitsee hiirellä yhden kappaleen ikkunasta. 3. Käyttäjä vaihtaa hiirellä käyttöliittymästä renderöintitapaa. Jos käyttäjä ei valitse kappaletta ikkunasta vaiheessa 2. kaikki kappaleet vaihtavat valaistusmallia Phong:ksi. Valitun kappaleen valaistusmalli muuttuu Phong:ksi. 12(12)

5.3.3 Z- ja A-puskuri Käyttötapaus 13 Z-puskurin visualisointi Z-puskurin visualisointi R604 Käyttäjän on pystyttävä visualisoinnin avulla näkemään Z- puskurin toiminta. Käyttäjällä vähintään kaksi ikkunaa (kameraa) avattuna 1. Käyttäjä valitsee käyttöliittymästä Z-puskurin visualisoinnin päälle. 2. Käyttäjä tarkastelee ikkunasta Z-puskurin toimintaa samalla kun navigoi kameraa. 3. Käyttäjä vaihtaa Z-puskurin parametrejä käyttöliittymästä. 4. Käyttäjä tarkastelee ikkunasta Z-puskurin toimintaa samalla kun navigoi kameraa. - Käyttäjä on nähnyt Z-puskurin toiminnan Käyttötapaus 14 A-puskurin visualisointi A-puskurin visualisointi R603 Hyödyllinen Käyttäjän on pystyttävä visualisoinnin avulla näkemään A- puskurin toiminta. Käyttäjällä vähintään kaksi ikkunaa (kameraa) avattuna 1. Käyttäjä valitsee käyttöliittymästä A-puskurin visualisoinnin päälle. 2. Käyttäjä tarkastelee ikkunasta A-puskurin toimintaa samalla kun navigoi kameraa. 3. Käyttäjä vaihtaa A-puskurin parametrejä käyttöliittymästä. 4. Käyttäjä tarkastelee ikkunasta A-puskurin toimintaa samalla kun navigoi kameraa. - Käyttäjä on nähnyt A-puskurin toiminnan 5.3.4 Varjot Käyttötapaus 15 Varjojen näyttäminen Varjojen näyttäminen R612 Käyttäjän pitää voida valita kappaleiden varjot päälle 13(13)

käyttöliittymän avulla. Varjojen muodostuminen pitää visualisoida säteillä. Visualisoinnissa on valaistu kappale näkyvissä. 1. Käyttäjä valitsee käyttöliittymästä varjot näkyviin Jos varjot ovat jo valmiiksi valittuna, varjot lähtevät pois Kappaleisiin osuvat varjot näkyvät tummempina alueina. Varjon heittävästä kappaleesta lähtee valon suuntaisia visualisoituja säteitä varjon reunoihin. 5.3.5 Perustransformaatiot Käyttötapaus 16 Perustransformaatiot Perustransformaatiot R618 Suositeltava Käyttäjän pitää voida säätää kappaleen kierto-, skaalaus- ja transformaatiomatriiseja ja niiden kertomisjärjestystä käyttöliittymän avulla. Visualisoinnissa on ainakin yksi visualisointi-ikkuna auki, jossa ainakin yksi kappale. 1. Käyttäjä valitsee kappaleen hiiren avulla. 2. Käyttäjä vaihtelee käyttöliittymästä matriisien järjestystä. 3. Käyttäjä vaihtelee käyttöliittymästä matriisien numeroarvoja. Jos käyttäjä ei valinnut kappaletta vaiheessa 1, matriiseihin liittyvät käyttöliittymäkomennot eivät vaikuta mihinkään kappaleeseen. Kappale on siirtynyt, skaalautunut ja pyörähtänyt matriisien mukaan. 5.4 Käyttötapaukset ohjelmointirajapinnassa Käyttötapaus 17 Objektikirjasto Objektikirjasto R404 Suositeltava Käyttäjän pitää voida lisätä objekteja valmiista objektikirjastosta objektin tiedoston nimellä. Luennoitsijat, ohjelmoijat Käyttäjä haluaa lisätä objektin lataamisen koodiin. 1. Käyttäjä etsii sopivan objektin objektilistasta 14(14)

2. Käyttäjä lisää objektin lataamiskutsun objektin nimi parametrinä - Käyttäjä saa lisättyä objektin lataamisen koodiin. Käyttötapaus 18 Tekstuurikirjasto Tekstuurikirjasto R405 Suositeltava Käyttäjän pitää voida lisätä tekstuureja valmiista tekstuurikirjastosta tekstuurin tiedoston nimellä. Luennoitsijat, ohjelmoijat Käyttäjä haluaa lisätä tekstuurin objektille koodissa. 1. Käyttäjä etsii sopivan tekstuurin tekstuurilistasta 2. Käyttäjä lisää tekstuurinlatauskutsun tekstuurin nimi parametrinä. - Käyttäjä saa lisättyä tekstuurin lataamisen koodiin. Käyttötapaus 19 Matematiikkakirjasto Matematiikkakirjasto R406 Käyttäjän pitää voida käyttää valmista matematiikkakirjastoa. Luennoitsijat, ohjelmoijat Käyttäjä haluaa käyttää jotain valmista matematiikkafunktiota. 1. Käyttäjä lisää kutsun matematiikkakirjaston funktioon. - Käyttäjä saa lisättyä kutsun matematiikkakirjaston funktioon. Käyttötapaus 20 Yleiset 3D-primitiivit Yleiset 3D-primitiivit R407 Käyttäjän pitää voida käyttää valmiita 3D-primitiivejä pisteitä, viivoja, kolmioita ja tekstiä. Luennoitsijat, ohjelmoijat Käyttäjä haluaa käyttää jotain valmista 3D-primitiiviä. 1. Käyttäjä lisää 5 pistettä visualisaatioon. 2. Käyttäjä lisää 5 viivaa visualisaatioon. 3. Käyttäjä lisää kolmion visualisaatioon. 4. Käyttäjä lisää tekstiä visualisaatioon. - Käyttäjä saa lisättyä kaikki 3D-primitiivit. 15(15)

6 Tuotteen ominaisuudet 6.1 Ominaisuuslista Vaatimus 1 Käyttöliittymäkirjaston vähimmäisvaatimus GLUT...16 Vaatimus 2 Javan AWT:lla toteutettu käyttöliittymä...16 Vaatimus 3 Virheiden korjaus ennen toimitusta...16 Vaatimus 4 Visualisointien suorituskyky...17 Vaatimus 5 Ohjelmakoodin siirrettävyys...17 Vaatimus 6 Visualisointi splineistä...17 Vaatimus 7 RIB-formaatin tuottaminen...17 Vaatimus 8 Ohjelmakoodin kommentointikieli...18 Vaatimus 9 Ohjelmakoodin kommentointistandardi...18 Vaatimus 10 Ohjelmointirajapinnan dokumentointikieli...18 Vaatimus 11 Ohjelmointirajapinnan dokumentin formaatti...18 Vaatimus 12 Ohjelmakoodin kommenttien HTML-julkaisu...18 6.2 Käytettävyys Käytettävyyttä on vaikea mitata ja melkein kaikissa projekteissa vaatimuksena on hyvä käytettävyys. Tässä projektissa käytettävyyttä mitataan esim. seuraavilla vaatimuksilla. Vaatimus 1 Käyttöliittymäkirjaston vähimmäisvaatimus GLUT Käyttöliittymäkirjaston vähimmäisvaatimus GLUT R309 Ohjelmoijat toteuttavat tuotteen käyttöliittymän GLUT-kirjastolla tai kehittyneemmällä portattavalla kirjastolla Vaatimus 2 Javan AWT:lla toteutettu käyttöliittymä Javan AWT:lla toteutettu käyttöliittymä R310 Suositeltava Ohjelmoijat toteuttavat tuotteen käyttöliittymän Javan AWTkirjastoa käyttäen. 6.3 Luotettavuus Luotettavuus tarkoittaa toimitettavien tuotteiden toimintavarmuutta. Toimintavarmuutta voidaan parantaa testaamalla ja korjaamalla testauksessa löytyvät virheet. Vaatimus 3 Virheiden korjaus ennen toimitusta Virheiden korjaus ennen toimitusta R311 16(16)

Ohjelmoijat ovat korjanneet tuotteen kaikki löydetyt vakavat virheet ennen toimitusta. 6.4 Suorituskyky Suorituskyky tarkoittaa valmiiden visualisointien toimimisnopeutta. Toimimisnopeutta tarvitaan, jotta kuvan hidas päivitys ei haittaisi visualisointien katselua. Vaatimus 4 Visualisointien suorituskyky Visualisointien suorituskyky R512 Käyttäjän pitää voida katsoa visualisointeja vähintään 20:n kuvan vaihtotaajuudella (fps >= 20) 6.5 Siirrettävyys Siirrettävyys (portattavuus) tarkoittaa ohjelmointirajapinnan ja valmiiden visualisointien siirtämistä Windows-ympäristöstä Linux-ympäristöön. Käytännössä tämä tarkoittaa sitä, että kun ohjelmointikoodi on siirretty Linux:lle, voidaan ohjelma kääntää gcc-kääntäjällä ja visualisointeja ajaa Linuxkäyttöjärjestelmässä. Vaatimus 5 Ohjelmakoodin siirrettävyys Ohjelmakoodin siirrettävyys R304 Siirtäjän pitää voida kääntää ohjelmakoodi virheettä gcc:lla Linux:ssa ilman ohjelmakoodin muuttamista. 6.6 Jatkokehitettävyys Jotta tuote olisi helposti jatkokehitettävissä, pitää se ottaa huomioon tuotteen kehityksessä. Asiakkaalla on muutama jatkokehitysidea, joista on seuraavat vaatimukset. Vaatimus 6 Visualisointi splineistä Visualisointi splineistä R402 Suositeltava Ohjelmoijien pitää voida käyttää splinejä ohjelmointirajapinnasta. Ohjelmointirajapinnasta pitää löytyä ainakin Bezier-käyrät ja TCB-käyrät. Vaatimus 7 RIB-formaatin tuottaminen RIB-formaatin tuottaminen R403 Hyödyllinen Ohjelmoijien pitää voida lisätä ohjelmointirajapintaan RIB- 17(17)

formaatin tuki. 6.7 Dokumentointi Vaatimus 8 Ohjelmakoodin kommentointikieli Ohjelmakoodin kommentointikieli R201 Ohjelmoijat kommentoivat kaiken ohjelmakoodin englanniksi. Vaatimus 9 Ohjelmakoodin kommentointistandardi Ohjelmakoodin kommentointistandardi R202 Suositeltava Ohjelmoijat kommentoivat ohjelmakoodin Doxygen-ohjelman standardin mukaan, jotta ohjelmakoodista voidaan tuottaa helposti dokumentointi HTML-formaattiin. Vaatimus 10 Ohjelmointirajapinnan dokumentointikieli Ohjelmointirajapinnan dokumentointikieli R204 Dokumentoija kirjoittaa ohjelmointirajapinnan dokumentoinnin englanniksi Vaatimus 11 Ohjelmointirajapinnan dokumentin formaatti Ohjelmointirajapinnan dokumentin formaatti R205 Hyödyllinen Dokumentoija kirjoittaa ohjelmointirajapinnan dokumentoinnin Latex-formaatissa Vaatimus 12 Ohjelmakoodin kommenttien HTML-julkaisu Ohjelmakoodin kommenttien HTML-julkaisu R203 Hyödyllinen Dokumentoija tekee ohjelmakoodin kommenteista Doxygenohjelmalla HTML-sivuston. 7 Rajoitukset 7.1 Standardit Projektissa on hyvin vähän rajoituksia standardien takia. Ainoa rajoitus liittyy ohjelmointirajapinnan ohjelmakoodin dokumentointiin. 18(18)

Taulukko 4 Standardirajoitukset Ohjelmointirajapinta Kommentointi Doxygen-ohjelman vaatima formaatti 7.2 Ohjelmistorajoitukset Toimitettavat visualisoinnit ja ohjelmointirajapinta on tarkoitettu käytettäviksi Windows-ympäristössä. Ohjelmistovaatimukset ovat seuraavat: Taulukko 5 Ohjelmistorajoitukset Visualisoinnit Käyttöjärjestelmä Windows 95/98/2000/ME/XP Java-tulkki Vähintään J2SE v 1.4 Ohjelmointirajapinta Käyttöjärjestelmä Windows 95/98/2000/ME/XP Java-tulkki Vähintään J2SE v 1.4 Java-kääntäjä Vähintään J2SE v 1.4 C++-kääntäjä Microsoft Visual C++ 6.0/ Gnu Compiler Collection 7.3 Laitteistorajoitukset Toimitettavat visualisoinnit ja ohjelmointirajapinta on tarkoitettu käytettäväksi Windows-ympäristössä. Laitteistovaatimukset ovat seuraavat: Taulukko 6 Laitteistorajoitukset Visualisoinnit ja ohjelmointirajapinta Näytönohjain OpenGL-yhteensopiva Muisti Vähintään 64MB Kovalevy Vähintään 50MB Prosessori Vähintään 300MHz Hiiri Vähintään kaksinappinen 7.4 Sopimukset Asiakkaan kanssa projektiryhmä tekee sopimuksen, missä molemmilla osapuolilla jää täydet oikeudet visualisointeihin ja ohjelmointirajapintaan. Sopimus tehdään heti kun kurssin puolesta saadaan sopimuspohja tai viimeistään ensimmäisen toteutusvaiheen loppuun mennessä. 8 Käsitteet Taulukko 7 Käsite Kamera Käyttöliittymä Kuvaus Erillinen ikkuna, jossa on kolmiulotteinen näkymä visualisoinnin maailmaan. Erillinen ikkuna, joka sisältää käyttöliittymäkomponentteja visualisoinnin 19(19)

ohjaamiseen. Kuva 3 9 Sanasto Taulukko 8 Dokumentin sanastoa Sana Doxygen LaTeX OpenGL Debug-kamera Tekstuuri Normaalivektori Mipmap Gcc Kuvaus Ohjelmakoodin dokumentointijärjestelmä. Tuottaa esim. HTML- tai Latex-kielisen esityksen ohjelmakoodin kommenteista. Laadukkaiden dokumenttien tuottamiseen käytettävä de-facto-standardi ja järjestelmä. Tunnetuin 2D/3D grafiikkaan käytetty ohjelmointirajapinta. Kamera 3D-maailmaan, jossa näkyy vain muissa kameroissa näkyvät kappaleet sekä niiden näkyvyyskeila. Kappaleen pinnalle piirrettävä pintamateriaalia esittävä kuva. Kappaleen pinnasta kohtisuoraan ulospäin pinnasta oleva suuntavektori. Menetelmä tallentaa monta eri resoluutioista tekstuuria Gnu Compiler Collection on ilmainen kääntäjä kokoelma, joka sisältää esim. C++-kääntäjän. 20(20)

10 Hyväksyntä 10.1 Tuotteen hyväksyminen Tuote hyväksytään hyväksymistestauksella. Hyväksymistestauksessa testataan mitkä vaatimuksista ovat toteutuneet. Vaatimus ei voi toteutua osaksi, vaan se joko toteutuu tai ei toteudu. Jotta tuote olisi hyväksyttävä toimitettavaksi kaikki välttämättömät vaatimukset pitää olla toteutettu. Suositeltavista vaatimuksista pitää olla 50% toteutettu. Hyödyllisistä vaatimuksista ei tarvitse toteutua mikään. Ne pitää kuitenkin huomioida arkkitehtuurissa ja niitä tehdään jos aikaa korkeamman prioriteetin vaatimuksilta aikaa jää. Taulukko 9 Hyväksymistestauksen tulos Hyväksyttyjä vaatimuksia Hylättyjä vaatimuksia Suositeltava Hyväksyttävä Toimitettavan tuotteen on hyväksymistestannut: ja päivämäärä 10.2 Dokumentin hyväksyminen Tämän dokumentin on kokonaisuudessaan lukenut ja hyväksynyt: ja päivämäärä 21(21)