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.
Thanks for your tips! It has helped me a lot! Answer me one thing: What is the right sequence to do. First I upload my assignment and then do the part3?
The instructions for the order has changed a few times. Read your assignment carefully for the current ones. I suspect it doesn’t matter so long as you submit parts 2 and 3 within a short timeframe.
Yes. That level of detail is fine.
Please guide me for the deployment diagram and up to what level of detail do we need to provide. Sample shown in cade book will be sufficient…
Monika: I went into more detail than that. I read somewhere that you had to put vendor information like “I’d choose these specs for the server.” I feel strongly that has no business being in a deployment diagram, but put it in anyway in case the graders really required it.
Hi Jeanne & fans,
I see you’ve already answered Juan’s question about the details of the class diagram in Cades’s book been enough, I’m struggling to feel comfortable with the diagram content, especially when i think of the JustBuildIt external systems which are not shown on the class diagram (not even the JMS client for the Inventry & Order Management system), could this be where i’m missing the whole idea of what a static view of a system is?
Just found the wiki you created, not sure how i missed that comment.
repeat fo the sake of others: http://www.coderanch.com/how-to/java/CadeSheilSceaFaq