aspose file tools*
The moose likes Architect Certification (SCEA/OCMJEA) and the fly likes UML question Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Architect Certification (SCEA/OCMJEA)
Bookmark "UML question" Watch "UML question" New topic
Author

UML question

Saha Kumar
Ranch Hand

Joined: Feb 23, 2006
Posts: 218
Hello All,

My understanding of UML is that a precondition refers to a condition which must be met when a UC is invoked. This leads me to believe that all activities in the 4 UCs require that the user be logged in before they can be invoked.

Is this true? What activites can the user perform which do not require a login?

Thank you in advance.

-Saha
Ricardo Ferreira
Ranch Hand

Joined: Feb 13, 2006
Posts: 156
Originally posted by Saha Kumar:
Hello All,

My understanding of UML is that a precondition refers to a condition which must be met when a UC is invoked. This leads me to believe that all activities in the 4 UCs require that the user be logged in before they can be invoked.

Is this true? What activites can the user perform which do not require a login?

Thank you in advance.

-Saha


-- Search for Flights
-- Reserve Seats
-- Query for Flight Prices
-- Create an Profile

Ok?


Ricardo Ferreira,<br /> <br />Sun Certified Enterprise Architect<br />IBM Certified SOA Solution Designer<br />IBM Certified RUP v7.0 Solution Designer<br />IBM Certified Specialist for RUP v2003
Ricardo Ferreira
Ranch Hand

Joined: Feb 13, 2006
Posts: 156
Originally posted by Ricardo Ferreira:


-- Search for Flights
-- Reserve Seats
-- Query for Flight Prices
-- Create an Profile

Ok?


I'm Sorry! I forgot to say that the customer can Choose the Seats instead Reserve the Seats. The Seat reservation just occurs when the user confirms the itinerary. And, in order to confirm, it must be logged.

Ok?
Saha Kumar
Ranch Hand

Joined: Feb 23, 2006
Posts: 218
Ricardo,

Not okay since the tasks you mentioned occur within the Prepare Itinerary UC. The Prepare Itinerary UC has a precondition that the user must be logged in.

Given that the Prepare Itinerary UC precondition requires login, if I were implementing the security, I would protect all web pages which are part of Prepare Itinerary UC.

-Saha
Ricardo Ferreira
Ranch Hand

Joined: Feb 13, 2006
Posts: 156
Originally posted by Saha Kumar:
Ricardo,

Not okay since the tasks you mentioned occur within the Prepare Itinerary UC. The Prepare Itinerary UC has a precondition that the user must be logged in.

Given that the Prepare Itinerary UC precondition requires login, if I were implementing the security, I would protect all web pages which are part of Prepare Itinerary UC.

-Saha


Saha,

You're wrong if you see the prepare itinerary like this. Try to read carefully the instructions.html document, because there are a lot of details that you're forgotting.

For example, pay atempttion is this sentence:

"Before the customer can confirm the flights and save the itinerary, they must log in with their user id and password"

This means that, the confirmation is just the result of an previous searching, of an previous seat searching. The customer can only confirm the flights if he has been authenticated in the system. But, search for flights, search for seats and create profile, he can do without any login.

You are thinking in like procedure calls, and, in the OO fashion design, you cannot think like this. Be careful and good luck! I'm just trying to help!
Saha Kumar
Ranch Hand

Joined: Feb 23, 2006
Posts: 218
Hello Ricardo,

Thank you for your response. I will follow this. Let me say that originally I thought the same as you said. I read the use cases many times, and recently started considering the preconditions. I am still not sure how to interpret the preconditions. For example, I thought that prior to the user confirming the itinerary, the user would have already been logged in because the price itinerary (called prior to confirmation) requires a user login. The price itinerary UC also has a precondition of the user being logged in.

Could someone clarify this for me so I may proceed with the project?

Many thanks in advance.

-Saha
Thomas Taeger
Ranch Hand

Joined: Dec 16, 2002
Posts: 307
Hi Saha,
I think what you first mentioned was right, and what Ricardo mentioned was just ONE of possible decisions when dealing with imprecisions.

As you said, pre-conditions must be true on entering the usecase, not just at a later time within the usecase. Theoretically we could ignore everything that infringes upon the pre-conditions - in contrast to Ricardos decision.

Most of the usecases are just inprecise and deficient, as in real life, made by a business analyst who did not discuss and eliminate these contradictions with the stakeholders.

I respect the exact pre-condition in one usecase and respect the more specific rule on confirmation (as Ricardo) in an other usecase, and most important: In the narratives escorting each Sequence diagram I argue why.

Thomas
[ April 17, 2006: Message edited by: Thomas Taeger ]

www.classic-and-class.com - www.evalulearn.com
Interfaces are the glue of OO.
Saha Kumar
Ranch Hand

Joined: Feb 23, 2006
Posts: 218
Hello Thomas,

Thank you for the welcomed response.

I am glad to hear that the definition of precondition has not changed. I'm planning to show all of the alternate flows mentioned in each UC in the my sequence diagrams. I will also explain how the login is handled in each UC.

I appreciate your post!

-Saha
Thomas Taeger
Ranch Hand

Joined: Dec 16, 2002
Posts: 307
Hi Saha,
Originally posted by Saha Kumar:
I'm planning to show all of the alternate flows mentioned in each UC in the my sequence diagrams.

One sequence diagram per UC or per alternate flow? Keeping all flows within one sequence diagram might make it unnecessarily complex.
I use one sequence diagram per flow, that is state of the art.

Originally posted by Saha Kumar:
I will also explain how the login is handled in each UC.

I would be really snoopy to see this because I wondered about that a long time! See my answer to your other posting ...

Thomas
Saha Kumar
Ranch Hand

Joined: Feb 23, 2006
Posts: 218
Hello Thomas,

If possible, I want to use the alternative flow fragment (UML 2.0) and show the main flow and alternate in same sequence. If the alternate is too long, I will show it in another sequence diagram.

How do we show an included use case in a sequence diagram?

i.e. the prepare itinerary use case calls the price itinerary. I have looked for postings, but haven't found the answer.

Thank you in advance.

-Saha
Thomas Taeger
Ranch Hand

Joined: Dec 16, 2002
Posts: 307
Hi Saha,
if you have a fictive "pricer:MyPricer" object that is to call/hide the "PriceItinerary" usecase then just
instead of "pricer:MyPricer"
you write into the header of that object of your Sequence Diagram:
"pricer:MyPricer ref PriceItinerarySequence"
and provide a Sequence Diagram called "PriceItinerarySequence" realizing that "PriceItinerary" usecase.
Note that "ref" is a keyword for this kind of so called "decomposition".

Thomas

PS: damn smilies, I had to disable them each time to be able to write ": P ..." without the Blank, so I used "...:MyPricer" now

PSS: what about giving your interesting posting a valuable refindable name instead of "UML question"? Did you try?
[ April 17, 2006: Message edited by: Thomas Taeger ]
Peer Reynders
Bartender

Joined: Aug 19, 2005
Posts: 2922
    
    5
Originally posted by Thomas Taeger:
PS: damn smilies, I had to disable them each time to be able to write ": P ..." without the Blank, so I used "...:MyPricer" now

Beat the Saloon Graemlins with HTML Character Entities:
: - &#058;
D - &#068;
O - &#079;
P - &#080;
d - &#100;
o - &#111;
p - &#112;
& - &amp;
Saha Kumar
Ranch Hand

Joined: Feb 23, 2006
Posts: 218
Hello Thomas,

Thanks for the valuable information. I've seen others ask, but no answer was ever given...that I could see.

Sorry about the nondescriptve name.

I have read through previous posts regarding the login pre-condition of the prepare itinerary UC. One post reasoned that the pre-condition refers to the travel agent, while the alternate flow was meant for the customer. Do you think this would be a safe assumption?

When you said you would take the default, did you mean the container managed security?

Thanks in advance.

-Saha
Thomas Taeger
Ranch Hand

Joined: Dec 16, 2002
Posts: 307
Thank you, Peer,
I think for me ":" for ":" will beat most of problems with smilies.
Thomas
Thomas Taeger
Ranch Hand

Joined: Dec 16, 2002
Posts: 307
Hello Saha,
Originally posted by Saha Kumar:
One post reasoned that the pre-condition refers to the travel agent, while the alternate flow was meant for the customer. Do you think this would be a safe assumption?

Hmmm, as in jurisdiction I think there are no safe assumptions, only human assumptions. Even formally I could not follow this reasonig because for both "Customer ..." is written, so why should it once be also the agent or even only the agent? No, I can not feel this being a "safe assumption". One even could argue that both the pre-condition and the explicite requirement of the basis flow are for Customer only, so Agent is free from log-in in eighther case - but would it make sense to give up the chance of logging/auditing which agent booked a travel in doubt? Not a said requirement, ok, we should be able to press the business analyst, ... - uggly exam. ...

Originally posted by Saha Kumar:
When you said you would take the default, did you mean the container managed security?

Yes, the default container managed security kinds of the Application Container, Web Container and EJB Container. And I am still not sure whether to drill into this special requirement (by JAAS?). I want to get rid of this exam as soon as possible now.
But you have convinced me that a pre-condition is not invariant, so I am not sure yet. Thank you!

Thomas
[ April 18, 2006: Message edited by: Thomas Taeger ]
Saha Kumar
Ranch Hand

Joined: Feb 23, 2006
Posts: 218
Hello Thomas,

Thanks for your post. This has given me more confidence into the 'session timing out' scenario. I am planning on JAAS for the travel agent. I think the default for Swing applications is to ask the user to login in the beginning. I'm not sure if JAAS has a session timeout. I will need to look into this. Thanks for your help.

-Saha
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
 
subject: UML question