Human-Centered Conceptualization and Natural Language
Javier Andrade (University of A Coruña, Spain), Juan Ares (University of A Coruña, Spain), Rafael García (University of A Coruña, Spain), Santiago Rodríguez (University of A Coruña, Spain) and Andrés Silva (Technical University of Madrid, Spain)
Copyright: © 2006
Conceptual modeling appears to be the heart of good software development (Jackson, 2000). The creation of a conceptual model helps to understand the problem raised and represents the human-centered/problem-oriented moment in the software process, as opposed to the computer-centered/software-oriented moment of the computational models (Blum, 1996). The main objective of human computer interaction (HCI) is also precisely to make human beings the focal point that technology should serve rather than the other way round. The conceptual models are built with conceptual modeling languages (CMLs), whose specification involves constructors and rules on how to combine these constructors into meaningful statements about the problem. Considering the criterion of the representation capability of the CMLs in software engineering, their main drawback is that they remain too close to the development aspects (Jackson, 1995). The constructors are too much oriented toward the computational solution of the problem, and therefore, the problem is modeled with implementation concepts (computer/software solution sensitivity) rather than concepts that are proper to human beings (human/problem sensitivity) (Andrade, Ares, García & Rodríguez, 2004). This stands in open opposition to what we have said about the moments in the software process and HCI. Moreover, this situation seriously complicates the essential validation of the achieved conceptual model, because it is drawn up in technical terms that are very difficult to understand by the person who faces the problem (Andrade et al., 2004). The semantics of the constructors determines the representation capability (Wand, Monarchi, Parsons & Woo, 1995). Since the constructors are too close to implementation paradigms, the CMLs that currently are being used in software engineering are incapable of describing the problem accurately. Suitable human/problem-related theoretical guidelines should determine which constructors must be included in a genuine CML. This article, subject to certain software-independent theoretical guidelines, proposes the conceptual elements that should be considered in the design of a real CML and, consequently, what constructors should be provided. The Background section presents the software-independent guidelines that were taken into account to identify the above-mentioned conceptual elements. The Main Focus of the Article section discusses the study that identified those elements. Finally, the Future Trends section presents the most interesting future trends, and the final section concludes.