Nik Boyd - Under Construction!
Models are convenient. Models help us
This page explores several dimensions and facets of models, including the following:
|
|
Architectural Styles
|
Structural Models
|
Behavioral Models
|
Qualitative models
|
Quantitative models
|
Underlying every quantitative model is a qualitative model, a foundation that gives the quantitative model its semantics or meaning. For a more thorough discussion of qualitative models, consider the works of René Thom.
object vs process orientation - noun vs verb
domain elements - interface elements
usage - every element of the user interface
domain - every element of the problem domain
presentation - semantic split
In his introduction to system design, Norman indicates that human action has seven stages that form a cycle or feedback loop:
|
|
|
The action cycle resembles a model of human behavior used in Neuro-Linguistic Programming (NLP) - Test Operate Test Exit (TOTE). The TOTE model is used to model human sensory-based behavioral strategies, as well as serving as the foundation for the process of reframing.
The action cycle has profound resonance with essential concepts in object-oriented software system design. One of the better known frameworks used to decompose object systems is the model-view-controller (MVC) framework pioneered by Smalltalk in the 1970s.
Every system, whether hardware or software, has an associated conceptual model. The primary task of a system designer is to reveal how the system may be used to someone. Users construct a conceptual model of how to a system may be used. Designers try to make the intended usage of a system as obvious as possible. However, users only ever experience the system image embodied in the design.
Donald A. Norman. The Design of Everyday Things. Doubleday, New York 1990.
Object models provide convenient maps from problem to solutions - providing a bridge from conceptual models to software objects. Thus, object-oriented software development provides convenient traceability from code back to the originating concepts, especially when object models are used consistently throughout the software development process. However, in order to maximize the semantic leverage and consistency of object-oriented software development, the construction of the object models should be driven by the analysis of domain semantics - models of the web of associations between domain concepts.
|
|
|