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 »
attached my assignment


Microsoft Word - Assignment-2_ITECH7410_2020-07.docx CRICOS Provider No: 00103D 1/3 ITECH 7410: Software Engineering Methodologies Assignment 2 (Semester 2020/07) Due Date: Fri, Jun 5, 2020 - 23: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. Purpose: 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 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 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/restaurant 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://en.wikipedia.org/wiki/Uber_(company) and https://ubereats.com 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 2/3 5. Interested companies must register their business to Uber so that the restaurant/business 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/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 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 3/3 Feedback Marks will be uploaded in fdlGrades and a completed marking guide provided in Moodle within 2 weeks of assignment submission. Plagiarism 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://federation.edu.au/students/learning-and- study/online-help-with/plagiarism. Introductory Notes on Specification with Z Michael Butler 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 library, in particular: • The Mathematics of Software Construction. A. Norcliffe & G. Slater. Ellis Horwood, 1991. • Z User Manual. M.A. McMorran & 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: SchemaName x : X Predicate 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: Counter 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: 1 InitCounter Counter 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: Increment ∆Counter 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 ‘!’. for example, the following operation for decrementing the counter has as an input parameter, the amount by which the counter should be decremented: decrement ∆counter d? : n ctr ≥ d? ctr′ = ctr − d? the following operation has an output parameter which is the value of the counter: display ξcounter c! : n c! = ctr 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) 2 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). e.g., 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 errors 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? mac log y sin (π/2) (a + b)× (3!) a new basic type t is introduced to a specification by putting its name in square brackets: [t] 3 this allows us to name the types of a specification without saying what kind 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="" ‘!’.="" for="" example,="" the="" following="" operation="" for="" decrementing="" the="" counter="" has="" as="" an="" input="" parameter,="" the="" amount="" by="" which="" the="" counter="" should="" be="" decremented:="" decrement="" ∆counter="" d?="" :="" n="" ctr="" ≥="" d?="" ctr′="ctr" −="" d?="" the="" following="" operation="" has="" an="" output="" parameter="" which="" is="" the="" value="" of="" the="" counter:="" display="" ξcounter="" c!="" :="" n="" c!="ctr" 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)="" 2="" 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).="" e.g.,="" 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="" errors="" 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?="" mac="" log="" y="" sin="" (π/2)="" (a="" +="" b)×="" (3!)="" a="" new="" basic="" type="" t="" is="" introduced="" to="" a="" specification="" by="" putting="" its="" name="" in="" square="" brackets:="" [t]="" 3="" this="" allows="" us="" to="" name="" the="" types="" of="" a="" specification="" without="" saying="" what="">
Answered Same DayMay 27, 2021ITECH7410

Answer To: Microsoft Word - Assignment-2_ITECH7410_ XXXXXXXXXXdocx CRICOS Provider No: 00103D XXXXXXXXXX/3...

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 celebrity 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, brunch 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 correct 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...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here