Win a copy of TDD for a Shopping Website LiveProject this week in the Testing forum!

Jesse Jesse

Greenhorn
+ Follow
since Jun 04, 2004
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Jesse Jesse

Thanks Pankaj

One more question regarding sequence diagrams. How did u show iteration, and how did you go about showing an included use case in the prepare itinerary use case for instance. Have placed a note on the diagram next to the message for priceItineray indicating that the price for itinerary use is executed and same for the pay for itinerary use case. Not to sure if there is a standard UML practice for doing the above.

Thanks in advance.
Jesse
Hi Saha

I spent a bit of time beating myself up over this. My current thinking is to save unpaid Itinerary�s. Given that the requirements really suck as u know u need to assume stuff either way - in the case of saved unpaid itineraries recheck flight availability etc.

A factor in my end decision, is that the system seems to imply asynchronous credit card processing (through the use of email etc) so it would make sense to save the itinerary beforehand. Also the transmaster API does not show support for issuing credit card refunds so should we let the user change paid itineraries

Anyhow let me know what you think.

Regards
Congrats. Quick question regarding what you used for the actor on the price itinerary sequence diagram since this use case seems to be initiated by the including use case prepare itinerary etc.

Also did you introduce the concept of a locked seat in the event where a customer decides he wants to a reserve a seat and the system wants to prevent another user from attempting to reserve the same seat. Maybe for this application optimistic locking will be enough just keep it simple.

Thanks

Jesse
Also did you show an actor on the pay of itinerary use case. Or just have a note describing how this process is kicked off.

Thanks in advance

Jesse
Magic score

Quick question did you show method arguments on your sequence diagrams

Jesse
Hi Jingbo

I feel the same. There is a lot that needs to be assumed and giving the confusing nature of the use cases I can't see away around it without making some assumptions that go against the use case flow.

For instance in the Prepare Itinerary use case is there really a need to persist an unpaid Itinerary. There is no step that says that a user can select an option to search for a different flight thus creating a new Itinerary after confirmation or save the itinerary to purchase a flight later. Rather the use case follows directly through to the pay for itinerary usecase.

The problem with saving an unpaid itinerary is what happens if the seats selected on a particular segment of the itinerary are no longer available and the user selects one segment to delete. There is no indication in the use case that the system rechecks availability but instead calculates a price for changed itinerary.

Also what happens if the user wants to change a paid itinerary among other things a refund may have to be issued if the cost of the newly added segment is less then the old value. At least saving a paid itinerary means there is no need to check seat availability again. Does the transmaster ape support refunds.

To be honest I don't want to waste anymore time on the assignment so I guess I will just document my decision and get this nasty bit of work out of the way.
Good score, well done.

Can I ask how you handled your flight search. Did you include a route concept which contains knowledge of the different flight options available to fly between a departure and arrival city.. i.e. a direct flight and the flights that make up an indirect flight Or did you consider a graph search.

Any help would be great


Thanks

Jesse
Congrats Sridhar good score.

Can I ask how you handled seat pricing. The use case seems to go against the normal flow. In that you would normally select your seat before searching i.e. first class or coach and the price displayed for the flight would be a combination of the flight and seat.


I understand why the use case approach might work as you could select your flight and then a seating chart could possibly be returned to allow the user to select their seat - like a cinema booking done online. This kind of implies there are two prices, one for the flight and a separate price for the seat. Would I be correct in assuming this, i.e. the system first returns a flight + price, user selects flight then system returns seat price, user selects seat and system adds seat price to flight price.

Any help would be great


Thanks
Hi

I am also considering JAAS for security and performing authentication and authorization from a stateless session bean so both web and swing client can use the same method. I am new to JAAS and was wondering is it possible to achieve this i.e how would I set this up if a user required authentication and arrived at the ejb layer without having being authenticated via the web container first.


Thanks
Excellent score, congrats.

Quick question. You say you did not change the bdm. My question relates to seat reservation. Can you give me some tips on how you managed this part of the domain model. Without changing the bdm constraints etc, the only way I can see in tracking seat reservations is to have an additional concept between itinerary and flight as the one to one between segment and flight does not allow the segment to track the reservation i.e. a flight cannot have multiple segments.

Any help would be great


Jesse
Thanks Laxi.

Just one more question, you say

I didn't change anything between itinerary and segment from BDM. Only thing i changed were related to Customer which i made as a composite entity. Even i assumed segment as a line item of itinerary.



So if you left segment as a one to one association with flight would I be right in saying that your segment concept contained the arrival and departure city and that you needed to introduce an additonal concept between itinerary and equipment to track a seat reservation. This is a part of the assignment that I find confusing given that I would move arrival and depature city to a flight description object and change the segment and flight association to 0..* - 1

Thanks in advance

Jesse
Hi Luiz

They are my thoughts exactly and this is how I was working my design. The only worry I have with this approach is maybe it is something Sun this not want to see.


Jesse
Nice one Laxmi.

Can I ask how you handled or your opinion with regard to the associations between Itinerary segment and flight. In my design I am taking segment to be a simple itinerary line item that a customer creates and not the alternative meaning - a segment is a trip between two cities... as if I follow this approach I need to have an addition concept and association between itinerary etc to track a seat reservation which kind of makes the assocation itinerary and segment redundant.
Thanks

Jesse
Hi Sri

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.



Yep, sorry I didn't make myself clear enough here - it has to do with the way I view a segment. In my design I decided to have segment as a line item on an itinerary which reserves a seat one flight and a flight can have many segments (Seat reservations). However the segment no longer contains the arrival and departure city I opted to move this to another concept associated to flight. This means I no longer have to introduce another concept associated to itinerary and linked to segment making the link between segment and itinerary redundant.


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).



I agree with you and see where you are coming from with your design that a segment can have more than one flight and the relationship between a segment and a itinerary is redundant when you introduce a reservation. However I guess it comes down to your design choice I opted for a different design as described above which means I can now link segment to a reservation. I see this as simpler for the time being, I will document my decisions and hope for the best.


Thanks

Jesse
Hi Ranchers,

I have a particularly puzzling problem. I have to migrate existing web services api developed in axis to j2ee web services. A lot of my methods in my web service interface require the use of org.w3c.dom.Element for return and parameter types. However the problem I am having when calling from a web service client using jax-rpc is that for some reason the return type is a java.lang.String rather than a org.w3c.dom.Element. Any of you guys and gals know if it possible to use org.w3c.dom.Element with jax-rpc and how to do it, maybe an example of a wsdl document that would do the job. Also I am unable to change my interface to use a different type.

Regards

Mark
16 years ago