Vaatimusdokumentti. Ketutus-ryhmä. Helsinki 17.7.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos



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

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

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

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

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Microsoft Security Essentials (MSE) asennuspaketin lataaminen verkosta

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Ylläpitodokumentti Mooan

Tuplaturvan tilaus ja asennusohje

Echo360 - luentovideot

Autodesk Account -ohje

ArcGIS Pro -ohjelmiston käyttöönotto. Ohje /

INTERNETSELAIMEN ASETUKSET. Kuinka saan parhaan irti selaimesta

Tiedostojen lataaminen netistä ja asentaminen

Testausraportti v.1.3

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

PÄIVITÄ TIETOKONEESI

Poista tietokoneessa olevat Java ja asenna uusin Java-ohjelma

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Webinaariin liittyminen Skype for

Vaatimusdokumentti Labra

Tietojärjestelmän osat

TermBase NET versio (Beta)

AUTODESK ACCOUNT -OHJE

Verkkosivut perinteisesti. Tanja Välisalo

Aditro Tikon ostolaskujen käsittely versio SP1

Garmin laitteiden ohjelmistopäivitys

Google-työkalut: Dokumenttien jakaminen ja kommentointi

UpdateIT 2010: Uutisten päivitys

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

ArcGIS Pro -ohjelmiston käyttöönotto. Ohje /

PÄIVITÄ TIETOKONEESI

EeNet materiaalit ohje

Kieliaineistojen käyttöoikeuksien hallinnan tietojärjestelmä

Playoff kokouspöytäkirja 4

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

Rovaniemen mediapankin käyttöohje

CCLEANER LATAAMINEN JA ASENTAMINEN

Ohjelmiston toteutussuunnitelma

Opetusvideoiden taltiointi ja jakelu

VANHEMPIEN KÄYTTÖLIITTYMÄN OHJEET

Echo360 - luentovideot. Ohjeita opiskelijalle

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

Toimi näin, jos et pääse verkkopankkiin Mozilla Firefox-selaimella

StatCrunch -laskentasovellus

Ohje sähköiseen osallistumiseen

Webforum. Version 17.2 uudet ominaisuudet. Päivitetty:

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

HUBLET. Palvelukuvaus DOKUMENTINHALLINTA: Kai-Jussi Ruuskanen Dokumentti: Palvelukuvaus Versio: 0.3 Hyväksyjä: Saila Laitinen Tila: Draft

Google-dokumentit. Opetusteknologiakeskus Mediamylly

jos haluatte säilyttää ja jatkaa vanhan OneNote-muistion sisällön kanssa.

Kurssin hallinta -työväline

OHJE Jos Kelaimeen kirjautuminen ei onnistu Mac-koneella Sisällys

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

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

Aditro Tikon ostolaskujen käsittely versio 6.2.0

Ohje sähköiseen osallistumiseen

Kirkkopalvelut Office365, Opiskelijan ohje 1 / 17 IT Juha Nalli

1. Adobe Digital Editions ohjelman käyttöönotto

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

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

Comet pysäköintimittarin asennus ja kytkeminen tietokoneeseesi (Windows XP) USB-kaapelilla.

Tiedostojen siirto ja FTP - 1

Pika-aloitusopas. Haku Voit etsiä sivustoja, henkilöitä tai tiedostoja. Sivuston tai uutisviestin luominen

NÄYTÖN JAKAMINEN OPPILAILLE, JOTKA MUODOSTAVAT YHTEYDEN SELAIMELLA TAI NETOP VISION STUDENT -SOVELLUKSELLA

BLOGGER. ohjeita blogin pitämiseen Googlen Bloggerilla

ClassPad fx-cp400 päivitys. + Manager for ClassPad II Subscription päivitys

Ryhmäharjoitus I: Google Drive. TIEY4 Tietotekniikkataidot, kevät 2017 Tehdään ryhmäharjoitustunnilla 13.3.

Febdok 6.0 paikallisversion asennus OHJEISTUS

CMS Made Simple Perusteet

Tikon Web-sovellukset

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

LHV325 Ohjelmoinnin perusteet. WorkBook. Jussi Tapio Kuosa

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

Garmin Astro ohjelmistopäivitys

edocker 3.3 Mitä uutta? edocker Tools InDesign -plugin edocker PUBLISH! edocker READ! edocker CREATE! edocker automaatio

Ammattijärjestäjä Aulasvuori Www-projektin kuvaus

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

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

LATAA JA ASENNA - ILMAISOHJELMIA INTERNETISTÄ

Aditro Tikon ostolaskujen käsittely versio SP1

Internet Explorer 7 & 8 pop-up asetukset

Opetusvideoiden taltiointi ja jakelu

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

HYÖDYNNÄ SUBSCRIPTION-ETUSI

Viva-16. Käyttöohje Veikko Nokkala Suomen Videovalvonta.com

ETÄPALVELU. HALTIK Videoportaali - osallistujan ohje

Convergence of messaging

Harjoitus 3 Antti Hartikainen

T Testiraportti - järjestelmätestaus

Office Video, pikaopas

PIKAOPAS MODEM SETUP

Mitä sinun tulisi tietää lastesi internetin käytöstä?

13673 A6 12pp CIG Bro FIN v5 20/7/05 8:01 pm Page 1 Rekisteröitymisohje

Sähköpostitilin käyttöönotto. Versio 2.0

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Transkriptio:

Vaatimusdokumentti Ketutus-ryhmä Helsinki 17.7.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Aleksanteri Aaltonen Sari Kajantie Jani Koivukoski Onni Koskinen Ilkka Kosunen Risto Sandvik Asiakas Kai Kuikkaniemi Johtoryhmä Kimmo Simola Jaakko Saaristo Kotisivu http://www.cs.helsinki.fi/group/ketutus Versiohistoria Versio Päiväys Tehdyt muutokset 0.1 13.6.2007 Ensimmäinen versio 0.2 26.6.2007 Vaatimusten luokittelu uudistettu 0.3 27.6.2007 Käyttötapaukset lisätty 0.4 29.6.2007 Ryhmäpalaverin muutokset 0.5 3.7.2007 Elinkaari -luvun hionta 0.6 5.7.2007 Asiakastapaamisen kommentit 0.7 17.7.2007 1. Julkinen julkaisu

Sisältö i 1 Johdanto 1 2 Sanasto 1 3 Järjestelmän yleiskuvaus 2 3.1 BitTorrent-laajennoksen kuvaus...................... 2 3.2 Käyttäjäryhmät tarpeineen......................... 3 3.3 Eräitä käyttötapauksia............................ 3 4 Vaatimukset 4 4.1 Järjestelmävaatimukset........................... 4 4.1.1 Käyttöympäristövaatimukset.................... 4 4.1.2 Toiminnalliset järjestelmävaatimukset............... 5 4.1.3 Ei-toiminnalliset järjestelmävaatimukset.............. 5 4.2 Käyttäjävaatimukset............................. 5 4.2.1 Toiminnalliset käyttäjävaatimukset................. 6 4.2.2 Ei-toiminnalliset käyttäjävaatimukset............... 7 5 Järjestelmän elinkaari 7

1 Johdanto 1 Ketutus on Helsingin yliopiston tietojenkäsittelytieteteen laitoksen kesän 2007 ohjelmistotuotantoprojekti, jonka tavoitteena on tuottaa BitTorrent-laajennos Mozilla Firefox-selaimeen. Laajennuksen avulla käyttäjä voi ladata torrent-tiedostoja joko samaan tapaan kuin tavallisella BitTorrent-asiakkalla tai ikkunoidusti sivulle upotetusta torrentfile-resurssista. Laajennuksella ei sen sijaan voi luoda torrent-tiedostoja, eikä siten laittaa uutta materiaalia jakoon. Projektissa tuotettava laajennos toteutetaan FusionFox-BitTorrent-moottorin päälle. Asiakas on toteuttanut moottorin Helsinki Institute for Information Technologyssä (HIIT) osana laajempaa EU-rahoitteista eurooppalaisten yliopistojen yhteistä P2P-Fusion-hanketta. Hankkeessa on kehitetty esimerkiksi ikkunoitua BitTorrent-protokollaa, jolla tiedostoja voidaan ladata reaaliaikaisena lähetyksenä (engl. streaming), BitTorrentin tavallisesta sirpaleittaisesta lataustavast poiketen. Tässä vaatimusdokumentissa kuvataan BitTorrent-laajennukselle asetettavat vaatimukset. Siten dokumentissa myös määritellään ne laajennuksen ominaisuudet sekä ominaisuuksien toteutusprioriteetit, joista asiakas ja Ketutus-ryhmä sopivat keskenään. 2 Sanasto BitTorrent DOM-malli Download Download Manager Firefox Ikkunoitu BitTorrent Vertaisverkkoprotokolla, jossa jaettava data lähetetään ja vastaanotetaan pienissä paloissa vähiten jaossa olevia paloja priorisoiden. Tekniikka, joka mahdollistaa HTML-sivujen muokkauksen selaimessa esimerkiksi JavaScriptillä. Tämän dokumentin puitteissa tietojen tai tiedon lataamista verkosta. Mozilla Firefox -selaimen mukana toimitettava tiedostoja lataava komponentti käyttöliittymineen. Mozilla Foundationin julkaisema avoimeen lähdekoodiin perustuva selain, virallisesti Mozilla Firefox. Perinteisen sirpaloituneen lataamisen sijaan tiedostoa ladataan selkeissä erissä tiedoston alkupäästä lähtien. Kunkin erän sisällä lataaminen tapahtuu sirpaloidusti.

2 JavaScript Libtorrent Streaming Torrent Upload XPCOM XUL Lähinnä WWW-ympäristössä käytettävä komentosarjakieli. Avoimella lähdekoodilla toteutettu BitTorrent-moottori. Tämän dokumentin puitteissa: reaaliaikainen jakaminen, jonka seurauksena tiedostoja tai tiedon osia voi käyttää ennen kokonaisuuden saapumista perille. Tiedosto, joka sisältää ladattavien tiedostojen tarkistussummia sekä tiedon siitä, mistä osoitteesta löytyy BitTorrentasiakkaista kirjaa pitävä keskuspalvelin. Tämän dokumentin puitteissa: tietojen tai tiedon lähettämistä verkkoon. Cross Platform Component Object Model - Mozilla Foundationin kehittämä alustariippumaton komponenttimalli, jota käytetään myös Firefoxin komponenteissa. XML User-interface Language - Mozilla Foundationin kehittämä XML-pohjainen käyttöliittymien kuvauskieli, jota käytetään myös Firefoxin käyttöliittymissä. 3 Järjestelmän yleiskuvaus 3.1 BitTorrent-laajennoksen kuvaus Asiakkaan tavoitteena on saada BitTorrent-laajennos, jossa on siinä määrin kehittyneet ominaisuudet, ettei käyttäjä tarvitse enää erillistä BitTorrent-asiakasohjelmaa tiedostojen lataamiseen. Järjestelmän tulee asiakkaan näkemyksen mukaan tarjota vähintään Opera-selaimen BitTorrentlaajennoksen mukainen toiminnallisuus kuitenkin mahdollisimman huolellisesti integroituna Firefox-selaimeen. Tällöin BitTorrent-lataukset näkyisivät ensisijaisesti käyttäjälle Download Managerin käyttöliittymässä, kuten muutkin lataukset, joskin esimerkiksi tunnistettavalla värillä. Ikkunoiden ja asetusten säätövalikoiden tulisi noudattaa Firefoxin yleistä ulkoasuteemaa. Asiakas myös toivoo rauhallista ulkoasua. Laajennos rakennetaan asiakkaan tarjoaman XPCOM-komponenttina toteutetun BitTorrentmoottorin päälle JavaScript-ohjelmointikielellä käyttäen Douglas Crockfordin ohjelmointityyliä ja XUL-käyttöliittymänkuvauskieltä. Optionaaliseksi vaatimusmäärittelyvaiheessa jätetty XPCOM paketointi mahdollistaisi sisäisen BitTorrent moottorin vaihtamisen toiseen, esimerkiksi vapaassa levityksessä olevaan libtorrent-kirjastoon. Se toteutetaan aikataulun salliessa.

3 3.2 Käyttäjäryhmät tarpeineen Ketutus-ryhmä tunnisti laajennukselle kaksi erillistä käyttäjäryhmää: 1. peruskäyttäjät 2. tehokäyttäjät Peruskäyttäjille olennaista on mahdollisimman selkeä ja helppokäyttöinen käyttöliittymä. WWW-sivun linkin kautta BitTorrentilla jaettavaa videoresurssia tavoitteleva peruskäyttäjä ei välttämättä edes halua tietää käyttävänsä BitTorrentia. Toiminnan on oltava peruskäyttäjän näkökulmasta mahdollisimman läpinäkyvää. Niinpä peruskäyttäjälle tarjotaan käyttöliittymäksi lähtökohtaisesti Download Manageria. Edistymispalkki kuitenkin eroaa ulkonäöltään muiden protokollien latauksissa käytettävistä latauspalkeista, sillä peruskäyttäjänkin on tarpeellista tietää, ettei lataus ole samanlainen kuin muilla protokollilla. Muilla protokollillahan lataus on kokonaan lineaarinen. Tehokäyttäjän on sen sijaan kyettävä kontrolloimaan siirtotapahtumaa mahdollisimman tarkasti. Tehokäyttäjälle tarjottava käyttöliittymä sallii latauksen asetusten tarkemman kontrollin sekä lataustapahtuman yksityiskohtaisemman seurannan. Kummallekin käyttäjäryhmälle tarjotaan sekä ikkunoitua että tavallista BitTorentia. 3.3 Eräitä käyttötapauksia K1: Lähtötilanne: Tavoite: K2: Lähtötilanne: Tavoite: K3: Peruskäyttäjä klikkaa WWW-sivulla olevaa linkkiä nähdäkseen P2P-Fusion-hankkeen yhteydessä jaettavan opetusvideon. Käyttäjä haluaa saada videon mahdollisimman nopeasti auki ja vaivattomasti käyttöönsä. Peruskäyttäjä haluaa ladata verkosta Fedora Core 7:n asennus-imagen. Käyttäjä käynnistää latauksen yöksi. Käyttäjä haluaa saada imagen mahdollisimman vaivattomasti käyttöönsä. Kulutetun kaistan määrällä tai latauksen käynnistymisen nopeudella ei ole käyttäjälle merkitystä.

4 Lähtötilanne: Tavoite: Tehokäyttäjä haluaa ladata yliopiston videojakelusta eläinlääketieteen kurssivideot, joista hän haluaa nähdä ensin lehmän endokrinologiaa käsittelevän jakson. Käyttäjä työskentelee samalla interaktiivisesti yliopiston unix-palvelimella. Tehokäyttäjä haluaa vaikuttaa latausoperaatioon: Ladattavasta joukosta tulee voida priorisoida yksittäisiä kohteita ja latauksen käyttämän kaistan määrää tulee voida säätää, jotta latenssia huonosti sietävät palvelut olisivat samaan aikaan käytettävissä. 4 Vaatimukset Vaatimukset on koottu haastattelemalla asiakasta Ketutus-ryhmän kokouksissa sekä Bit- Torrentin tehokäyttäjiä kokousten ulkopuolella. Järjestelmävaatimusten konkretisoinnin apuna on käytetty libtorrentin API-kuvausta, sillä se tarjoaa hyvän yleiskuvan torrent-tiedostojen käsittelyyn liittyvistä toiminnoista. 4.1 Järjestelmävaatimukset 4.1.1 Käyttöympäristövaatimukset 1. Ohjelmiston tulee toimia Firefox 2.0 -sarjan selaimissa. 2. Ohjelmiston tulee osata ladata sivulle upotetut torrentfile-resurssit. 3. Ohjelmisto tulee voida asettaa torrent-mime-tyypin oletuskäsittelijäksi. 4. Ohjelmiston tulee olla asennettavissa XPI-paketista. 5. Ohjelmiston tulee käyttää asiakkaan tarjoamaa, XPCOM-komponenttina toteutettua, BitTorrent-moottoria. 6. Libtorrent paketoidaan XPCOM-komponentiksi. Matala prioriteetti.

5 4.1.2 Toiminnalliset järjestelmävaatimukset 1. Ohjelmiston tulee voida avata torrent ja ladata sen viittaamat tiedostot. 2. Ohjelmiston tulee osata ladata sivulle upotetut torrentfile-resurssit. 3. Ohjelmistossa tulee voida valita ladataanko tiedostot ikkunoimatonta vai ikkunoitua BitTorrent-protokollaa hyödyntäen ja myös määritellä ikkunan koko. 4. Torrent-latauksia tulee voida keskeyttää ja jatkaa. Jatkamisen tulee onnistua myös selaimen oltua välillä suljettuna. 5. Libtorrent paketoidaan XPCOM-komponentiksi. Matala prioriteetti. 4.1.3 Ei-toiminnalliset järjestelmävaatimukset 1. JavaScript-koodin tulee noudattaa Douglas Crockfordin JavaScript-ohjelmointityyliä. (http://www.crockford.com/javascript/) 2. Käyttöliittymä hyväksytetään asiakkaalla. 3. Ohjelmiston kieli on englanti. 4. Merkkijonoliteraaleja ei sijoiteta ohjelmakoodiin vaan ulkoiseen tiedostoon, jotta kääntäminen muille kielille on helppoa. 5. Käyttöohje ja ylläpitodokumentti kirjoitetaan englanniksi. 4.2 Käyttäjävaatimukset Peruskäyttäjää koskevat vaatimukset tulevat pääsääntöisesti asiakkaalta kun taas tehokäyttäjävaatimuksia on saatu asiakkaan lisäksi ryhmän jäseniltä sekä ryhmän haastattelemilta aktiivisilta BitTorrent-käyttäjiltä.

6 4.2.1 Toiminnalliset käyttäjävaatimukset 1. Upload- ja download-nopeuksille tulee pystyä asettamaan rajat, joita torrent-lataukset eivät saa yhteensä ylittää. 2. Käyttäjän tulee voida säätää torrentin viittaamien tiedostojen latausprioriteettia tiedostokohtaisesti; vähintään prioriteetella korkea, matala ja ei ladata. 3. Käyttäjän tulee voida määritellä ohjelmiston käyttämät tietoliikenneportit. 4. Käyttäjän tulee voida säätää ohjelmiston asetuksia liitännäisellä asetusdialogilla ja Firefoxin about:config-liittymällä. 5. Käyttäjän tulee voida asettaa yhtäaikaa ladattavien torrentien maksimimäärä 6. Käyttäjän tulee voida määritellä asetuksissa kuinka kauan torrentia jaetaan latauksen valmistuttua. Jakaminen tulee voida säätää Loppumaan myös ennalta-asetetun jakosuhteen täytyttyä. 7. Käyttäjän tulee voida asettaa upload- ja download-nopeuksille torrent-kohtaiset maksimit. 8. Käyttäjän tulee voida määrätä torrentien latausjärjestys, kun torrenteja on enemmän kuin yhtäaikaisesti halutaan ladata. 9. Käyttäjän on voitava säätää latauksen tallennuspaikkaa. 10. Latauksen ei tule alkaa ennen kuin käyttäjä on hyväksynyt tallennuspaikan. 11. Käyttäjän tulee voida asettaa lähetyspaikkojen (kohdekoneiden) määrä torrentia kohden. Matala prioriteetti.

7 4.2.2 Ei-toiminnalliset käyttäjävaatimukset 1. Latauksen tulee näkyä Firefoxin Download Managerissa. 2. Torrent-latauksien tulee erottua Download Managerissa tavallisista latauksista. 3. Torrent-latausten oletushakemiston tulee olla sama kuin Firefoxin tavallisten latausten oletushakemisto. 5 Järjestelmän elinkaari Ketutusryhmä käyttää ohjelmiston kehityksessä vesiputousmallia ja testaus tapahtuu V- mallin mukaan. Ryhmä kartoittaa vaatimukset haastattelemalla asiakkaan edustajaa sekä BitTorrent- käyttäjiä. Kohderyhmä valikoidaan ryhmän jäsenten tuntemien tehokäyttäjien joukosta sekä lähettämällä kyselyt Mozilla-kehitysfoorumeille. Lisäksi ryhmä itse kerää ryhmäkokouksissa ominaisuuksia, joita hyvällä BitTorrent-asiakaskäyttöliittymällä tulisi olla. Vaatimukset kootaan tähän vaadimusdokumenttiin, joka hyväksytetään asiakkaalla. Asiakkaalla hyväksytetään myös ehdotus järjestelmän käyttöliittymäksi. Vaatimusmäärittelyn ja käyttöliittymäehdotuksen valmistuttua ryhmä suunnittelee, toteuttaa sekä testaa kattavasti ohjelmiston, joka vastaa vaatimusmäärittelyä. Kaikki vaiheet dokumentoidaan. Asiakkaalle toimitetaan käyttöohje sekä ylläpitodokumentti, jossa muuta dokumentaatiota täydentäen käsitellään ohjelmiston ylläpitoon liittyviä seikkoja. Ylläpitovaihe ei kuulu ohjelmistotuotantoprojektin aikatauluun, joten ylläpito jää asiakkaan sekä mahdollisten muiden jatkokehittäjien vastuulle. Jotta jatkokehitys onnistuisi järkevästi, ryhmä tuottaa jatkokehitykseen vaikuttavat dokumentit englanniksi.