Open Group Certified Distinguished IT Architect. Open Group Certified Master IT Architect. Sun Certified Architect (SCEA).
Originally posted by Ajith Kallambella:
When you modify(extending, altering, tweaking, reafactoring ...) the BOM, you must not change, contradict or render vague original relationships ie.,Boy has a shirt should not become The shirt has a boy ![]()
Originally posted by Tomi Tuomainen:
My SCEA instructions don't prohibit changing the existing Business Domain Model. If the use cases contradict the BDM why shouldn't we change that? Of course we shouldn't model anything that's not right. But we should describe the relationships so that it corresponds to reality and the basic structure of the system as well as possible based on all the information we have. If that can be achieved by changing someone's earlier drawn BDM relationships, I think we should do it.
Or this some Sun's hidden rule that must be obeyed (no matter how stupid it sounds)...
Tomi
Originally posted by Tomi Tuomainen:
My SCEA instructions don't prohibit changing the existing Business Domain Model. If the use cases contradict the BDM why shouldn't we change that?
Tomi
Originally posted by Tomi Tuomainen:
Of course we shouldn't model anything that's not right. But we should describe the relationships so that it corresponds to reality and the basic structure of the system as well as possible based on all the information we have. If that can be achieved by changing someone's earlier drawn BDM relationships, I think we should do it.
Tomi
Originally posted by Frank Silbermann:
For example, the BDOM shows a 1-1 relationship between "flight" and "equipment." This would imply disposable aircraft, no? Even if we ignore that fact that the airplane has to _return_, certainly it is going to travel the same path on different days!
Originally posted by Parag Doshi:
I think the 1-1 relationship is shown more on time bases. i.e. at a given point of time, a "flight" would use only one equipment (aircraft) to complete the journey. We can argue that there is a many-to-many relationship here, because a "flight" can use different equipments and the same equipment can be used by multiple flights. The question we need to ask is - whether there is a requirement in the system that needs that kind of information over time..i.e. are we required to store a list of all equipments which the flight operated on over time?
Originally posted by Frank Silbermann:
The equipment class could be needed so that the system knows which seats to include when creating a flight. (Presumably, this is done in some unspecified portion to be designed or implemented separately, or via raw SQL database inserts.)
Because an itinerary contains flight _instances_ (particular flights on specific days), and an airplane is used on more than one day's flight, the business domain model cannot be considered anything more than one analyst's flawed first stab at the problem.
It is taken for granted that nobody can get all the requirements or the design right the first time -- otherwise there'd be no need for prototypes and iterations in software analysis and design (OOAD).
A real architect would probably ask questions to clarify the requirements, but testing our ability to do this would be unmanageable and ungradeable. Therefore, we are asked to deduce what we think the business analyist _possibly_ meant when he drew his design. Perhaps our ability to recognize and make the needed adjustments is predictive of our ability to ask the right questions of the form: "When you wrote _this_, did you really mean to say _that_?".
I cannot think of any other explanation for the way they wrote the requirements. I just wish the Part II meta-requirements had been made more explicit.
On my planet I'm considered quite beautiful. Thanks to the poetry in this tiny ad:
Thread Boost feature
https://coderanch.com/t/674455/Thread-Boost-feature
|