Squid-projekti TARKASTUSPÖYTÄKIRJA 22.3.2005 Tarkastuksen aika ja paikka 22.3.2005 klo 10:15 Exactum, sali C221 Alkoi klo 10:19 ja päättyi klo 11:59 Osallistujat Jenni Valorinta (ohjaaja) Esko Luontola (projektipäälikkö) Mikko Jormalainen Samuli Kaipiainen Aki Korpua Aki Sysmäläinen Poissa Ei poissaolijoita. 1. Avaus Esko avasi kokouksen 10:19. 2. FTR Esko kertasi FTR-kokouksen toimintatavan. Tarkastettiin suunnitteludokumentti esityslistan mukaisesti. Yhteensä löytyi 79 puutetta tai virhettä. (Esityslista ja korjattavat asiat kokouksen kulun jälkeen.) 3. Muut asiat suunnitteludokumentista Jokainen korjaa itse suunnittelemansa osat. Jos ei ehdi korjaamaan, niin lähettää muille sähköpostia tai ilmoittaa asiasta irc-kanavalla. Jenni kertoi FTR:n ulkopuolisista korjauksista: 3. lukuun palikkapiirrustus koko järjestelmästä (4.luvun kaaviot antavat koko järjestelmästä tällä hetkellä vasta pirstaleisen kuvan). 3. luvun 2. kappaleen alussa sanotaan "Software is split in two main parts" - tarvitaan selkeämpi kuvaus siitä, mitä nämä osat ovat. 7. luvun 1. kappaleen "OHTU-projects" -teksti vastaavalla tavalla kuin dokumentin 1. luvussa. 2. kappaleessa kerrotaan unit-testauksesta - onko jotain tapaa tarkastaa ja tietää, mitä on tarkastettu, onko testaus suoritettu ja onnistunut. 3. kappaleessa seuraavat kohdat tarkemmaksi: "It will be done by *going throug* all..", "..checking that *all sections* in requirements document *can be done*. *Some critical sequences*..", "..program should *be done*." s.85 viimeisessä kappaleessa "we will do *critical measurement* with..". 7. lukuun (tai erilliseen dokumenttiin) tarvitaan testiraportin muodon kuvaus, testauksen vaiheiden kuvaus ja testitapaukset. Mallia kannattaa katsoa sekä assari- että populous-ryhmiltä. 4. Tehtävät ensi viikon torstaihin 31.3. mennessä Jenni kirjoittaa pöytäkirjan ja toimittaa sen muille ti 22.3. aikana. Suunnitteludokumentin korjaukset valmiiksi pe 25.3. mennessä. Koodaus tulisi olla hyvässä vauhdissa to 31.3. mennessä. Aki voisi jakaa GUI-komponentteja muille. Jenni kehoitti keskittymään olennaisimpien osien toteuttamiseen ensimmäiseksi. Esim. kälin koodaaminen kannattaa aloittaa heti. Esko lähettää sähköpostitse prioriteettaja koodaukseen. Esko kehoitti Mikko päivittämään tuntilistansa ajan tasalle. 5. Kokouksen päättäminen Esko päätti kokouksen 11:59. Tarkastettu tuotos Suunnitteludokumentti 0.8, luvut: 4 Architecture description (Tarkastusvastuu: Aki S, Aki K) Kokonaan (sivut 2-11), 8 sivua 5.1 Project data (Tarkastusvastuu: Samuli, Mikko) Project-luokan kuvaus (sivu 12), tiedostojen luonti/lataus/tallennus (sivut 16-18), mittausaskeleiden lisäys/poisto/luku (sivut 21-22), arvojen lukeminen (sivut 22 ja 33-34), mittauksen kontrollointi (sivut 23-24) ~8 sivua 5.2 Squid interface (Tarkastusvastuu: Esko, Samuli Luokkakuvaukset, julkiset metodit (sivut 38-49, ei private-tavaraa) ~5 sivua 5.3 Serial communication (Tarkastusvastuu: Mikko, Aki K) Kokonaan (sivut 52-55), 3 sivua 6.7 Sequence and measurement data (Tarkastusvastuu: Esko, Aki S) Kokonaan (sivut 76-78), 3 sivua Tarkistuslista S1 Viittaukset ovat oikein, ei puuttuvia viittauksia "??" S2 Suunnittelu on yhtenäistä (~samalla abstraktiotasolla?) S3 Vaatimukset vastaavat suunnittelua S4 Kaikki käyttötapaukset voidaan suorittaa S5 Kaikki suunnitelman osat ovat toteutettavissa S6 Kaikki suunnitelman osat ovat testattavissa SL1 Luokkakaaviot ovat oikein ja muun suunnitelman mukaisia SL2 Jokaisella luokalla on kuvaus ja tarpeelliset lisätiedot SL3 Luokkien kaikki ei-triviaalit tapahtumat (eventit) on kuvattu SL4 Luokan ei-triviaaleilla kentillä on kuvaus SL5 Jokaisella metodilla on kuvaus SL6 Ei-triviaaleilla (vai kaikilla?) metodin parametreilla on kuvaus SL7 Ei-triviaali virheenkäsittely on kuvattu SL8 Luokilla tarpeelliset metodit Tyyppimerkinnät V selvä vakava virhe (asia ilmaistu väärin) T tulkinnanvarainen virhe (epäselvää tekstiä) P puute (jotain puuttuu) Todetut puutteet Nro Luku Sivu Mom. Tyyppi Tunnus Kuvaus 1 4.1.2 3 1 P SL1 Luokkakaavio ei vastaa Squid-interfacen sisältöä. (Magnetometer-luokasta puuttuu metodeja, Handler-luokasta puuttuu join- metodi.) 2 4.1.2 3 1 P S1 Figure-teksti puuttuu. Joko kaikille kaavioille nimi, tai nimi pois kaikilta kaavioilta. 3 4.1.2 3 1 T S2 Look other diagrams -teksti samalla tavalla kuin muualla. Tarvitaan tieto, mihin viitataan. 4 4.1.2 3 1 P S2 Miten kaaviot liittyvät toisiinsa? 5 4.1.1? 4 1 T S2 Details elsewhere -teksti samalla tavalla kuin muualla. Tarvitaan tieto, mihin viitataan. 6 4.1.2 5 1 T S2 Tarkennus, mitä It tarkoittaa lauseessa "It holds three subclasses.." 7 4.1.3 5 1 P S1 Figure-teksti puuttuu. Joko kaikille kaavioille nimi, tai nimi pois kaikilta kaavioilta. 8 4.1.4 5 1 P S1 Figure-teksti puuttuu. Joko kaikille kaavioille nimi, tai nimi pois kaikilta kaavioilta. 9 4.1.4 5 1 P S2 Tyyppi SerialIO-luokan LastMessage-parametrille. 10 4.1.4 5 1 T S2 SerialIO- ja SerialIOEvent-luokkien välinen viiva katkoviivaksi ja nuoli. 11 4.1.4 5 1 T SL1 SerialParameters- ja SerialIO-luokkien yhteydet osoittamaan Degausser-, Handler- ja Magnetometer -luokkiin. 12 4.1.4 6 1 T S2 2.rivillä Ikayaki-tekstin sijaan program. 13 4.1.6 6 1 T S2 Luokan kuvausteksti tarkemmaksi ja selkeämmäksi. (Miscellaneous classes, nowhere in particular) 14 4.2 7 1 T S2 Details in other diagram -teksti samalla tavalla kuin muualla. Tarvitaan tieto, mihin viitataan. 15 4.2 7 1 P SL1 SettingsPanel-luokkaa ei ole kuvattu muualla. 16 4.2.1 6 1 T S1 Figure 1 ei liity enää tähän. 17 4.2.2 8 1 P S2 Main Window-luokan kuvausteksti puuttuu. 18 4.2.2 8 1 P SL1 MainViewPanel-metodista puuttuu metodi changeProject. 19 4.2.2 8 1 T S2 Look other diagrams -teksti samalla tavalla kuin muualla. Tarvitaan tieto, mihin viitataan. 20 4.2.2 8 1 P S1 Figure-teksti puuttuu. Joko kaikille kaavioille nimi, tai nimi pois kaikilta kaavioilta. 22 4.2.3 8 1 P S1 Figure-teksti puuttuu. Joko kaikille kaavioille nimi, tai nimi pois kaikilta kaavioilta. 23 4.2.3 8 2 T Kuvaus, mitä standard tarkoittaa (viitataan suoraan luokan nimellä). 23 4.2.3 8 2 T dir-tekstin sijaan teksti directory. 24 4.2.5 9 1 P S1 Figure-teksti puuttuu. Joko kaikille kaavioille nimi, tai nimi pois kaikilta kaavioilta. 25 4.2.6 9 1 P S1 Figure-teksti puuttuu. Joko kaikille kaavioille nimi, tai nimi pois kaikilta kaavioilta. 26 4.2.6 9 1 T S2 Luokkakaavio eri näköinen -> ei korjata. 27 4.2.7 9 1 P S1 Figure-teksti puuttuu. Joko kaikille kaavioille nimi, tai nimi pois kaikilta kaavioilta. 28 4.2.7 9 1 P SL1 MeasurementSequencePanel-luokasta puuttuu SetProject -metodi. 29 4.2.7 9 1 T S2 Kaikista luokista puuttuu konstruktorit. 30 4.2.8 10 1 P S1 Figure-teksti puuttuu. Joko kaikille kaavioille nimi, tai nimi pois kaikilta kaavioilta. 31 4.2.9 10 1 P S1 Figure-teksti puuttuu. Joko kaikille kaavioille nimi, tai nimi pois kaikilta kaavioilta. 32 4.2.10 11 1 P S1 Figure-teksti puuttuu. Joko kaikille kaavioille nimi, tai nimi pois kaikilta kaavioilta. 33 4.2.10 11 1 T SL1 MeasurementGraphsPanel-luokan plot-parametrille AbstractPlot. 34 4.2.10 11 1 V S4 AbstractPlot-luokka ei saa tehtyä IntensityPlottia pelkillä addMeasurement-metodin declination ja inclination -muuttujilla. Parametrina esim. Measurement-olioita. 35 4.2.10 11 1 P SL2 Measurement-olion kuvaus puuttuu. 36 4. 11 1 T S2 Osioiden kuvaukset samalla tarkkuudella. 37 5 12 1 P Johonkin teksti, miten luokat on kuvattu ja mikä on rakenne. 38 5 12 1 P S2 Luvun kuvaus lisättävä. 39 5.1 12 1 P S2 Luvun kuvaus lisättävä. 40 5.1.1 12 P S4 Tarvitaan event projekti-tiedoston tallentamiselle. 41 5.1.1 16 1 T S4 createCalibrationProject-metodin yhteydessä täytyy tarkistaa, mitä eri kalibrointeja tarvitaan. 42 5.1.1 21 3,5,6 P S2 void muutetaan booleaniksi metodeissa addSequence, 22 1,2 addStep, addStep, removeStep, removeStep. 43 5.1.1 24 1 T S2 doAbort-metodin kuvauksessa mainitaan turhaan "enable manual control". 44 5.1.1 24 2,3,4 T S4 Metodin suorituksen aikana ei vielä tiedetä "true if the operation was completed". 45 5.2 38 1 P S2 Luvun kuvaus lisättävä. 46 5.2.1 38 1 T S1 interface-sana vaihdetaan toiseen sanaan. 47 5.2.2 40 1 T S2 Event A:n IO message vaihdetaan serial IO event:ksi. 48 5.2.2 41 9 T SL8 demagnetize-metodi jaetaan z- ja y-metodeiksi. 49 5.2.2 41 9 T S6 Pitääkö parameter 2:n x,y,z kirjoittaa isolla vai pienellä? 50 5.2.2 41 9 T SL1 Virhekäsittelyn kuvaus, jos x,y,z ovat vääriä. 51 5.2.2 41 10 V SL6 getStatus-metodin String-tyyppi muutetaan toiseksi. 52 5.2.2 41 10 P SL6 getStatus-metodin kaikki tiedot täytyy eritellä. 53 5.2.3 44 3 P SL6 getStatus-metodin String-tyyppi muutetaan toiseksi. 54 5.2.3 44 3 P SL8 getStatus-metodi pitaisi jakaa. 55 5.2.3 44 6 T SL8 moveToDegausser-metodi pitaisi jakaa z ja y osiin. 56 5.2.3 44 5-9 T metodeihin moveToHome, moveToDegausser, moveToMeasurement, moveToBackground ja moveToPos maininta, etta aloittavat liikkeen. 57 5.2.3 44 11 T SL7 rotateTo-metodin angle-parametrin arvo pitaisi olla 0-360. 58 5.2 44 P S2 Pitaisiko kaikkien squid-rajapinnan luokkien olla synkronoituja? Synkronointi pitaa selvittaa. 59 5.2.4 47 1 T SL2 Syntaksi pois ("The package is as follows .. "). 60 5.2.4 49 1-5 T SL6 Onko axis-parametri upper vai lower case? 61 5.2.4 49 4,5 P SL5 Metodeissa openLoop ja clearFlux teksti "Need to be done" - Pitaako Project-luokan huolehtia vai pitaisiko olla private? Tama selvitettava. 62 5.2.4 49 7 T SL6 Metodissa readData hyva kertoa, missa jarjestyksessa data taulukossa. 63 5.2.4 49 8 P SL8 getStatus-metodi pitaisi jakaa useampaan osaan. 64 5.4 52 1 P S2 Luvun kuvaus lisattava. 65 5.4.1 53 3 V SL5 getLastAnswer-metodin kuvaus korjattava. 66 6.7 76 1 P S2 Luvun kuvaus lisattava. 67 6.7.1 76 1 T S2 Event B:n, Event F:n, Event G:n pitaisi lisata Project-luokkaan. 68 6.7.1 76 1 T S2 Event F:n mittausdatat menevat suoraan Project-luokkaan. ProjectPanel ei sisalla mitaan. 69 6.7.1 77 2 P SL8 MeasurementSequencePanel-metodi tarpeeton. 70 6.7.1 77 4 P SL1 setProject-metodi luokkakaavioon. 71 6.7.1 77 4 T S2 setProject-metodiin lisaa selitysta, mika on oikea rivi. 72 6.7.2 77 1 T S2 shownColumns: Mihin TableColumns-luokkaa kaytetaan? (Sarakkeiden lisayksen ja poiston pitaisi olla jatkossa joustavaa.) 73 6.7.2 78 1 T S2 allColumns: Mihin TableColumns-luokkaa kaytetaan? (Sarakkeiden lisayksen ja poiston pitaisi olla jatkossa joustavaa.) 74 6.7.2 78 2 P S4 Miten TableModel saa yhteyden Project-luokkaan MeasurementSequenceTableModel-metodista? 75 6.7.2 78 2 P S2 MeasurementSequenceTableModel-metodissa pitaisi kertoa ylikuormitettavat metodit. 76 6.7.2 78 3 P SL6 showColumn-metodin parametrien arvojoukot pitaisi kuvata. 77 6.7.2 78 4 P SL6 hideColumn-metodin parametrien arvojoukot pitaisi kuvata. 78 6.7.3 78 1 T S2 MeasurementSequencePopupMenu-luokan kuvaus tarkemmaksi. 79 6.7.3 78 P S4 Tarvittavat metodit: tallenna koko sekvenssi, tallenna valittu sekvenssi, poista askeleet.