Recent Question/Assignment

University of Canberra
Faculty of Education, Science, Technology and Mathematics
4483 Software Technology 1 and
8995 Software Technology 1 G
Semester 2, 2017
Assignment (20% of grade)
Due: Week 13 (3rd November 2017) Submission to Moodle.
The SpaceY monthly planner
GENERAL INSTRUCTIONS
This assignment should be done individually. The submission should be made by a single zipped file and submitted in Moodle.
The assignment submission should contain the following:
• A test plan;
• A program (working or not working); Your source code file (or files) enough so that I could re-compile it if I want, and any test files you created;
• Documentation of your test plan, and documenting its results;
• Evidence of you running a number of mandatory well documented test runs;
• A short reflection report; and
• An optional feedback paragraph to me which is not marked.
This assignment is marked after semester ends in the exam period resubmissions will NOT be possible.
You can ask for help in the tutorials, and hints, but the assignment should be your own work.

MANDATORY RUNS + other test files I supply
File Purpose
Dec2020.txt Mandatory Test run
Feb2023.txt Mandatory Test run
April2025.txt Mandatory Test run
Oct2017.txt The file shown in this document – for your basic testing if you want
Jan2018.txt You can use it if you want – it was one of my test files, it may or may not be sensible
Assignment Briefing:
The wonderful company, SpaceY, 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 monthly planner. The Monthly planner will take an input file and produce an order plan and an action plan.
The order plan is a list of materials and services that SpaceY needs to order for all the launches that month. The Action Plan is a list of actions for that month and this list can be quite long, so it also needs to be produced to a file for later printing.
They have three lift vehicles; Hawk-9, Hawk Heavy and the BFR. They offer a range of services including manned spaceflight.
The services they offer are similar to MT2; you can, if you want, hard code the services as we did in MT1.

Space vehicles can be launched into three standard orbits: LEO (low earth orbit), GTO (Geosynchronous Transfer Orbit) and CSO (CircumSolar Orbit). NESA tracking must be arranged for GTO and CSO orbits.
You program needs to do the following (also see marking rubric below)
• Show a small menu with 3 options (console or swing at your option)
o 1- Produce an order plan for the month;
o 2- Produce an action plan to console; and
o 3- Produce an action plan to a file; and
o 4 - Exit
• If options 1, 2 or 3 are selected it should ask for a file name which is the monthly orders file. This is an input file, several will be provided for mandatory testing. (see Monthly-Orders format below)
• If option 3 is selected it should ask for an output file name, this file will have the order plan written to it.
Monthly-Orders format (input file) comma separated
Field Number Name Contents
1 Date The date of the order in format dd/mm/yy
2 Client The client Id (a string of up to 20 characters)
3 Service From the service codes file (eg ORB1, ORBH)
4 Launch Id String up to 8 characters
5 Orbit LEO, GTO, CSO
6 Nitrogen Nitrogen flush Y or N
7 Insurance Insurance wanted Y or N
8 Value Total insured value of all launches or 0
9 Comment A text comment – see special processing
Monthly order file (will be sorted in date order with up to 2 orders in 1 day)
Below is the test file Oct2017.txt (which I supply for your testing)
18/10/17,CLINTY,ORB1,SYH17,LEO,Y,Y,3900000,
20/10/17,MATTY,ORB1,SYH18,GTO,Y,N,0,GPS-Satellite
Produce an order plan; (this one is for the file Oct2017.txt)
Order Plan for October 2017
Arrange 4 million insurance for launch SYH17 on 18/10/17
Arrange for NESA tracking for SYH18 on 20/10/17
Order 2 Hawk-9 launch Vehicles
Order 6 Cylinders of Nitrogen
Order 550,000 Kg of LOX
Order 240,000 Kg of RP1
Produce an action plan (this one is for the file Oct2017.txt);
18/10/17 6:00 Start vehicle rollout of hawk-9 on pad LC40 for SYH17
18/10/17 7:00 Fuel rocket with LOX for SYH17
18/10/17 8:00 Fuel rocket with RP1 for SYH17
18/10/17 10:00 Nitrogen flush SYH17
18/10/17 10:50 GO/NOGO for launch SYH17
18/10/17 11:00 Launch SYH17 for CLINTY
20/10/17 6:00 Start vehicle rollout of hawk-9 on pad LC40 for SYH18
20/10/17 7:00 Fuel rocket with LOX for SYH18
20/10/17 8:00 Fuel rocket with RP1 for SYH18
20/10/17 10:00 Nitrogen flush SYH18
20/10/17 10:50 GO/NOGO for launch SYH18
20/10/17 11:00 Launch SYH18 for MATTY GPS-Satellite
Times for AM and PM launches
Time action Action
6:00 Start vehicle rollout of hawk-9 on pad PPP for FFF
7:00 Fuel rocket with LOX for FFF
8:00 Fuel rocket with TTT for FFF
10:00 Nitrogen flush FFF
10:50 GO/NOGO Decision FFF
11:00 Launch FFF for CLIENT CCC
11:30 Start vehicle rollout of hawk-9 on pad PPP for FFF
12;30 Fuel rocket with LOX for FFF
14:00 Fuel rocket with TTT for FFF
15:00 Nitrogen flush FFF
15:30 GO/NOGO Decision FFF
15:40 Launch FFF for CLIENT CCC
List of notes about the program:
1. LOX, RP1 and Methane (fuels) are bulk ordered at the beginning of the month so a month total must be computed. (the BFR runs on Methane and Lox, the others run on RP1 and LOX).
2. The first line of the order plan must read ‘Order Plan for MMMMM YY’ where MMMMM is the full month name and YY is the year, the order of the other lines does not matter.
3. A nitrogen flush requires three cylinders of Nitrogen.
4. SpaceY can launch two rockets in a day; but they must use different launch pads. One launches in the am timeslot (6 to 11); the other in the pm timeslot (11:30 to 15:40)
5. PPP is the allocated launch pad – your action plan must allocate the Launch pad. Two launches on the same day must use different pads.
6. TTT is the fuel type – your action plan must use the correct fuel.
7. FFF is the flight ID (e.g. SYH17).
8. CCC is the comment field (which can be blank or empty in the file).
9. CLIENT should be the client id.
10. The BFR can only be launched from Launchpad KSC
11. NESA Tracking is needed for CSO and GTO orbits only.
12. Some services require a Drako spacecraft which must be on the order plan (it does not appear on the action plan).
Launch vehicle needs
Launch Vehicle LOX RP-1 Methane Launch pads
Hawk-9 275,000 Kg 120,000 kg 0 LC40 or
KSC
Hawk Heavy 810,000 Kg 353,450 kg 0 LC40 or
KSC
BFR 4,280,000kg 0 1,870,000kg KSC
You can probably modify either the ServiceList class from MT1 or MT2 You can edit or change the ServiceCodes.txt file format if you want to.
Service Code Description LV Notes
ORB1 One satellite to low earth orbit weighing less than 7 metric tonnes; or one satellite to GTO weighing less than 5.5 metric tonnes Hawk-9
ORBH One satellite to low earth orbit weighing less than 16 metric tonnes; or one satellite to GTO weighing less than 8 metric tonnes Hawk Heavy
ORBVH One satellite to low earth orbit weighing less than 100 metric tonnes; or one satellite to GTO weighing less than 40 metric tonnes BFR
ISS5 Up to 5 tonnes of cargo delivered to the ISS with a Drako spacecraft (LEO) Hawk-9 Must order a Drako spacecraft
MOON2 Two space tourists to fly around the moon accompanied by an experienced astronaut Hawk Heavy Must order a Drako spacecraft
MARS1 One way to Mars BFR
MARS2 To Mars and back. Three years in space or on mars BFR
My sample runs:

Contents of temp.txt after the above run (very similar to the console – you could improve the format a little).
18/10/17 6:00 Start vehicle rollout of Hawk-9 on pad LC40 for SYH17
18/10/17 7:00 Fuel rocket with LOX for SYH17
18/10/17 8:00 Fuel rocket with RP1 for SYH17
18/10/17 10:00 Nitrogen flush SYH17
18/10/17 10:50 GO/NOGO Decision SYH17
18/10/17 11:00 Launch SYH17 for CLINTY
20/10/17 6:00 Start vehicle rollout of Hawk-9 on pad LC40 for SYH18
20/10/17 7:00 Fuel rocket with LOX for SYH18
20/10/17 8:00 Fuel rocket with RP1 for SYH18
20/10/17 10:00 Nitrogen flush SYH18
20/10/17 10:50 GO/NOGO Decision SYH18
20/10/17 11:00 Launch SYH18 for MATTY GPS-Satellite

Marking (This assignment part is worth 20 marks).
Marking Rubric
Marks Feature
6 Good test plan and evidence of testing
6 Your program code, accuracy, functionality and formatting
2 Reflection Report
6 Results of mandatory testing
-2 Each mandatory test that’s wrong
-2 Program crashes during our testing but not fatally
Maximum of 9 marks for assignment Program fatally crashes or wont compile
Late submission 5% per day up to 1 week then a mark of 0
Watch the web site for late class wide extensions that may be given