Partial Use-Case Tree

Use-Case Tree
Judith Barnard
Listing 1. Partial Use-Case Tree.


Path 1
•[ROOT NODE: s, ip, wc, t, d]
  –>Kiosk.InitialWelcomePage
•[s, ip, wc, t, d]
  –>UserInterface.Display("Welcome to the lottery kiosk")
•[s, ip, wc, t, d]
  –>CoinMonitor.CalculateCoinValue
•[s, ip, wc, t, d]
   –>Kiosk.CalculateNoLines
•[cc, ip, wc, t, d]
  –>UserInterface.Display("You have 'x' lines")
•[cc, ip, wc, t, d]
  –>Clock.Reset
•[cc, ip, wc, t, d]
  –>Clock.Tick
•[cc, ip, wc, t, d]
  –>Kiosk.AllowNumberEntry
•[en, ip, wc, t, d]
  –>UserInterface.Display("Please enter your numbers")
•[en, ip, wc, t, d]
  –>Clock.Reset
•[en, ip, wc, t, d]
  –>Clock.Tick(<60) •[en,="" ip,="" wc,="" t,="" d]="" –="">UserInterface.UserInput(numbers)
•[cc, ip, wc, t, d]
  –>Kiosk.InputNumbers
•[en, ip, wc, t, d]
  –>UserInterface.Display(numbers)
•[en, ip, wc, t, d]
  –>Kiosk.CheckNumbers
•[en, ip, wc, t, d]
  –>UserInterface.UserInput(confirm)
•[en, ip, wc, t, d]
  –>Kiosk.FinishNumberEntry
•[tp, ip, wc, t, d]
  –>UserInterface.Display("Your ticket is being printed")
•[tp, ip, wc, t, d]
  –>Headquarters.Receive(numbers)
•[tp, ip, wc, t, d]
  –>TicketPrinter.PrintTicket(numbers)
•[tp, ip, wc, t, d]
  –>Kiosk.TicketPrinted
•[to, ip, wc, t, d]
  –>UserInterface.Display("Please take your ticket")
•[to, ip, wc, t, d]
  –>Kiosk.EndSession
•[s, ip, wc, t, d]
  –>UserInterface.Display("Welcome to the lottery kiosk")
•[s, ip, wc, t, d] [D]
  Path 2
•[ROOT NODE: s, ip, wc, t, d]
  –>Kiosk.InitialWelcomePage
•[s, ip, wc, t, d]
  –>UserInterface.Display("Welcome to the lottery kiosk")
•[s, ip, wc, t, d]
  –>CoinMonitor.CalculateCoinValue
•[s, ip, wc, t, d]
  –>Kiosk.CalculateNoLines
•[cc, ip, wc, t, d]
  –>UserInterface.Display("You have 'x' lines")
•[cc, ip, wc, t, d]
  –>Clock.Reset
•[cc, ip, wc, t, d]
  –>Clock.Tick
•[cc, ip, wc, t, d]
  –>Kiosk.AllowNumberEntry
•[en, ip, wc, t, d]
  –>UserInterface.Display("Please enter your numbers")
•[en, ip, wc, t, d]
  –>Clock.Reset
•[en, ip, wc, t, d]
  –>Clock.Tick(<60) •[en,="" ip,="" wc,="" t,="" d]="" –="">UserInterface.UserInput(LuckyDip)
•[en, ip, wc, t, d]
  –>Kiosk.LuckyDip
•[en, ip, wc, t, d]
  –>UserInterface.Display("Lucky numbers being chosen")
•[en, ip, wc, t, d]
  –>UserInterface.UserInput(confirm)
•[en, ip, wc, t, d]
  –>Kiosk.FinishNumberEntry
•[tp, ip, wc, t, d]
  –>UserInterface.Display("Your ticket is being printed")
•[tp, ip, wc, t, d]
  –>Headquarters.Receive(numbers)
•[tp, ip, wc, t, d]
  –>TicketPrinter.PrintTicket(numbers)
•[tp, ip, wc, t, d]
  –>Kiosk.TicketPrinted
•[to, ip, wc, t, d]
  –>UserInterface.Display("Please take your ticket")
•[to, ip, wc, t, d]
  –>Kiosk.EndSession
•[s, ip, wc, t, d]
  –>UserInterface.Display("Welcome to the lottery kiosk")
•[s, ip, wc, t, d] [D]


Path 3
•[ROOT NODE: s, ip, wc, t, d]
  –>Kiosk.InitialWelcomePage
•[s, ip, wc, t, d]
  –>UserInterface.Display("Welcome to the lottery kiosk")
•[s, ip, wc, t, d]
  –>CoinMonitor.CalculateCoinValue
•[s, ip, wc, t, d]
  –>Kiosk.CalculateNoLines
•[cc, ip, wc, t, d]
  –>UserInterface.Display("You have 'x' lines")
•[cc, ip, wc, t, d]
  –>Clock.Reset
•[cc, ip, wc, t, d]
  –>Clock.Tick
•[cc, ip, wc, t, d]
  –>Kiosk.AllowNumberEntry
•[en, ip, wc, t, d]
  –>UserInterface.Display("Please enter your numbers")
•[en, ip, wc, t, d]
 –> Clock.Reset
•[en, ip, wc, t, d]
  –>Clock.Tick(<60) •[en,="" ip,="" wc,="" t,="" d]="" –="">Clock.Tick(60)
•[en, ip, wc, t, d]
  –>Kiosk.Timeout
•[rr, ip, wc, t, d]
  –>UserInterface.Display("You took too long in choosing your
  numbers. Please start again or choose a refund.")
•[rr, ip, wc, t, d]
  –>UserInterface.UserInput(refund)
•[rr, ip, wc, t, d]
  –>Kiosk.Refund
•[s, ip, wc, t, d]
  –>CoinRefundBox.Refund
•[s, ip, wc, t, d]
  –>UserInterface.Display("Welcome to the lottery kiosk")
•[s, ip, wc, t, d][D]

About the Author

Judith Barnard Software Designer based in Northampton, UK.