Ambiguous viewpoint
Object Oriented Analysis and Design models are often presented without clarifying the viewpoint represented by the model. By default, these models denote an implementation viewpoint that visualises the structure of a computer program. Mixed viewpoints do not support the fundamental separation of interfaces from implementation details, which is one of the primary benefits of the object-oriented paradigm.
In Object Oriented Analysis and Design there are three viewpoints: The business viewpoint (the information that is domain specific and matters to the end user), the specification viewpoint (which defines the exposed interface elements of a class), and the implementation viewpoint (which deals with the actual internal implementation of the class).[1] If the viewpoint becomes mixed then these elements will blend together in a way which makes it difficult to separate out and maintain the internals of an object without changing the interface, one of the core tenets of Object Oriented Analysis and Design.[1]
See also
- Class-Responsibility-Collaboration card
- Unified Modeling Language
- Object-oriented analysis
- Object-oriented design