Thursday, June 26, 2008

Passed !!

Grade: P
Score: 75
Comment: This report shows the total points that could have been awarded in each section and the actual amount of points you were awarded. This information is provided in order to give you feedback on your relative strengths on a section basis. The maximum number of points you could have received is 100, minimum to pass is 70.

Class Diagram (44 maximum) .......................... 31
Component Diagram (44 maximum) ...................... 32
Sequence/Collaboration Diagrams (12 maximum) ........ 12

Tuesday, June 17, 2008

SCEA part III

As we say in holland, "the bullit has gone through the church", altough we usually say it in Dutch like: "De kogel is door de kerk", which means something like I have finally done it...
Last week Sunday I've uploaded my assignment, and today I took me essay exams.

So now its waiting, and waiting...
Until the results are published.

Keep you posted.

Monday, March 10, 2008

java.io.NotSerializableException

I can't fully dedicate my time to the SCEA assignment, I am also fulltime working on projects.
Today I ran into a java.io.NotSerializableException.
The stack trace is not at all helpfull, it just says "Caused by: java.io.NotSerializableException: foo.bar.FooBar."
While I am sure that foo.bar.FooBar implements java.io.Serializable.
I checked all the class members and marked some of the members transient (log4j Logger), but still the thing is popping up.

Googling for that exception showed this blog post. As it appeared, their first attempt wasn't very useful, although the idea looked promising.
Their DebugObjectOutputStream doesn't handle private fields, and can't cope with inheritance.
These issues seem to have been resolved in the wicked code itself, but that is a bit too harsh to just get

Browsing the comments posted underneath the post showed a link to Bob Lee's blog where he tackles the same problem.
Although the output generated by his solution isn't as verbose as the other one, it does give the expected results.
This showed me that I missed out on some of the fields.
Great help. Thanks Bob.


Tuesday, February 12, 2008

Creating sequence diagrams

The sequence diagrams are getting complicated.
I am now looking at the benefits that UML 2.0 can bring us in reducing the complexity.
I mean I started off modelling the sequence diagram for the prepare itinerary use case and ended up with a diagram that didn't fit on the screen any more, and I didn't even modelled the business functionality yet, I stopped at the business delegate.
So looking at the new elements in UML 2.0 I found the Interaction Overview diagrams useful for splitting the complex sequence diagram into smaller more usable chunks.
I'd like to soon finish the sequence diagram for this first, but major, use case and then start modelling the class diagram.
When that has been done, most likely I will need to correct my sequence diagrams again to reflect corrected flaws discovered when doing the class diagram.


In the mean time I am having a great discussion on javaranch about a discrepancy in the requirements. The prepare itinerary scenario mentions alternative flights within one hour and less than the selected, while in the given interview with CEO and CIO the flights have a flat price per destination, per seat class. Another thread on javaranch discusses the difference (or lack off) between flight and segment.


Speeking with UB40: both these discussions give me quite some food for thought!

Monday, January 28, 2008

Going thru the requirements

I have some problems getting myself up to speed on this assignment. I can blame lots of things like work load, my wife and children needing atention, but in the end I can only just blame myself. It seems to be hard just starting on it.
But allright finally I started really reading the requirements specs a couple of times.
Going thru them I wrote down the things that seemed unclear.

Then going over the scenario's given, I started out in writing down the entities I discovered in there, these are possible classes and/or attributes.

Now I am working on the creation of the sequence diagrams based on the scenraio's this will also result in class diagrams.

Well I just must make sure that I keep this up and continue...

Monday, January 21, 2008

Using stereotypes to describe J2EE components

For the SCEA assignment the architecture needs to be documented using UML.
Most architectures will have J2EE components like EJB's or servlets.
When these are documented you can opt to fully document each EJB, meaning adding all interfaces as separate elements on a class diagram, and incorporating the complete message flow in sequence diagrams containing all standard EJB message calls, like ejbCreate, etc.
I think that documenting the design and architecture in such a way will clutter the diagrams too much, thereby making the design/architecture harder to read.

Simplifying the diagrams by adding stereotypes to these elements, like <ejb> makes reading the the design/architecture easier and keeps the focus on the essential parts.

Sun has documented some annotations they use in their pattern catalog.

In addition to these stereotypes I will add Stateless/Stateful to designate the different session beans when needed, and maybe come up with some additional stereotypes when necessary.

Thursday, January 17, 2008

Netbeans 6.0 Keyboard shortcuts

I am trying to switch from eclipse to Netbeans when doing some Java coding.
The biggest problem that came up is the keyboard shortcuts, obviously they all differ, so I miss the ones I learned to love and use a lot in eclipse, like pressing Ctrl-1, in eclipse this opens an assistant that helps you resolve compilation problems.

I found a link that at least shows some of the shortcuts, and one that describes where to find a keyboard shortcut list in the netbeans installation. The shortcuts.pdf file also contains a link to a wiki page that describes the keyboard shortcuts specification.

From the wiki page I learned that the shortcut I so desperately need is Alt + Enter, as explained in the 'Coding in Java' section under 'Show suggestion/Tip/Hint'.


Wednesday, January 02, 2008

SCEA Part I

On December 14th I passed for the first part of the Sun Certified Enterprise Architect exam (SCEA), with a score of 93%.
Immediately after this multiple choice exam I registered for its follow-up: the assignment.
The assignment consists of some requirements, a business domain model and use cases for a flight booking system for the airliner Fly By Night. Due to the non diclosure agreement I have signed when registering for the assignment, I cannot write about the assignment and my solution in much detail, but I will try to keep a record of my doings here on the blog from now on.