3. Spesifikaatioiden laatiminen Teknisesti ohjelmistojen tekeminen on dokumenttien tuottamista Spesifikaatio dokumentti eli speksi Mallinnustekniikat apuna kuvaamaan asioita Tekstimuotoinen tehtäväksianto hahmotelma vaatimuksista …………… ohjelmakoodi 3. Spesifikaatioiden laatiminen
3. Spesifikaatioiden laatiminen
3.1 Vaiheistus, mitä ja miten määrittely, suunnittelu, toteutus Vaatimusmäärittely, sisällön määrittely, arkkitehtuurisuunnittelu, moduulisuunnittelu, toteutus, integrointi, testaus … Jokaisessa vaiheessa Syötteenä edellisen vaiheet vaatimukset: mitä Tuloksena kuvaus, miten asiat toteutetaan (joka toimii syötteenä taas seuraavalle vaiheelle jne.) 3. Spesifikaatioiden laatiminen
3.2 Hyvien speksien merkitys Hyvä speksi on keskeisin projektin vaiheen onnistumisen tekijä Määrittelyvaiheen virheet kostautuu moninkertaisesti Hyvä speksi Täydellinen Tarkka Virheetön Ymmärrettävä ( tarkka?) Testattava Jäljitettävä Hyvä speksi ei ole onnistumisen tae 3. Spesifikaatioiden laatiminen
3. Spesifikaatioiden laatiminen 3.3 Kuvaustekniikat Kuvaustekniikka eli notaatio Esim. tietovuokaavio, tilakaavio Kieliä tai kaaviomalli, jolla esitetään erilaisia asioita Menetelmä Tapoja soveltaa kuvaustekniikoita Luonnollinen kieli, teksti Formaalit notaatiot Syntaksi Semantiikka Käytetään suunnittelutyön apuvälineenä, joiden avulla kuvausta laativat henkilöt voivat kommunikoida keskenään ja analysoida työnsä tuloksia Käytetään työn tulosten siirtämiseksi seuraavan vaiheen syötteiksi Osa kuvauksista jää elämään järjestelmädokumentissa, osa häviää siirryttäessä seuraavaan vaiheeseen. 3. Spesifikaatioiden laatiminen
3. Spesifikaatioiden laatiminen 3.4 Menetelmät Kuvaustekniikoita yhdistelemällä saadaan aikaan menetelmiä Samaa menetelmää voidaan soveltaa eri vaiheissa Eri kuvaustekniikoita käytetään useissa menetelmissä Menetelmiä ei kannata noudattaa orjallisesti Erilaisia menetelmiä Informaalit menetelmät: seinätaulutekniikka Puolifromaali menetelmä: SA-menetelmä, OMT++ Formaali menetelmä: Z, DisCo 3. Spesifikaatioiden laatiminen
3. Spesifikaatioiden laatiminen Haittoja ja hyötyjä Formaalit menetelmät + Auttavat spesifioimaan hyvin ja täydellisesti + Matemaattisia (todistaminen) Formaalit kielet vielä keskeneräisiä, vaikeita Epähavainnollisia Asema ohjelmistotyössä vielä merkityksetön 3. Spesifikaatioiden laatiminen
3. Spesifikaatioiden laatiminen 3.5 Dokumentointi Dokumenttityypit Laatukäsikirjaan liittyvät dokumentit Laatukäsikirja, ohjeistukset, dokumenttimallit, laatujärjestelmän auditointiin liittyvät raportit, pöytäkirjat Projektinhallintaan liittyvät dokumentit Sopimus, projektisuunnitelma, projektin seurantaraportit, loppuraportti Tuotedokumentit 3. Spesifikaatioiden laatiminen
3. Spesifikaatioiden laatiminen
3. Spesifikaatioiden laatiminen Ylläpitodokumentaatio Projektiaikainen dokumentaatio muuttuu tuotedokumentiksi, esim: Käyttöohje Asennus- ja operointiohje Koulutusmateriaali Tekninen dokumentaatio Yksi kuvaus yhdessä paikassa Taso sellainen, ettei ohjelmointivirheiden korjaaminen aiheuta dokumentaation korjaamista 3. Spesifikaatioiden laatiminen
3. Spesifikaatioiden laatiminen Dokumentointimallit Yhdenmukainen ulkoasu Kansilehti Tiivistelmä Sisällysluettelo Versiohistoria Osa laatujärjestelmää Dokumenttimallien laatimisen tukena IEEE standardisarja ESA standardi PSS-05-0 Issue 2 3. Spesifikaatioiden laatiminen
3. Spesifikaatioiden laatiminen 3.6 Määrittely Analyysi, määrittely, vaatimusmäärittely (jopa esitutkimus) Tehtäviä Toteutuskelpoisuuden, tarpeellisuuden selvittäminen, tavoitteiden, asettaminen , ratkaisumallin laatiminen Jaetaan usein Asiakasvaatimukset (= vaatimusmäärittely) Toteutettavan järjestelmän kartoittaminen (ohjelmistovaatimukset) Dokumenttiin liittyy sanallisia selvityksiä ja jollain notaatiolla esitettyjä kuvia ja kuvauksia erilaisista asioita (käyttötapaus, liittymäkaavio, tietovirtakaavio, luokkakaavio, ….) 3. Spesifikaatioiden laatiminen
3. Spesifikaatioiden laatiminen
3. Spesifikaatioiden laatiminen 3.7 Suunnittelu Muutetaan asiakkaan tarpeet ”tekniseksi esitykseksi”, toteutuksen kuvaukseksi Jaetaan Arkkitehtuurisuunnitteluun Jako moduuleihin rajapinnat Moduulisuunnitteluun Moduulien sisäinen rakenne Tavoitteita Selkeys, ymmärrettävyys, tehokkuus, luotettavuus, ylläpidettävyys, siirrettävyys 3. Spesifikaatioiden laatiminen
3. Spesifikaatioiden laatiminen
3. Spesifikaatioiden laatiminen 3.9 Standardit 3. Spesifikaatioiden laatiminen