Re: UML Question (Object <-> ObjectFinder?)
- From: "H. S. Lahman" <h.lahman@xxxxxxxxxxx>
- Date: Fri, 17 Jun 2005 22:11:59 GMT
Responding to Martin...
Two good rules of thumb when looking for an OOA/D book are: (1) ignore any book with 'UML' in the title and (2) ignore any book with a specific language in the title.
Hmmm. You mean like: "UML for Java Programmers", Robert C. Martin, Addison Wesley, 2003?
Exactly. It's on the other side of UML (implementation of UML -> Java) rather than the OOA/D side (problem space -> UML). It's a fine book for dependency management but that isn't very relevant for OOA/D.
Which gets to the heart of the disagreement that you and I have had for several years; which is:
Since we are both presenting papers at the Boston SD:BP this year, shall we resolve this by selecting seconds and having a duel? Might liven up the conference a bit.
1. You believe that there is a well-defined technique called OOA, and I think that nobody agrees on what OOA is, and I doubt whether it even exists as a discipline. In our discussions, what you have called OOA, to me is simply design.
You keep saying this despite the published definitions. There are several profiles for translation OOA in book form by several different authors (Mellor, Selic, Douglass, Wilkie, etc.). All of them share the same view that is quite specific about an OOA model (a) resolving all functional requirements (i.e., it is a complete solution for functional requirements), (b) the resolution can be validated by the same test suite as the final program (i.e., the model itself is executable), and (c) the solution being independent of any particular computing environment (e.g., a specific OOPL like Java).
As far as it being a discipline is concerned, code generators do what one says, not what one meant. Therefore producing a translation-quality OOA model that will unambiguously result in correct code generation for any computing environment requires a highly disciplined methodology. I'll take that even further: the translation methodologies require more discipline than any other form of OO development.
2. You believe that OOD and OOP are separate, and I think they are inseparable.
For me, the "UML for Java Programmers" book *is* a book about OOD.
Indeed, the book expounds the 11 principles of OOD that I write about
so often. It talks about design patterns, and how to use them. It
presents a number of case studies that show how the design of
applications evolves through iterative implementation.
I never said that OOP does not involve design. However, there are three levels of design: OOA, OOD, and OOP, each with its own concerns. What you provide is primarily OOP level design. I'll give you design patterns as a valid reification of the problem space for both OOA and OOD. (Even then some patterns, like Visitor, would never appear in OOA/D and others, like Observer, would be very rare because they represent tactical implementation solutions.) But the book is mainly about your 11 principles for dependency management, which are mostly only relevant at the 3GL level. They solve the developer's problem of 3GL maintainability rather than the customer's problem, which is what OOA/D are exclusively about.
For example, the UML dependency relationship is not even included in the subset of UML defined by the MDA profiles for OOA translation models. (IMO, it should not be in UML at all because it leads to overspecification of the solution by usurping the prerogatives of OOP level design.)
I would also point out that IID has nothing to do with problem space abstraction, which is the core of OOA/D.
************* There is nothing wrong with me that could not be cured by a capful of Drano.
H. S. Lahman hsl@xxxxxxxxxxxxxxxxx Pathfinder Solutions -- Put MDA to Work http://www.pathfindermda.com blog: http://pathfinderpeople.blogs.com/hslahman (888)OOA-PATH
.
- Follow-Ups:
- Re: UML Question (Object <-> ObjectFinder?)
- From: Robert C . Martin
- Re: UML Question (Object <-> ObjectFinder?)
- References:
- Re: UML Question (Object <-> ObjectFinder?)
- From: H. S. Lahman
- Re: UML Question (Object <-> ObjectFinder?)
- From: Aquila Deus
- Re: UML Question (Object <-> ObjectFinder?)
- From: H. S. Lahman
- Re: UML Question (Object <-> ObjectFinder?)
- From: Aquila Deus
- Re: UML Question (Object <-> ObjectFinder?)
- From: H. S. Lahman
- Re: UML Question (Object <-> ObjectFinder?)
- From: Aquila Deus
- Re: UML Question (Object <-> ObjectFinder?)
- From: H. S. Lahman
- Re: UML Question (Object <-> ObjectFinder?)
- From: Aquila Deus
- Re: UML Question (Object <-> ObjectFinder?)
- From: H. S. Lahman
- Re: UML Question (Object <-> ObjectFinder?)
- From: Robert C . Martin
- Re: UML Question (Object <-> ObjectFinder?)
- From: H. S. Lahman
- Re: UML Question (Object <-> ObjectFinder?)
- From: Robert C . Martin
- Re: UML Question (Object <-> ObjectFinder?)
- Prev by Date: Re: Object Circular Dependencies
- Next by Date: Re: What's the standard interface for a graph?
- Previous by thread: Re: UML Question (Object <-> ObjectFinder?)
- Next by thread: Re: UML Question (Object <-> ObjectFinder?)
- Index(es):
Relevant Pages
|