1 / 25

Ohjelmistotekniikka Specifikaatiot ja dokumentointi

Ohjelmistotekniikka Specifikaatiot ja dokumentointi. Kevät 2002 Päivi Ovaska LTKK/Tite. Speksaamisesta. Speksaamisesta yleisesti Määrittelyvaihe Esimerkki. Motto. "Ohjelmistospesifikaation lukeminen on kuin pyhän kirjan lukemista -

zazu
Download Presentation

Ohjelmistotekniikka Specifikaatiot ja dokumentointi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OhjelmistotekniikkaSpecifikaatiot 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 Spesifikaatio N+1 reunaehdot ja reunaehdot ja rajoitteet rajoitteet ei-toiminnalliset ei-toiminnalliset vaatimukset spesifiointi vaatimukset vaatimukset toiminnalliset toiminnalliset vaatimukset vaatimukset testaussuunnitelmat Verifiointi edellisen version specifikaatiot esimerkiksi tarkastamalla

  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

More Related