Määrittely- ja suunnittelumenetelmät

Samankaltaiset tiedostot
Toteutusvaihe T2 Edistymisraportti

Projektityö

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistojen mallintaminen, kesä 2009

Menetelmäraportti Ohjelmakoodin tarkastaminen

Vaatimusten hallinta ja vaatimusmäärittely

Ohjelmistotekniikan menetelmät, kevät 2008

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Määrittelyvaihe. Projektinhallinta

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Ohjelmistojen mallintaminen, mallintaminen ja UML

Toteutusvaihe T3 Digi-tv: Edistymisraportti

PS-vaiheen edistymisraportti Kuopio

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

käyttötapaukset mod. testaus

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Dokumentointi ketterissä menetelmissä

Tietojärjestelmän osat

Unified Modeling Language

Vaatimustenhallinta. Exit

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

GroupDesk Toiminnallinen määrittely

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Projektityö

Opetussuunnitelmien ja tutkintojen perusteiden rakenteistaminen

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely

Käyttötapausanalyysi ja testaus tsoft

Ohjelmistotekniikka - Luento 2

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä

UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI

Johdatus sovellussuunnitteluun, s2000, osa3 Helsingin yliopisto;/tktl. Harri Laine 1. Järjestelmän palvelujen määrittely

Ohjelmistotekniikan menetelmät, UML

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Ohjelmistotuotteen hallinnasta

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

Prosessiajattelu. Organisaation prosessikuvaus - CMMI. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessien määritys CMMI käytänteet

Johdanto. Mitä on ohjelmistotuotanto? Tämän kurssin näkökulma. Sami Kollanus TJTA330 Ohjelmistotuotanto

Mitä on ohjelmistotuotanto?

Ohjelmistojen mallintaminen, kesä 2010

Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Yhteenveto. Menettelytavat

Visual Case 2. Miika Kasnio (C9767)

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Siltatiedon tarkkuustason määrittäminen Taitorakennerekisterissä. Maria Vinter

Vaatimusten keräys ja hallinta

Johdatus sovellussuunnitteluun, s2001, osa 3 Helsingin yliopisto / TKTL. Harri Laine / Inkeri Verkamo 1. Järjestelmän palvelujen määrittely

Johdantoluento. Ohjelmien ylläpito

T Ohjelmistojen määrittely- ja suunnittelumenetelmät

Ohjelmistoarkkitehtuurit. Syksy 2010

Kansallinen ASPAtietojärjestelmä

Ohjelmistoarkkitehtuurit. Kevät

UML- mallinnus: Tilakaavio

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

UML-mallinnus ja prosessien kuvaaminen Microsoft Visiolla (versio 2003 professional) Jouni Huotari

Ohjelmistojen suunnittelu

Tuotemallipohjaisen toimintaprosessin mallintaminen

Projektin suunnittelu

Digi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Selvitys GPL-lisensoinnin tuomat ongelmat

UML-kuvauskielten käyttö ohjelmistojen vaatimusmäärittelyissä

Menetelmäraportti - Konfiguraationhallinta

Projektiryhmä Tete Työajanseurantajärjestelmä. Riskienhallintasuunnitelma

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Siirtoprotokolla

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

Käyttötapausten mallintaminen

Menetelmädokumentti Käyttöliittymäsuunnittelu

Implisiittiset vaatimukset. 4. Vaatimusmäärittely. Eksplisiittiset vaatimukset. Vaatimusmäärittelyn tavoitteet. Vaatimusten luonne II

Tietojärjestelmien hankinta ja ICT-projektit

SataSPIN. Prosessien parantaminen verkostoitumalla. Porin korkeakouluyksikkö, TTKK

Unified Process (UP)

Internet-pohjainen ryhmätyöympäristö

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Helia Ohjelmointitaito Tuomas Kaipainen Mermit Business Applications Oy Mermit Business Applications

Kurssin aihepiiri: ohjelmistotuotannon alkeita

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

5. Järjestelmämallit. Mallinnus

PROJEKTIN SUUNNITTELU JOUNI HUOTARI, PAAVO MOILANEN, ESA SALMIKANGAS

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Vaatimusmäärittely- ja hallinta. Peruskäsitteet. Syyt aikataulun ja budjetin ylitykseen. TJTA330 Ohjelmistotuotanto

TOIMINNALLINEN MÄÄRITTELY MS

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

Suunnitteluvaihe prosessissa

UML:n yleiskatsaus. UML:n osat:

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot

Työn ositusmalleista. Luennon tavoitteista. Motivointia. Walker Royce, Software Project Management, A Unified Framework

Prosessien kehittäminen. Prosessien parantaminen. Eri mallien vertailua. Useita eri malleja. Mitä kehitetään?

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Vaatimusmäärittely- ja hallinta

Ohjelmistojen mallintaminen, sekvenssikaaviot

Suorituskyky ja ohjelmistokehitys Suorituskykymallit

Ketterien periaatteiden merkitys projektityössä

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Tik Ohjelmistoprojektien Hallinta

Transkriptio:

Menetelmädokumentti Määrittely- ja suunnittelumenetelmät Versio Päiväys Tekijä Kuvaus 0.01 5.12.01 Pekka Koskinen Alustava sisällysluettelo 0.1 7.12.01 Pekka Koskinen Ensimmäinen luonnos 1.0 11.12.01 Pekka Koskinen T1-vaiheen palautusdokumentti

Sisällysluettelo 1. Johdanto...3 2. Menetelmän kuvaus...4 3. Menetelmän soveltaminen projektissa...5 4. Tulokset menetelmän soveltamisesta projektiin...6 5. Lähdeluettelo...7 Määrittely- ja suunnittelumenetelmät 2

1. Johdanto Kurssilla sovelletaan USDP-prosessimallia (Unified Software Development Process), joka on ohjelmistoprosessin viitekehys. Tässä dokumentissa esitetään joitakin projektinsuunnittelu (PS) ja toteutus 1 (T1) vaiheissa käytettyjä määrittely ja suunnittelumenetelmiä. Ryhmä on työstänyt ohjelmiston määrittelyä ja suunnittelua siten, että ensin asiakasvaatimukset kerättiin vaatimusmäärittelyyn. Seuraavaksi laadittiin erillinen käyttötapausdokumentti (Use Caset), joiden pohjalta piirrettiin sekvenssidiagrammit toiminnalliseen määrittelyyn. Määrittely- ja suunnittelumenetelmät 3

2. Menetelmän kuvaus Ohjelmistoprojektin alussa tulee kartoittaa asiakkaan tarpeet ja toiveet eli asiakasvaatimukset toteutettavan järjestelmän suhteen. Vaatimustenhallinnan keskeisin tehtävä on varmistaa, että lopputuote vastaa asiakkaiden vaatimuksia. Lopputuotteessa on oltava kaikki halutut ominaisuudet ja vain ne. [1] Asiakasvaatimuksia analysoimalla pyritään 1) selvittämään kunkin asiakasvaatimuksen tarve eli perimmäinen syy, 2) arvioimaan kunkin vaatimuksen tärkeys (priorisointi) ja 3) sovittamaan yhteen ristiriitaiset vaatimukset. [1] Vaatimuksien keräämisessä voidaan käyttää käyttäjähaastatteluita, yhteisiä vaatimusten suunnittelukokouksia (Joint Requirements Planning, JRP), vaatimuslistoja sekä prototyyppejä. [2] Use case-mallinnus on menetelmä, jossa järjestelmän vaatimukset kuvataan käyttötapausten (Use Cases) avulla. Use case-mallinnus muodostuu käyttäjältä kerättyjen vaatimusten perusteella ja sen päätehtävä on kuvata se mitä järjestelmä tekee kun käyttäjät käyttävät sitä. Siihen miten toiminnot todellisuudessa toteutetaan ei oteta kantaa tässä vaiheessa. Use casemallinnuksessa järjestelmää siis tarkastellaan mustana laatikkona, joka toteuttaa käyttäjälle näkyviä toimintoja. [3] Vuorovaikutuskaaviot lisäävät yksityiskohtia ja näyttävät kuinka osallistuvat objektit vuorovaikuttavat keskenään toteuttaakseen käyttötapauksen. Vuorovaikutuskaavioita on kahdenlaisia: sekvenssikaavioita ja yhteistyökaavioita. Sekvenssikaaviossa osallistuvat objektit kuvataan pystysuorilla viivoilla, elämänviivoilla (lifeline). Vuorovaikutusta tapahtuu kun objektit lähettävät toisilleen viestejä, jotka myös kuvataan kaaviossa. [4] Määrittely- ja suunnittelumenetelmät 4

3. Menetelmän soveltaminen projektissa Asiakkaan toiveet kartoitettiin keräämällä asiakasvaatimukset vaatimusmäärittelyyn. Vaatimukset kerättiin koko ryhmän ja asiakkaan edustajien välisissä asiakaspalavereissa sekä erillisessä vaatimusmäärittelypalaverissa, johon osallistui kolme ryhmän (Hurmalainen, Koskinen, Nissilä) sekä kaksi asiakkaan edustajaa (Erkkilä, Vuorio). Käyttäjähaastatteluita ei tässä vaiheessa tehty, koska asiakkaalla oli varsin selkeä näkemys siitä mitä oltiin tekemässä. Lisäksi koska käyttäjien haastatteluun oli rajoitetut mahdollisuudet, se haluttiin säästää käyttöliittymäsuunnitteluun. Asiakasvaatimukset analysoitiin siten, että osa ryhmän vaatimusmäärittelystä vastuussa olleet jäsenet (Hurmalainen, Koskinen) pyrkivät selvittämään kunkin asiakasvaatimuksen tarpeen ja prioriteetin. Lisäksi ristiriitaiset vaatimukset sovitettiin yhteen. Tämän pohjalta valmistui vaatimusmäärittely, jossa vaatimukset esitettiin ns. vaatimuslistana siten, että ne olivat yksilöidysti numeroitu ja priorisoitu. Vaatimusmäärittelyn pohjalta jatkettiin siten, että editorin osalta vaatimukset muodostettiin käyttötapauksiksi (Ståhlberg). Käyttötapausten pohjalta eriytettiin käyttöliittymäsuunnittelu (Ståhlberg) sekä toiminnallinen määrittely (Koskinen). Käyttöliittymäsuunnittelu ja siinä käytetyt menetelmät on kuvattu erillisessä dokumentissa. Toiminnallisen määrittelyn ydintä eli toimintojen kuvausta varten käyttötapaukset purettiin sekvenssikaavioiksi, jotka kuvaavat prosesseihin liittyviä objekteja ja niiden keskinäistä vuorovaikutusta. Toiminnallisen määrittelyn ja erityisesti sekvenssikaavioiden perusteella tehdään varsinainen tekninen suunnittelu, joka esitetään teknisessä määrittelyssä. Määrittely- ja suunnittelumenetelmät 5

4. Tulokset menetelmän soveltamisesta projektiin Asiakasvaatimusten kerääminen ja vaatimusmäärittelyn tekeminen onnistuivat hyvin. Varsinkin erillinen vaatimusmäärittelypalaveri asiakkaan kanssa oli tehokas. Aineiston työstäminen parityönä eteni myös sujuvasti ja toisaalta kaksi henkeä pystyi antamaan siihen enemmän kuin yksi. Vaatimukset saatiin kerättyä ilman käyttäjähaastatteluitakin siten, että niiden perusteella saatiin selkeä kuva tuotteesta. Käyttötapaukset tehtiin heti toteutusvaiheen aluksi. Ne teki eri henkilö, kuin ne jotka olivat osallistuneet vaatimusmäärittelyn tekemiseen. Tämä oli havaittiin hyväksi, koska näin saatiin ylimääräinen tarkistuskierros vaatimuksille kun henkilö joka ei ollut mukana tekemässä niitä perehtyi niihin. Sama toistui sekvenssikaavioiden osalta. Käyttötapaukset saivat ylimääräisen huolellisen tarkastuksen, kun niiden pohjalta lähdettiin eri henkilön toimesta tekemään sekvenssikaavioita. Kokonaisuutena määrittely- ja suunnittelumenetelmät ovat tuoneet projektiin suunnitelmallisuutta ja huolellisuutta. Parityöskentelyä olisi voinut ehkä käyttää vielä enemmän tehostamaan menetelmiä. Varsinkin dokumentteja kirjoittaessa sekä kuvia ja kaavioita piirrettäessä palaute on tärkeää ja parin rooli voisi olla vain sen antaminen. Määrittely- ja suunnittelumenetelmät 6

5. Lähdeluettelo [1] Ilkka Haikala ja Jukka Märijärvi. Ohjelmistotuotanto. 7. uudistettu painos. Talentum Media, 2001. [2] Daryl Kulak and Eamonn Guiney. Use Cases: Requirements in Context. 1. painos, ACM Press Books, 2000. [3] Martin Fowler. UML Distilled. 1. painos. Addison Wesley Longman, 1997. [4] Ivar Jacobson. The Road to the Unified Software Development Process. 1. painos. Cambridge University Press, 2000. Cantor, Murray R., Project Management With UML, 1998, Wiley Määrittely- ja suunnittelumenetelmät 7