Project Specification 4.1: Fuel Management Software Solution

Verified

Added on  2019/09/16

|2
|990
|87
Project
AI Summary
This project requires the development of a fuel management software solution for an Irish airline entering the European air freight cargo business. The software must optimize aircraft routes, considering factors such as great circle distance between airports, fuel costs, and currency exchange rates. The program should take input from CSV files and offer a basic GUI, working with a command-line interface. Key features include efficient use of data structures, code reusability, and robust error handling. The project necessitates the creation of classes to model the problem, including classes for Currency and Airport. The final submission includes a function specification, design diagrams, testing procedures, and supporting materials like CSV files for airports, countries, currencies, and aircraft. The software must identify the most economical route for an aircraft flying up to six trips per week, starting and ending at the same home airport and optionally visiting one other airport twice. Documentation should be provided to describe the design, functionality, and testing of the software.
Document Page
Project Specification
4.1. Imagine you work for a small Irish software company that has won the tender to deliver a fuel
management software solution to a large Irish Airline. The airline is entering the European air freight
cargo business and wants a software tool to manage their fuel purchasing strategy. Each week, an
aircraft will fly up to six trips. The airplane will start and end in the same home airport each week
and can optionally visit one of the other airports in the itinerary twice. The company has several
different aircrafts that have different fuel capacities and the cost of fuel varies from airport to
airport. Given a list of 5 airports (including to the home airport) that a given plane needs to visit in a
week, the most economic route must be found.
• The distance between airports is calculated as the great circle distance between them
• The cost of fuel is assumed to be 1 euro per 1 litre at Airports where the currency is Euros
• The cost in of fuel in airports where the local currency is not euros is assumed to be the exchange
rate from the local currency to euro. e.g. in you travel from London to Dublin and the exchange rate
is GBP£1 = e1.4029 and you purchase 1000 litres of fuel it will cost e1402.
4.2. Product Features. The program with take file inputs and give file outputs using CSV formats. It
should also have a basic GUI to allow input of an individual itinerary. At a minimum, the program
should work with a command line interface to interact with the user – this is not necessary if you
have file and/or GUI interfaces.
4.3. Code style and efficiency. The program code should be created in a logical and efficient
manner. This includes: efficient use of data structures (think for loops rather than repeated code),
code re-use in functions and classes (breaking code up into logical chunks that keep code-blocks and
files reasonable length i.e. no 1000 line files!), efficient storage and searching of data (think
dictionaries).
4.4. Class Model Structure. Create classes that model the problem and abstract the main program
from the underlying data structure. For example, the mainline code shouldn’t need to understand
anything about parsing a CSV file or calculating great circle distance or currency rates calculation.
This means it should be apparent that you have you created classes that model the problem and
assigned useful attributes and methods to the classes. The solution should define classes for holding
data that will be used in the problem, e.g. there will need to be a class for Currency and Airport?
(HINT: Yes, there will!)
4.5. Errors and Exception Handling. How robust is your program to errors? Have you implemented
error checking and exception handling, especially to handle unexpected user inputs or data? e.g. do
you have error handling to identify and warn if the wrong number of airports are contained in the
input, or one or more of the airports is not a valid airport in your list?
4.6. Comments. Is all of your code well commented? Are the variable names and
methods/functions meaningful?
4.7. Testing. Test code to run on and demo the program under a variety of valid and error
conditions that will exercise your program and its exception handling.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
4.8. Documentation. Document should be no more than 4–5 pages. Your name and student number
should be in the header of each page.
(1) Function Specification: Describe what does your program does. (max. 1 page)
• What product features have you implemented?
• What features from the handout have you left out.
• How do I use your program? (Command line UI/GUI or via files)
• What (if any) jazz should I look out for?
(2) Design: Assumptions, Inputs and Outputs. Describe/Illustrate your object model and how your
program was designed (max. 1 page text and 2 page diagrams)
• Class diagram
• Block diagram of main algorithm(s)
• Text description to explain diagrams
(3) Testing: How have you tested your program. Have you got a suite of tests that exercise the key
components? (max. 0.5 page)
4.9. Supporting materials. CSV files for airports, countries, currencies and aircraft
Example Airport Data:
596,Cork,Cork,Ireland,ORK,EICK,51.841269,-8.491111,502,0,E,Europe/Dublin
597,Galway,Galway,Ireland,GWY,EICM,53.300175,-8.941592,81,0,E,Europe/Dublin
599,Dublin,Dublin,Ireland,DUB,EIDW,53.421333,-6.270075,242,0,E,Europe/Dublin
6 DR ANDREW HINES
Example Currency Data:
Iraq,Iraq,IQ,IRQ,368,IRQ,iq,IQ,IRQ,964,IRQ,IZ,118,IRQ,IQD,IRAQ,3,Iraqi Dinar,368,Yes
Ireland,Irlande,IE,IRL,372,IRL,ie,IE,IRL,353,IRL, EI,119,IRL,EUR,IRELAND,2,Euro,978,Yes
Example Currency Rates:
Australian Dollar,AUD,0.7253,1.3791
Euro,EUR,1,1
US Dollar,USD,0.9488,1.0541
Example Aircraft Data:
code,type,units,manufacturer,range
A319,jet,metric,Airbus,3750
A320,jet,metric,Airbus,12000
747,jet,imperial,Boeing,9800
MD11,jet,imperial,McDonall Douglas,12670
chevron_up_icon
1 out of 2
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]