1 / 16

Service Representatives

1. Service Representatives. Customers. 1-*. 1-*. service the. buy items from the. 1. 1. Mark I Vending Machine (MIVM) System {application}. 4. The model layer contains 2 packages: Role package Dispenser package. CLIENT INTERFACE LAYER. handles and interprets

xantha-beck
Download Presentation

Service Representatives

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 1 Service Representatives Customers 1-* 1-* service the buy items from the 1 1 Mark I Vending Machine (MIVM) System {application}

  2. 4 • The model layer contains • 2 packages: • Role package • Dispenser package CLIENT INTERFACE LAYER handles and interprets custom operating system interrupts for the COORDINATION LAYER coordinates and forwards appropriate inputs to the MODEL LAYER reuses application-independent classes from the controls output devices and displays non-mode information via the displays mode information via the SERVER INTERFACE LAYER reuses application- independent classes from the reuses application-information classes from the reuses application-independent classes from the FOUNDATION LAYER

  3. 5 10 10 10 number- Selection- Buttons 8 letter- Selection- Buttons CUSTOM OPERATING SYSTEM customOperatingSystemInterrupts event (aString); CLIENT INTERFACE PACKAGE tripped (); door- Switch pressed (); pressed (); pressed (); inserted (aBill); inserted (aCoin); pressed (); locked (); refund- Button bill- Validator coin- Validator gate mode- Button valid (aCoin); selected (aLetter); changeMode (); valid (aBill); refund (); selected (anInteger); currentModeProxy doorLocked (); COORDINATION PACKAGE

  4. 6 10 10 10 number- Selection- Buttons 8 letter- Selection- Buttons CLIENT INTERFACE PACKAGE bill- Validator coin- Validator door mode- Button refund- Button currentModeProxy valid (aCoin); selected (aLetter); changeMode (); doorLocked (); selected (anInteger); refund (); valid (aBill); COORDINATION PACKAGE  displayMessages (); refund (); reset (); selected (anInteger); selected (aLetter); valid (aMoney); refund (); reset (); selected (anInteger); selected (aLetter); valid (aMoney) throws UnexpectedMoneyException; refund (); reset (); selected (anInteger); selected (aLetter); valid (aMoney) throws UnexpectedMoneyException; dispenseItemMode displayHistoryMode setPriceMode serviceRepresentative display (currentMode); displayMessages (); refund (); reset () throws CouldNotResetException; selected (anInteger); selected (aLetter); valid (aMoney); displayTotalIncome (); displayTotalItemsSold (); reset (); selected (anInteger); selected (aLetter); coinDispenserAssemblyLoaded (); main- Display customer SERVER INTERFACE PACKAGE ROLE PACKAGE

  5. serviceRepresentative 8 10 10 3 coin- Dispensers 80 items- Dispensers customer- Messages ROLE PACKAGE service- Representative- Selection customer- Credit customer- Selection getTotalIncome (); getTotalItemsSold (); isWarningNeeded (); coinDispenserAssembly itemDispenserAssembly dispense (aMoney) throws CouldNotDispense- AllException; inserted (aCoin); loaded (); priceAt (aLocation) throws InvalidSelectionException; priceAt (aLocation,aMoney) throws InvalidSelectionException; dispenseAt (aLocation) throws InvalidSelectionException; priceAt (aLocation) throws InvalidSelectionException; isPractical (aPrice);   DISPENSER PACKAGE dispense (aMoney) throws CouldNotDispenseAllException; isPractical (aPrice); coinDispensingPolicy dispense () throws InvalidSelectionException; price () throws InvalidSelectionException; price (aMoney) throws InvalidSelectionException; coinType (); haveCoin (); coinInserted (); next (); coinType (); dispense () throws CouldNotDispenseException;   itemStepperMode coinSolenoid step (360) throws NoMotorException; display (aLocation,aPrice) throws NoItemDisplayException; push () throws NoCoinException; itemDisplay SERVER INTERFACE PACKAGE

  6. currentModeProxy 9 10 10 80 item- Dispensers 3 coin- Dispensers serviceRepresentative COORDINATION PACKAGE customer  ROLE PACKAGE  DISPENSER PACKAGE service- Representative- Selection customer- Messages customer- Selection customOperatingSystemCalls   itemStepperMotor display (aString); push () throws NoCoinException; step (360) throws NoMotorException; display (aLocation,aPrice) throws NoItemDisplayException; itemDisplay mainDisplay coinSolenoid dispenseCoinFrom (aPort) throws FailedException; dispenseItemFrom (aPort) throws FailedException; itemDisplay (aString,aPort) throws FailedException; mainDisplay (aString); SERVER INTERFACE PACKAGE

  7. 11 Precondition: The mode is “DispenseItem”. Postcondition: The mode is “DispenseItem”. Customer Makes a Payment. MIVM Software A: Concurrently Customer Inserts a Valid Bill A: and Customer Inserts a Valid Coin A: end concurrently.

  8. 12 custom- OperatingSystem Interrupts custom- Operating- SystemCalls Precondition: currentMode = dispenseItemMode Customer Inserts a Valid Bill. bill- Validator current- ModeProxy dispense- ItemMode customer customer- Credit customer- Selection main- Display inserted (aBill); valid (aBill); valid (aBill);  valid (aBill); add (aBill);  creditIncremented ();  A: If itemSelected Attempt to Dispense A: else display (); display (amount); displayMain (amount); A: end if.

  9. coin- Dispenser- Assembly coin- Dispensing- Policy 13 Dispense Changes. customer- Credit dispense (credit); dispense (credit);  A: If credit >= Money.none () Dispense Quarters A: end if. B: If credit >= Money.none () Dispense Dimes B: end if. C: If credit >= Money.none () Dispense Nickels C: end if. Display Greeting

  10. coin- Dispensing- Policy customOperating- SystemCalls aCoinDispenser aCoinSolenoid coin- Dispensers 14 canDispense = true; amountToDispense = credit.amount (); Dispense Quarters. amountToDispense = amountToDispense - Coin.quarter (); A: For each coin dispenser in coinDispensers while the amount to dispense is not less than a quarter, loop next (); coinType (); B: If coinType () = Coin.quarter (), then C: While amount to dispense is not less than a quarter and can dispense, loop dispense (); dispenseCoinFrom (aPort); push ();  D: If a quarter was dispensed, then FailedException! D: else NoCoinException! CouldNotDispenseException! D: end if. C: end loop. B: end if. A: end loop.

More Related