# Agile, Käyttäjätarina ja käyttötapaus

## Asiakkaan kertomus ongelmakohdasta

Ravintolassani `asiakkaani` ohjataan ensin `pöytään`. Työskentelyvuorossa oleva `tarjoilija`, joka on ohjannut asiakkaat pöytään, ottaa vastaan heidän `tilauksensa`.

Tarjoilija kysyy, mitä juomia ja `ateria` -vaihtoehtoja he haluavat. Ruuat ja juomat tarjoillaan yleensä eri aikaan toimitettuina. Asiakkaalta voidaan kysyä myös, onko asiakkaalla näyttää `kanta-asiakas` -korttia tai etukuponkeja. Kanta-asiakkaana tai `etukupongilla` asiakas saa yleensä 15% alennuksen tilauksen loppusummasta.

Kun tarjoilija on merkinnyt tilauksen päätelaitteellaan järjestelmään, hän vahvistaa `tilauksen` ja tieto `tilauksen` sisällöstä tallentuu. `Tilauksen` sisältö on nähtävissä esimerkiksi `keittiön` puolella tai muissa järjestelmissä. Tilausta ei ole vielä tässä vaiheessa maksettu, joten on tärkeää pystyä erottamaan, onko tilaus vain `vahvistettu tai maksettu`.

&#x20;Kun `asiakas` on syönyt, `tarjoilija` palaa kysymään asiakkaan kuulumisia. Tässä yhteydessä, jos `asiakas` on valmis, hän yleensä maksaa tilauksensa.

## Käyttäjätarina

Tarjoilijana\
tahdon merkitä vastaanotettavan tilauksen järjestelmään,\
jotta tilauksen sisältö on selkeä keittiön henkilökunnalle.

## Käyttötapaus

**Otsikko**

Uuden tilauksen vastaanottaminen

**Tavoite**

Tarjoilija saa merkittyä asiakkaan tilauksen tilausrivit järjestelmään.

**Esiehdot**

Tilauksessa on oltava valittuna pöytä, joka ei ole varattu sillä hetkellä.\
Tilauksessa on oltava vähintään yksi tilausrivi.\
Tilauksessa on oltava merkittynä asiakkaasta tieto, onko hän kanta-asiakas tai käyttänyt etukuponkia.

**Onnistunut lopputulos**

Tilauksen tiedot ovat tallennettu järjestelmään. (esim tietokanta, tekstitiedosto tai jokin muu)

**Virheellinen lopputulos**

Tilaus epäonnistuu eikä sen tiedot tallennu oikeassa muodossa järjestelmään.

**Kuvaus käyttötapauksesta**

1. Tarjoilija painaa painiketta, joka luo uuden tyhjän tilauksen.
2. Tarjoilija merkitsee tilaukselle pöydän.
3. Tarjoilija lisää tilaukseen aterioita ja niiden määrän.
   1. Aterioita lisättäessä, tarjoilija näkee aina päivitetyn loppusumman.
4. Tarjoilija merkitsee tiedon, jos kyseessä on kanta-asiakas tai etukuponki.
5. Tarjoilija vahvistaa tilauksen
6. Onnistuneen vahvistamisen jälkeen, ohjelma palaa tarvittaessa alkutilaan.

**Kuvaus virheellisestä käyttötapauksesta**

5 kohdassa kun tarjoilija on vahvistanut tilauksen, ohjelman pitää pystyä toipumaan virhetilanteista, jotka on mainittu esiehdoissa. Näistä tietojen puutteista on näytettävä virhe tarjoilijalle ja hänen on pystyttävä täydentämään puuttuvat tiedot ilman, että joutuu aloittamaan alusta.�

## Luokkakaavio

Asiakkaan kuvauksessa ja käyttötapauksessa esiintyy seuraavia termejä:

Asiakas\
Kanta-asiakas\
Tarjoilija\
Tilaus\
Tilausrivi\
Ateria\
Pöytä�

![](https://589000656-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LK5fotMiq9WQrk2MQAs%2F-LK6RlvTMCa0DMUdnD5B%2F-LK6TOb9njkWqm-0aAEg%2FKa%CC%88ytta%CC%88ja%CC%88tarina%20ja%20ka%CC%88ytto%CC%88tapaus3.png?alt=media\&token=66f268ad-1938-4afb-b318-2b6e5a617a35)

## Käyttöliittymä

![](https://589000656-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LK5fotMiq9WQrk2MQAs%2F-LK6RlvTMCa0DMUdnD5B%2F-LK6TEk2FwG7C6ihRh4o%2FKa%CC%88ytta%CC%88ja%CC%88tarina%20ja%20ka%CC%88ytto%CC%88tapaus.png?alt=media\&token=11644c02-6f86-4993-a347-716d7e61dd33)

![](https://589000656-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LK5fotMiq9WQrk2MQAs%2F-LK6RlvTMCa0DMUdnD5B%2F-LK6TL1BujIEcEOIWKG1%2FKa%CC%88ytta%CC%88ja%CC%88tarina%20ja%20ka%CC%88ytto%CC%88tapaus2.png?alt=media\&token=36d1eea0-d0a3-477c-b51d-1ccf6f29eb2f)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://book.sovelluskontti.com/ketterae-ohjelmistokehitys/agile-kaeyttaejaetarina-ja-kaeyttoetapaus.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
