• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Passed Part II - 81

 
Ranch Hand
Posts: 142
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Folks,
After close to six weeks of anxious waiting, I finally got my results this evening. I made 81 and am pretty happy with the score. My sincere thanks to JavaRanch for facilitating this highly professional forum.
A lot has been said already in this forum by those who have passed the exam. I can't think of adding anything new to the information that already exists. If I do think of something, I will add my comments to this thread.
I will be more than glad to offer my comments/inputs in case anyone has any questions and will hang around for the next couple of weeks and watch this thread.
Split up of points:
Class Diagram - 41/44
Collaboration Diagrams - 12/12
Component Diagram - 28/44

Regards
Sridhar
 
Ranch Hand
Posts: 33
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Sridhar,
Congrats....good score.time to party
 
Ranch Hand
Posts: 463
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Sridhar,
Congrats on getting your certification
Can you please tell me what guidelines books links you found useful for component diagram. Which design tool did u use. If you used rose how did u add labels to the compoenent diagram dependency lines ? I havent found much about component diagram guidelines in the previous posts. Can you give your opinion on how to proceed ahead .
Also how do u explain non functional requirements which cant be explained diagramatically and which are possible to be indenified almost at the time of say testing (I am referring to the speed of an application response time). To me it is hypothetical how to satisfy that requirement just by putting it on paper and I am very confused what I need to do for this.

Thanks
Dhiren
 
author and jackaroo
Posts: 12200
280
Mac IntelliJ IDE Firefox Browser Oracle C++ Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Congratulations Sridhar
 
Sridhar Raman
Ranch Hand
Posts: 142
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks, guys.
Dhiren,
>>Can you please tell me what guidelines books links you found useful for component diagram.
Component diagram was a grey area for me and that's where I missed out on some marks. My collabortion diagrams were comprehensive and I had depicted pretty much all the J2EE patterns in them. I didn't have much to show in the Component diagram other than list out the components and show inter-component dependencies. I still feel that this is the right approach but Sun probably expects you to show the J2EE design patterns in this section, given that it is graded for a max of 44 marks. The patterns can be shown using stereotypes and/or UML notes. You could also explain the less important patterns (from your design point of view) in the "assumptions" document.
As for the books, UML User Guide by Booch and Co explains the basic concepts clearly. After all, they were the ones who created UML. For instance, I initially approached dependency between components as a general relatedness between components, which may or may not be the case. I later learnt that Dependency really means when you change one component, the dependent components would become invalidated. For example, though the View and Model are related, there shouldn't be dependency between model and view layers.
Mark Cade's book gives some good examples of Component Diagrams. I would suggest that you treat these examples only as general guideliness to see what goes on in Component Diagrams.
If you are like me who doesn't like to spend much money on technical books, I would recommend you look at Safari Books at O'Reilly.com. They offer an excellent collection of online books, including Mark Cade's guide, for a very reasonable monthtly fee. They also have a limited time free-trial offer for using their services. You are also allowed to print the books and downloaded parts of them.

>>> Which design tool did u use.
Poseidon professional edition. I got hold of a 4 month trial offer and it worked out well for me.
>>>If you used rose how did u add labels to the compoenent diagram dependency lines ?
I didn't use Rose but I understand what you are saying. Posiedon also poses a similar limitation that it won't let you attach notes to dependency or association lines. When I had a situation where I wanted to label a association or a dependency, I simply attached the UML note to the components/classes that the association/dependency connected.
>>> Also how do u explain non functional requirements which cant be explained diagramatically and which are possible to be indenified almost at the time of say testing (I am referring to the speed of an application response time).

You are right. It is not possible to show aspects such as maintainability, performance, manageability, etc, diagrammatically. These non-functional specifications/criteria are realized by incorporating good design choices in a multitude of places within the system. The design choices also include choosing the right software to meet your needs. I documented these things in my "assumptions" document.

Regards
Sridhar
 
Dhiren Joshi
Ranch Hand
Posts: 463
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Sridhar
I really appreciate your quick reply with all the information I wanted .
Thanks again
Dhiren
 
Ranch Hand
Posts: 220
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Dear Sridhar,
First of all, congratulations for your success.
I would like to ask whether you also need to provide the class diagram of the web tier, right? As you know, we usually use Struts to implement the web tier in reality, right? However, in the web tier of this project, do you mean you still need to provide the class diagram which is similar to the struts framework?
Anyway, do you understand what I said?
Thanks for your suggestion.
Benson
 
Ranch Hand
Posts: 53
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Dear Sridhar,
First I express congratulations for your success. And I have been taking on the assignment,a few questions to you.Hope you can help me.
I really don't know whether I should put mvc class such as web controller,htmlaction,ejb controller etc on the sequence diagram and component diagram? (I find you got full marks on sequence diagram and got
quite a few marks on component diagram)
And further,as for two different clients,do I need to depict both of them in the sequence diagram or as the usecase only relates to the customer,can I only depict web client in the sequence diagram ?
Thanks in advance.
 
Sridhar Raman
Ranch Hand
Posts: 142
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Benson,
>>> I would like to ask whether you also need to provide the class diagram of the web tier, right? As you know, we usually use Struts to implement the web tier in reality, right? However, in the web tier of this project, do you mean you still need to provide the class diagram which is similar to the struts framework?
If you search the forum you would find that people have been successful approaching the class diagrams in different ways. Amanda Waite made a perfect 100 in part II a year and a half ago. She mentioned in her posting that she had a very complex class diagram and had shown all the web components, including the JSP pages. That is a lot of detail if you think about it! There was another Rancher (can't recollect his name) who made a 100 more recently. He mentioned that his class diagram was very simple and that it was an extension of the business domain model and that it didn't include any patterns or web components.
As you can see, there is no right or wrong approach to this. I went with the latter approach and showed only classes that were relevant to the given business domain. This would be the approach that I would recommend. Consider a bunch of business model changes to the system a couple of months after it had gone to production. When you try and modify your class diagram to update the business model changes, you would have a mess on your hand dealing with JSPs and other components that don't have a direct bearing on the business model. The same argument applies for presentation tier changes. You need to wade to business model classes to update presentation tier classes. That is not a good situation to be dealing with.
Struts is a framework for view and controllers. In my opinion MVC interactions and MVC implementation details are best shown in interaction and component diagrams. Again, I would show what makes most sense and would avoid crowding the diagrams with too much detail and would defer the details to be figured out by the developer during the construction phase of the project. In the architecture and high-level design phase, which the assignment is about, you should be sketching out the skeleton, defining system boundaries, defining and demaracting system layers and making other high level design decisions.

Hi Jacky,
>>> I should put mvc class such as web controller,htmlaction,ejb controller etc on the sequence diagram and component diagram?
I think that would be the right place for the components you have mentioned. See my discussion with Benson above where we talked about this topic.
>>> And further,as for two different clients,do I need to depict both of them in the sequence diagram or as the usecase only relates to the customer,can I only depict web client in the sequence diagram ?
The point is, your architecture should clearly bring out how you are supporting the web system and the legacy system. You could do this in any number of ways as long as you bring out the picture clearly. If the developer picks up your models, he/she shoudl be able to clearly see how the legacy and web systems are handled and supported by your architecture. As long as you are able to accomplish this, you are on the right track.
Regards
Sridhar
 
Jacky Doner
Ranch Hand
Posts: 53
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Sridhar,
Thanks for your quick and sincere reply deeply.You said the architecture that designed successfully should support the web system and the legacy system.I don't understand what's meaning of legacy system you refered.Does it mean swing client for agent use?For the old system which was developed by cobol should be replaced by the new system which adopt J2EE components.
Hope for you reply.
 
Sridhar Raman
Ranch Hand
Posts: 142
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Jacky,
The requirements talk about supporting web clients and application clients in the architecture. Also, it talks about replacing only parts of the existing legacy system as opposed to getting rid of it totally.
I interpret that this means the existing legacy system would not be discarded totally but would simply be enhanced and continued. I interpret that the "application client" refers to the enhanced GUI client that would replace the three thousand plus legacy terminals.
I don't know if someone else has a different interpretation to this requirement. It would be interesting to find out. How did you interpret this requirement?
Regards
Sridhar
 
Dhiren Joshi
Ranch Hand
Posts: 463
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Sridhar ,
Now you got me confused but it is possibly your assignment had different wordings. I know that Sun changes some words to make the assignment different even though it is similar.
I have these words"The IMS DB will be replaced with a relational DB" and so I interpret it that the entire IMS Db is going away and replaced with Orcale.
Please reply if my interprettion seems incorrect as I have based my architecture decisions on this basis so I would need to rework them.
Thanks
Dhiren
 
Jacky Doner
Ranch Hand
Posts: 53
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Sridhar,
The requirement tell us replace the 3270 terminal with one that support a graphical user interface.We can conclude that terminals are no longer used for the system we will develop use J2EE components.So the application client I think refers to JAVA Swing.It's my opinion.
And further you got full marks on class diagram,I have also a few questions to consult you,hope you can give me help.
1.You said,in your class diagram,you showed the class objects only relevant to the given bussiness domain.ie.bussiness logic class and not include any technologic classes.So I feel there are only a few classes can be showed in them,can you tell me how many classes you showed?
2.Whether you depicted attributes and method names in the class?
3.As far as relationships between class are concerned,whether you display number for example 1..* on class A side,and 1 on class B side for all classes exclude the composition relationship,I think only for composition relationship ,just put number on side of one class.
4.Did you change/delete any thinks from the original BDM?
5.Did you include stereotype or subsystem in your class diagram,for example TransMaster,FFM?
6.When customer finish booking itinerary ,Is there anything customer can get?I really unclear if customer has no ticket,how can he/she goes on trip.
So is ticket also a class object?
Hope for your sincere reply.Thanks again.
 
Sridhar Raman
Ranch Hand
Posts: 142
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Dhiren/Jacky,
I apologise if I have added some confusion to the already confusing and vague requirements. I was only stating my interpretation of the requirements
My line of reasoning is that there are 3 parts to the Legacy System - User Interface, Database and Core business logic (the COBOL part). From the requirements, I get that the Database and User Interface parts are to be replaced. Since nothing has been said about the business logic part and the fact that the requirments talk about an application client, I assumed that the business logic part is going to stay. Why else would they need an application client, when the Customer and the Travel Agent have more or less identical resposibilities and are participants in the same set of use cases?.
Anyway, in the real-world, you wouldn't jump into application design without having a few discussions with business analysts to validate/confirm your understanding of the stated requirements. I think Sun understands and acknowledges the situation and has asked the candidate to make the necessary assumptions. I think that it should be Ok as long as the assumptions are supported by reasonable arguments.

Hi Jacky,
I won't get into the details of talking about the number of classes and the specific notations used in my Class diagram. We may be straying off the boundary a bit with that line of discussion. Besides, I think it would only add more confusion to the picture since each person's design is different.
My suggestion to you would be to use those notations that you think would add clarity to the diagrams. Multiplicity, Stereotypes, relevant attributes and methods that clearly show the responsibilities and possible state changes of a class instance and UML notes are all useful notations in the Class Diagram. I can't think of a class diagram for a moderate to complex system that wouldn't make of use of these notations.
>>> Did you change/delete any thinks from the original BDM?
Yes. I changed it a bit and documented my reasons for the changes. Partly because some of the class relationships were not clear from the BDM (they were not even named). Also, I found some abstractions to be more useful from an OO and application design point of view, than what was given in the BDM. Sun didn't seem to mind it.
>>>1.You said,in your class diagram,you showed the class objects only relevant to the given bussiness domain.ie.bussiness logic class and not include any technologic classes.So I feel there are only a few classes can be showed in them,
>>>6.When customer finish booking itinerary ,Is there anything customer can get?I really unclear if customer has no ticket,how can he/she goes on trip.
So is ticket also a class object?
The BDM provides only a partial list of the business entities. You would have quite a few more of those.
For both of your questions, I would recommend that you check out the reservation screens from the web site of any commercial domestic airlines. I looked at http://www.southwest.com/ and gathered some useful information about the business entities involved in the reservation process. Pay close attention to the data entry forms, fine-prints and other instructions given on the page.

Hope it helps.

Regards
Sridhar
 
Dhiren Joshi
Ranch Hand
Posts: 463
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Sridhar,
I got your point .A few clarification to the existing discussions.
If UI moves to Java and EIS is replaced , How would the present Business logic of legacy still support processing a DB insert It was doing a COBOL DB updates so moving to a Orcale system would anyway be a full rewrite.
Thanks
Dhiren
 
Sridhar Raman
Ranch Hand
Posts: 142
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Dhiren,

>>> If UI moves to Java and EIS is replaced , How would the present Business logic of legacy still support processing a DB insert It was doing a COBOL DB updates so moving to a Orcale system would anyway be a full rewrite.
Switching the backend to Oracle could involve a huge re-write but we don't know for sure what exactly it entails. I guess this is where we make an assumption about the system requirements for the purpose of the exam and proceed along a certain line of reasoning.

Sridhar-
 
Dhiren Joshi
Ranch Hand
Posts: 463
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Sridhar for all the prompt replies and clarifying so many doubts that I had .
Dhiren
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic