Functional Requirements Specification
0. Buying a cinema ticket manually
1. Choose Cinema
1.1 Gather Info about available cinemas
1.1.1 Draw upon previous knowledge
1.1.2 Look in local papers for cinema listings
1.1.3 Ask others
1.2 Decide on which cinema
1.2.1 Based on individual preference
1.2.2 Based on group preference
2. Go to the Cinema
2.1 Choose time of travel
2.2 Choose travel method
2.3 Travel to cinema
3. Choose film showing
3.1 Read the list of film titles
3.1.1 Look at display board
3.1.2 Look at leaflets
3.1.3 Look at trailers on mini-screen
3.2 Read the list of times for the films
3.3 Choose film showing
3.3.1 Based on individual preference
3.3.2 Based on group preference
4. Check Seat availability
4.1 Look on display board
4.2 Ask staff
5. Buy ticket
5.1 Initiate Ticket purchase
5.1.1 Give film details
5.1.1.1 Give film name
5.1.1.2 Give film time
5.1.2 Give ticket(s) details
5.1.2.1 Give ticket type(s)
5.1.2.2 Give ticket count of each type
5.2 Pay for tickets
5.2.1 Find out amount due
5.2.2 Tender payment
5.2.2.1 Offer any proof needed for concessions
5.2.2.2 Pay by cash
5.2.2.3 Pay by credit/debit card
5.2.2.4 Pay by voucher
5.2.3 Collect Tickets
Plan
Plan 0: Do 1, then do 2, then do 3, until satisfied.
If not satisfied, then start at 1 again or stop.
If satisfied do 4.
If available, do 5.
If not available, do 3 or start at 1 again or stop.
The user will choose a cinema, go to it and then choose a film. If a film they want to see is not showing, then they may either choose another cinema, or give up. If a film they want to see is showing, then they check seat availability and buy a ticket. If there are no seats available, they may choose another cinema, choose another film or give up.
Plan 1: Do 1.1, then 1.2.
Users will find out about different cinemas, then choose one.
Plan 2: Do 2.1 and 2.2 in any order, then 2.3.
To get to the cinema, users choose a time for travel and a method, then travel.
Plan 3: Do 3.1 and 3.2 in any order, then 3.3.
To choose a film, users read the list of films available and times, and then make a decision.
Plan 4: Do wither 4.1 or 4.2 or both.
To check seat availability, the users can either look at the notice board or ask cinema staff.
Plan 5: Do 5.1 then 5.2.
Users must first inform the cinema staff of which tickets they want, before paying for them.
Plan 1.1: Do 1.1.1 and/or 1.1.2 and/or 1.1.3 in any order.
There is no prescriptive order to how users find out about cinemas.