Second part
After purchasing I’ve got an email from Sun with the credentials to the Assignment Database
http://www.certmanager.net/sun_assignment/. From there I’ve download an assignment, it was about construction company;) It was a typical one with 4 use cases and 2 external systems to integrate.
The most valuable material for me was Chapter 9 from the new book of Humphrey Sheil, it’s freely available for download from here
http://humphreysheil.blogspot.com/2009/11/book-chapter-nine-available-for.html. And I’ve learned UML a lot in the university, so the diagrams themselves were quite easy for me. I’ve used a free StarUML for UML diagrams and the whole assignment is one html page with anchor links.
Another resource for the second part is a presentation of Humphrey Sheil, it is available from here:
http://www.scribd.com/doc/27655574/Humphrey-Sheil-s-SCEA-Presentation.
I hope that you’re familiar with the requirements; I’ve just highlight some aspects of my implementation. I’ve chosen a typical set of technologies – JSF/EJB3/JPA. I think it’s better to use them unless you have some special requirements in your assignment. You can then always say that I’ve chosen this because it Sun’s leading technology and it can do this, this and more. Not one size fits all, but if possible then choose them.
I’ve stated the document with background info, then I’ve put assumptions in order that assessor is familiar with them when checking later parts. Assumptions contained almost everything where multiple meaning is possible.
My class diagram contained about 20-25 classes, at first I had 30-35, but later I’ve optimized it. I didn’t show JSF Managed Beans there, however I’ve shown a controller and JSF pages (like in the book is done). This solution can be discussed but I’ve always followed that sample from the book. Why not to do like an author of an exam and assessor suggests? I’ve shown methods and major attributes, patterns and
EJB types were show as stereotypes. I didn’t show design pattern implementations if it requires multiple calluses and/or interfaces. I’ve just written – this is done according to this pattern. It should be enough.
This chapter also contained some paragraphs about logging, framework, exception handling and about security. I’ve used Java EE Security for this purpose.
Component diagram was pretty simple and similar to the chapter 9’s. In this chapter I’ve also described technologies used in every layer and why I’ve chosen them. This helped me a lot when I’ve done the third part.
Deployment diagram was also close to chapter 9’s but with some additions. As it is expected I’ve presented hardware configurations and explained e.g. why I need such RAID here and another there and why here is to be more memory than there. I’ve also described
test environment and client computer requirements, such as browser capabilities.
Sequence diagrams contained JSF pages, Managed Beans and so on, with methods from the class diagram used. It’s quite a large part (4 diagrams) and it makes only 16 points.
In the risk part I’ve described quite obvious risks, with obvious solutions to them. Only one of them was my-system dependent. They were technical risks; I didn’t describe not meeting some of non-functional requirements. If you need to read about the risk management, here is a good document:
http://csrc.nist.gov/publications/nistpubs/800-30/sp800-30.pdf
And here comes the funniest part. I was quite lazy to finish my second part, almost 90% were done, but in order to motivate myself I’ve scheduled my third part to the end of the week and decided that I’ve complete and assignment during the week and upload it Thursday evening. But at the time I wanted to upload the system said that… I do not have an upload rights. And I should request them by mail. What on earth upload rights when I’ve paid my money and already downloaded the assignment? Don’t they think that I want to upload it after I’ve downloaded? Why this is a special favor for me?
I had no other variant rather than send an email to the mentioned address and request those rights. I’ve also sent them a checksum of a jar file, to guarantee that I haven’t changed anything. The third part was the next day and I thought they won’t be so quick to send them before the third part.
The lesson learned it that you should follow the rules and it is better to request upload rights right after you’ve got download rights. But it’s silly!