Professional Java Development with the Spring Framework
The application must support three groups of users: public Internet users (customers); box office users (employees of the Mandala Center who assist customers who have chosen not to purchase online); and in a later phase, administrators (employees of the Mandala Center responsible for posting and updating data).
Public Internet Users
These users are customers accessing the service through a web browser. Most connect using a modem at speeds of up to 56K, and it is important that the system has acceptable response times over a modem connection. Customers wish:
-
To find out what shows are offered and access information about shows and performances
-
To find out what performance dates still offer seating availability
-
To book seats online, using a credit card
Registration will be offered only as a convenience to save users from having to re-enter their billing address. The priority is for a positive user experience so users will not be forced to register because that risks alienating them.
In order to fulfill these requirements, the system should offer a simple, usable, and fast web interface. It is important for this interface to work on as many browsers as possible. Browser-specific functionality should be avoided. Applets, Flash animations, and the like are considered likely to deter users and should not be used.
Box Office Users
These are employees of the Mandala Center who work within the Mandala Center itself, and are on the local network. Some employees may work from home, in which case they will have access to a broadband Internet connection. Box office users perform the following activities:
-
Respond to phone and over-the-counter inquiries by members of the public, principally on the availability of seating. To support this task, box office users must be given powerful query functionality unavailable to public Internet users, to enable them quickly to respond to questions such as, "What is the first date on which I can have 25 adjacent B reserve seats to Carmen?"
-
Sell tickets to members of the public who wish to see a show.
-
Supply tickets to customers who booked online but chose to collect the tickets from the box office instead of having them delivered by mail. This is also necessary for late bookings, when there isn't time to send out tickets.
-
Occasionally, cancel reservations on phone requests.
These users are primarily concerned with service reliability and usability. They receive a constant flow of inquiries from customers who expect efficient service when they call.
Box office users must be given a powerful system that offers a quick way to perform common tasks. As the box office interface is for internal use only, there should be less emphasis on its branding and cosmetics.
The Mandala Center management team wishes to maximize their IT investment and so believes that the same online ticket reservation system should service public Internet users and box office staff. Box office users, like customers, will use a web interface. This interface will be protected from Internet users via role-based security and will have a separate entry point from the public Internet application. The system will automatically grant the appropriate privileges, based on username and password.
Administrators
These are employees of the Mandala Center, where the ticketing system will be in operation. Admin users must be located within the Mandala Center itself, accessing the local network. They fulfill a variety of clerical, marketing, and management functions:
-
Add new shows and performances.
-
Run management information and financial reports.
-
Configure settings of the ticketing system; such as the maximum number of tickets that can be purchased in one transaction, and the period of time tickets can be reserved before payment is made.
The Mandala Center's management has decided to defer requirements gathering and design of this interface until Phase 2. The current design must take this additional functionality into account and provide a design that is extensible.