Great Deal! Get Instant $10 FREE in Account on First Order + 10% Cashback on Every Order Order Now

Microsoft Word - Assignment-2_ITECH7410_ XXXXXXXXXXdocx CRICOS Provider No: 00103D XXXXXXXXXX/3 ITECH 7410: Software Engineering Methodologies Assignment 2 (Semester 2020/07) Due Date: Fri, Jun 5,...

1 answer below »
Microsoft Word - Assignment-2_ITECH7410_ XXXXXXXXXXdocx

CRICOS Provider No: 00103D XXXXXXXXXX/3
ITECH 7410: Software Engineering Methodologies
Assignment 2 (Semester 2020/07)
Due Date: Fri, Jun 5, XXXXXXXXXX:59 (Week 11)
Weighting: 20%
Assignment Type: Group (2 Students per group)
Submission: via Moodle
Refer to Course Description, especially in regard to: Extensions, Special Consideration, Late
Submissions, and Plagiarism.
The purposes of the assignment:
1. Understanding a large software system
2. Developing schema for small parts of a software system
3. To familiarize in formal design using Z
Note: This assignment is an extension of your tutorial on Week 6 with a different scenario. Follow the
guidelines of your lecture
tutor that was 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 recent
years. UBER Eats is one of them which will allow you to grab some foods from a shop
estaurant through
UBER drivers. This is also getting interests among the people who are using smartphones and not that
much interested to go out of home/ office for lunch/dinner. Please refer to the site
https: and https: to know more about Uber and
Uber Eats, respectively. Here go 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 in delivery service (driver)
4. Users must use their own credit card/debit card account while ordering the foods

CRICOS Provider No: 00103D XXXXXXXXXX/3

5. Interested companies must register their business to Uber so that the restaurant
usiness should
appear in the restaurant list in the app.
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 hand over a packet of food to its customer.
9. Entire cost calculation will be performed on 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
estaurant 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
e 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
equired 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 card information that includes the information about
account numbers, name, expiry date and CVV number.
G. An extensive analysis of various risk and possible way to cater to the risks
H. Conclusion about what you have gained by solving this assignment.
I. Prepare a PowerPoint presentation from your above work in 10-12 slides. Your lecturer
can ask you to present the slides once you submit the assignment
Submission Criteria:
The assignment must be submitted electronically through Moodle in pdf format. The name of the pdf
should be IDofTeamMate1_IDofTeamMate2_ITECH7410.pdf. 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 10 for each item = 10*7 = 70
H and I 15 for each item = 15*2 = 30
Total Marks 100
Weight in (%) 20%

CRICOS Provider No: 00103D XXXXXXXXXX/3
Marks will be uploaded in fdlGrades and a completed marking guide provided in Moodle within 2 weeks
of assignment submission.
Plagiarism is the presentation of the expressed thought or work of another person as though it is one's
own without properly acknowledging that person. You must not allow other students to copy your work
and must take care to safeguard against this happening. More information about the plagiarism policy
and procedure for the university can be found at http:

Introductory Notes on Specification with Z
Michael Butle
Dept. of Electronics and Computer Science
University of Southampton
March 12, 2001
1 Introduction
Z is a formal specification language for computer systems which is based on set theory and predicate logic.
There are several textbooks on Z in the li
ary, in particular:
• The Mathematics of Software Construction. A. Norcliffe & G. Slater. Ellis Horwood, 1991.
• Z User Manual. M.A. McMo
an & J.E. Nicholls. IBM Technical Report, 1989.
• The Z Notation - A Reference Manual. J.M. Spivey. Prentice–Hall, 1989.
• An Introduction to Formal Specification and Z. B. Potter, J. Sinclair & D. Till. Prentice–Hall, 1996.
The basic until of specification in Z is a schema. A Z schema consists of a name, a declaration of variables,
and a predicate:
x : X
Here, variable x is declared to be of type X (see section 2.2). Note that the declaration part may declare
more than one variable. The predicate part is a predicate (see section 2.3) whose free variables are those of
the declaration plus any constants.
A system specification in Z consists of some state variables, an initialisation, and a set of operations on
the state variables. The state variables will also have some invariants associated with them representing
“healthiness conditions” which must always be satisfied. Usually all of these are specified using schemas.
For example, the state variables of a counter system may be specified using the following schema:
ctr : N
0 ≤ ctr ≤ max
Here, ctr is declared to be a natural number and the predicate part describes an invariant that must be
satisfied by ctr, the state variable of the system.
An initialisation may be specified as follows:
ctr = 0
An operation is specified in Z with a predicate relating the state before and after the invocation of that
operation. For example, an operation to increment the counter may be specified as follows:
ctr < max
ctr′ = ctr + 1
The declaration ∆Counter means that the state Counter is changed by the operation. In the predicate, the
new value of a variable is primed (ctr′), while the old value is unprimed. So the above predicate states
that the new value of the counter, ctr′, is the old value plus one. Note that there is an implicit conjunction
(logical-and) between successive lines of the predicate part of a schema.
As well as changing the state variables, an operation may also have input and output parameters. Input
parameter names are usually suffixed with ‘?’, while output parameter names are suffixed with ‘!’. Fo
example, the following operation for decrementing the counter has as an input parameter, the amount by
which the counter should be decremented:
d? : N
ctr ≥ d?
ctr′ = ctr − d?
The following operation has an output parameter which is the value of the counter:
c! : N
c! = ct
Here, the declaration ΞCounter means that the operation cannot change the state of Counter, so ctr′ = ctr.
2 Sets and Logic
2.1 Sets
Sets are the most basic types in Z. Examples of sets include:
{ 3, 6, 7 }
{ windows, unix, mac }
{ false, true }
N (the set of natural numbers)
Z (the set of integers)
R (the set of real numbers)
{} (the empty set)
Set Membership:
mac ∈ { windows, unix, mac }
linux 6∈ { windows, unix, mac }
10 ∈ N
10.5 6∈ N
10.5 ∈ R
Set Equality:
{ 3, 6, 7 } = { 7, 6, 3, 6 }
The following operators may be applied to sets:
Union: S ∪ T
Intersection: S ∩ T
Difference: S \ T
Subset: S ⊆ T
E.g., {c, b} ⊆ {a, b, c}.
Power Set: P S (set of subsets of S).
P{a, b, c} = { {}, {a}, {b}, {c},
{a, b}, {b, c}, {a, c},
{a, b, c} }
2.2 Types
Types are used to differentiate the various forms of data present in a specification. Advantages of using
types are that they
• help to structure specifications by differentiating objects;
• help to prevent e
ors by not allowing us to write meaningless things;
• they can be checked by computer.
The declaration x : T says that x is of type T , where T is a set. This is like saying x ∈ T .
x : N
z : R
unix : { windows, unix, mac }
7 : N
(3 + 5) : N
What are the types of the following expressions?
log y
sin (π/2)
(a + b)× (3!)
A new basic type T is introduced to a specification by putting its name in square
This allows us to name the types of a specification without saying what kind
Answered Same Day May 27, 2021 ITECH7410


Neha answered on May 31 2021
126 Votes
A. In natural language, write down the state information and the operations that are likely to be needed for the food order.
The Uber eats application is based on Android mobile app. This is a meal delivery application which is created by the Uber technologies Inc. It helps to connect the customers and drivers with the network to deliver the meals within few minutes. The restaurants get the order from their customers to deliver the order using Uber smartphone application. The Uber eats team is available in different cities at the distance limits for the requirements of customer. This app has a feature to change the signature items of every restaurant which is registered in this app. This app is also having the cele
ity chefs in their pop-up restaurants. The Michael Mina is one of the partners of Uber eats for promoting new dishes. The Uber eats have few options for the meals on their daily menu. The customer can use this app and select the order from the menu. Every restaurant of the Uber eats has some different options like lunch,
unch and dinner. The customer can pay the charges using their credit card on their mobile phones. Depending on the distance the meals can be delivered by car, bikes or by foot. This application has Uber eats, customers, states, restaurants, and the Uber drivers. To order the food using this app the customer need to enter their states. As the customer you open this app, he needs to enter his personal information on this app. The customer needs to enter their co
ect name, contact number, address, and credit card details. Once the registration is completed the customer can login into the system using their username and password. After placing the order all the request will be forwarded to the nearest Uber drivers to deliver the order. The driver gets at alert from the customers directly.
B. Develop a mathematical description for the state space of the system and present it in...

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here