Software Technology Assignment
GENERAL INSTRUCTIONS - This assignment should be done individually.
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.
Assignment Briefing:
The wonderful company, Space Y, 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)
- Produce an order plan for the month;
- Produce an action plan to console; and
- Produce an action plan to a file; and
- 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
|
|
Attachment:- Assignment Files.rar