Today I got word that I passed the SCEA/OCMJEA exam. I passed part 1 in July and then took a break for the Core Spring certification. Overall, the process is do part 2, take part 3 then e-mail part 2 and get grade in 4-6 weeks. (I got it in 18 days.)
Week by week
People often ask how long it takes to do the project. Sun/Oracle says 40-80 hours. Cade/Sheil says 25-35 hours. As with part 1, here’s a sense of what I did each week and how long I spent each week. [I’ve also added notes on what was a bad idea]
It took just over 27 hours and either 4 or 10 weeks depending on if you count weeks I didn’t work on it. Well within the estimate by Cade/Sheil and way under the estimate by Sun/Oracle. I think this is because Cade/Sheil assume you are already know about architecture and have some experience.
Week 1 (3 hours)
- Bought part 2
- Read assignment
- Re-read chapter 9 of Cade & Sheil
- Decided to use Visio 2002 because I bought a copy in grad school. [I recommend not using Visio, but here’s some tips if you do.]
- Created template for the deliverable – index.html, links, etc. That way I exercise them as I do the assignment and know they work and are readable/usable.
Week 2 (6 hours)
- Re-read assignment listing assumptions/risks/major architecture thoughts/major technology thoughts
- Configured Visio to like UML and UML 2
- Started deployment diagram and class diagram
Week 3 (2 hours)
- Created drafts of sequence diagrams
- Found my UML book from grad school to make sure I am getting the “academic” points of UML that we don’t use in practice into my diagram. [I recommend using an actual UML 2 book rather than what you have laying around from years ago.]
Weeks 4-9 (0 hours)
Did nothing for six weeks dues to a series of trips during the week and catching up on other things on the weekend. [This is a bad idea. I completely lost my momentum and “un-loaded” all the information about the project from my mind. I also paused right after finishing the “fun part” so it wasn’t motivating to get back to the project.]
Week 10 (16.25 hours)
Decided I was going to finish before Halloween. This has been dragging on too long and I wanted to get it done before my next trip.
- Finished all diagrams
- Switched to UML 2 syntax
- Added the stuff nobody does in real life.
- Asked for a review from a colleague (per Cade/Sheil) to see if the problem was discernible from the diagrams
- Make sure clear, updated formatting, spell check
What did I read?
- Chapter 9 in the Cade & Sheil study guide
- Questions people had in JavaRanch/CodeRanch‘s SCEA forum
- JEE 6 tutorial- Basic concepts because a publisher mailed it for me to review. While it refreshed my memory about JSF, it certainly wasn’t essential for the project.
- I used the first edition of Using UML as a reference because I had it from grad school. The first edition covers UML 1.X so I don’t recommend it. It is better to use a UML 2.X book since that is what the exam wants you to use.
My impressions of SCEA Part 2
Part of part 2 was fun to do. This was the part where I created the design, thought about it how met functional/non-functional requirements, made the risk list, etc. Then there was the tedious “do the stuff Sun/Oracle wants that nobody does in the real world”. Like put JSPs on a class diagram. And the time spent stressing over reading Sun/Oracle’s mind on what they want despite them not commenting on it. Unfortunately I took a break between the fun part and the tedious part which made it seem worse because I lost flow. My thoughts on each section are:
- Class diagram – I’m not a mind-reader about what they wanted. I did what I felt was appropriate, plus a bit more detail. I had a feeling this decision cost me $300, but it didn’t – I passed on the first shot. Cade’s example doesn’t look like there is any way it is worth 40 pts. I had 2 class diagrams containing 26 classes and 11 JSPs. (I would never put JSPs in a class diagram, but I thought they wanted it.)
- Component diagram – I would never put this much detail in a component diagram. Especially JSPs! I also noticed Cade has both a UML 1 example and UML 2 example despite being supposed to use UML 2. I have 16 boxes in my component diagram. I didn’t go overboard here either.
- Deployment diagram – This was straightfoward with only 7 boxes. It seems like it is worth too many points for the effort. I did put some text on suggest hardware since Cade said to.
- Sequence diagrams – Despite being hardly worth anything, these are useful. I didn’t go into the detail people said they did on the forums or include the design patterns because that obscures the meaning. I did not show the flow of framework code. I had 6 sequence diagrams for the 4 use cases.
- Risk list – I had a blast writing this. Writing about risks you don’t have to deal with is easier than on a real project where every risk is a potential problem.
- Assumptions – I wrote too much because I wasn’t sure what to take for granted. It turned out a lot of this was addressed in part 3. I did learn that I wrote “we” much more than “I.” I had over 34 we’s vs < 5 I’s because I felt like I was presenting an (imaginary) team design to an outsider. I changed them all to I before submitting so the reviewer doesn’t think someone else did the work.
- Other documentation – I wrote some text explaining a high level overview of my design, what design patterns I used and how I met the non-functional requirements. While “a picture is worth a thousand words”, short paragraphs describing certain things let the reviewer see my thought process without having to guess. (I only used 4 design patterns.)
My impressions of SCEA Part 3
Part 3 was fun! It was writing about the things I found fun in part 2. My notes:
- They gave 120 minutes instead of the 90 I thought we had. This included reading terms of agreement.
- I spent 70 minutes on the 8 questions, but I wrote a lot.
- Advice: read all questions before starting: some are similar. I did not do this and wound up answering later question in earlier ones and then having to repeat because there is no copy/paste.
- Some questions were about non-functional requirements or why you choose to do something. Some were scenarios or why you didn’t choose certain alternatives.
- I’m glad I was warned the score = 0 (fail) when getting printed report after taking the exam.
And the end
I think this thread summarizes the part 3/submission process well. I got my pass in the mail along with a note to login to very my address. Then the certification bundle will be mailed.