Exforsys

Online Training

UML notation question...

This is a discussion on UML notation question... within the Software Patterns forums, part of the Testing category; This is what I meant by identifying wrong classes as explained in the last few lines by you. What I ...


Go Back   Exforsys > Testing > Software Patterns

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

 

LinkBack Thread Tools
  #21 (permalink)  
Old 05-20-2004, 01:11 PM
Shashank
Guest
 
Posts: n/a
Re: UML notation question...

This is what I meant by identifying wrong classes as explained in the last few lines by
you. What I meant was that, if ever we get into situation like explained by you, wherein
we cannot capture exact relationship (in this case B and C are both A, but if B is also C
) it should be considered as modeling error which I consider yet not very much defined/
explored concept in UML.

And only way of correcting it may be identify the classes from domain again.

Or I missed something again?

regards,
Shashank


"H. S. Lahman" wrote:

> Responding to Shashank...
>
> > How much should the identification of classes (different roles of employee is
> > identified as different classes here) be blamed for these un-resolved complexity in
> > relationship?

>
> You will have to put more words around this question. I can argue
> either way: it is all about identifying classes properly or identifying
> classes has nothing to do with it... B-)
>
> >>>Suppose I have the following situation :
> >>>
> >>>an A must be either a B or a C
> >>>a B might be a C (or vice-versa), but might not.
> >>>However, B's and C's are all D's.

>
> What is described here is multiple inheritance:
>
> +----- [b] -------+
> | |
> [A] <|----+ +----|> [D]
> | |
> +----- [C] -------+
>
> which is fine except for the specification that a [b] can sometimes be a
> [C]. That's a no-no in OO subclassing because the members of the
> subclasses must be disjoint sets of their superclass (in this case,
> disjoint subsets of both [A] and [D]).
>
> It is also a no-no simply because OO classes are defined around sets of
> properties. So all members of a class /must/ have exactly the set of
> properties defined for the class. Therefore it is impossible for only
> some members of [b] to have particular properties that othre memebrs of
> [b] do not have (unless there are additional levels of subclassing of
> [b]). [Any intersecting subsets of properties common to both [b] and
> [C] would be normalized into the superclass ([A] or [D]) and would,
> therefore, be common to all members of both [b] and [C].]
>
> So in the sense that the property sets for the classes have been
> improperly extracted from a particular problem space, the problem is all
> about identifying classes. In the sense it is about the way the OO
> subclassing relation is defined, it doesn't have anything to do with
> extracting specific classes from the problem space (i.e., one can't
> describe the desired configuration directly in OO).
>
> *************
> There is nothing wrong with me that could
> not be cured by a capful of Drano.
>
> H. S. Lahman
> hsl@pathfindermda.com
> Pathfinder Solutions -- Put MDA to Work
> http://www.pathfindermda.com
> (888)-OOA-PATH


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #22 (permalink)  
Old 05-21-2004, 03:39 PM
H. S. Lahman
Guest
 
Posts: n/a
Re: UML notation question...

Responding to Shashank...

> This is what I meant by identifying wrong classes as explained in the last few lines by
> you. What I meant was that, if ever we get into situation like explained by you, wherein
> we cannot capture exact relationship (in this case B and C are both A, but if B is also C
> ) it should be considered as modeling error which I consider yet not very much defined/
> explored concept in UML.
>
> And only way of correcting it may be identify the classes from domain again.
>
> Or I missed something again?


No that's basically it; the problem space will have to be abstracted
differently.

One has a similar problem with basic OO object abstraction. One can't
directly abstract a characteristic like 'purpose' for an entity; instead
one must find some way of expressing it in terms of knowledge and/or
behavior characteristics. Such compromises are part of the price of
overlaying precise, unambiguous semantic models on problem spaces that
are defined with natural language and subjective perceptions.


*************
There is nothing wrong with me that could
not be cured by a capful of Drano.

H. S. Lahman
hsl@pathfindermda.com
Pathfinder Solutions -- Put MDA to Work
http://www.pathfindermda.com
(888)-OOA-PATH




Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 03:39 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0
Copyright 2004 - 2007 Exforsys Inc. All rights reserved.