I downloaded the assignment a week ago and I came up with a big dilemma!
Should/Could I change the business domain model provided within the assignment, or not?
As the assignment says,
All of these objects and the relationships between them should be addressed in your design and implementation.
It suggests me to respect/follow the given business domain model, but there could be some reason (valid ones) to change it a little!
It does not say that the model must be and remain the given one.
Besides to my reasoning if they are wrong or right,
what should I do?
Actually I have a many-to-many relationship that I would never have in my real-project business domain model!
Did anybody change the given business domain model and pass part 2?
Thanks in advance,
SCJP/OCPJP 6 | SCEA/OCMJEA 5 | [WIP] OCEJWSD 6
Joined: May 13, 2011
From what I have read so far in this forum, unless you have a really serious reason to change BDM (eg. something very important is missing or there's an error in a given model), better don't do it. For sure not for the sake of optimization, simplifying or anything like that. Many people have failed because of this.
And many to many relationship is handled quite well by JPA for example, so I believe you don't need to worry about it.
Joined: May 17, 2010
I have found this successful story http://www.coderanch.com/t/443250/sr/certification/SCEA-passed and since I have the same assignment, I was also very tempted to change it. In the end I found some solution without changing it but I am afraid it might be a bit "forced" as I am basically improvising some relations that can lead me by transitivity to the relation in the BDM. Problem is now that I am thinking which is worse? changing the BDM or putting things in there just to fit the given BDM? did you reach to any conclusion, will you change it?
I'm still thinking... I don't know what i s worse, if working on something that I do not really understand or change it a little and start understanding what I'm doing.
Anyway I'll document and justify my changes, if any!
The use cases will remain the same, I'll add more class to the BDM.
I think if you are changing it slightly, you should document it clearly in your assumptions. Of course, big changes wouldn't be good. One thing that can be thought of is, even when changing, try to maintain the original relationship - maybe indirectly...