aspose file tools
The moose likes Certification Results and the fly likes Passed SCJD - URLyBird 1.3.1 362/400 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of The Software Craftsman this week in the Agile forum!
JavaRanch » Java Forums » Certification » Certification Results
Bookmark "Passed SCJD - URLyBird 1.3.1 362/400" Watch "Passed SCJD - URLyBird 1.3.1 362/400" New topic

Passed SCJD - URLyBird 1.3.1 362/400

K. Tsang

Joined: Sep 13, 2007
Posts: 2758

Hello all, I passed SCJD (URLyBird 1.3.1) today (362/400). The distribution is as follow:
General Consideration: 99/100
Documentation: 70/70
OO Design: 30/30
GUI: 39/40
Locking: 44/80
Data class: 40/40
Network Server: 40/40
Total: 362/400

Overall I could have done better in locking section. This is because I used my customized class to keep track of locked records instead of using standard Java API. Anyway for me. Below are my pointers:

Generation Considerations
* use Sun coding standards
* think like a junior programmer in areas of design and coding logic
Don't know why that single point got deducted?

* user guide = HTML format, screen shots for everything (errors, app windows etc), provide quick start guide
* javadoc = provide javadoc comments for private members/classes, generate javadoc comments for protected/public members/classes
* choices.txt = describe requirements, assumptions, use cases, architecture, networking, participants, each layer of the app

OO Design
* uses 3-tier architecture: GUI, service layer, data layer
* separate each class accordingly to responsibilities as much as possible
* package source code/classes accordingly to as if it is 3-tier app (I have 4 packages: client, data, server, helper)
* no anonymous inner classes
* inner classes are all private
* group helper classes into its own package

* use Swing Action rather than ActionListener interface
* have menu bar, JTable, button panel, status bar
* buttons in the button panel and the menu items in the menu bar are controlled by list selection model and some "actions" are disabled by default until a table row is selected
* use table cell rederers to position/align numbers and dates
* no column sorting for table
* provide refresh view button/action to get latest data's image
* provide create, delete, check out functions in the GUI
* status bar display message as user operates the app (eg when such and such window opens)
* status bar display number of connected users (for network mode only) - use Swing Timer to update, act as server keep-alive
* provide tool tips for table columns and rows
* use my own table model (inherits AbstractTableModel)
* position window in the middle of the user computer's screen (using ToolKit)
* didn't use GrigBagLayout, only BorderLayout, FlowLayout and at times GridLayout

Locking / Data Class
* have my own interface extending Sun provided interface
* Data class implements my own interface (extended one)
* use my own class to manage locked records (didn't use standard Java API)
* act as service layer (interface LocalService) in stand-alone mode - delegate to Data class
* Data class is singleton

Network Server
* use RMI
* didn't use rmic to explicitly generate stubs
* act as service layer (interface RemoteService) in networked mode - delegate to Data class
* display connection and disconnection messages
* provide server connection checking when clients connect (if server IP/port are correct)
* provide server shutdown using shutdown hook

Thanks to all the people who helped me during the assignment.

arulk pillai
Ranch Hand

Joined: May 31, 2007
Posts: 3325

[500+ Java Interview Questions and Answers ] | [Java job hunting know how] | [Java resumes]
Cameron Wallace McKenzie
author and cow tipper
Saloon Keeper

Joined: Aug 26, 2006
Posts: 4968

Conratulations! And thanks for the great feedback.

-Cameron McKenzie
Hong Anderson
Ranch Hand

Joined: Jul 05, 2005
Posts: 1936

SCJA 1.0, SCJP 1.4, SCWCD 1.4, SCBCD 1.3, SCJP 5.0, SCEA 5, SCBCD 5; OCUP - Fundamental, Intermediate and Advanced; IBM Certified Solution Designer - OOAD, vUML 2; SpringSource Certified Spring Professional
Krishna Srinivasan
Ranch Hand

Joined: Jul 28, 2003
Posts: 1845


Krishna Srinivasan
Spring Tutorials, OCAJP Mock Questions, 400+ OCPJP Mock Questions
I agree. Here's the link:
subject: Passed SCJD - URLyBird 1.3.1 362/400