I am sure that actually implementing getting the flight list for journey would implement complicated algorithms (with graph theory and finding connectivity and all) and as an architect we should not be bothered much about implementation details but would not our design choices affect implementation? Then how can we ignore implementation details? [ August 09, 2004: Message edited by: D. Rose ]
For processing components in your system, try defining their contracts(aka interfaces) first. Define arguments, return types, pre-conditions and post-conditions. This should be sufficient to describe what the method does without worrying about how it is done.
Open Group Certified Distinguished IT Architect. Open Group Certified Master IT Architect. Sun Certified Architect (SCEA).
I meant from point of view of classes and their relationships especially flight-segment etc. DB design would mostly map to classes and so it will have effect on algorithm performance in turn.