• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Paul Clapham
  • Ron McLeod
Sheriffs:
  • Jeanne Boyarsky
  • Liutauras Vilda
Saloon Keepers:
  • Tim Holloway
  • Carey Brown
  • Roland Mueller
  • Piet Souris
Bartenders:

Specification perspective

 
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The correct answers are b and c.
 
Hassan Mumtaz
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Sheriff
Posts: 17734
302
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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).]
 
Hassan Mumtaz
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Ranch Hand
Posts: 1157
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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).]
 
SAFROLE M3
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Sheriff
Posts: 17734
302
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 1157
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 15
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 1157
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 15
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 1157
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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).]
 
reply
    Bookmark Topic Watch Topic
  • New Topic