VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique

Samankaltaiset tiedostot
VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique

- painottamattoman graafin solmujen järjestäminen. - painotetun graafin solmujen järjestäminen

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

TIEDONKULKU. PROJEKTITYÖ Tik Wclique

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005

6.4. Järjestyssuhteet

WCLIQUE. Ohjelmistoprojekti. Loppuraportti

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

10. Painotetut graafit

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique

Tietorakenteet ja algoritmit - syksy

T Testiraportti - integraatiotestaus

SÄHKE-hanke. Abstrakti mallintaminen Tietomallin (graafi) lukuohje

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique

8. Näppäimistöltä lukeminen 8.1

UCOT-Sovellusprojekti. Asennusohje

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

JULKISTEN VERKKOPALVELUJEN LAATUKRITEERISTÖN KONSEPTI

Kysymys: Voidaanko graafi piirtää tasoon niin, että sen viivat eivät risteä muualla kuin pisteiden kohdalla?

8. Näppäimistöltä lukeminen 8.1

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja

ELM GROUP 04. Teemu Laakso Henrik Talarmo

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

Algoritmit 1. Luento 1 Ti Timo Männikkö

Johdatus graafiteoriaan

TAMPEREEN TEKNILLINEN YLIOPISTO

Algoritmit 1. Luento 3 Ti Timo Männikkö

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

10. Painotetut graafit

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Tietorakenteet ja algoritmit

Määrittelyvaihe. Projektinhallinta

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

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Lisää pysähtymisaiheisia ongelmia

Johdatus graafiteoriaan

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Uudelleenkäytön jako kahteen

PARITUS KAKSIJAKOISESSA

8.5. Järjestyssuhteet 1 / 19

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi

A TIETORAKENTEET JA ALGORITMIT

11.4. Context-free kielet 1 / 17

Kuva Suomen päätieverkko 1 Moottoritiet on merkitty karttaan vihreällä, muut valtatiet punaisella ja kantatiet keltaisella värillä.

TOIMINNALLINEN MÄÄRITTELY MS

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 17. marraskuuta 2009

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

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

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

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

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

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

Lyhyt kertaus osoittimista

Valppaan asennus- ja käyttöohje

58160 Ohjelmoinnin harjoitustyö

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

WCLIQUE Ohjelmistoprojekti. Projektisuunnitelma

Ohjelmoinnin peruskurssi Y1

Harjoitus 5 (viikko 48)

Loppukurssin järjestelyt

S09 04 Kohteiden tunnistaminen 3D datasta

Harjoitus 1 ( )

Harjoitus 3 -- Ratkaisut

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

Kasvatustieteet

Algoritmit 1. Luento 9 Ti Timo Männikkö

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

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

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

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.

CUDA. Moniydinohjelmointi Mikko Honkonen

A TIETORAKENTEET JA ALGORITMIT

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

Tietueet. Tietueiden määrittely

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

Harjoitus 3 ( )

811120P Diskreetit rakenteet

Turingin koneen laajennuksia

T Testiraportti - järjestelmätestaus

Liikkuva-sovellusprojekti

Julkisen hallinnon kokonaisarkkitehtuuri

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Loppukurssin järjestelyt C:n edistyneet piirteet

Algoritmit 2. Luento 13 Ti Timo Männikkö

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit

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

KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA

Transkriptio:

VAATIMUSMÄÄRITTELY PROJEKTITYÖ Tik-76.115

SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 3 1. JOHDANTO... 4 1.1 Algoritmi... 4 1.2 Graafi... 4 1.3 Nauty... 5 1.4 Mermaid... 5 2. YLEISKUVAUS... 6 3. TOIMINNOT ja VAATIMUKSET... 7 3.1 Painottamattomien graafien vaatimukset... 7 3.1.1 Painottamattoman maksimiklikin koko... 7 3.1.2 Yhden maksimiklikin laskeminen... 7 3.1.3 Kaikkien maksimiklikkien laskeminen... 7 3.1.4 Yhden klikin laskeminen kokoa S... 8 3.1.5 Kaikkien klikkien laskeminen kokoa S... 8 3.1.6 Yhden klikin laskeminen vähintään kokoa S... 8 3.1.7 Kaikkien klikkien laskeminen vähintään kokoa S... 8 3.1.8 Solmujen järjestäminen... 8 3.1.9 Ensisijaiset "olisi hienoa" -ominaisuudet... 8 3.1.9.1 Klikkien laskenta annetulla solmujen määrällä... 8 3.2 Painotettujen graafien vaatimukset... 9 3.2.1 Painotetun maksimiklikin koko... 9 3.2.2 Yhden maksimiklikin laskeminen... 9 3.2.3 Kaikkien maksimiklikkien laskeminen... 9 3.2.4 Yhden klikin laskeminen kokoa S... 9 3.2.5 Kaikkien klikkien laskeminen kokoa S... 9 3.2.6 Yhden klikin laskeminen vähintään kokoa S... 9 3.2.7 Kaikkien klikkien laskeminen vähintään kokoa S... 9 3.2.8 Eri syöteformaattien lukeminen... 9 3.2.9 Solmujen järjestäminen... 10 4. MUUT OMINAISUUDET... 10 4.1 Tehokkuus ja käytettävyys... 10 4.2 Kieli ja kieliasu... 10 4.3 Siirrettävyys... 10 4.4 Käyttökirja... 10 4.5 Testaaminen... 10 4.6 Jatkokehitys... 10 Liite: Use Case kuva... 11

VERSIOHISTORIA Versio Päivämäärä Laatija Kuvaus 1.0-2 22.10.2000 Dufva Proposal 1.1-0 21.11.2000 Dufva First draft 1.1-2 12.12.2000 Dufva Second draft 1.1-3 01.04.2001 Dufva Third draft 1.1-4 19.04.2001 Dufva Fourth draft 1.2 20.04.2001 Dufva Edited according to comments received from Patric Östergård and Harri Haanpää

VAATIMUSMÄÄRITTELY 4 (11) 1. JOHDANTO Tässä dokumentissa kuvataan ohjelman asiakkaan vaatimuksia. Dokumentti koostuu johdannosta, jonka alaotsikoissa on kerrottu termeistä, jotka saattavat olla ennestään vieraita. Yleiskuvauksessa on mainittu toteutustyökalut, liittymät muihin ohjelmiin ja käyttöympäristön. Toiminnot luvussa kuvataan järjestelmältä vaadittavat ominaisuudet yleisellä tasolla. Neljännessä luvussa mainitaan muista ohjelman ominaisuuksista kuten suorituskykytoiveista ja käytettävyydestä. Liitteenä on Mermaid -ohjelmalla muodostettu UML -kuvaus ohjelman vaatimuksista. Se että käytetäänkö UML -kuvausta toiminnallisessa määrittelyssä on epävarmaa, koska vaatimukset ovat tyypiltään sellaisia, ettei UML anna toiminnalliseen määrittelyyn suurta informatiivista hyötyä. Tavoitteena -ohjelmassa on muodostaa algoritmille toimiva ympäristö, jolloin algoritmin käyttö helpottuu ja algoritmille voidaan luoda uusia käyttötapoja. Ohjelmasta on olemassa jo alustava prototyyppi, jossa on jo jotain ominaisuuksia painavimman klikin löytämiseksi. Sen voi ladata osoitteesta: http://www.tcs.hut.fi/ ~ pat/wclique.html 1.1 Algoritmi Algoritmi jonka ympärille ohjelma rakennetaan on julkinen ja algoritmin toimintaa on kuvattu Internetissä seuraavissa dokumenteissa: "A Fast Algorithm for the Maximum Clique Problem" http://www.tcs.hut.fi/ ~ pat/paper1.ps "A New Algorithm for the Maximum-Weight Clique Problem" http://www.tcs.hut.fi/ ~ pat/paper2.ps Algoritmilla voidaan ratkaista olemassa olevasta graafista asioita joista ollaan kiinnostuneita. Luvussa 1.2 on lyhyt selvitys siitä mikä on graafi. Algoritmi on muodostettu pseudokielellä ja yksi projektin kohteista on muuttaa se C -kielellä toimivaksi. 1.2 Graafi Useissa yhteyksissä tarkastellaan joukkoa solmuja tai tiloja, joista joko on tai ei ole mahdollista siirtyä välittömästi toinen toisiinsa. Tyypillisiä esimerkkejä tällaisista ovat kartta, johon on merkitty kaupunkeja, sekä näiden väliset suorat liikenneyhteydet, tietokoneohjelman kulkua kuvaava vuokaavio ja sukupuut. Graafi, eli verkko G = ( V, E ) muodostuu äärellisistä joukoista V ja E, joista V on ns. solmujen joukko (solmuista

VAATIMUSMÄÄRITTELY 5 (11) käytetään myös joissain yhteyksissä nimityksiä kärki tai piste), ja E on sivujen joukko (käytössä myös nimitykset kaari ja haara). Jotta edellinen lause hiukan selkenisi niin Kuva 1 on esitetty kaksi graafia. A-graafi on painottamaton (unweighted) ja b-graafi on painotettu (weighted), jossa solmun paino on sulkujen sisällä. Klikki tarkoittaa yhteyttä usean solmun välillä. ohjelma ei ota kantaa, kuten Nauty ohjelma, siihen onko graafi suunnattu vai suuntaamaton. A-kohdassa maksimiklikin koko on kuusi, b-kohdan graafin maksimiklikin koko on 26. 1 1(1) 2 3 2(8) 3(2) 4 5 4(6) 5(4) 6 Graafi a 6(5) Graafi b Kuva 1. Kaksi graafia. 1.3 Nauty Nauty on C kielellä tehty ohjelma jolla voidaan muodostaa automorfisia ryhmiä sekä graafeille että suunnatuille graafeille. Se myös pystyy muodostamaan kanonisia nimiöintejä. Nauty on vapaasti tieteellisissä tarkoituksissa käytettävä ohjelma jonka ohjelmakoodi on julkinen. Nauty ohjelma voidaan ladata osoitteesta: http://cs.anu.edu.au:80/people/bdm/nauty/ 1.4 Mermaid Mermaid on Nokialla käytetty ohjelma jolla voidaan luoda UML kuvaus ohjelmalle (ks. liitteenä oleva Mermaidilla tehty UML kuvaus vaatimuksista). Ideana on että esim. yhtä vaatimus soikiota klikattaessa, päästään tarkempiin määrittelyihin, jotka kuuluisivat toiminnalliseen määrittelyyn.

VAATIMUSMÄÄRITTELY 6 (11) 2. YLEISKUVAUS Projektityön aihe on ohjelma, josta tulee tieteellisessä käytössä vapaasti käytettävä, eli lähdekoodi on julkinen. Ohjelmatyö tehdään Patric Östergårdille, jonka toimittamassa PostScript dokumentissa:, Patric Östergård, September 28, 2000 on määritelty toivomuksia ohjelmasta. Projektityön koodi tehdään Ansi-C muodossa jolloin se on käyttöjärjestelmästä riippumaton. Ohjelmaa käytetään pääasiassa Unix/Linux käyttöjärjestelmässä jolloin pääosin ohjelman testaus tehdään Nokian tietokoneissa, joissa on Linux käyttöjärjestelmä. Tarvittaessa TKK:n Tietojenkäsittelyteorianlaboratorio on myös käytettävissä. Lopuksi pyritään varmistamaan ohjelman toiminta myös Windows pohjaisissa käyttöjärjestelmissä. Syöte jota en annetaan tulee olla ascii- tai binäärimuotoista, komentoriviparametrit ovat asciita. Tuloste jota sta saadaan on asciimuotoista. Kuva 2 on esitetty syöte- ja tulosteformaatit esimerkkigraafista. 4(3) Esimerkkigraafi 1(1) 2(8) 6(6) 8(5) 3(2) 7(4) 5(3) Syöteformaatti (Dimacsin ascii) c input_jd_w c weighted graph p clq 8 20 e 1 2 e 1 3 e 1 6 e 1 7 e 1 8 e 2 3 e 2 4 e 2 5 e 2 6 e 2 7 e 2 8 e 3 5 e 3 6 e 3 7 e 3 8 e 5 6 e 5 7 e 6 7 e 6 8 e 7 8 n 1 1 n 2 8 n 3 2 n 4 3 n 5 3 n 6 6 n 7 4 n 8 5 c input_jd_uw c unweighted graph p clq 8 20 e 1 2 e 1 3 e 1 6 e 1 7 e 1 8 e 2 3 e 2 4 e 2 5 e 2 6 e 2 7 e 2 8 e 3 5 e 3 6 e 3 7 e 3 8 e 5 6 e 5 7 e 6 7 e 6 8 e 7 8 n 1 1 n 2 1 n 3 1 n 4 1 n 5 1 n 6 1 n 7 1 n 8 1 Tulosteformaatti 3 5 6 7 3 6 7 8 2 3 5 6 2 3 5 7 2 3 6 7 2 3 6 8 2 3 7 8 2 5 6 7 2 6 7 8 1 2 3 6 1 2 3 7 1 2 3 8 1 2 6 7 1 2 6 8 1 2 7 8 1 3 6 7 1 3 6 8 1 3 7 8 1 6 7 8 Kuva 2. n syöte- ja tuloste formaatit. Projektityön päätarkoitus ei ole kehittää itse algoritmia. Jos kuitenkin algoritmi tarvitsee pientä "viilaamista", algoritmin muodostamisessa pseudokielestä syntyy ongelmia tai algoritmi tarvitsee jatkokehitystä, niin yhteyshenkilönä asiakkaan puolelta toimii Harri Haanpää.

VAATIMUSMÄÄRITTELY 7 (11) 3. TOIMINNOT JA VAATIMUKSET Ensisijainen päämäärä tässä projektissa on muodostaa toimiva käyttöympäristö algoritmille, jota voidaan kutsua toisesta C kielellä tehdystä ohjelmasta komennolla wclique. Tämä tapahtuu tuottamalla aliohjelmakirjasto, jolla voidaan etsiä klikkejä graafeista. Toissijainen tarkoitus on tuottaa aliohjelmakirjastoon perustuva komentoriviltä ajettava ohjelma, joka ratkoo samoja ongelmia. Ohjelman tulee toimia Unix/Linux käyttöjärjestelmässä yhdessä Nauty ohjelman kanssa ilman ongelmia. Alla on esimerkki C kielen rutiini, eli kuinka ohjelmaa voidaan kutsua. #include "wclique.h"... main() {... /* define graph */... wclique(...); /* process results */... } n tulee ainakin sisältää ensisijaiset vaatimukset, jotka käsittelevät painottamattomia ja painotettuja graafeja (kappaleet 3.1.1-3.1.7 ja 3.2.1-3.2.7). Kuvassa 1 on esitetty mitä tarkoitetaan painotetulla ja painottamattomalla graafilla. 3.1 Painottamattomien graafien vaatimukset 3.1.1 Painottamattoman maksimiklikin koko Haluttaessa tietää graafin ominaisuuksista maksimiklikin koko, ohjelman tulee hakea se. tulostaa vastauksena solmujen määrän. 3.1.2 Yhden maksimiklikin laskeminen -ohjelman tulee laskea pyydettäessä yksi maksimiklikki. 3.1.3 Kaikkien maksimiklikkien laskeminen -ohjelman tulee laskea pyydettäessä kaikki maksimiklikit.

VAATIMUSMÄÄRITTELY 8 (11) 3.1.4 Yhden klikin laskeminen kokoa S n tulee hakea yhden luokkaa S olevan klikin solmupisteet. 3.1.5 Kaikkien klikkien laskeminen kokoa S n tulee hakea kaikkien niiden klikkien solmupisteet, jotka ovat kooltaan luokkaa S. 3.1.6 Yhden klikin laskeminen vähintään kokoa S n tulee hakea solmupisteet yhdestä klikistä joka on vähintään luokkaa S. 3.1.7 Kaikkien klikkien laskeminen vähintään kokoa S n tulee hakea kaikkien niiden klikkien solmupisteet, jotka ovat kooltaan vähintään luokkaa S. Kohdissa 3.1.1-3.1.7 mainituista kaikkien klikkien laskemisesta: Jos halutaan vain yksi tietynlainen klikki, ohjelma tulostaa sen. Jos pyydetään ohjelmaa hakemaan kaikki tiettyä tyyppiä olevat klikit ei tällainen lähestymistapa välttämättä ole mahdollinen (niitä voi olla miljoonittain). Silloin ohjelma kutsuu jokaisen löydetyn klikin kohdalla funktion. Tämän funktion nimi on wclique- rutiinin parametreina ja käyttäjä luo itse kyseisen funktion. Vrt. qsort() lajittelurutiini C-kielessä missä funktio, joka vertaa kahta alkiota, on annettu parametrina. 3.1.8 Solmujen järjestäminen n pitää pystyä järjestämään uudelleen graafin solmut. 3.1.9 Ensisijaiset "olisi hienoa" -ominaisuudet 3.1.9.1 Klikkien laskenta annetulla solmujen määrällä n tulisi laskea yksi tai kaikki klikit annetulla solmujen määrällä, tietyin määrävälein, esimerkiksi: 0-1000: 2 solmua 1001-1939: 3 solmua Tämä vaatimus on ns. "Olisi hienoa" -ominaisuus ja ei kuulu ehdottomasti vaadittuihin ohjelman ominaisuuksiin.

VAATIMUSMÄÄRITTELY 9 (11) 3.2 Painotettujen graafien vaatimukset 3.2.1 Painotetun maksimiklikin koko Haluttaessa tietää graafin ominaisuuksista maksimiklikin koko, ohjelman tulee hakea se. Tulosteena palauttaa maksimiklikin painoarvon. 3.2.2 Yhden maksimiklikin laskeminen -ohjelman tulee laskea pyydettäessä yksi maksimiklikki. 3.2.3 Kaikkien maksimiklikkien laskeminen -ohjelman tulee laskea pyydettäessä kaikki maksimiklikit. 3.2.4 Yhden klikin laskeminen kokoa S n tulee hakea yhden luokkaa S olevan klikin solmupisteet. 3.2.5 Kaikkien klikkien laskeminen kokoa S n tulee hakea kaikkien niiden klikkien solmupisteet, jotka ovat kooltaan luokkaa S. 3.2.6 Yhden klikin laskeminen vähintään kokoa S n tulee hakea niiden kaikkien klikkien määrä, jotka ovat kooltaan luokkaa S tai enemmän. 3.2.7 Kaikkien klikkien laskeminen vähintään kokoa S n tulee hakea kaikkien niiden klikkien solmupisteet, jotka ovat kooltaan vähintään luokkaa S. 3.2.8 Eri syöteformaattien lukeminen Ohjelman tulee pystyä lukemaan dimacsin ascii ja binaari syöteformaatteja. Syöte ja tulostetiedoston ulkoasu on esitetty kuvassa 2. Tarkempaa tietoa syötteen sisällöstä saa osoitteesta: http://www.tcs.hut.fi/ ~ pat/wclique.html

VAATIMUSMÄÄRITTELY 10 (11) 3.2.9 Solmujen järjestäminen n pitää pystyä järjestämään uudelleen graafin solmut. 4. MUUT OMINAISUUDET 4.1 Tehokkuus ja käytettävyys Vaatimus n tehokkuus ominaisuuksista on, että ohjelma toimii vähintään yhtä nopeasti kuin Patric Östergårdin n protoversio. Ohjelman käytettävyys tulisi olla samalla tasolla kuin Brendan McKayn Nauty ohjelmassa. 4.2 Kieli ja kieliasu Ohjelmakoodin kommentointi tehdään englanniksi mahdollisimman selkeästi jotta jatkokehitys olisi helppoa ja koodi ymmärrettävää. 4.3 Siirrettävyys Tuotteen on oltava arkkitehtuuri riippumaton ja vaivattomasti käännettävissä ANSI C yhteensopivalla kääntäjällä erilaisissa Unix-koneissa ja mielellään myös Windows-koneissa. 4.4 Käyttökirja Käyttökirja toimitetaan englannin kielellä LaTex formaatissa. Käyttökäsikirjassa on selkeästi ja kattavasti dokumentoitava, miten tuotetta käytetään aliohjelmakirjastona ja miten sitä käytetään komentoriviltä. 4.5 Testaaminen Tuote tulee testata huolellisesti. Testaus tulee suorittaa tieteellisesti oikealla tavalla, jotta tulokset ovat luotettavia. 4.6 Jatkokehitys Tehdyt ratkaisut on dokumentoitava niin hyvin että jatkokehittelijä voi pelkän dokumentaation perusteella suunnitella, miten toteuttaa haluamansa muutokset.

VAATIMUSMÄÄRITTELY 11 (11) LIITE: USE CASE KUVA Use case kuva ohjelman vaatimuksista.