You are on page 1of 11

ITECH 7410: Software Engineering Methodologies

Assignment 2

NAME : SAI BHARATH ERELLI STUDENT ID : 30369714

NAME : SANTHOSH KANUGANTI STUDENT ID : 30370604

NAME : MITHILESH THANUGULA STUDENT ID : 30360696


Online Delivery- UBER Eats

PART A

A table is created below to describe the data types which will be used in the z schemas. To
ease the understanding the description is provided for the data types used in the report-

Basic datatypes:

Below table contains basic data types used in the report-

Data type Description


USERID User ID (Unique)
DRIVERID Driver ID (Unique)
COMPANYID Company ID (Unique)
USERRECORD Tuple types- userName, deliveryAdress,
contactNo and creditCard.
DRIVERRECORD Tuple typse- driverName, contactNo,
orderID.
RESTAURANT/COMPANY RECORD Tuple types- companyName, orderID,
amount and pickupTime.
ORDERID Order ID (unique)
ORDER Tuple types- userID, companyName, order
date, and order amount
ORDERLINE Tuple types- orderID, productID, food type
and food quantity etc.
STRING Represents alphanumeric data.
RESULT Free type
RESULT ::= ADDED | ALLREADYEXIST
| UPDATED | FOUND | NOTFOUND

PART B

User Login System for UBER Eats-

The UBER Eats allows two types of account registrations i.e. as a driver or as a user. The
driver is responsible to deliver the food and the user is the customer who will order food
through online means.

Both the registrations for driver and user are allowed at UBER Eats database but one person
can register once to enjoy the accessibility and benefits.

Initialization:

Active- no of active users on UBER Eats

Accounts- no of accounts registered on UBER Eats

State space:
PART C

1. Add User

Add user account schema and user account robust schema-

Δ exhibits change in the system as an entry is been added (user details)


2. Add Driver

Add driver account schema and driver account robust schema-

Δ exhibits change in the system as an entry is been added (driver details)

3. Add Company

Add company account schema and company account robust schema-


Δ exhibits change in the system as an entry is been added (company details)

PART D

Lookup phone robust schema-


Ξ shows that there is no change in the system (Accounts) as only the contact number of the
user is searched or looked for and no additions or subtractions are made in the system.

PART E

Delete company account schema and delete company robust schema-

Δ exhibits change in the system as an entry is been deleted (company details)

PART F

Z specification for a card information


Ξ shows that there is no change in the system (Accounts) as only the contact number of the
user is searched or looked for and no additions or subtractions are made in the system.

PART G

Robust Version of lookup schema


Possible outcomes-

message! : FOUND or message! : NOTFOUND

PART H

Identified risks and solutions-

The possible risks that can arise in the system are-

 The driver is unable to contact the user


 The user details are incomplete
 User registered with fake details
 User instructions are unclear
 The company/restaurant packs an incomplete order
 Customer charged extra unintentionally
 The credit card details are insecure and prone to hackers
 The user not at specified location to receive the order.

The possible ways to overcome risks are-

 Additional support must be provided to driver by UBER Eats in case of emergency.


 The user registration must be unsuccessful until all mandatory fields are filled in.
 To ensure that details are genuine, two-way authentication must be done with SMS
code on mobile.
 User instructions must be re-requested.
 The user has rights to complain about the misplaced or missing order through help
and support.
 The customer must be refunded in case where the charge was made unintentional and
due to errors.
 The payment interface must be secure and protected with UBER Eats responsible
servers.
 The driver must report to UBER Eats and ask for the action to be taken.

PART I

Conclusion
For developing the report, we had analysed all functionalities of UBER Eats platform. The z
schema concept was used to address the functionalities provided in requirement pdf. It was
interesting task and we learned how this was beneficial to make the essential components
been highlighted or focussed on for the programmers to work on implementing while
developing the system.

The assignment helped us to understand how z schema is helpful in practical aspect and can
aid in fulfilling all functional requirements of a system. Various tuple types, data types are
used in developing the report. A general description is provided for each tuple type used for
enhancing the level of understanding. The UBER Eats is the food ordering application which
works based on real time system. The system has many components to be interlinked for
effective functioning of the system.

The z schema concept is in our lecture slides and some examples are also provided for
understanding. For developing this report, I had referred some lecture slides for example and
considered the z schema papers available online to check how the system works and how
schemas can be developed.

Some parts of assessment were difficult and had to practise a lot to come up with suitable z
schema representation. We can improve more by learning concept of z formal methodologies
with the help of various examples. This report development helped us to understand how the
theoretical knowledge gained through the process of semester can be helpful in realistic
approach at workplace.

As a team we worked with collaboration and coordination. We improvised our works by


recommending better ways to come up and had discussions on overall aspect. It’s a group
contribution and hope that the skills acquired with will be beneficial for us in the future.

You might also like