60 likes | 74 Views
Make PhoneCall. Telephone Network. Receive PhoneCall. Receive AdditionalCall. «Extends». UsePhone Directory. User. Cellular Phone. ButtonServer {abstract}. Button. + ButtonPressed () {abstract}. Speaker. + EmitTone (n: int). DigitButton Adapter. SendButton Adapter.
E N D
Make PhoneCall Telephone Network Receive PhoneCall Receive AdditionalCall «Extends» UsePhone Directory User Cellular Phone
ButtonServer {abstract} Button + ButtonPressed () {abstract} Speaker + EmitTone (n: int) DigitButton Adapter SendButton Adapter CellularRadio + ButtonPressed () + ButtonPressed () + Connect (number: pno) Dialler + Digit (n: int) + Send () DiallerDisplay CRDisplay + DisplayDigit (n: int) + InUse () Display {abstract}
Use case MakePhoneCall digit:Button :DigitButton Adapter :Dialler display :DiallerDisplay :Speaker ButtonPressed () Digit (n) DisplayDigit (n) EmitTone (n) For Each Digit send:Button :SendButton Adapter :Dialler :Cellular Radio display :CRDisplay ButtonPressed () Send () Connect (number) InUse ()
Use case MakePhoneCall 1 *: ButtonPressed () 1.1: Digit (n) digit:Button :DigitButton Adapter 2: ButtonPressed () send:Button :SendButton Adapter :Dialler 2.1: Send () 1.1.2: EmitTone (n) 2.1.1: Connect (number) 1.1.1: DisplayDigit (n) 2.1.1.1: InUse () :Speaker :Cellular Radio display :DiallerDisplay display :RTDisplay
Dialler Receiving PhoneCall Idle Making PhoneCall UsingPhone Directory
DialTone Dialling do / play dial tone do / EmitTone (n); DisplayDigit (n) Connecting do / InUse () Ringing Busy do / play busy tone do / play ringing tone Digit (n) [number = incomplete] MakingPhoneCall Press (button-on) / GetDialTone Digit (n) Send () [number = complete] / Connect (number) Idle Busy Press (button-off) / Disconnect Connected