In the following question which two are correct? Which of the following are true about interpreting class diagrams from different perspectives? a) Specification perspective class diagrams are developed without considering the programming language that might be used to implement it. b) The conceptual perspective class diagram of an application would not include all the classes required and their details, rather, they would only identify domain classes. c) In the conceptual perspective, associations represent relationships between classes, where as they represent responsibilities in the specification perspective. d) Operations (the processes that a class knows to carry out) should be used in conceptual models to specify the interface of a class.
I know c) is correct, but I am confused between a) and b). Isn't the specification perspective language independent, only concentrating on OO interfaces? Hassan
Qudsia Jaffery
Greenhorn
Joined: Jun 20, 2001
Posts: 16
posted
0
The correct answers are b and c.
Qudsia
Hassan Mumtaz
Greenhorn
Joined: Jul 04, 2001
Posts: 15
posted
0
Dear Qudsia, I agree that c) is correct but I disagree on b). I think a) is correct rather than b). Specification perspective is from an OO interface view (and therefore prog. lang. independent) while implementation perspective is taken considering a prog. lang. and even code generation. See chapter 4 of UML Distilled (Fowler). The problem with b) is that the conceptual perspective does not identify domain classes. Rather it is software independent and only identifies domain "concepts", not all of which will map onto domain classes during implementation. Hassan
SAFROLE M3
Greenhorn
Joined: Jun 28, 2001
Posts: 18
posted
0
I am thinking along your lines as well Hassan. The conceptual perspective does not identify classes, but rather concepts in the domain. This is why I believe choice b) is a trap. According to Fowler, the specification perspective does not take into account the actual language that will be used to implement the system. Fowler does mention that we are looking at "software" in this perspective, but only interfaces of the software, not implementation. It's possible to have a class diagram, which includes methods and attributes for several classes, irrespective of the language that will be used to implement. That's my take. SAF
Junilu Lacar
Ranch Hand
Joined: Feb 26, 2001
Posts: 3008
posted
0
Hassan, B and C are the correct answers. See my post in http://www.javaranch.com/ubb/Forum9/HTML/000431.html which references the sections of "UML Distilled" that support these answers, or rather, why A & D contradict what Fowler writes in the book
[This message has been edited by JUNILU LACAR (edited July 05, 2001).] [This message has been edited by JUNILU LACAR (edited July 05, 2001).]
Dear Junilu, I still maintain that A and C are correct. The key to understanding this issue is that the specification perspective (software OO interfaces) is separate from the implementation perspective (programming language). So as we move from analysis to design to implementation, we have: 1. Conceptual pespective: Domain concepts 2. Specification perspective: OO software interfaces 3. Implementation perpective: Programming language Hassan
Desai Sandeep
Ranch Hand
Joined: Apr 02, 2001
Posts: 1157
posted
0
Hassan, If you go through Martin Fowler's book, you would realize that in the specification perspective he talks in terms of interface which is dependent on the software language.The difference between this perspective and implementation perspective is that in the latter you also get to know HOW the responsibility is implemented.The Conceptual perspective is the only one which is independent of the software language; it is dependent on real-world concepts. Hence, I would go with Junilu that A is incorrect.The correct answers are B and C. -- Sandeep [This message has been edited by Desai Sandeep (edited July 06, 2001).]
<b>Sandeep</b> <br /> <br /><b>Sun Certified Programmer for Java 2 Platform</b><br /> <br /><b>Oracle Certified Solution Developer - JDeveloper</b><br /><b>-- Oracle JDeveloper Rel. 3.0 - Develop Database Applications with Java </b><br /><b>-- Object-Oriented Analysis and Design with UML</b><br /> <br /><b>Oracle Certified Enterprise Developer - Oracle Internet Platform</b><br /><b>-- Enterprise Connectivity with J2EE </b><br /><b>-- Enterprise Development on the Oracle Internet Platform </b>
SAFROLE M3
Greenhorn
Joined: Jun 28, 2001
Posts: 18
posted
0
Desai, If Fowler is speaking of 'class' interface, such as the methods they provide, then this is not software specific. It's possible to have a class diagram that specifies class methods and attributes irrespective of programming language, that's a fundamental feature of UML, it is language independent, so I'm thinking that the specification perspective if not concerned with the language of implementation. SAF
Junilu Lacar
Ranch Hand
Joined: Feb 26, 2001
Posts: 3008
posted
0
Hassan, I'm not saying that I would disagree with your viewpoint. UML is not about being academically "correct", it's about facilitating communication. As long as a diagram enhances understanding and communicates the requirements well enough for me to go on to the next step, I'm satisfied with it. However, since the question is from the pre-assessment exam, IBM expects the "correct" answers to agree with what is written in the two suggested references: Craig Larman's "Applying UML and Patterns" and Martin Fowler's "UML Distilled". As such, item A does not agree with what Martin Fowler writes in his book.
Originally posted by Hassan Mumtaz: I still maintain that A and C are correct. The key to understanding this issue...
Desai Sandeep
Ranch Hand
Joined: Apr 02, 2001
Posts: 1157
posted
0
Hi SAF, This is what Martin mentions in UML Distilled on Page 51 for the Specification Perspective
UML Distilled, Martin Fowler, Page 51 Now we are looking at software,but we are looking at the interfaces of the software, not the implementation.
I agree that you have still not proceeded to the implementation stage here, but you are still talking from a software perspective - so it can not be language independent. Hope this helps, Sandeep
Hassan Mumtaz
Greenhorn
Joined: Jul 04, 2001
Posts: 15
posted
0
In the post "Which two are wrong?" (http://www.javaranch.com/ubb/Forum9/HTML/000445.html), the discussion ended with the fact that the answer to product catalog brittle coupling question was B as marked by Chris. This is confirmed Chris's score breakdown (given below) which shows 4/4 on design and implementation techniques. Designs & Implementation Techniques 4 4 100.0 Requirements Modeling 5 5 100.0 Static Modeling 7 6 85.0 Development Process 4 4 100.0 Dynamic Modeling 6 6 100.0 Architecture 4 3 75.0 Given that one of the incorrect answers is to the the 2 vs 3 tier architecture question, then which is the other question that has an incorrect answer? Since, besides Architecture the other category in which Chris got one wrong is Static Modelling, could it be that it is the specification perspective question under debate that has the wrong answer? After looking at the other questions, I believe that is the case and that the correct answers are A and C. Do you agree? Sandeep, Junilu, Safrole? Hassan
Desai Sandeep
Ranch Hand
Joined: Apr 02, 2001
Posts: 1157
posted
0
Hassan, I have just replied in the same thread you mentioned.The correct answers are A and C. Let's have a discussion on the Product Catalog question in that thread as to why IBM believes the answer is C and not B! BTW, if you haven't referred to the post on this problem in this forum,I would suggest you do so.There is an excellent discussion here by the participants on this forum.It is really good to understand some fundamentals of OO.It helped me a lot while preparing for Test 486. -- Sandeep [This message has been edited by Desai Sandeep (edited July 07, 2001).]
Hassan Mumtaz
Greenhorn
Joined: Jul 04, 2001
Posts: 15
posted
0
No Sandeep, IBM believes the answer to product catalog brittle coupling question is B not C. Chris has marked B as the answer and he gets 4/4 on design & implementation techniques. Yes? Regarding the Specification perspective question, I'm glad we agree on A and C. The thing is that B in its own right does not make sense, since while making a conceptual model, the motivation is NOT to identify domain classes but rather to get an understanding of the domain. Yes, later on in the design phase, some of those CONCEPTS will become classes. Don't mind me repeating this, especially if you had already figured this out. Hassan
Desai Sandeep
Ranch Hand
Joined: Apr 02, 2001
Posts: 1157
posted
0
Hassan, I managed to get 100% in the IBM pre-assessment test by selecting C as the option.You may refer to the link here.My guess is the Product-Catalog question comes under Static Modelling; probably for the test objective - "Maintain encapsulation of attributes and visibility of operations effectively". However, I agree both the designs are bad in OO context.But we can still refute the IBM answer C!Let us give it a try. Regarding the specification perspective the correct answers are B and C.Look here for the correct answer.However, I thought it was A and C earlier.But if you read Fowler's book, you would be convinced that the answers are infact B and C. Hope this helps, Sandeep [This message has been edited by Desai Sandeep (edited July 09, 2001).]