Model Solutions. ENGR 110: Test 2. 2 Oct, 2014

Similar documents
e-crew Horizon Air Pilot Trip Trades Phase I Notes for the Crewmembers

Students will make a brochure for their own amusement park. They create rides and complete tasks on the inequalities they have learned about.

myldtravel USER GUIDE

e-crew Horizon Air Trip Trades Notes for the Flight Attendants

The American Express Airpoints Platinum Reserve Card Benefits Terms and Conditions.

Additional Boarding Setup and Daily Operations Guide

QuickStart Guide. Concur Premier: Travel

PASSUR Aerospace. Departure Metering Program at Toronto Pearson International Airport. Training Manual

S-Series Hotel App User Guide

Make an Airline Reservation. Action

2/11/2010 7:08 AM. Concur Travel Service Guide Southwest Direct Connect

Service Level Agreement. for the. Promulgation of Aeronautical Information in New Zealand. Between

Virgin Australia s Corporate Booking Portal User Guide

Real World Performance Tasks

Concur Travel: View More Air Fares

myidtravel Functional Description

Airport Departure Flow Management System (ADFMS) Architecture. SYST 798 / OR 680 April 22, Project Sponsor: Dr. Lance Sherry, CATSR

Navitaire GoNow Day-of-departure services

Mobile FliteDeck VFR Release Notes

SENIOR CERTIFICATE EXAMINATIONS

CASS & Airline User Manual

AIR PASSENGER RIGHTS EU COMPLAINT FORM

GENERAL AVIATION AIRPORT RULES AND REGULATIONS

ultimate traffic Live User Guide

Long Beach Airport. A Sound Approach. for a Quieter Community

Sabre Online Quick Reference Guide

MISUSE OF SLOTS ENFORCEMENT CODE ANNUAL REPORT 2014/15

kulula.com Ticket Audit and Agent Debit Memo Policy

TABLE OF CHANGES INSTRUCTIONS Form I-907, Request for Premium Processing Service OMB Number: /19/2017

Instructions for Request for Premium Processing Service

E: W: avinet.com.au. Air Maestro Training Guide Flight Records Module Page 1

Concur Travel: Post Ticket Change Using Sabre Automated Exchanges

Global formulas. Page1. Video filmed with GeneXus X Evolution 2

Before using the Online Booking Tool, ensure all travel preferences have been updated. See Getting Started for more information.

How do I transfer money from my Travel Fund/Trip Allowance to a trip?

VARIBLE COMMISSIONS OVERVIEW

MyTraveler User s Manual

TIMS & PowerSchool 2/3/2016. TIMS and PowerSchool. Session Overview

The Improvement of Airline Tickets Selling Process

REGIONAL CARIBBEAN CONTINGENCY PROCEDURES FOR HURRICANES

CREDIT CARD REWARDS PROGRAM TERMS AND CONDITIONS

Preliminary Staff User s Manual. CASSi The Computerized Aircraft Scheduling System Rev. 1.28a. February 10, 2001

NAIPS Internet Service Authorised NOTAM Originator User Guide Version 3.0. (To be read in addition to NIS User Guide 3.0)

Measuring Productivity for Car Booking Solutions

2 NO GOVENMENT GAZETTE, 30 DECEMBE 2009 IMPOTANT NOTICE The Government Printing Works will not be held responsible for faxed documents not recei

Kristina Ricks ISYS 520 VBA Project Write-up Around the World

Our World Travels With You. Welcome to our simple guide to booking travel

Official Journal of the European Union L 186/27

Aer Credit Card Travel Rewards Terms and Conditions

kulula.com Ticket Audit and Agent Debit Memo Policy Reference: 5/01/2014

Concur Travel: Southwest Direct Connect

GUIDELINES FOR THE ADMINISTRATION OF SANCTIONS AGAINST SLOT MISUSE IN IRELAND

FACILITATION PANEL (FALP)

Course Project. 1. Let staff make entries when a passenger makes reservations on a flight.

ELOQUA INTEGRATION GUIDE

MEMBERSHIP, ENTERING INTO AN AGREEMENT AND RESPONSIBILITIES OF THE COMPANY

Briefing note for new Air Passenger Duty operators

Concur Travel FAQs. 5. How do I log in to Concur Travel? Visit or the link is available on the Travel page of the Compass.

COMMISSION REGULATION (EU) No 255/2010 of 25 March 2010 laying down common rules on air traffic flow management

AGENCY AGREEMENT. The definitions used in this agreement have the same meaning as those used in the ATOL Regulations 2012.

ROLLER COASTER POLYNOMIALS Due: Thursday, March 30th

Credit Cards. Bankwest Qantas Rewards

Woolworths Money Qantas Rewards Program

DART. Duty & Recreation Travel STAFF TRAVEL SIMPLIFIED. Straightforward, easy to use staff travel management system for the airline industry

solutions Amadeus for ground handlers

Video Media Center - VMC 1000 Getting Started Guide

PLATINUM VISA CREDIT CARD - QANTAS POINTS - TERMS AND CONDITIONS

How To Set Up and Use the SAP ME Earned Standards Feature

Baggage Reconciliation System

Macquarie Qantas Rewards Program. Terms and Conditions

Recommendations on Consultation and Transparency

NOTICE 1063 OF 2012 AIRPORTS COMPANY SOUTH AFRICA LIMITED. AIRPORTS COMPANY ACT, 1993 (ACT No. 44 OF 1993), AS AMENDED PUBLICATION OF AIRPORT CHARGES

ROLLER COASTER POLYNOMIALS

Signature: Signature:

Presentation date. IHG Rewards Club Guest Check-in Job Aid

Requirements for Voucher Approval Process

Configuring a Secure Access etrust SiteMinder Server Instance (NSM Procedure)

2019 Vacation Bidding

Part 1. Part 2. airports100.csv contains a list of 100 US airports.

myldtravel USER GUIDE

Change to Automatic Dependent Surveillance Broadcast Services. SUMMARY: This action announces changes in ADS-B services, including Traffic Information

PLATINUM VISA CREDIT CARD - QANTAS POINTS - TERMS AND CONDITIONS

Employment Authorization Document (EAD) Application Guide for J-2 Dependents

UNIT TITLE: CONSTRUCT AND TICKET DOMESTIC AIRFARES

Virgin Atlantic Airways Limited Global BSP Agency Debit Memo Policy

Booking Airfare for Another Employee

Angel Flight Information Database System AFIDS

Training and licensing of flight information service officers

What s New in VAX VacationAccess? VAX VacationAccess December 8, 2011 Enhancements Reference Guide

Math 3 Polynomials Project

AUTHORIZATION TO INCUR TRAVEL EXPENSES

CGE Training: Train the Trainer Scenarios

Treasures of Tahiti, Hawaii & New Zealand

Treasures of Tahiti, Hawaii & New Zealand

BLUE PANORAMA AIRLINES POLICY ON AGENT DEBIT MEMO (ADM)

Entry of Flight Identity

ORDER TCAA-O-OPS020B March 2013

4-5 night & transatlantic / transpacific & repositioning Cruises. Interior Stateroom US$50 US$100 US$150 US$200 US$250

GEELONG CATS MEMBER INFORMATION

Flight Delays Module (External User)

Transcription:

Family Name:.............................. Other Names:............................. ID Number:............................... Signature.................................. Model Solutions ENGR 110: Test 2 2 Oct, 2014 Instructions Time allowed: 50 minutes. Closed Book. Answer all the questions. There are 50 marks in total. Write your answers in the boxes in this test paper and hand in all sheets. If you think some question is unclear, ask for clarification. This test contributes 10% of your final grade You may use paper translation dictionaries, and calculators. You may write notes and working on this paper, but make sure your answers are clear. Questions Marks 1. Activity Diagrams [8] 2. Use Case Bodies [10] 3. Use Case Diagrams [7] 4. Class Diagrams: Associations [13] 5. Designing Class Diagrams [12] TOTAL:

JetFlightsNZ JetFlightsNZ airline has a website that enables customers to browse flight routes and book flights within New Zealand. To book a flight customers enter the desired date, destination, and departure city. They then select the flight they want from the list provided to them, and are taken through to the payment page. If the payment is successful, then the flight is booked and the customer is sent a confirmation email with their booking reference details. Having booked a flight, passengers are able to log into the JetFlightsNZ website using their name and booking reference. Once they have logged in, they are able to amend their reservation, by selecting to change either the date or destination city. This enables them to search for an alternative flight, which they can select instead of their existing booking. If the new flight is more expensive than their original flight they have to pay the difference. Once they have logged in, passengers can also select their inflight meal preference, request an upgrade, or cancel the booking completely. Some of these actions require payments (or refunds) to be made securely. ENGR 110 (Terms Test 2) Page 2 of 13 continued...

Student ID:....................... The description of JetFlightsNZ on the facing page is background for questions 1, 2, and 3. ENGR 110 (Terms Test 2) Page 3 of 13 continued...

Question 1. Activity Diagrams [8 marks] [This question refers to the JetFlightsNZ system described on page 2.] Convert the following use case body into an activity diagram, making sure to clearly label the error and alternate sequences. and enters payment details 6. Payment Authorisation System confirms Alternative scenarios A1: Payment details entered incorrectly 1 or 2 times The A1 scenario starts at point 5 of the main success scenario Actions of actors 6. Payment Authorisation System denies Error scenarios E1: There are no upgrade options The E1 scenario starts at point 2 of the main success scenario Actions of actors E2: Payment details entered incorrectly 3 times The E2 scenario starts at point 5 of the main success scenario Actions of actors 6. Payment Authorisation System denies Use case: Request Upgrade Actors: Passenger (primary), Payment Authorisation System (secondary) Preconditions: Logged On Actions of actors Actions of system 1. Passenger selects flight to upgrade 2. System checks to see if this is possible 3. System presents upgrade options and prices to passenger and requests payment details 4. Passenger selects preferred option 5. System requests payment authorisation 7. Passenger details updated, passenger notified. Actions of system 7. System checks that incorrect details entered fewer than 3 times. 8. Go to M.3 Actions of system 3. System notified that there are no upgrade options and the Use Case fails. Actions of system 7. System checks that incorrect details entered 3 times. 8. System notifies Payment Authorisation System, transaction denied, Use Case fails. (Question 1 continued on next page) ENGR 110 (Terms Test 2) Page 4 of 13 continued...

Student ID:....................... (Question 1 continued) Select flight Check for upgrade ok none E 1 Options/ payment presented Start Fail E 2 Details updated Passenger selects & pays A 1 Notification sent End ENGR 110 (Terms Test 2) Page 5 of 13 continued...

Question 2. Use Case Bodies [10 marks] Consider the use case Book flight. Provide the use case body for the main success scenario, and for one alternate or error scenario. NOTE: No marks will be given for an alternative/error scenario copied from Q1. The system description from page 1 is repeated below for convenience. JetFlightsNZ JetFlightsNZ airline has a website that enables customers to browse flight routes and book flights within New Zealand. To book a flight customers enter the desired date, destination, and departure city. They then select the flight they want from the list provided to them, and are taken through to the payment page. If the payment is successful, then the flight is booked and the customer is sent a confirmation email with their booking reference details. Having booked a flight, passengers are able to log into the JetFlightsNZ website using their name and booking reference. Once they have logged in, they are able to amend their reservation, by selecting to change either the date or destination city. This enables them to search for an alternative flight, which they can select instead of their existing booking. If the new flight is more expensive than their original flight they have to pay the difference. Once they have logged in, passengers can also select their inflight meal preference, request an upgrade, or cancel the booking completely. Some of these actions require payments (or refunds) to be made securely. (Question 2 continued on next page) ENGR 110 (Terms Test 2) Page 6 of 13 continued...

Student ID:....................... (Question 2 continued) Use case: Book Flight Actors: Customer (primary), Payment Authorisation System (secondary) Actions of actors Actions of system 1. Customer enters flight details 2. System checks for flights matching (date, destination, and departure) details and presents to user 3. Customer selects flight from list 4. System requests payment details 5. Customer enters payment details 6. System requests payment authorisation 7. Payment Authorisation System 8. Flight booking allocated and details confirms sent to customer by email Error scenario E1: No available flights The E1 scenario starts at point 1 of the main success scenario Actions of actors Actions of system 2. No matching flights available. User notified. The use case fails ENGR 110 (Terms Test 2) Page 7 of 13 continued...

Question 3. Use Case Diagrams [7 marks] Draw a use case diagram for the JetFlight NZ system, making sure to include all 6 Use Cases and all 3 actors. Customer Passenger Browse Book Flight Log on Amend Reservation Select Meal Request Upgrade << ensures logged on>> <<requires logged on>> <<requires logged on>> <<requires logged on>> secondary secondary secondary <<actor>> Payment AS ENGR 110 (Terms Test 2) Page 8 of 13 continued...

Student ID:....................... Question 4. Class Diagrams: Associations [13 marks] (a) [4 marks] Consider the following fragment of a class diagram with two classes and an association: Packet 1 RelatedTo 0..* Company Explain what the multiplicities of the relatedto association mean in terms of individual Packet objects and individual Company objects. Every Packet object is relatedto a collection of Company objects of indefinite size (possibly none). Every Company object is relatedto exactly one Packet object (Question 4 continued on next page) ENGR 110 (Terms Test 2) Page 9 of 13 continued...

(Question 4 continued) (b) [3 marks] Show how the association in the following class diagram could be implemented as field(s) in Java code. Flight BookedOn 0..* Passenger public class Flight { private List <Passenger> bookedon= new ArrayList<Passenger>(); } public class Passenger { } (c) [3 marks] Show how the association in the following class diagram could be implemented as field(s) in Java code. Flight 1 flight BookedOn 0..* passengers Passenger public class Flight { private List <Passenger> passengers = new ArrayList<Passenger>(); } public class Passenger { private Flight flight ; } (Question 4 continued on next page) ENGR 110 (Terms Test 2) Page 10 of 13 continued...

Student ID:....................... (Question 4 continued) (d) [3 marks] How could your implementation enforce the multiplicity of 1 in the BookedOn association in (c)? The flight field only holds one Flight object, so the maximum of 1 Flight per Passenger is enforced automatically in the Passenger class. To ensure that the minimum of 1 Flight per passenger is enforced, the Passenger constructor would need to have a parameter that takes a Flight object, and would then check that the Flight value was not null and assign it to the flight field. Additional, more subtle requirements: If the Passenger class has a method for changing the flight field, that method would need to ensure that it did not change the field to null. The program would need to have methods for adding or removing a Passenger to the list of passengers in a Flight. These methods would have to ensure the Passenger was always in the list of exactly one Flight - never adding it to one list without removing from another list, and vice versa. [Full marks did not require the last point to be stated.] ENGR 110 (Terms Test 2) Page 11 of 13 continued...

Question 5. Designing Class Diagrams [12 marks] (a) [10 marks] Draw a class diagram with three classes for the following ground traffic control system. You should include associations, and at most one attribute and one operation per class. An airport has several gates, numbered 1, 2, 3,.... Each gate always has one service vehicle allocated to it. Each arriving aircraft (identified by its flight number), is assigned a gate. There may be several aircraft assigned to a single gate, but there can only be one aircraft parked at the gate at a time; other aircraft assigned to the gate have to wait their turn before they can park. When an aircraft parks at its gate, the ground control system can assign a list of tasks to the service vehicle for it to perform on the aircraft. Gate GateNumber : integer 0..1 AllocatedVehicle AllocatedGate 1 0..* ParkedAt 0..1 Aircraft FlightNumber : String park(gate gate) ServiceVehicle 1 assigntasks(list<string>) (Question 5 continued on next page) ENGR 110 (Terms Test 2) Page 12 of 13 continued...

Student ID:....................... (Question 5 continued) The following class diagram describes part of the design for an airline booking system which expresses the fact that there are two kinds of passengers regular passengers and first-class passengers and that first-class passengers are able to some do actions that regular passengers cannot. (Note, no attributes or associations are shown in this diagram.) Passenger setdietaryrequirements() : String cancelflight() FirstClassPassenger choosemeal() booklounge() requestlimousine() (b) [2 marks] Explain why this design would be hard to implement in Java if passengers are allowed to upgrade from regular to first-class. Java does not allow you to change the type of an object once it has been constructed, so upgrading a Passenger object would mean removing the object and replacing it (everywhere) by a new FirstClassPassenger object which had the values in the original Passenger object copied over to the new FirstClassPassenger object. Constructing a new object is not difficult, but identifying all the places in the program where a reference to the previous Passenger object is stored, and replacing them by the new object is likely to be difficult, and would be more difficult to keep it true as the program is extended and modified. A much better scheme would be to have a field in the passenger object to record whether it is first class or not, and make the methods (the ones that are associated with first class passengers only) first check the field to make sure they are applicable. [Only the issue in the first paragraph was required for full marks] * * * * * * * * * * * * * * * ENGR 110 (Terms Test 2) Page 13 of 13