I UML -användningsdiagram visar förhållandet "förlängda" hur man kan använda fallet kan lägga till funktionalitet till ett annat användningsfall *under specifika förhållanden *. Det handlar inte * om enkel inkludering eller arv. Istället indikerar det en valfri förlängning av basanvändningsfallets beteende.
Här är en uppdelning:
* Basanvändningsfall: Detta är det primära användningsfallet som förlängs. Det fungerar oberoende även utan det utökade användningsfallet.
* Förlängningsanvändningsfall: Detta användningsfall lägger till extra steg eller funktionalitet i basanvändningsfallet. Det * endast * körs om ett specifikt tillstånd (eller förlängningspunkt) inom basanvändningsfallet uppfylls. Det är * inte * ersätter eller omfattar helt basanvändningsfallet.
Nyckelskillnader från "Inkludera":
* Inkludera: Representerar ett användningsfall som är * alltid * som ingår i ett annat användningsfall. Det är en form av sönderdelning som tar ut gemensam funktionalitet. Det inkluderade användningsfallet utförs varje gång basanvändningsfallet utförs.
* Förläng: Representerar ett användningsfall som är * villkorligt * som ingår i ett annat användningsfall. Det händer bara när specifika kriterier uppfylls inom basanvändningsfallet.
Exempel:
Låt oss säga att du har ett basanvändningsfall "Processorder." Detta innebär i allmänhet att lägga till objekt i en vagn, beräkna det totala och slutföra betalningen.
Du kan ha ett utvidgat användningsfall som kallas "Apply Rabatt." Detta * bara * händer om en kund använder en giltig kupongkod under "Processorder" användningsfall. Användningsfallet "Apply Rabatt" förlänger "Processorder" -användningsfallet, men är inte alltid kört. Om ingen kupong används övergår helt enkelt "Apply Rabatt" -stegen.
I ett diagram avbildas "förlängningen" -förhållandet som en streckad pil med en öppen pilspets som pekar från * förlängande * användningsfallet till * bas * användningsfallet. Ofta noteras det specifika villkoret för förlängningen nära pilen.
Kort sagt, "förlänga" i användningsfallsdiagram modeller till valfria, villkorade tillägg till beteendet hos ett annat användningsfall. Det handlar om att lägga till extra funktionalitet under specifika omständigheter, inte om alltid inklusive funktionalitet som "inkludera."