Development-Paradigm Independent Conceptual Models
Total Page:16
File Type:pdf, Size:1020Kb
Development-Paradigm Independent Conceptual Models Oscar Dieste Departamento de Electrónica y Sistemas – Escuela Politécnica Superior Universidad Alfonso X 28691- Villanueva de la Cañada. Madrid (Spain) e-mail: [email protected] Abstract · Detect missing information, and errors or misinterpretations, before going ahead with system The conceptual models obtained during analysis have construction [5]. two main shortcomings, which have been pointed out by Conceptual modelling is gaining in importance as several researchers: first, they are clearly oriented to a software systems become more complex and the problem specific development paradigm (structured, object domain moves further away from knowledge familiar to oriented, etc.); second, once the conceptual models have developers. The reason is that modelling acts as the been obtained, it is really difficult to change to another starting point for understanding and, thus, being able to development paradigm, because of the model orientation solve customer and/or user problems. This is clear from to a specific development approach. the work of several researchers, who claim that proper Nevertheless, analysis task requires that models be conceptual modelling is crucial for the future independent of any ‘vision of the world’, as those development of software. McGregor [6], Bonffati [7] or suggested by current development paradigms. Model Høydalsvik [8], for example, stress how important independence makes problem comprehension easier. conceptual modelling is for ensuring that CMs faithfully This is why the conceptual models used nowadays are represent the problem to be solved in the user domain. not of use for achieving correct analysis. Nevertheless, several authors have argued that the This paper shows an alternative approach to conceptual CMs used nowadays are oriented to specific software modelling. This approach focuses on the construction of development approaches. This orientation has two special conceptual models, called Generic Conceptual repercussions: (1) CMs have computational constraints, Models, which contain no computational bounds of any that is, CM developers represent specific implementation kind. This approach can be easily integrated into the characteristics in the models [7, 8, 9]; (2) CMs prescribe usual development process, avoiding the problems now the subsequent development process, in which the CMs arising with regard to analysis. are more or less directly transformed into design models [10, 11, 12, 13, 14], and their transformation to a design model related to another development paradigm is really 1. Introduction complicated and sometimes impossible. This means that the CMs used nowadays are not of The requirements engineering (RE) activity is composed use for analysis. In this paper, we illustrate an alternative by four iterative tasks: elicitation, analysis, approach that aims to remove the above constraints. The documentation and validation[1]. Analysis is a critical paper is structured as follows: section 2 focuses on CMs task among them, because of the huge importance of its and their role in software development; section 3 objectives: (1) understand the problem to be solved; (2) discusses the problems with using CMs identified by develop conceptual models (CMs), which represent this several researchers, as well as the limitations we have problem understanding; and (3) define the features of an detected; section 4 introduces the hypothesis used to implementation-independent solution to the problem in define our approach; and section 5 describe the approach question, that is, identify the requirements to be satisfied we have defined for a conceptual modelling process by the future software system. CMs play a central role in independent of any development paradigm. Finally, the analysis, as they make it possible to: preliminary results of applying our approach are · Make real-world concepts and relationships tangible discussed in section 6, as the future work to be carried [2]. out to fully validate and improve it. · Record parts of reality that are important for performing the task in question and downgrade 2. The Role of Conceptual Models other elements that are insignificant [3]. · Support communication among the various The term CM originally emerged in the database field. “stakeholders” (customers, users, developers, CMs were used to represent the data and relations, which testers, etc.) [4]. were to be managed by an information system, irrespective of any implementation feature [19]. The domain. This orientation to the solution is necessitated scope of the term CM has gradually broadened since the by the fact that the representations of the different CMs approval of the ISO conceptual modelling standard [20], include computer-related issues. Several researchers, where its goal was to represent the domain of discourse. mainly from the object-oriented community, have The domain of discourse is the set of data involved in the pointed out that conceptualisation methods suffer from problem to be solved and the operations that affect the this limitation: above data. In this context, only the operations that · It is argued that object-oriented methods are a represented domain rules or, in other words, specific ‘natural’ representation of the world. Nevertheless, integrity constraints of the problem to be solved were this idea is a dangerous over-simplification [9]. represented in the CM. · Object-oriented analysis has several shortcomings, Nevertheless, CMs are used for more than is most importantly in being target-oriented rather than acknowledged by the above definition. The following problem oriented [8]. citations show that CMs are used in SE to: · Object-oriented analysis techniques are strongly · Encourage the analyst to think and document in affected by implementative issues [7]. terms of the problem, as opposed to the solution There are authors that extend the criticisms to other [11]. models, too. For example, Jackson argues that: · Describe the universe of discourse in the · DFD’s are vague pictures suggesting what someone language and in the way of thinking of the thinks might be the shape of a system to solve a domain experts and users [15]. problem, but they do not say what the problem is · Formally define aspects of the physical and social [18]. world around us for the purposes of · There exists no theory of how a model relates to the understanding and communication [16]. real world [19]. · Help requirements engineers understand the Thus, for example, data flow diagrams are clearly domain [17]. guided by functions, key components of structured Taking into account the above definitions, it can be software and, likewise, the models used in object- said that the main characteristics of any CM are oriented analysis lead directly towards software description and understanding; that is, CMs can be used developed by means of classes, objects, messages, by developers to: polymorphism, etc., basic concepts of object-oriented · Understand the needs raised by users. software. · Reach agreement with users on the scope of the If computational characteristics are included in CMs, system and how it is to be built. these are linked to a particular implementation approach, · Use the information represented in the model as a that is, once a given conceptualisation method has been basis for building a traditional or intelligent selected to describe the problem domain, it is practically software system to meet this need. impossible to change the above method “a posteriori” without having to reanalyse the problem. This has also 3. About the Computational Orientation of been stressed by several researchers: Conceptual Models · Because of poorly understood overlap among different requirements languages, it is difficult to Several authors have pointed out that current CMs change languages mid-project [20]. sometimes fail to do their jobs of description and · The use of a CM during analysis defines nearly understanding during analysis. Criticisms can be divided univocally how the design shall be done [10]. into two major groups: · Perhaps the most difficult aspect of problem · The orientation of the conceptualisation methods, analysis is avoiding software design [11]. stressing the fact that most CMs are oriented to · It is sometimes mistakenly believed that the getting a computational solution to the problem or structures produced during analysis will and should need raised and not to easing the understanding of be carried through in design [12]. the user need. · The boundaries between analysis and design · The association between CMs and specific activities in the object-oriented model are fuzzy approaches to software development. [13]. Here, the use of a given CM during the early phases · The software system development approach is of the development process limits the number of possible preconditioned by the CM used [14]. implementation alternatives and means that only the Owing to this limitation, for example, if data flow options that are compatible with the CM used originally diagrams have been used to model the problem domain, are feasible. it will almost certainly be necessary to use the structured Many of the CMs are oriented to providing a method in later development phases; a method of object- computational solution to the problem raised in the user oriented development will have to be used following an object-oriented analysis. Therefore, if we intended to and (2) go from an understanding of the problem to a switch development paradigms, that