Scenario

A high-level scenario of the BCExchanger application is illustrated in the figure below. Right after the application is started, the user selects his or her own card and proceeds to the main menu. If the card was already selected, the application starts directly from the main menu. While the user is in the main menu, it is possible to select another card, initiate card exchange, accept card exchange, or exit the application.

Figure 154: High-level scenario of the BCExchanger application.

The figure below illustrates the "Initiate card exchange" subscenario. When a user initiates the card exchange from the menu, the application starts a series of Bluetooth procedures: inquiry, service discovery, sending own card, and receiving and saving the remote business card. Also if several Bluetooth services declared by the BCExchanger MIDlet are discovered, the application displays the list of found services and asks the user to select one. Each procedure can be canceled or it can end with an error. Both cases should end the execution of the subscenario and return the application to the main menu.

Figure 155: Initiate card exchange subscenario

The figure below shows the Accept card exchange subscenario. When the application acts as an accepting peer, it simply receives the card, saves it, and sends the user's own card. In addition, each activity can be canceled or it can fail. The party that starts the exchange operation receives a notification when the exchange operation proceeds successfully or fails.

Figure 156: Accept card exchange subscenario

These high-level scenarios are reflected in the design of the application.