Assignment title: Information
CRICOS Provider No: 00103D 1/2
ITECH 7410: Software Engineering Methodologies
Assignment 2
Due Date: Thu, Feb 2, 2017 - 16:00 (Week 11)
Weighting: 20%
Submission: via Moodle
Refer to Course Description, especially in regard to: Extensions, Special Consideration, Late
Submissions, and Plagiarism.
Purpose:
The purposes of the assignment:
1. Understanding large software system
2. Developing schema for small parts of a software system
3. To be familiarize in formal design using Z
Introduction:
Note: This assignment is an extension of your tutorial on Week 6 with a different scenario. Follow
the guidelines of your lecturer/tutor that were delivered during the lecture or tutorial time.
UBER, a transport network company, got attention to a large group of people in the past few years. At
the time UBER is getting popularity, they have extended their business to other related domains in the
recent years. UBER Eats is one of them which will allow you to grab some foods from a
shop/restaurant through UBER drivers. This is also getting interests among the people who are using
smart phones and not that much interested to go out of home/ office for lunch/dinner. Please refer to
the site https://en.wikipedia.org/wiki/Uber_(company) and https://ubereats.com to know more about
Uber and Uber Eats, respectively. Here goes the functionalities of Uber Eats:
1. The company has a website and apps for the mobiles
2. User needs to fill-up a particular form to be the member of UBER Eats
3. A person must register if she is interested about delivery service (driver)
4. Users must use their own credit card/debit card account while ordering the foods
5. Interested companies must register their business to Uber so that the restaurant/business should
appear in the restaurant list in the app.CRICOS Provider No: 00103D 2/2
6. A user will have to use the mobile app to order any food.
7. The restaurant will prepare the food according to the order from users in due time so that the
driver can collect it
8. The driver will turn-on the UBER App in her mobile and will allow her to receive any
notification to handover a packet of food to its customer.
9. Entire cost calculation will be performed in the UBER side and this will be disbursed in the
following month to the driver and the restaurant.
You have been assigned to a team that is developing software for the UBER Eats. Your job is to
develop a part of the UBER Eats which involves: i) a user to select the food from any of the suggested
companies ii) preparing the foods and make it ready to deliver from company/restaurant side iii) a
driver who will collect that food and handover it to the customer's location, iv) providing the facility to
the users to update their information. Here goes the item that you need to submit in the assignment:
A. In natural language, write down the state information and the operations that are likely
to be needed for the food order.
B. Develop a mathematical description for the state space of the system and present it in a
schema in the Z specification language.
C. Write three possible schemas for Add User, Add Driver, Add Company, separately
D. Write a schema that describes a function to look up the phone number for a name (this
is required when the driver will be delivering the food to the customer).
E. Write a robust schema to remove a company and associated information from the
UBER eats database.
F. Produce a Z specification for a card information that includes the information about
account numbers, name, expiry date and CVV number.
G. Use the Z schema calculus to get a robust version of the lookup schema.
H. An extensive analysis of various risk and possible way to cater the risks
I. Conclusion about what you have gained by solving this assignment.
Submission Criteria:
The assignment must be submitted electronically through Moodle in pdf format. Draw the diagram
using any suitable graphic software, no handwritten diagrams will be accepted. Write a conclusion of
the analysis in your own words.
Marking Guide:
Items Marks
A-G 2 for each item = 2*7 = 14
H and I 3 for each item = 3*2 = 6
Total Marks 20