Hi all,

I'm new to this site so please forgive my ignorances. I am a beginner at Java and I've been assigned to do a project about an Airline Reservation System. So the objectives required are:

Reserve the ticket
Cancel/Confirm Reservation
Book the ticket
Change / Cancel Booking
Waiting List
List all passengers / Search passenger
Show / Search flight schedule

Support different types of seats (First Class, Business and Economy)
Seating plan should be provided for users to selectthe seats. Different airplanes
have different seating plan. You should have at least 3 types of airplanes
Frequent Flyer Program. Passengers have different priorities.

Now I don't even know how to start with a project. Books aren't helping much and I also don't have lots of time to finish it. So I was hoping if somebody can point me to the right direction and show any efficient way/books to start. I know this is not the best way to do it but I have nothing else to consider

Is this a school project? We won't write your code for you, but we will help you sort it out if you make a reasonable attempt at solving the problem.

Your first problem is to model the system. Java is object-oriented. Before you even get into the code, think about the entities you need, such as Ticket, Reservation, WaitingList, Passenger, FlightSchedule, etc. These are your classes. Then, think about the behavior of each class, and write in plain language how each behavior should work. Example for Ticket - reserve the ticket, book the ticket, etc. Example for Reservation - confirm the reservation, cancel the reservation, etc. Finally, think about how each class of item reacts with the others. Methods from one class will likely interact with other classes.

Be thorough and complete. Once you have done this, you will be ready to code. FWIW, I have written very complex systems in Java and C++, and 80-90% of my time is spent in modelling the system, and 10-20% in actually writing the code. Why? Because once I understand the system and how it has to behave, the coding is just a matter of implementing what I have created, but in another language.

As for learning Java, the language itself, there are tonnes of books and tutorials out there, many of which are available online. Remember, Google is your friend! :-) Here is a link to the java classes/api's for Java 7: http://docs.oracle.com/javase/7/docs/api/ - I have found this resource invaluable in my work. Also, the Oracle/Java web site has many tutorials and other documentation and examples to help you.

Comments
Thanks for replying. Indeed,it is a school project and I don't need the code written. I just needed a heads up and your comment helped me that way. I will follow your directions and if I want to do this on GUI, will that be too hard to implement?

"Thanks for replying. Indeed,it is a school project and I don't need the code written. I just needed a heads up and your comment helped me that way. I will follow your directions and if I want to do this on GUI, will that be too hard to implement?"

Java has some very good GUI libraries to use that will help in this regard such as Struts, Struts 2 (a newer version of Struts), JavaServer Faces, Tapestry, Wicket, Spring MVC, Stripes, and probably more. Do some Google searches on these libraries and decide which to use (you only need one). Struts/Struts-2 are popular choices. Not necessarily the best or easiest to use, but popular. :-)

Edited 2 Years Ago by rubberman

IMHO those GUI libraries are way too advanced for this requirement. There's nothing there that requires anything more that just an ordinary Swing GUI.
The Oracle tutorials are unbeatable for accuracy, currency, and completness, but you may want to Google for some simpler tutorials if the Oracke ones are too much
http://docs.oracle.com/javase/tutorial/uiswing/index.html

Comments
I tried to play with swing before by writing codes.Now I tried again from your link and it seems easier than before. I think I can start now, I'll mark this thread solved and thanks to both of you
This question has already been answered. Start a new discussion instead.