Sri Jag

Greenhorn
+ Follow
since Oct 28, 2005
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
In last 30 days
0
Forums and Threads

Recent posts by Sri Jag

Originally posted by Parag Bharambe:
Congrats Sri

Which UML tools you used? And what is the version of UML you used?



Jude. I believe my Component Diagram was 1.x and my Sequence Diagrams were UML 2.

I used a lot of design patterns - actually, the assignment was very helpful in refreshing the concepts of some of the design patterns that I haven't used frequently - so I doubt that design patterns were the issue for the loss of marks in the component diagram - either UML 1.x had to do something with it or I just didn't reach far enough in presenting Sun's idea of a component diagram - what I submitted definitely was not my idea of a (good) component diagram either

Originally posted by Vinays Singh:

1. Did you displayed the domain model classes in sequence diagram as entity bean or followed Cade's pattern and left them out ?
2. Did you had any architecture or the displayed complete nine yards ?



1. I showed the entity beans in the sequence diagram

2. I presume you are asking if I used any framework...like quite a few other people here, it was a watered-down version of Petstore WAF - but I gave details about every component in the framework.
Grade: P
Score: 81
Comment: This report shows the total points that could have been awarded in each section and the actual amount of points you were awarded. This information is provided in order to give you feedback on your relative strengths on a section basis. The maximum number of points you could have received is 100, minimum to pass is 70.

Class Diagram (44 maximum) ............................... 42
Component Diagram (44 maximum) ........................... 29
Sequence/Colloboration Diagrams (12 maximum) ............. 10

I guess I saved myself a $150 re-submission after all I know my solution was functional enough for real-life implementation but the submission itself was half-baked as I had to rush through preparing the documentation - the score is not at all disappointing considering how appalled I was when I reviewed my submission a couple of weeks after I submitted it.

Class Diagram - definitely did not deserve 42/44 - it had at least 1 glaring error and a couple of ambiguous relationships apart from being very convoluted in the way it was laid out. Frankly, developers would kick me if I gave them a Class diagram like the one I submitted I had also changed the BDM quite significantly (removed relationships, introduced new classes, added new relationships, modified cardinality, modified requirements but I explained everything in detail, so maybe that helped). The original requirements are c-r-a-p - sorry, but that's the harsh truth. I don't mind if requirements are vague or ambiguous, but if they are contradictory, you bet I am going to fix them before attempting to architect a solution for them!

Component Diagram - I don't blame myself for this debacle! I somewhat followed Mark Cade's examples as well as the suggestions from the folks here. However, I honestly wouldn't use Cade's paradigm for drawing Component Diagrams. I've reverse-architected legacy systems and I think I have an excellent understanding of what Component Diagrams are and what purpose they serve. What I saw in Cade's book might actually be applicable somewhere - but not in any of the workplaces I have been in.

Sequence Diagrams - this was a bit puzzling to me because my sequence diagrams were perfectly functional. Perhaps I gave too much detail, but I know for sure that my sequence diagrams will result in a system that fully meets the functional requirements. I did use option and loop interaction frames, so I wonder if that took some points away.

I submitted 1 Class Diagram, 1 Component Diagram and 8 Sequence Diagrams.

Class Diagram had 18 classes - actually, it originally had only around 14 - I forced myself to tack on a few more because I got nervous seeing people submit 30-35 classes :roll: Did you guys show a class for every variable or something Followed Cade style and showed the service classes also. In the real-world, I would show much less detail.

Component Diagram had 26 components - in retrospect, I should have had at least 2 more components for the external systems - at the time I felt they were outside the scope of the architecture, but now feel they should still have been represented. I just had notes to indicate the presence of those systems. The components were laid out by tier and the Application Client was also represented in the diagram. But hey, with 29 marks, feel free to ignore that I even had a Component Diagram

Sequence Diagrams - 1 for Web Request and 1 for each Use Case. Showed both Customer and Travel Agent flows in the same diagram using opt interaction frames. I didn't have a sequence diagram for the Application Client - frankly, I just didn't know how to do it - app client development is not exactly my strong point and nor am I particularly interested in it - I just fail to see the value in a stand-alone app client.

Actually, I spent a lot of time tightening the flow of messages, the way I would in a real implementation - I would be very satisfied with this effort in the real-world, never mind what Sun thinks

I submitted one document per diagram, explaining the diagram (yeah, I know it defeats the purpose of using UML to a certain extent, but since I was doing so many things outside my comfort zone, I felt obligated to write these documents). I submitted 3 additional documents - Software Requirements Specification (I even changed the Use Case Model and put that in my SRS!), Assumptions and Architectural Decisions.

On the whole, if I had to re-do it (which I thankfully don't!), I would probably structure my submission better. My solution was fine, IMO, but the submission was a travesty of my professionalism and I do feel bad about that. Given that fact, I am quite happy with 81%, perhaps even a tad embarrassed

[ February 15, 2006: Message edited by: Sri Jag ]
[ February 15, 2006: Message edited by: Sri Jag ]

Originally posted by Jesse Jesse:

I think the 1:1 association between an Equipment and Flight is ok. My reasoning being a flight can only have one Equipment at a specific point in time but this does not stop a flight from having a different Equipment at a different time.



However if I change my model so a flight can have many segments(Seat reservations for a flight) then in my view - so far, this simplifies the model.


If a Flight can have many segments AND if a Flight can have only one Equipment associated with it at a time, then are you presuming that all segments in the Flight would be flown using the same equipment? The relationship between a Flight and multiple Segments would exist at the same point in time as the relationship between a Flight and Equipment - the Itinerary is not going to be updated mid-travel to reflect the changes in Equipment.


IF I agree with the assumption that a segment simply represents one take off and one landing (departure airport, arrival airport)that is qualified by a flight(flight no. price etc as travel terminology suggests and if I agree with the association between segment and flight as being one to one then this implies that a new class needs to be introduced between segment and itinerary to track a customers reservation for a particular segment including seat reservation etc.


I think this is more reasonable. BTW, I need to correct the original assumption I made - an Itinerary can have only 1 Departure and 1 optional Return. If you call each of these a "Reservation Line Item", then the association between Itinerary and Segment could be removed. If you compare the Prepare Itinerary and Change Itinerary use cases, you will see that the terms "flights" and "segments" have been used in a conflicting manner. Introducing a "Reservation Line Item" class seems to be the best way to go as far as I can tell.

Additionally, a Segment can indeed have many Flights (going by my earlier assumption of a Flight "qualifying" a Segment by Date, Time and Flight No.) because the same Segment is going to be used in multiple itineraries (by different Customers) for different Flights. The Segment would then have to be aware of all the Flights that are servicing it (obviously for searches to work).

The way I understood it:

1. An Itinerary can have 1 departure, 1 return and multiple layover segments where layover and return may be optional.

2. A Segment is one take-off and one landing, but on no specific date or time - just between specific cities.

3. A Flight qualifies a Segment as a take-off and landing on a particular departure day at a particular departure time.

A Segment can be fulfilled only by one flight at a time, but that does not preclude the Segment from being fulfilled by different flights at different times. For instance, from JFK-IAD, you could fly on a Boeing 737 at 10:00 AM tomorrow (Flight No. 1234) whereas your wife could take the same Segment at 11:00 AM on an Embraer Jet (Flight No. 5678)- same Segment, different flights, different aircraft. The equipment doesn't necessarily have to be different - they could both be Boeing 737s with different Flight numbers.

Originally posted by Mark Cade:
Chapter 8 gives you the base of what you need in your solution. It should be expanded with narrative and any additional supporting documentation that would be needed to convey your architecture. Thanks for buying the book.



Is that the real Mark Cade?! I passed Part I with 93% this morning, largely thanks to your book! Thank you for writing this book :-)

Originally posted by yamini nadella:
Hi Congratualtions.
Please let us know the links for
Ramu Meda's notes, SCEA in a Nutshell .



Thanks!

SCEA in a Nutshell

Ramu's notes

You'll need to join the scea_j2ee Yahoo group, I suppose, to get access to the files.
Hello everybody,
I've been a fairly long term lurker here. I decided to post today because I felt there was a lot of ambiguity about the SCEA Part I in these forums. Based on my personal experience, these are my observations:

1. IT Experience:
-----------------
If you have sufficient width (not necessarily depth) of knowledge with heterogeneous, enterprise solutions, this exam should be a cake-walk for you. I prepared for about 2.5 weeks while working full time (and in the last week I practically did no preparation since I had a lot of other distractions). I do have about 10 years of IT experience and have worked in the capacity of an Associate Architect and have also closely interacted with several senior Architects.

2. Study Material:
------------------
I used the following material -

- Mark Cade/Simon Roberts
- Ramu Meda's notes (which appear to have been culled from Mark Cade, Paul Allen and several other notes apart from original material)
- SCEA in a Nutshell (somebodys notes, don't know who, but thanks stranger!)
- Design Patterns - Gang of Four
- Head First EJB (have read it previously, used it very sparingly this time)
- UML Distilled (have read it previously)
- Haefel (about an hour's worth of browsing at B&N ;-) )
- Paul Allen (same amount of usage as Haefel, had ridiculously error-laden Test Yourself sections)
- javaqueries.com Mock Exams
- a very succint article about HTTP/RMI/IIOP (read it only last night - someone had linked it in these forums)
- Sun JMS Tutorial (quick review last night)

Is this material enough to pass? Probably. But to perform well, you'll definitely need to rely on your experience.

3. Mock Exams:
--------------
These were the toughest to get direction on. Almost all the free mock exams are error-prone. But the questions at javaqueries.com were very close in intent to the real exam. That is, if you understand why you are choosing an answer in the mock exam, you will be able to understand why you have to choose a particular answer in the real exam. In fact, the Mock Exam 6 at javaqueries.com was probably the best I had seen so far. I was very skeptical about some of the simpler questions (especially with Design Patterns) on the mock exams, but the real exams have a few questions that are as simple.

4. Sitting for the Exam:
------------------------
I did three passes. In the first pass I read each question carefully and answered them the best I could. I marked only those questions that I found myself spending some extra time on. I finished the first pass with 31 mins to spare. This was helpful for the second pass where I could go through this shorter list of marked questions. In the second pass, I scrutinized each marked question to see if it was a trick question (false solutions, not true, etc.,). Apparently, I hadn't missed any tricks the first time around. However, I did change the answers to two questions - one on EJB and one on Common Architectures in this pass. I finished the second pass with about 12 mins to spare. For the third pass, I started from the first question and the exam timed out around the 10th or 11th question. When I exited out of the test, I couldn't see my score - only the Assessment Section. But when I saw it was mostly 100%, I slowly started breathing again :-)

5. Exam questions:
------------------
No, don't get excited :-) No spoilers here. Quite a few of the questions were composed with information from several objectives, even though the actual question was about a specific objective only. That means if you were familiar with the other objectives also, you would feel much more comfortable answering the question. Note that I am not saying you must be able to solve the question using knowledge from several objectives. But you must feel confident about the information, particularly EJB-related, that is provided around these questions in order to be able to select a particular answer with any confidence. There were only 2-3 questions where I had to take an educated guess. The process of elimination is very easy considering how obviously wrong some of the options are. For these questions, I would pick what I though was the best option first and then work backwards on eliminating the others.

6. My method of preparation:
----------------------------
Two observations first up - 1. Buy the Mark Cade/Simon Roberts book and 2. There is no need to purchase exam simulators. Of course, if you can afford them, knock yourself out. For spending close to $100 on a simulator, I might as well prepare first, use the real exam ($150) as practice and retake it in a couple of weeks later if I fail - not that I would recommend that :-) - just disappointed at how expensive simulators are for the value they provide.

I prepared for the objectives in this order:

1. Concepts
2. Common Architectures
3. Legacy Connectivity
4. Protocols
5. Applicability of J2EE
6. Internationalization
7. Security
8. Messaging
9. EJB/EJB Container Model
10. Design Patterns

The only reasons for this order were that 1. Messaging, EJB and Design Patterns are three of the larger chapters and I wanted to be able to remember them well at the end (I have decent real-life experience with all three, though) and 2. I felt reading Protocols right after Legacy Connectivity helped me finish 2 chapters in a relatively short period of time because they share some common information on protocols.

For the most part, I used 3 sources - Mark Cade/Simon Roberts, Ramu's Notes, SCEA in a Nutshell notes. I would read each chapter sub-heading from Mark Cade, compare them with Ramu's notes and write down the important points in a concise format. I would then cross-check with the SCEA in a Nutshell and add any new points from there.

Mark Cade is missing Messaging almost completely (there might be some mention of JMS somewhere). I wish I had done this earlier, but for anyone wishing to take the exam, prepare for Messaging from Sun's JMS Tutorial. This is entirely sufficient (except for Legacy Connectivity using JMS). Writing down my own concise notes helped vastly during revision. It's very useful reading something in your own handwriting, especially if the notes are not just copied but rather restated in your own words concisely. The only "memorizing" I did was the list of GoF patterns and the building blocks of UML.

Which brings me to UML. I've seen a lot of people recommend UML Distilled - Martin Fowler for this exam. UML Distilled is a very useful book for real-life application. But from the exam point of view, Mark Cade's Concepts chapter was far better structured and to the point. It's kind of difficult to prepare for an exam when Martin Fowler is telling you, "you can do it this way or that way or any other way that suits your application" :-p However, Mark Cade is missing the composition relationship, so you'll have to pick that up from UML Distilled.

For Design Patterns, I completely ignored Mark Cade and went with the GoF book. I just went through the Catalog, read the intent, example, consequence, known uses and related patterns section. I read the GoF Book once - exactly once - but made sure I understood each design pattern. On the other hand, I have been using some of these patterns for sometime and was able to reverse-associate most patterns with some real implementation from my past , so your mileage may vary. I just made sure I memorized the list of patterns so I could quickly derive the nature of each pattern during the exam. As it turned out, the GoF patterns related questions were the most direct and simplest of all.

My section scores:
------------------
100% - Concepts
66% - Common Architectures (probably missed 2/6)
80% - Legacy Connectivity (probably missed 1/5)
100% - EJB
100% - EJB Container Model
100% - Protocols
100% - Applicability of J2EE
100% - Design Patterns
100% - Messaging
100% - Internationalization
100% - Security

I know this is a rather long first post. But I just wanted to provide this information because in the last couple of days I was looking at the posts of people who had taken this exam earlier and it unnerved me a bit. With a reasonable amount of experience, the right study material and a decent amount of effort, this is a very easy (and interesting) exam to pass - far easier than the SCJP2.

Disclaimer: These are just my observations. Please use your own judgement in preparing for the exam. Good luck!

Regards,
SJ

P.S: Moderators, it would be so much more useful to split the SCEA forum into Part I and Part II forums. It was maddening sifting through the reams of discussions on Part II to find anything useful about Part I...just a suggestion :-)

[ October 28, 2005: Message edited by: Sri Jag ]
[ October 28, 2005: Message edited by: Sri Jag ]