Part II Class Diagram (44 maximum) .......................... 42 Component Diagram (44 maximum) ...................... 42 Sequence/Collaboration Diagrams (12 maximum) ........ 11
I'm fairly certain I know exactly how and where I lost those two points on the class diagram. The component diagram was one diagram and incorporated numerous design patterns. I was pleased with the sequence diagrams score because one minor challenge was keeping the sequence diagrams in sync with the final tweaks to the component diagram. Some postings have recommended doing the sequence diagrams first, but I find it easier, more efficient, and more logical (if not essential) to do them last.
Thanks to JavaRanch for providing this online forum. The most helpful information I found posted here included: 1) Discussions of flight, segment, equipment, etc 2) Everyone seems to share the same difficulty of determining the extent of details to include 3) There are multiple ways to approach the solution for Part II
I would also like to thank the 30 dedicated members of Denver Java Users Group (denverjug.org) who attended an 8-week intensive study group for SCEA Part I. Some people attended with the goal of becoming certified, while others didn't want to take the test but wanted to learn more about architecture. Tom McQueeney, SCEA Certified, served as our SIG lead in downtown Denver. All attendees were expected to actively participate and present on topics. I highly recommend a similar approach for other JUGs around the world. Thanks Tom and everyone from that group!!!
A few resources:
"Sun Certified Enterprise Architect for J2EE Study Guide" by Paul Allen and Joseph Bambara Our SIG group used this book for Part I but it proved to be inadequate and contained numerous fundamental errors. I'm hoping they come out with a better second edition.
Sun Certified Enterprise Architect for J2EE Technology Study Guide Mark Cade and Simon Roberts Prentice Hall PTR, ISBN: 0130449164 Published March, 2002 A good resource but not comprehensive.
Congratulations on your excellent score! In your design, did you include things for the java application used by agents? I don't know how much effort I should spend on this subject besides the web app for customers.
Jacky, I was torn on whether or not to include numbers within the sequence diagrams. In Core J2EE Patterns http://java.sun.com/blueprints/corej2eepatterns/index.html), numbers are included. However, in the book "Visual Modeling with Rational Rose" by Booch, numbers are omitted (see p. 84 for example). The Cade and Roberts book also omits numbers from sequence diagrams. I opted to go without the numbers, and instead focused on using descriptive words. I did include notes on the margins to further explain when the sequence appeared unclear or if I had alternative paths. - Renee
Rather than risk disclosing the details, here are questions to help you think about your architecture: � What type of system is it beyond cgi-perl? Can you think about it in a more encompassing way? � Is the system internal or external? � How do you connect to that type of system located internally/externally? � What considerations may also need to be addressed? � What type of business logic does it provide? � What type of business data do you need to provide? receive? � Do you need to make any assumptions? If so, remember to document them in your "Assumptions". � Recheck your thinking and reread the instructions - does this meet the mandatory requirements? Think about it. If you still have questions, maybe tailor your question down to details within one of those questions. - Renee
Hi Renee, Thanks deeply,I encounter some problem in class diagram,hope you can help me again. I really don't know whether I should put association relationship numbers between two classes,is it important? For yor class diagram,did you mark these association relationship numbers? And further,I know we should keep the diagrams coherent each other,I don't whether the following design is correct,in order not to disclose the sensitive information,I use simple symbol to describe. In class diagram,class A has an association(reference) relationship of class B,and class B has an association(reference) relationship of class C. i.e. A-->B--->C,and in sequence diagram,there is a message flow from object of class A to object of class C,i.e. object A call object C's one method directly.Does it correct? Hope for reply,thanks again.
> For your class diagram, did you mark these association relationship numbers?
In proper UML notation for a class diagram, standard multiplicity (e.g. 0..1, 1..*, etc) can be applied to associations. I think it is important to include multiplicity because you are indicating the boundaries and visually communicating important business information.
Thanks for your reply,unluckily according to your suggestion,I still can't figure out the second question I posted. And I don't know how you think of the security of the application,I think security relates to authentication and authorization.As for authentication,I think it can be implemented by user login,but as for authorization,frankly speaking,I have no idea,because I think all customers on the website have same privileges,so how to achieve authorization? Hope for your reply,thanks.
Jacky, If you want to simplify the sequence diagram and eliminate B, you need to document, either as a note on the diagram or below in text. Clearly state that it is assumed that B delegates to C (or whatever you are implementing) but that it was omitted for simplicity. I wouldn�t recommend this approach though.
I did not make that assumption about EJB 2.0. Instead, I documented where the system could be improved during implementation or migration based upon changing business or technology needs. The documentation discussed the impacts of EJB spec changes, including that impact on NFRs, design patterns, upcoming JSRs, and open source tools.
Could very well be that you can assume 2.0 and explain its advantages over the previous spec. That falls into the grey area, as far I can determine.
I got some questions about component diagram, hope you can help me on this, or anyone are welcomed to discuss.
1. How many component diagram have you submitted? 2. Have you show every single JSPs in the component diagram? 3. If I want to use WAF, do I need to supply every single HTMLAction or EJBAction, or just represent a package named HTMLAction?
Maybe the recent question I posted was a bit sensitive.In fact,what puzzles me is whether we can both encapsulate the code of access relational database and the code of access external lagacy system which the interface is not java API based in one DAO. And also,I'm quite puzzled which type of class need to be provided in the class diagram.Most people only specify business object in the class diagram,but if I only put these class in the class diagram,I find the number of classes is very few,so I want to ask you whether you put any technology class in it,such as the controller as facade. Thanks.
1. How many component diagram have you submitted? One. It could have been broken down into several but I wanted to see the whole thing at once. PingPing Lu who recently passed (5/26), also said that he submitted one component diagram.
2. Have you show every single JSPs in the component diagram? No, I did not include every JSP.
3. If I want to use WAF, do I need to supply every single HTMLAction or EJBAction, or just represent a package named HTMLAction? An application framework simplifies some implementation steps for you but that does not denote the exclusion of critical interactions represented in your architecture. You still need to communicate what is talking to what and why. You get to decide to what level of detail to include. I would think that including every HTML action would be bordering on implementation details, rather than architecture and design.
>> In fact,what puzzles me is whether we can both encapsulate the code of access relational database and the code of access external lagacy system which the interface is not java API based in one DAO.
DAO If I read correctly, you want to know if you can have one DAO do two different things - access the external system and persist data locally to your RDBMS. Let me know if I'm reading your question incorrectly. Ideally, a DAO encapsulates the logic that is most efficient for accessing the data for a data source. The PetStore example may provide guidance for you. Look at how they handle the DAOs, such as the CatalogDAO. http://java.sun.com/blueprints/patterns/DAO.html
Class diagram. Yes, you should include business domain objects. For this project, I think 10-20 classes is a rough estimate. Part of the confusion I think between what should be in the class diagram vs component diagram stems from the many examples, including the Sun example entitled: "Figure 11.9 Class Diagram Showing Sample Application Architectural Components" Notice the two words "class" and "component" in that figure title: http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/app-arch/app-arch5.html There is no definitive answer here. I tend towards the Cade/Roberts approach. Their class diagram includes processors (p.169).