Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

passed! 146

 
Scott Franklin
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks to all on this site, past and present. This is the first time I've posted here; I didn't need to post earlier as every question I came up with while working on the assignment had already been covered here. You've got a great resource going.
General Considerations(maximum = 58): 58 Documentation(maximum = 20): 20
GUI(maximum = 24): 17
Server(maximum = 53): 51
I'm disappointed in my GUI score, my approach was to avoid any embellishments at all in the GUI and stick to exactly what was required. I had a tab control with two tabs at the top of my screen (one for searching, one for reservations), and a table at the bottom. No menu, no help button, nothing like that. All connection options were driven from the command line. My argument was that the end user shouldn't have to know the details of where the server was located & the name of the db, that should be established in a command script or something. Maybe that doesn't fly with sun, I don't know.
Scott
[ July 01, 2002: Message edited by: Scott Franklin ]
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Congrats Scott. Good Score.
I am moving this to the Certification Results forum.
Mark
 
Debra Bellmaine
Ranch Hand
Posts: 40
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Scott,
Way to go!!!
Best,
Debra Bellmaine
SCJD
 
Mike Piotrowski
Ranch Hand
Posts: 82
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Scott,
Great job and congratulations!!
As far as your GUI, I had three panels inside my JFrame, one for for searching, one for booking and one that held the JTbale to display flights. I also left all connection options at the command line. Though I did have a menu with a help screen. I recieved a 23/24. It would be nice if they coulfd tell us where we lost the points, but I see why they can't do that. The important thing is you passed.
Mike
 
Valentin Crettaz
Gold Digger
Sheriff
Posts: 7610
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Good job Scott
 
Gosling Gong
Ranch Hand
Posts: 51
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Mike,
what's your class structure for your GUI, did you implemented all the GUI stuffs(3 panels) into one class or in seperate classes?
How did you defend the extensibility of your GUI design?
Scott,
could you outline your GUI design and how is your design choice on it, so that we could compare to know what we should avoid or improve.
thanks!
[ July 02, 2002: Message edited by: Gosling Gong ]
 
Mike Piotrowski
Ranch Hand
Posts: 82
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Gosling,
My class tructure for my GUI was
SearchPanel - held all search components
BookPanel - held all booking components
DisplayPanel - held JTable for displaying
flights
FBNMain - main JFrame which held all the
above panels
HelpFrame - contained a JEditorPane which
displayed on-line help
For further enhancements you could just create a new panel or component and add it in to the FBNMain class.
Mike
 
Gosling Gong
Ranch Hand
Posts: 51
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Mike, thanks for your reply!
I am wondering where did you handle the event? did you do it in the class itself? and where did you interact with Database?
from your classes, I guess your FBNMain act as mediator, SearchPanel,BookPanel and DisplayPanel take FBNMain as a parameter in their constructor, is that right?
 
Scott Franklin
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Gosling,
I had a single class to implement the entire frame, maybe that's where I went wrong. As for extensibility, I wasn't really sure what they were driving at. In the 'real world' I often have some idea what new functionality might be coming down the road, and can plan for it. In this case, they gave no hint, and anyway, the entire GUI was written in less than 400 lines of code, most of it generated. I could replace the whole thing in a few days, if I needed to.
In any case, I went with the following:
1) I used an MVC approach, so the entire GUI could be easily replaced w/o affecting any of the bus. logic, and
2) I made the search screen extensible in that I created routines in the GUI code to return field names and values, instead of creating getOriginCode and getDestinationCode routines.
Admittedly, these are weak arguments.
Oh, one bug I had, (that I discovered the night before my test & decided not to correct): there is an airport code which only appears as a destination. I used origin values for both origin and destination drop-downs in the search screen. Maybe that hurt my score.
Good luck,
Scott
 
Mike Piotrowski
Ranch Hand
Posts: 82
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Gosling,
I handle the events with inner classes inside the SearchPanel and BookPanel. Then I used the Facade pattern with a DataFacade class which handled all of the business logic for searching and booking flights.
Mike
 
Gosling Gong
Ranch Hand
Posts: 51
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Mike Piotrowski:
Gosling,
I handle the events with inner classes inside the SearchPanel and BookPanel. Then I used the Facade pattern with a DataFacade class which handled all of the business logic for searching and booking flights.
Mike


thanks, Mike!
I am wandering, for example, when you click search button, what will you do in your inner class? doesn't it delegate to someone else to handle?
based on my understanding, I guess you should handle the GUI action in your MainFrame class, in your search Panel, there should be something like that
searchButton.addActionLister(new ActionListener(){
public void actionPerformed(ActionEvent e) {
MainFrame.searchFlight(String);
}
})
and in your main frame class(which is actually the mediator of all the parts)
public searchFlight(String) {
DataFacade.searchFlight(String);
displayPanel.display();
}
is that what you did?
 
Consider Paul's rocket mass heater.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic