Käyttötapaus

Wikipediasta
Siirry navigaatioon Siirry hakuun
Käännös suomeksi
Tämä artikkeli tai sen osa on käännetty tai siihen on haettu tietoja muunkielisen Wikipedian artikkelista.
Alkuperäinen artikkeli: en:Use case

Käyttötapaus (engl. use case) on ohjelmisto- ja järjestelmäsuunnittelussa toimintojen (actions) tai askelten (event steps) luettelo, joka tavallisesti määrittää toimijaroolin eli aktorin ja (tieto)järjestelmän välistä kommunikaatiota tietyn päämäärän saavuttamiseksi. Termiä aktori käytetään erityisesti UML:n kanssa. Aktori voi olla ihminen tai tarkasteltavasta järjestelmästä erillinen toinen järjestelmä.

Järjestelmäsuunnittelussa käyttötapaukset kuvataan korkeammalla abstraktiotasolla kuin ohjelmistosuunnittelussa ja ne edustavat järjestelmän missiota tai järjestelmän omistajien (stakeholders) päämääriä. Yksityiskohtaisempia vaatimuksia voidaan kuvata SysML-kielellä (Systems Modeling Language). SysML on tähän tarkoitukseen rajattu UML-kielen osa.

Historiaa[muokkaa | muokkaa wikitekstiä]

Käyttötapausten idean on esitellyt julkisesti Ivar Jacobson vuonna 1987 oliopohjaisiin menetelmiin keskittyneessä OOPSLA '87 -konferenssissa.[1] Kuvaustekniikkaa käytettiin tuolloin L.M.Ericssonilla oliopohjaisen analyysin ja suunnittelun työkaluna.[2] Termi use case on muokattu käännös Jacobsin kehittämästä ruotsinkielisestä termistä användningsfall.[3]

Vuonna 1992 Jacobson oli mukana kirjoittamassa teosta Object-Oriented Software Engineering: A Use Case Driven Approach [4], joka loi perustan OOSE-menetelmälle ja toi yleiseen tietoisuuteen käyttötapaukset keinona tunnistaa toiminnallisia vaatimuksia erityisesti ohjelmistokehitystä varten. Teoksessa The object advantage: business process reengineering with object technology (1994) Jacobson yhdessä Maria Ericssonin ja Agneta Jacobsonin kanssa käsitteli käyttötapausten soveltamista liiketoimintamallien ja prosessien kuvaamiseen.[5]

Samoihin aikoihin Grady Booch ja James Rumbaugh työskentelivät yhdistääkseen omat oliopohjaisen analyysin ja suunnittelun menetelmänsä, Booch methodin ja Object Modeling Techniquen (OMT). Jacobson liittyi heihin 1995 ja tuloksena oli UML-kieli, johon käyttötapausten mallintaminen sisältyy. Object Management Group (OMG) standardoi UML:n vuonna 1997. [6] Jacobson, Booch ja Rumbaugh kehittelivät myös ohjelmistokehityksen prosessimallia nimellä Objectory. Tuloksena oli Unified Process -malli, joka julkaistiin 1999. Käyttötapaukset ovat osa sitä.[7]

Tekniikkaa ovat kehittäneet edelleen monet henkilöt, kuten 1) Larry Constantine (1995) käsitteellä essential use cases, jossa tavoitteena on kuvata käyttäjän pyrkimyksiä eikä niinkään toimintosarjoja [8] , 2) Alistair Cockburn (2000) tavoitesuuntautuneilla use caseilla, jotka perustuvat teksti- ja taulukkomuotoisiin kuvauksiin[9] , 3) Kurt Bittner ja Ian Spence (2002) käyttötapauksiin perustuvalla toiminnallisten tarpeiden analyysitekniikalla [10] , 4) Dean Leffingwell ja Don Widrig (2002) muutoksenhallintaan ja sidosryhmäviestintään keskittyvillä sovelluksilla[11] sekä 5) Gunnar Övergaard (2004) laajentamalla suunnittelumallien (design patterns) käytön periaatteet käyttötapauksiin.[12]

Use Case 2.0[muokkaa | muokkaa wikitekstiä]

Vuonna 2011 Jacobson julkisti yhdessä Ian Spencen ja Kurt Bittnerin kanssa Use Case 2.0 -nimisen e-kirjan, jossa käyttötapaustekniikka liitetään ketterään ohjelmistokehitykseen (agile). Sillä tuetaan myös vaiheittain kehittämistä use case slices -rakenteilla, joita käytettäessä ensiksi ratkaistaan yksinkertainen perustapaus.[13]

Yleiset periaatteet[muokkaa | muokkaa wikitekstiä]

Käyttötapaukset ovat järjestelmävaatimusten tunnistamisen, mallintamisen ja määrittelyn tekniikka.[10] Kukin käyttötapaus vastaa tiettyä joukkoa käyttäytymisiä, jotka järjestelmä suorittaa eri aktorien kanssa tuottaen havaittavia, tavoitteiden mukaisia tuloksia. Kukin aktori edustaa tiettyä roolia, joka käyttäjillä tai toisilla systeemeillä on vuorovaikutuksessa.

Vaatimusmäärittelyssä käyttötapaukset nimetään vastaamaan tiettyä tavoitetta ensisijaisen käyttäjän kannalta. Tapausta täydennetään tekstimuotoisilla kuvauksilla tai muilla graafisilla malleilla, jotka kuvaavat toimintojen ja tapahtumien järjestyksiä sekä muunnelmia, kuten erikoisia olosuhteita, poikkeuksia tai virhetilanteita.

SWEBOK-käsikirjan (Software Engineering Body of Knowledge)[14] mukaan käyttötapaukset kuuluvat skenaarioperustaisiin vaatimusten tunnistamisen tekniikoihin ja toisaalta malliperustaisiin analyysitekniikoihin. Käyttötapauksia voidaan käyttää myös vaatimusten keräämiseen kertomusten avulla, vaiheittain etenevään vaatimusten etsintään, järjestelmän dokumentointiin ja vastaanottotestaukseen.[1]

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. a b Jacobson, Ivar, Spence, Ian & Bittner, Kurt: Use Case 2.0: The Guide to Succeeding with Use Cases, s. 4. Ivar Jacobson International, 2011. (englanniksi)
  2. Jacobson, Ivar: Object-oriented development in an industrial environment. ACM SIGPLAN Notices, 1987, 22. vsk, nro 12, s. 183–191.
  3. Cockburn, Alistair: Use cases, ten years later STQE magazine [arkistoitu versio 15.9.2008]. Mar/Apr 2002. Alistair.cockburn.us. Viitattu 21.9.2020.
  4. Jacobson, Ivar, Christerson, Magnus, Jonsson, Patrik, Övergaard, Gunnar: Object-oriented software engineering : a use case driven approach. ACM Press, 1992. ISBN 0-201-54435-0. (englanniksi)
  5. Jacobson, Ivar, Ericsson, Maria, Jacobson, Agneta: The object advantage : business process reengineering with object technology. Addison-Wesley, 1995. ISBN 0-201-42289-1. (englanniksi)
  6. About the Unified Modeling Language Specification Version 2.5.1 2017. Association for Computing Machinery. Viitattu 9.8.2020.
  7. Jacobson, Ivar, Booch, Grady., Rumbaugh, Jim: The unified software development process. Reading, Mass.: Addison-Wesley, 1999. ISBN 0-201-57169-2. (englanniksi)
  8. Constantine, Larry L.: Essential modeling: use cases for user interfaces. Interactions, 1995, 2. vsk, nro 2, s. 34–46. doi:10.1145/205350.205356. (englanniksi)
  9. Cockburn, Alistair: Writing effective use cases. Addison-Wesley, 2001. ISBN 0-201-70225-8. (englanniksi)
  10. a b Bittner, Kurt & Spence, Ian: Use case modeling. Addison Wesley, 2003. ISBN 0-201-70913-9. (englanniksi)
  11. Leffingwell, Dean & Widrig, Don: Managing software requirements : a use case approach. Addison-Wesley, 2003. ISBN 0-321-12247-X. (englanniksi)
  12. Övergaard, Gunnar & Palmkvist, Karin: Use cases : patterns and blueprints. Indianapolis, Ind.: Addison-Wesley, 2005. ISBN 0-13-145134-0. (englanniksi)
  13. Jacobson, Ivar, Spence, Ian & Bittner, Kurt: Use Case 2.0: The Guide to Succeeding with Use Cases. Ivar Jacobson International, 2011. (englanniksi)
  14. Bourque, Pierre & Fairley, Richard E.: SWEBOK : guide to the software engineering body of knowledge, s. 1-6 - 1-8. 3.0 ed.. IEEE Computer Society, 2014. ISBN 978-0-7695-5166-1. (englanniksi)