UML use cases micke@informatik.umu.se
Use case (användningsfall) En modelleringsteknik som hjälper utvecklare att bestämma vilka funktioner som ska implementeras i ett system/applikation Finns olika typer Business use cases; oftast mindre detaljerade, innehåller normalt inga detaljer om eventuella system (automatiserade processer). Teknikfritt språk System use cases; mer detaljerade, innehåller även detaljer om system (automatiserade processer) och den service dessa erbjuder Fokus - Beskriver hur ett mål eller en uppgift uppnås. Innebär att i en normalt projekt har man flera use cases - Behandlar system (automatiska processer) som en black box - Alla interaktioner med systemet, inklusive, systemets respons betraktas från en position utanför systemet 1
Use case (användningsfall) Ett use case ska - Beskriva vad ett system ska göra för en aktör som vill uppnå ett specifikt mål. Det beskriver ett system utifrån en aktörs perspektiv - En aktör kan vara en person, ett system eller en hårdvara - Inte innehålla ett implementationsspecifikt språk - Vara på en lagom detaljeringsnivå - Inte inkludera detaljer om användargränssnitt och skärmbilder Ofta skiljer man på use cases utifrån deras deltaljeringsnivå; brief, casual och fully dressed I ett utvecklingsprojekt börjar man ofta med att göra ganska enkla use cases som blir mer och mer detaljerade under projektets gång 2
Use case notationsform text Use cases kan beskrivas i vanligt text Use cases som beskrivs i text är ofta ganska detaljerade Skrivs inte i form av långa berättelser utan snarare som korta meningar Vanligtvis ges ett use case en identifierare, t. ex. UC 23 Att tänka på - Varje steg i ett use case ska endast beskriva en aktivitet - Skriv varje steg i aktiv form - Basic flow of events ska avslutas tydlig The uc ends.. - Alternative flow of events skiljs från basic flow of events 3
Use case notationsform text 1 Brief Description This use case describes how the Bank Customer uses the ATM to withdraw money to his/her bank account. Identifier: UC 12 2 Actors 2.1 Bank Customer 2.2 Bank 3 Preconditions There is an active network connection to the Bank. The ATM has cash available. 4 Basic Flow of Events 1. The use case begins when Bank Customer inserts their Bank Card. 2. Use Case: Validate User is performed. 3. The ATM displays the different alternatives that are available on this unit. [See Supporting Requirement SR-xxx for list of alternatives]. In this case the Bank Customer always selects "Withdraw Cash". 4. The ATM prompts for an account. See Supporting Requirement SR-yyy for supported account types 5. The Bank Customer selects an account. 6. The ATM prompts for an amount. 7. The Bank Customer enters an amount. 8. Card ID, PIN, amount and account is sent to Bank as a transaction. The Bank Consortium replies with a go/no go reply telling if the transaction is ok. 9. Then money is dispensed. 10. The Bank Card is returned. 11. The receipt is printed. 12. The use case ends successfully. 4
Use case notationsform diagram Intuitiva och relativt lätta att förstå De figurer som används är 1. Use case; en oval. En sekvens av handlingar som leder till att ett mål uppnås eller att en uppgift utförs 2. Aktör; en streckgubbe. En person, organisation eller ett externt system som interagerar med ditt system på ett eller flera sätt 3. Relationer - Association; en heldragen pil som visar att en aktör är involverad i en interaktion med ett use case - Include; en streckad pil märkt med <<include>> Beteendet hos det inkluderade use caset är infogat i det inkluderande use caset - Extend; en streckad pil märkt med <<extend>> Use case x utvidgas med use case y. Beteendet hos y kan under vissa villkor infogas i x 5
Use case notationsform diagram 6
Use case notationsform diagram 7