Scenario (This scenario is used in all questions. Read it carefully.)
Picnics R Us (PRU) is a small catering firm with five employees. During a typical summer weekend, PRU caters for fifteen picnics with twenty to fifty people each. The business has grown rapidly over the past year and the owner wants to provide the customers with an on-line ordering system.
PRU already has a web presence that will now also include the new on-line ordering system. PRU has a set of ten standard menus. When a potential customer wants to book a picnic, (s)he can choose from one of the standard menus, identifying how many people are to be served. The system then displays to the customer the total costs for the food, excluding delivery. A potential customer may also choose to check for available slots first by providing the system with information about the picnic (e.g., place, date, and time). Once both sets of information have been entered, the customer may choose to move forward with the transaction and have the total cost for the picnic (food and delivery) calculated and displayed.
If the customer decides to book the picnic (s)he must agree to PRU’s terms and conditions and then enter his/her information (e.g., name, email address, phone number, etc.). The customer then is prompted to pay a deposit of 50%, which can be paid by debit card, credit card, or using PayPal. Once the deposit payment is completed, information about the picnic and the customer is stored in the system, the customer is sent an email with the details of the contract agreed, a message is displayed on the customer’s screen informing of successful completion and summarizing the picnic details, and PRU’s owner is sent an email with the details of the picnic (date, time, place, menu choice and number of people). This concludes the ordering of picnics.
Four days prior to the picnic the system sends an email to the customer reminding him/her of the details booked. If the customer has a problem with it then (s)he must contact PRU in 24 hours to resolve the issues.
The rest of PRU’s business will remain the same, with food orders being purchased two days prior to the picnics, then prepared in house, and delivered with plates, napkins, cutlery and cups/glasses according to the agreement. When a picnic is being delivered the remaining money is collected. One day later the customer is sent an email giving the option of providing feedback (on a form on-line), and the details of the picnic (excluding payment details) are stored in the system for future use, supporting trend analysis as well as for marketing purposes.
Question 1. (This question is about activity diagrams and use cases)
a) Create an activity diagram for describing the on-line booking of picnics with PRU as described in the scenario.[40 marks]
b) What are the different types of control nodes in activity diagrams? Explain what each of them means. Provide examples of two of those types from your answer to question 1a) above.[20 marks]
c) List the set of use cases relevant to the PRU scenario above with their corresponding primary actors. We expect to see around ten use cases. Draw the relevant use case diagram. Ensure that actors and use cases are labeled clearly and meaningfully. If appropriate, make use of inclusion use cases, extension use cases and generalisation.[40 marks]
Question 2. (This question is about class diagrams and sequence diagrams)
a) Create an analysis class diagram for describing a system for the PRU scenario above.[40 marks]
b) What are the differences between abstract and concrete classes? Make use of an example to illustrate your answer.[10 marks]
c) Create a sequence diagram that reflects a customer booking a picnic with PRU on-line as described in the scenario.[40 marks]
d) Describe what the main purpose of sequence diagrams is. Explain how that is achieved on your answer to question 2c) above.[10 marks]
Question 3. (This question is about state diagrams and verification & validation)
a) Draw a state machine for a picnic within a computing system to support the on-line ordering business of PRU, from the moment a customer starts considering ordering the picnic on-line until its information is stored for future use.[40 marks]
b) PRU now would like to allow its customers to cancel a requested picnic up to four days in advance, giving them a partial refund of their deposit. Describe how that would impact your model provided for question 3a) above. What would be the changes needed and why?[20 marks]
c) Describe the types of events that can be represented on a state machine and illustrate each one with an example (feel free to draw from your answer to question 3a) above).[20 marks]
d) Explain what is the role of the actors elements in verification and validation across models. Illustrate your answer with an example.[20 marks]