This assignment should be done individually. The submission should be made as a single zipped file including a BlueJ project and submitted in Canvas.

Students should be aware that I may do a plagiarism check.

Note: code must be in BlueJ; code written and submitted in any other Java environment may not be able to be marked (if I can’t mark it you will probably get a mark of Zero).

This assignment is marked as a submission of a single zip file. It should be submitted to Canvas by its due date (see above). You need to submit:

· The Java program code (working or not) as a BlueJ project directory;

· A test plan;

· Documented results of your test plan;

· Evidence of you running a number of mandatory, well documented, test runs (e.g. screen shots); These are the results of mandatory test runs (test runs required are detailed in a separate document);

· A short reflection report on what you learned;

· Optional feedback (on the unit). Just a paragraph to me which is not marked;

· Remember: “A single zipped file including a BlueJ project and submitted in Canvas.”

There are no resubmission options for this assignment.

This assignment is marked after semester ends in the exam period; resubmissions will NOT be possible.

You can ask for help in the tutorials, PALS, and hints, but the assignment should be your own work.

Assignment Briefing:

The wonderful company, SpaceW, is a fictional company that makes its money by providing orbital services (aka, blasting rockets into space). They are ramping up spaceflights; to help them they need a planning and costing program that can produce a report on the profitability of CubeSat launches.

For the curious, CubeSats are generally launched as a secondary payload, on launches of larger satellites.

The output of the system is a one online query and two reports. The online query advises how profitable a single CubeSat launch is likely to be and provides a ‘guideline’ price to the customer. The input for this option is to come from the keyboard and the program must not crash, no matter what rubbish is typed in. Obviously incorrect inputs should generate sensible error messages.

The reports are summaries of all the CubeSat launches for a given month or launch. The input for this option is to come from an input file (comma separated) with one line per CubeSat. For the loading report, the file may contain more than one launch. This file may have trailing blank lines.

The reports are:

· Profit report – effectively the same information as the online query summed up for a month;

· Loading report for a given launch to help engineers position the CubeSats for launch. (For a bonus point or two you can enhance this option). ?????????????? (The HD level option worth only 4 marks and very optional)

Space vehicles can be launched into many standard orbits, but SpaceW limits CubeSats to: LEO (low earth orbit equatorial) and LEOP (low earth orbit polar).

You program needs to do the following (also see marking rubric below):

· Show a small menu with 5 options (console input)

o Online pricing Query;

o Profit report;

o Loading report; and

o Exit

· The loading report is focused on producing a loading guide and determining spare capacity (which can still be sold) or detecting overselling for a given launch. It’s optional and worth only a few marks – see marking guide.

· The two report options process a file. The file is the monthly orders file for a given company. Several of these input files will be provided for testing and mandatory testing. (See format below.)

Monthly-Orders format (input file) comma separated

Field Number Name Contents
1 Date The date of the order in format dd/mm/yy
2 Launch ID The launch ID; a 10-character code unique to each launch
3 Client The client Id (a string of up to 10 characters)
4 Orbit LEO or LEOP
5 Service ORBC1U, ORBC2U, ORBC3U, ORBC6U
6 Customer Discount As a percentage (ie 1.3 is 1.3%)

(This is negotiated by the salesperson and can be any value within the range 0 to 25, but the sales manager can discount up to 30% for ‘community’, and loyalty reasons)

7 Satellite ID A string of up to 20 characters

To keep it simple no launches are ever done on leap days (29 Feb) and it is not necessary to check that it’s a valid date To make your life a bit easier you can assume the date format in the file to be dd/mm/yy so you may get 01/07/19 but you won’t get 1/7/19. Which makes sorting and editing a bit easier.

Below is the test file Oct2021.txt (which I supply for your testing)

19/10/21,HAWK21018,ESAA,LEO,ORBC2U,20,WEATHER014

19/10/21,HAWK21018, NASHA,LEO,ORBC1U,21.5,TESTGRAV

Below is the test file Nov2023.txt (which I supply for your testing)

03/11/23,HAWK23028,ESAA,LEO,ORBC2U,22.1,MOONZERO2

03/11/23,HAWK23028,NASHA,LEO,ORBC6U,21.5,MINITELESCOPE

03/11/23,HAWK23028,BINCPRIVAT,LEO,ORBC3U,30,PrimaryCharity

03/11/23,HAWK23028,BINCPRIVAT,LEO,ORBC1U,6.12,ASHES01

03/11/23,HAWK23028,BINCPRIVAT,LEO,ORBC1U,6.12,ASHES02

03/11/23,HAWK23028,BINCPRIVAT,LEO,ORBC1U,6.12,ASHES03

03/11/23,HAWK23028,BINCPRIVAT,LEO,ORBC1U,6.12,ASHES04

03/11/23,HAWK23028,BINCPRIVAT,LEO,ORBC1U,6.12,ASHES05

03/11/23,HAWK23028,BINCPRIVAT,LEO,ORBC1U,6.12,ASHES06

03/11/23,HAWK23028,BINCPRIVAT,LEO,ORBC1U,6.12,ASHES07

03/11/23,HAWK23028,TICK,LEO,ORBC2U,7,TICK2UA321D

03/11/23,HAWK23028,TICK,LEO,ORBC6U,7,TICK27

19/11/23,HAWK23029,ESAA,LEOP,ORBC2U,20,WEATHER019A

19/11/23,HAWK23029,NASHA,LEOP,ORBC1U,21.5,TICKLLE

19/11/23,HAWK23029,MARZ,LEOP,ORBC6U,26.0,MARSEXP1

19/11/23,HAWK23029,MARZ,LEOP,ORBC6U,26.0,MARSEXP2

NOTE: for simplicity’s sake there will never be more than 99 lines in the file.

I also provide an error file example Oct2021err.txt

SpaceW Launch services

Service Code Description Cost$ US LEO Cost$ US LEOP Price US LEO Price US LEOP
ORBC1U One micro satellite 10x10x10cm (size 1) 365,000 379,000 500,000 600,000
ORBC2U One micro satellite 10x10x20cm (size 2) 693,000 758,000 950,000 1,100,000
ORBC3U One micro satellite 10x10x30cm (size 3) 1,015,000 1,097,000 1,400,000 1,550,000
ORBC6U One micro satellite 10x20x30cm (size 6) 1,403,000 1,653,000 2,300,000 2,400,000

All Cubesats ride share with another payload in a similar orbit.

They are launched by the CS-dispenser (see below) which presents the interesting HD level challenge for this assignment.

Customers table (you only need the code)

Code Name Contact name Address
ESAA Europe Systems Alternative Agency Jean-Claude Junxer 23 Razor Road Belconnen ACT

2617

NASHA National Air Space Hash Agency Jimmy Briden 2 Mashup Drive

Bruce ACT

2617

ASA Aussie Space Agency Megan Clock Flat 31/a, Bax Units

Stix St,

Marble Bar, WA

6760

TICK Tick Incorporated Mark Watson 87 Race Drive Bathurst, NSW

2795

BINCPRIVAT Byer Private Space Incorporated Marilyn Hewson 212 Webly Drive,

Canowindra, NSW

2804

CODC Corporate Space Trust ?Zhang Chen 212 Scorch Drive,

Beltana, SA

5730

MARZ The Mars Gen Inc Cool Dude 26 O’Conner’s Road,

Werribee South, VIC

3030

MANDATORY TESTING:

Most importantly your program must work and be tested, you need to provide a test plan and show how you tested the program including evidence of testing.

You may want to create additional test files; if so let us know (by providing evidence in your submission) so we can give you marks for them (providing they are sane, ie relevant and reasonable).

Some tests test error handling.

YOU MUST Run (providing evidence that you have executed the run) the following mandatory tests:

Test Id File Menu Option Notes
MAND TEST1 NONE online query CODC, LEOP launch of CubeSat ORBC3U, with an 11% discount
MAND TEST2 NONE online query Error handling (see note below)
MAND TEST3 MAND1.txt Profit Report
MAND TEST4 MAND4.txt Profit Report Error handling
MAND TEST5 MAND2.txt Profit Report
MAND TEST6a MAND3.txt Loading Report For launch HAWK2025X
MAND TEST6b MAND1.txt Loading Report For launch HAWK23029

You must write, run & provide evidence you have run, MAND TEST2; its purpose is to test the online query, specifically that it can detect bad input without crashing. (Worth 2 marks).

Calculations:

I kept these deliberately simple, most of the assignment is editing and checking input and only the loading report has significant data processing (not calculations, but allocations – still data processing).

Example Calculation 1:

ORBC1U to LEO with 5% discount for Esaa

Cost 365,000

Price 500,000

500,000 * 5% = 25,000

So quote is 500,000 – 25,000 = 475,000

Profit is 475,000-365,000 = 110,000

Example Calculation 2:

The file

19/10/21, HAWK21018, ESAA, ORBC2U, 20, WEATHER014

19/10/21, HAWK21018, NASHA, ORBC1U, 21.5, TESTGRAV

Cost Satellite WEATHER014 is 693,000

Cost Satellite TESTGRAV 365,000

Price Satellite WEATHER014 950,000

Price Satellite TESTGRAV 500,000

Discount Satellite WEATHER014 20%

Discount Satellite TESTGRAV 21.5%

WEATHER014

950,000*.20 = 190,000

Quote= 950,000 – 190,000 = 760,000

Profit = 67,000 (760,000-693,000)

TESTGRAV

500,000 * 21.5% = 107,500

So quote is 500,000 – 107,500 = 392,500

Profit is 475,000-365,000 = 27,500

Total profit for file is: 94,500

Total Revenue for file is: 1,152,500

Found something interesting ?

• On-time delivery guarantee
• PhD-level professional writers
• Free Plagiarism Report

• 100% money-back guarantee
• Absolute Privacy & Confidentiality
• High Quality custom-written papers

Related Model Questions

Feel free to peruse our college and university model questions. If any our our assignment tasks interests you, click to place your order. Every paper is written by our professional essay writers from scratch to avoid plagiarism. We guarantee highest quality of work besides delivering your paper on time.

Grab your Discount!

25% Coupon Code: SAVE25
get 25% !!