Theatre: Rough Solution
Simple Use Case Diagram View Performances Register as friend <<include>> Customer Book Seats <<extend>> Pay View Bookings <<include>> Login <<include>> <<extend>> Cancel Booking Process refund Theatre staff
Use Case Template extract :Book Seat Customer logs in specifying email, password and membership no. System checks if they are valid and if so a list of performances is displayed. Customer selects performance and specifies number of seats System checks availability Customer specifies credit/debit card details Booking record created and booking reference given to customer
Branching actions 2a. Customer not found error message given. 4a. Performance unavailable error message given. Customer returned to performance list screen 5a. Card invalid. Customer is asked to re-enter credit card details or to quit.
Class diagram 1 : Entity classes, Relationships and Inheritance Customer membership number name address phone number mobile number, interest1 interest2 (y/n) […] email updates (y/n) text updates (y/n) Password Register() Makebooking() Get_customer_details() Booking Booking number Customer no. Performance code Number of seats Amount paid Performance Performance code Name Date Actors Seats available Videoclips Getperformancedetails() Getseatsavailable() 0..* 1 1 0..* Refund Booking number Membership number Performance code Amount due 0..* 0..1 1 0..*
Robustness diagram : Make Booking Make Booking UI customer Customer Booking Performance
Additional Classes <<boundary>> <<control>> Make_booking_UI Display_login_screen() Confirm_login() Display_performances() Select_performance() SPECIFY_SEATS() Show_seats_and price() Confirm() Enter_payment() <<control>> Make_booking Number of seats Cost Check_customer() Check_availability(seats,performance code) Book_seat()