All pastes #454725 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-04-23 19:54 UTC
rendered paste body
CS225
COURSE PROJECT


MEMO TO:  	CS225 Students

FROM:	Development Manager, Eagle Systems, Inc. 

DATE:		March 8, 2007

SUBJECT:	PilotPlot ™ - Systems Development Project W-90
(For Internal Distribution Only)


Eagle Systems management has committed resources to the development of a flight planning tool called PilotPlot. 

A prototype software application will be used to evaluate the feasibility of proceeding with a production version.

PilotPlot is required to provide visual and numeric information to a pilot who is planning a flight using a high altitude IFR enroute planning chart.  

Each point representing the endpoints of route segments may be designated by positioning the mouse cursor on a visual representation of the chart and clicking the mouse.  A straight line is drawn between this point and the previous point, the length of that line in nautical miles is calculated and displayed, and a running total of all segment lengths in the route is updated and displayed.

Previously stored routes may be loaded from a text file, after which the user may continue to add segments to the route.  At any time, the user may choose to save the currently displayed route to a text file for later use.

You are tasked to develop a prototype PilotPlot (code named “Flyer”) that will have the functionality described in the following requirements.  This prototype will demonstrate the correct implementation of this tool and give the sales staff the opportunity to assess the marketing of the product.

As usual, we have a very short time to develop and implement the prototype.  You will quite likely have to put in some “extra time” to complete it in the next several weeks.  Since you are in a salaried position, no overtime pay will apply and you are authorized to expend as much of your personal time as necessary to produce a quality prototype.  You may recall that you were informed when you were employed that extra effort would be required on occasion.


 
Requirements

1.	The first window visible upon starting the application will be painted in the middle of the user’s display and will occupy 75% of the height and width of the display.  The user may choose to use any resolution desired for the display, which will have to be detected by the application.  

2.	A major portion of the application window presented to the user will be used to display the selected enroute chart within a scrollable window.  

3.	The user may resize the application window at any time.  In this event, all areas within the window will also be resized, yet maintain the same relative sizes with respect to each other.

4.	The chart used for planning will be selected by the user.  Charts will be stored in files using a JPEG format and will have a file type of “.ppc” (PilotPlot Chart).  Three sample charts are provided to the development team to use in the prototype.  You can assume that all charts will use the same scale in terms of pixels (px) per nautical mile (nm).

5.	Every segment endpoint will be designated by the location of the cursor at a mouse click.  The first point in the drawing will be the first click.  No corrections can be made to an existing route.  However, a button will be provided to allow the user to “erase” a route being displayed and to start again designing a route.

6.	As each endpoint is designated, a straight line will be drawn from the previous endpoint to the endpoint just designated.

7.	The color of the segments can be determined by the user.  The default line color is red.  Any change in line color will be used for future lines only.  Thus, all lines will retain the color they are first drawn with.

8.	The background color of the application window, other than the chart or text fields, will not be white.

9.	The current route may be saved by the user in a file named by the user at the time of saving the route.  

10.	A saved route may be retrieved from a file identified by the user.  Any existing route will automatically be cleared before the saved route is presented.  The application will not allow loading a route that is not for the chart currently being used.  Once a saved route has been reconstructed, the user may add additional points to the route.  

11.	Files containing drawing information will be text files.

 
12.	Route files will save the following:
a.	route name
b.	endpoints of each route segment
c.	color of each route segment
d.	chart file name used to create the route

13.	The name of the route is obtained from the user at the time the drawing is saved to a file.  The route name will be saved in the file with the route information, and will be displayed for the user when loading a route from a file.

14.	The file name suffix for a route file will be forced to be “.ppr” (PilotPlot route).

15.	The use can change the displayed scale of the chart (zoom in and out) by using a slider giving the ability to zoom the chart scale from 100% of original size to 25% of the original size.  This zooming may be done at any time and any route currently being displayed must be correctly repainted on the chart.

16.	The following is continuously displayed in the application window for the user’s information:
a.	The chart in a scrollable window
b.	The length in nm (to 1 decimal) of the segment being drawn if the mouse were clicked at that point.
c.	The total length of all segments in the route in nm (to 1 decimal).
d.	A button to clear the route
e.	The current chart file name
f.	The current route name

17.	The menu bar shall have provision for:
a.	A “File” menu allowing the user to:
i)	save or read a route file
ii)	quit the application
b.	A “Plotting” menu allowing the user to:
i)	set the color for segment drawing
c.	A “Help” item that displays brief instructions to use the application

18.	There is no limit to the number of segments in a route


Design Constraints

1.	Write the prototype described above using Java for implementation on a computer using the standard Java Virtual Machine (JVM).  

2.	Use the Swing GUI components for all GUI programming.

 
General Instructions

Make appropriate use of classes and methods to simplify the design and support the abstraction of the various data objects and operations.

Put the required commented information at the beginning of every class definition and use appropriate comments throughout the code.

Submit the following printed material assembled as a project report.  The project report is to be submitted as a MS Word document file (soft copy), as well as printed on paper (hard copy).  The report should contain:

1.	A description of the application requirements, a brief overview of the design of the simulation and a description of each significant class, data structure or abstraction employed.

2.	A printed copy of the source code for all programs.


Place the Java source files and class files for each program you write into a Windows folder that is named with your email ID. 

Create a batch file, named flyer.bat, to execute your application.

Place that into a zip file and deposit the zip file in the Digital Drop Box on the course Web site.  Create the zip file so that the folder structure (path) is also recorded.  Each zip must be given a unique name that identifies the student.  Use your email ID as the zip file name.

If you have already submitted a zip file and then decide you must resubmit the project before it is due, you must place another zip file in the digital drop box with the same name as the previous one that has a sequence number appended to it.  Only the last submission will be graded.


PROJECT IS DUE AT 5:00 PM ON WEDNESDAY, May 2, 2007.     

NO LATE CREDIT ALLOWED!!