Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Ohjelmistotekniikka Specifikaatiot ja dokumentointi Kevät 2002 Päivi Ovaska LTKK/Tite.

Samankaltaiset esitykset


Esitys aiheesta: "Ohjelmistotekniikka Specifikaatiot ja dokumentointi Kevät 2002 Päivi Ovaska LTKK/Tite."— Esityksen transkriptio:

1 Ohjelmistotekniikka Specifikaatiot ja dokumentointi Kevät 2002 Päivi Ovaska LTKK/Tite.

2 Speksaamisesta Speksaamisesta yleisesti Määrittelyvaihe Esimerkki

3 Motto "Ohjelmistospesifikaation lukeminen on kuin pyhän kirjan lukemista - jos lukee itsekseen voi ymmärtää miten haluaa, jos pyytää jonkun selittämään ymmärtää miten toinen haluaa, parasta olisi saada jumala(asiakas) paikan päälle selittämään mitä hän tarkoittaa." tekn.yo Jan Laakso projektityökurssilla

4 Spesifikaatio Määrittely: Mitä? Suunnittelu: Miten? Määrittelyn ja suunnittelun sisältö vaihtelee tilanteesta riippuen esim. työasemasovelluksen määrittely näyttöjä ja toimintoja, sulautettujen ohjelmistot rajapintoja antureihin ja toimilaitteisiin Määrittely ja suunnittelu (toteutus myös) specifikaatioiden laatimista Specifikaatio määrittelee, miten vaiheen syötteet, vaatimukset, muutetaan seuraavan vaiheen vaatimuksiksi

5 Ohjelmistojen tuottaminen = speksien tuottamista?

6 Speksattavat asiat (pelkistetty kuva) Spesifikaatio N spesifiointi toiminnalliset vaatimukset ei-toiminnalliset vaatimukset reunaehdot ja rajoitteet Spesifikaatio N+1 toiminnalliset vaatimukset ei-toiminnalliset vaatimukset reunaehdot ja rajoitteet Verifiointi esimerkiksi tarkastamalla vaatimukset testaussuunnitelmat edellisen version specifikaatiot

7 Täydellisen speksin/vaatimuksen ominaisuuksia kaikki tarpeellinen, ei mitään turhaa tarkkuus virheettömyys ymmärrettävyys testattavuus: miten voidaan "mitata", onko vaatimus täytetty jäljitettävyys: mistä vaatimus on peräisin, miten tärkeä se on

8 Esimerkkejä Järjestelmän käytettävissä on 64k-tavun muisti Luokalla voi siis olla vain yksi luokanvalvoja? Varaston kiertonopeus kasvaa.

9 Hyvä speksin ominaisuudet Sujuva ja selkeä kirjallinen esitys ”Jos kuukauden toteutunut myynti alittaa tavoitteet, tulostetaan raportti, ellei toteutuneen myynnin ja tavoitteen ero ole vähemmän kuin puolet edellisen kuukauden tavoitteen ja toteutuneen myynnin erosta, tai toteutunut myynti alittaa tavoitteen alle 5%” Onko selkeä speksi?

10 Kuvaustekniikat ja menetelmät Kuvaustekniikat ”kieliä” erilaisten asioiden ilmaisemiseksi esim. käyttötapauskaaviot, luokkakaaviot, tilakaaviot – suunnittelutyön apuvälineitä, työn tulosten dokumentointi Menetelmät tapoja soveltaa kuvaustekniikoita, esim. OMT Huom! UML on standardi ohjelmistojen esitystavasta. Kuvaa, miten oliopohjaisia järjestelmiä kuvataan. Ei liity varsinaisesti mihinkään menetelmään

11 Menetelmät, välineet Kuvaustekniikat: luokkakaaviot, tilakaaviot, tapahtumasekvenssikaaviot… Menetelmä = kuvaustekniikat + ohjeistus – SA/RT, OMT, Octopus, Fusion… Laatujärjestelmän kannalta dokumentointivetoista => ei suurta väliä, mikä menetelmä tuottaa dokumentit Välineet: – upper case: mallinnus & dokumentointivälineitä – lower case: sovellusten tuottaminen

12 Menetelmistä Informaalit menetelmät Puoliformaalit menetelmät Formaalit menetelmät

13 Informaalit menetelmät Seinätaulumenetelmät, jossa määriteltävät asiat kuvataan muodostamalla ratkaistavasta ongelmasta suuria selkeitä kaavioita seinälle Hyviä menetelmiä asiakasvaatimusten keräysvaiheessa

14 Puoliformaalit menetelmät Käytettyjen merkintätapojen semantiikka ei kovin tarkasti määritelty, voi tarpeen mukan soveltaa joko enemmän tai vähemmän formaalisti esimerkkeinä OMT ja SA menetelmät

15 Formaalit menetelmät Matemaattisia, usein formaaliin logiikkaan perustuvia täsmällisiä spesifiointimenetelmiä Kieli, jolla on tarkasti määritelty sanasto, syntaksi ja semantiikka esimerkkeinä Z, VDM, DisCO Auttavat spesifioimaan hyvin ja täydellisesti, voidaan todistaa ja todeta oikein toimiviksi Merkitys käytännön ohjelmistotyössä lähes olematon johtuen vaikeudesta ja epähavainnollisuudesta

16 Menetelmistä Yleisesti kaikkiin tilanteisiin soveltuvaa menetelmää ei ole olemassakaan Käytännön ohjelmistyötyössä menetelmillä ei ole niin suurta merkitystä kuin saattaisi kuvitella Aloittelevalle ohjelmistosuunnittelijalle menetelmät, ”keittokirjaohjeet” ovat tärkeitä, kokenut ohjelmistosuunnittelija pystyy sovittamaan ne kulloiseenkin tilanteeseen

17 Dokumentointi Laadukkaiden dokumenttien tuottaminen on käytännön ohjelmistotyön heikoimpia lenkkejä Dokumentointimallit ja tarkastusmenettelyt dokumentoinnin helpottamiseksi ja varmistamiseksi Yhdysvaltain puolustushallinnon projekteissa dokumentoinnin määrä on todettu projektin yleiseksi riskitekijäksi: dokumentointia yhtä ADA-kielen käskyä kohti n. 400 englannin kielen sanaa Ei dokumentointia dokumentoinnin vuoksi, vaan tilanteen mukaan, sisältö ratkaisee

18 Dokumentointi (2) 1) Mikä perusdokumentaatio on vähintään oltava: Määrittely- ja suunnitteludokumentaatio, testaussuunnitelma, testausraportti 2) Mitä nämä dokumentit pitävät sisällään Dokumentaation ylläpidettävyyden kannalta kannattaa välttää tarpeetonta redundanssia: tietty kuvaus vain yhdessä paikassa Erityisesti suunnitteludokumentaatiossa kannattaa tarkkuustaso valita niin, että ohjelmointivirheiden korjaamien ei välttämättä johda dokumentin päivittämiseen (esimerkiksi vain modulien rajapinnat, modulien sisäinen toiminta kommentteina koodissa)

19 Dokumenttityypit

20 Dokumentointi

21 Ohjelmistosuunnittelu tuotettaessa versiota k+1

22 Esimerkki: pieni ohjelmistoyritys (1)

23 Ylläpitodokumentaatio Projektin päättyessä tuotedokumentaatio muutetaan ylläpitoa palvelevaan muotoon esim. käyttöohje, asennus- ja operointiohje, koulutusmateriaali ja tekninen dokumentaatio asiakkaan tarpeiden mukaan!

24 Esimerkki: pieni ohjelmistoyritys (2)

25 Dokumentointimallit Kaikkien dokumenttien ulkoasun yhdenmukaisuus Osana laatujärjestelmän dokumentaatiota soveltamisohjeineen Tyyliopas lähdekoodin dokumentointia varten – modulin ulkoasu, muuttujien nimet, sisennykset, kommentoinnit, suosituksia työkalujen käytöstä IEEEn standardisarja ESAn standardi PSS-05-04 Issue 2 Dokumenttimallien suomenkielisiä versioita löytyy esim. http://www.cs.tut.fi/cgi- bin/laatu/sivuhaku.pl


Lataa ppt "Ohjelmistotekniikka Specifikaatiot ja dokumentointi Kevät 2002 Päivi Ovaska LTKK/Tite."

Samankaltaiset esitykset


Iklan oleh Google