Re: Confusion With Inheritance



Responding to Malik...

Those concepts certainly exist independently of software or software developers. At the OOA level a domain expert who knows nothing about software or the developer's solution should be able to describe what an object is and what its responsibilities are fairly accurately just from the name. If not, the developer has screwed up the abstraction.


I would clarify this point, though. The SME would be able to describe the "logical objects" that he or she would use... the developer may very well, in the course of design, create a different set of objects in the physical design to implement the behaviors that they observed through the analysis. The correlation is indirect at best. It is possible that some of the logical objects will map directly to physical ones. However, frequently, a great many physical objects are encapsulations of behavior, not of things, and therefore would not necessarily be apparent to a SME.

Note that I specified the OOA. Every object in an OOA model /must/ be directly traceable to an identifiable entity in the customer's problem space(s). The litmus test for an OOA solution model is that it is unambiguously implementable without change as a manual system in the customer's environment. That implementation would be ambiguous if the objects did not map directly.


I would argue that if one elaborates an OOD model that adds objects, one is still abstracting from a problem space. It just happens to be a different one (e.g., a mathematical or computing space) than the customer's. Then if one asks a domain expert in the relevant domain, the expert should still be able to describe what the object is from the name (e.g., Stack, Cache, Port, etc.).


************* 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



.