Você está na página 1de 11

Modelling Frameworks: The Essential Link Between Models and Methodologies

P. M. Steele The Peninsula School of Computing and Information Technology, Monash University, Melbourne, Australia Email: Phillip.Steele@infotech.monash.edu.au Abstract The representation of abstractions through models is an over-arching theme in system development methodologies. In order to express all the subtleties of complex systems, methodologies suggest the use of several models, with each representing some aspects of the universe of discourse. Unfortunately, there is no universal agreement about which aspects of the existing and/or the new information system should be modelled and the notations that should be used to model them. This paper proposes a generalised three dimensional modelling framework that can be used to make sense of the wide variety of models and modelling notations used within system development methodologies. Keywords IS development methodologies, IS development methods and tools, models, modelling languages

MODELS AND MODELLING IN METHODOLOGIES


Avison & Fitzgerald (1995), define an information systems development methodology as a collection of procedures, techniques, tools and documentation aids that will help systems developers in their efforts to implement a new information system. They suggest that a methodology consists of phases, themselves consisting of sub-phases, which will guide the systems developers in their choice of the techniques that might be appropriate at each stage of the project, and also help them to plan, manage, control and evaluate information systems projects. Although the use of IS development methodologies is widespread, much diversity exists in the concepts, methods, beliefs, values and normative principles upon which methodologies are based (Jayaratna,1994). In order to make sense of this diversity, it has been suggested that the paradigms on which information systems development methodologies are based may be defined along two dimensions: a subjectivist-objectivist dimension and an orderconflict dimension (Hirschheim, et al, 1995). It is argued that a given methodology may be

Proc. 10th Australasian Conference on Information Systems, 1999

863

thought of as having elements that are positioned somewhere in the two-dimensional space defined by the intersection of these dimensions.

In the first dimension, the objectivist view adheres to scientific method that is considered to apply equally well to the natural and social universe. The subjectivist view rejects scientific method as being appropriate for understanding the social universe and seeks to understand the social world by analyzing the subjective experience of individuals. In the second dimension, the ordered view emphasizes a social world characterized by order, integration, consensus and functional co-ordination. The confliction view stresses change, conflict, disintegration and coercion. The four quadrants established in the two-dimensional space are labeled functionalism (objective-order), social relativism (subjective-order), radical structuralism (objective-conflict); and neohumanism (subjective-conflict).

The information system development methodologies considered in this paper, are those with the majority of their elements based in the functionalism quadrant, although they do have some elements that could be placed in other quadrants. These functionalist methodologies are selected due to their maturity, popularity and widespread acceptance, their proven ability to be used effectively in a wide range of development situations including large scale complex projects, and the relatively high level of complexity and formality in their diagrams, notations and models. These mainstream system development and software engineering methodologies include Structured Analysis and Design (DeMarco 1979, Gane & Sarson 1979, Yourdon 1989), Information Engineering (Brathwaite 1992, Martin 1990, Texas Instruments 1990) the Unified Software Development Process (Jacobson et al, 1999), Fusion (Coleman et al 1994), and Open (Firesmith et al, 1998). The development of a computer based information system is a complex activity. The variety of issues to consider and deal with is large, with often-conflicting demands and expectations being made on system developers by a range of stakeholders. Shaw (1981), provides a useful insight into how we deal with complexity. We (humans) have developed an exceptionally powerful technique for dealing with complexity. We abstract from it. Unable to master the entirety of a complex object, we choose to ignore its inessential details, dealing instead with the generalized, ideal model of the object. Abstraction is the process of formulating general concepts by choosing to ignore concepts that are considered unimportant, at least temporarily, by an observer. The representation of these concepts forms a model. A model is an abstraction or simplification of some part of the present or proposed information system (Avison & Fitzgerald, 1995). A model is a simplified, stylized representation of a system, abstracting the essence of the systems problem studied. (Wijers, 1991). A good model captures the crucial aspects of a problem and omits the others (Rumbaugh et al, 1991). A model is a general description of an existing or potential domain, where it denotes either a simplified part of the real, perceivable world, an intellectual construction, or a mixture of both (Frank, 1997).

864

The representation of abstractions through models is an over-arching theme in functionalist information system development methodologies. In order to express all the subtleties of complex systems, it is necessary to use multiple views (models), with each view (model) representing a subset of the aspects of interest (Booch, 1994, page 172). To assist in understanding the diversity of models used in methodologies, some form of classification of modelling techniques is useful. Brinkkemper (1990) defines a modelling technique as a modelling procedure and a corresponding notation to carry out a certain type of modelling activity. The modelling procedure defines the steps or tasks involved in developing the model, while the notation is used to record the details of the model itself. Brinkkemper (1990) identifies three categories of modelling techniques formal, structured and informal. Structured modelling techniques are those for which the syntax is well defined, but the semantics is less well defined. Used in this sense, structured modelling techniques are used not only by methodologies such as Structured Analysis and Design, but by any methodology using modelling techniques with a well defined syntax, but a less well defined semantics. The semantics of these techniques is often shown by examples without a formal mapping to an underlying mathematical formalism. Most of the modelling techniques used by functionalist ISDMs fall into this category. The structured modelling techniques used by functionalist ISDMs vary considerably based on the underlying modelling paradigm on which they are based. Structured analysis and design methodologies employ modelling techniques such as data flow diagrams, minispecs, structure charts, etc (DeMarco 1979, Gane & Sarson 1979, Yourdon 1989). The structured modelling techniques listed use modelling elements including process, data flow, data store, data element, external agent , etc. Information engineering methodologies employ structured modelling techniques such as entity relationship diagrams, activity hierarchy diagrams, activity dependency diagrams, dialog flow diagrams and action diagrams (Brathwaite 1992, Martin 1990, Texas Instruments 1990). These structured modelling techniques use modelling elements such as entity, attribute, relationship, function, process, elementary process, procedure, dialog flow, etc. Object-oriented methodologies employ structured modelling techniques such as use-case diagrams, state diagrams, class diagrams, sequence diagrams, activity diagrams, deployment diagrams, etc. (Booch 1999, Coleman et al 1994, Firesmith et al, 1998, Frank 1997, Jacobson et al 1994). These structured modelling techniques employ modelling elements such as actor, use case, scenario, class, object, relationship, attribute, operation, message, etc. Clearly, each functionalist system development methodology uses its own unique set of structured modelling techniques and modelling elements, even though many similarities may exist between them based on a common underlying modelling paradigm. However, it is not uncommon for one methodology to use one structured modelling technique for a variety of purposes at different stages of the system development life cycle. The role and purpose of

865

models within methodologies forms part of the methodology's modelling framework that is defined implicitly or explicitly within the methodology.

MODELLING FRAMEWORKS
A number of researchers have defined modelling frameworks in an effort to explicitly define how models and modelling techniques should be used within system development methodologies. Modelling frameworks define the models to be used and their role(s) within the methodology (Booch 1994, DeMarco 1979, Essink 1986, Frank, 1997, Jacobson 1992, Olle et al 1991, Sowa & Zachman 1992). Essink (1986) defines a two-dimensional modelling framework , based on four layers in one dimension representing four major modelling foci and eight perspectives in the other, representing the aspects that are to be modeled within each layer. The four modelling foci are the object system model (OSM) that defines the real world activities and organizational processes, the conceptual information systems model (CIM) that defines the functions of the IS and how these are to be achieved, the data system model (DSM) that embodies the logical implementation decisions but remains target platform independent, and the implementation model (IMP) that is a complete definition of the information system to be implemented. The second dimension of the Essink framework consists of eight perspectives that are applicable to each of the four model layers identified. These perspectives enable the modeler to focus on a given aspect of each layer separately, thereby providing a basis for simplifying and structuring the modelling activities within each layer. These eight perspectives are the goal structure perspective, the environmental interaction perspective, the functional perspective, the structural perspective, the process perspective, the system dynamics perspective, the equipment used perspective and the organizational and social perspective. Some of the structured modelling techniques listed in the previous section and the modelling abstractions that they employ are used within the Essink modelling framework. For example, entity relationship models may be used to model the structural perspective of the OSM, CIM, DSM and IMP layers. Within a given layer, one model may represent more than one perspective. For example, while entity relationship models represent only the structural perspective, data flow models represent aspects from the functional, structural and process perspectives. Sowa and Zachman (1992) propose a two-dimensional modelling framework for establishing context for the modelling activities within ISDMs. One dimension of this framework is based on the different stakeholder perspectives of planner, owner, designer, builder and subcontractor, while the second dimension consists of a broad classification of the perspectives that are important to each stakeholder. These are identified as what

866

(data), how (function), where (network), when (time), who (people) and why (motivation). Frank (1997) proposes the MEMO Multi Perspective Enterprise Modelling framework that incorporates object-oriented modelling approaches. This two dimensional framework has three perspectives on the enterprise: strategic, organizational, and information system . Four modelling foci are established: process, structure, resource and goals. Other methodology modelling frameworks are common in the literature. The old physical, old logical, new logical, and new physical modelling layers proposed by DeMarco (1979), as part of structured analysis and design, represents a widely used modelling framework providing context for the use of models and modelling techniques. Olle et al (1991), propose a modelling framework consisting of two dimensions. The first dimension is based on the life-cycle stages of information systems planning, business analysis, system design and construction design. The second dimension consists of data oriented, process oriented and behavior-oriented abstractions that define what should be modeled in each dimension. While each of the above approaches provides a well-defined context for understanding the use of models within a given methodology, each framework is different. A clear need exists for a generic framework to make sense of how models and modelling techniques may be used within methodologies generally.

A GENERIC METHODOLOGY MODELLING FRAMEWORK


In response to this need, the author has developed a generic three-dimensional modelling framework for making sense of models and modelling techniques within methodologies. This is shown in Figure 1.

Modeling Techniques Modeling Contexts

Modeling Elements
Figure 1: Three-dimensional Methodology Modelling Framework The first dimension of the generic framework is called the modelling elements dimension of the methodology. The term semantic space has been used also to describe this aspect (Steele, 1995). It consists of the union of all the modelling elements or modelling abstractions used by all of the structured modelling techniques of a functionalist system development methodology. Following the work of Rumbaugh et al (1999) a modelling

867

abstraction or modelling element is defined as an abstraction drawn from the system being modeled. Modelling elements may be primitive or composite in nature. Composite modelling elements consist of other modelling elements. The second dimension of the generic framework is called the structured modelling techniques dimension of the methodology. This dimension consists of the union of all the structured modelling techniques (Brinkkemper, 1990) used by a methodology. The third dimension of the generic modelling framework is called the modelling contexts of the methodology. It consists of the union of all the modelling contexts of a methodology. A modelling context is a modelling universe of discourse, or area of modelling focus (Halpin, 1995). Methodology modelling contexts are often not explicitly defined by a methodology, but may be implicitly embedded in the methodology task structure or the purpose of the deliverables produced. Table 1(a) shows the relationship between a subset of the modelling elements and structured modelling techniques of the Rational Unified Process Methodology which uses the Rational UML modelling techniques, while Table 1(b) shows the relationship between a subset of the structured modelling techniques and modelling contexts of the same methodology (Krutchen, 1999, p42).

Modeling Technique Class Sequence Modeling Element Diagram Diagram Class Package Relationship Object Message y y y y y y*

Modeling Technique Use Case Class Modeling Context Diagram Diagram Management Set Requirements Set Design Set Implementation Set Deployment set y y y y y y y

Table 1(a) Rational Unified Process Modelling Techniques /Elements

Table 1(b) Rational Unified Process Modelling Techniques /Contexts

Tables 1 (a) and (b) reveal a number of issues to help make sense of how the Rational Unified Process methodology uses structured modelling techniques, modelling elements and modelling contexts. Table 1 (a) shows that the class diagram modelling technique uses the modelling elements class, package and relationship (and others not shown). The Sequence Diagram modelling technique uses the modelling elements object and message. The asterisk indicates that the class name of a class defined in a class diagram may appear on the sequence diagram, thereby being indirectly represented in the diagram. Table 1(a) shows that one modelling element may be used in many structured modelling techniques and one modelling technique may use many modelling elements. Semantic connections are established between modelling techniques where they use a common

868

modelling element. Where this occurs, the common modelling element(s) may have different graphical and/or textual representations in each of the modelling techniques in which they appear. For example, a class appears as a named rectangle in a class diagram but as underlined text in a sequence diagram. Table 1(b) shows how the UML modelling techniques used by the Rational Software Process are used in different modelling contexts. Management set artifacts that may include use case diagrams assist in the management of a project (Kruchten, 1999, p42). However, one or more use case diagrams may also form part of the requirements set artifacts that specify the definition of the software system. In a similar way, use case diagrams may appear as design set artifacts used to define the behavior of the actual system The proposed framework may be easily mapped to any functionalist development methodology to show how its modelling contexts, modelling techniques and modelling elements are inter-related. For example, the OMT methodology has modelling contexts of analysis, system design, object design and implementation (Rumbaugh et al, 1991, p5). The OMT modelling techniques consist of the object model, the dynamic model and the functional model, which may be defined in each modelling context. The object model represents the class and object structure of the information system using modelling elements such as class, object and relationship. The dynamic model represents the temporal behavior of objects using modelling elements including object state and state transition. The functional model represents transformation functions associated with the execution of operations that are features of objects.(Rumbaugh et al, 1991, p6). The class and object modelling elements defined in the object model are the same class and object modelling elements whose temporal behavior is defined in the dynamic model, and whose transformational logic is defined in the functional model. The proposed framework may also be used to explain how methodologies use the same modelling technique in different modelling contexts. Where this occurs, although the models involved use identical modelling elements, these modelling elements may be representing different things in different universes of discourse. For example in the Booch methodology (Booch, 1994), a class diagram (model) may be used during analysis to represent domain classes and during design to represent design and implementation classes. The generic three-dimensional modelling framework proposed in this paper provides a useful basis for understanding how the models and model elements used in a methodology are related to each other. It recognizes that a given modelling technique may be used in several different modelling contexts within the one methodology, and that the resulting models are different, even though they are based on common modelling elements and have been developed following a common modelling procedure. The different modelling contexts embodied in a methodology are frequently highlighted by distinguishing between a model that is developed using a given modelling technique and the methodology product in which it is embedded. For example, in the Information
869

Engineering Methodology (Texas Instruments, 1990), the entity relationship modelling technique may be used to create different ER models contained in different methodology products. The Analysis Data Model and the Implementation Data Model are different methodology products defined using the same modelling elements, modelling language and modelling procedure. However, they are developed as part of different methodology processes and become part of different methodology products that establish different methodology modelling contexts. The modelling contexts, modelling techniques and modelling elements forming part of an information systems development methodology define the modelling worldview or Weltanschauung of the methodology (Jayaratna, 1994). Although a modelling context cannot be considered complete in a mathematical sense, it is complete and meaningful in a methodological sense. A modelling context provides a meaningful sub-model representing some part of the existing and/or proposed information system. Each model used within a given modelling context serves as a sub-model of that context. All the models (consisting of modelling elements) and the modelling contexts of which they form part, constitute what the methodology designer believes is sufficient knowledge to allow the methodology user to analyze, design and implement computerised information systems using that methodology.

CONCLUSION
This paper has explored the use of modelling in system development methodologies. It has focused on the use of structured modelling techniques as these approaches are used extensively in functionalist information systems development and software engineering methodologies. The need for models to embody the philosophy, values and assumptions on which methodologies are based has been recognized and a number of modelling frameworks have been explored that focus methodology modelling activities to incorporate these. However, each of the frameworks considered reflects a specific view about the aspects that should be modelled, the notations that should be used to document those aspects and the contexts that are appropriate for the modelling activity. A more general framework that does not make specific assumptions about these issues has been developed and applied to a subset of the Rational Unified Process methodology. A generic three-dimensional methodology modelling framework has been defined which attempts to make sense of how functionalist system development methodologies use models, modelling elements and modelling techniques. It recognizes that the aim, goals and purpose of using one or more modelling techniques within a methodology must be considered. This aspect is addressed through the modelling context dimension of the framework. The second dimension of the framework incorporates the modelling techniques used by the methodology. This captures the modelling procedures and notations that are used to jointly represent all the semantics required in each modelling context. The final dimension includes the modelling elements used by the methodology. This dimension represents the fundamental building blocks or modelling abstractions that are used by the modelling
870

techniques used by the methodology. The modelling elements dimension provides a basis on which to integrate and inter-relate the models and modelling techniques used within one or more methodology modelling contexts. The proposed framework has proven to be useful in a number of ways. It has been used successfully as a basis for teaching undergraduate computing students about the relationship between models in system development methodologies and the relationship between models and methodologies. It provides an easily understandable basis on which to explain how a given modelling technique may be used in a variety of contexts within a methodology and how different modelling notations may be semantically connected with each other by representing at least one common modelling element or related modelling elements. The framework has also been used successfully to assist in the comparison of system development methodologies. It enables a clear separation to be drawn between the modelling elements used by a methodology, the modelling techniques that represent these modelling elements and the modelling contexts that define the purpose of using modelling techniques within methodologies.

REFERENCES
Avison, D. E. & Fitzgerald G., (1995) Information Systems Development: Methodologies, Techniques and Tools, 2nd Edition, Blackwell Scientific Publications, Oxford Booch, G., (1994) Object Oriented Analysis and Design with Applications, 2nd Edition, Benjamin Cummings Booch, G., (1999) The Unified Modeling Language User Guide, Addison-Wesley, Object Technology Series Brathwaite, K. S., (1992) Information Engineering: Concepts, Vol1, CRC Press Brinkkemper S., (1990) Formalisation of Information Systems Modelling, PhD Thesis, University of Nijmegen, Thesis Publishers, Amsterdam Coleman D., Arnold P., Bofoff S., Dollin C., Gilchrist H., Hayes F., Jeremaes P., (1994) Object Oriented Development: The Fusion Method, Prentice Hall DeMarco T., (1979) Structured Analysis and System Specification, Prentice Hall Essink, L. J. B. (1986) A Modelling Approach to Information Systems Development in Information Systems Design Methodologies: Improving the Practice, IFIP WG8.1, North Holland Firesmith D., Henderson-Sellers B., Graham I., (1998), Open Modelling Language (OML) Reference Manual, Cambridge University Press
871

Frank, U. (1997) Towards a Standardisation of Object-Oriented Modelling Languages, Arbeitsberichte des Instituts fur Wirtschaftsinformatik , No. 3, Koblenz Gane, C. & Sarson, P., (1979) Structured Systems Analysis: Tools and Techniques Englewood Cliffs, N.J. Prentice-Hall Halpin T. A., (1995) Conceptual Schema and Relational Database Design, 2nd Edition, Prentice Hall Hirschheim, R., Heinz, K. K., Lyytinen, K. (1995) Information Systems and Data Modelling: Conceptual and Philosophical Foundations, Cambridge University Press, Jacobson I., Christerson M., Jonsson, P., vergaard Gunnar (1994) Object-Oriented Software Engineering: A Use Case Driven Approach, Addison-Wesley Jacobson I., Booch G., Rumbaugh J., The Unified Software Development Process, Addison-Wesley, Object Technology Series Jayaratna , N., (1994) Understanding and Evaluating Methodologies, NIMSAD, A Systematic Framework , McGraw Hill Kruchten P., (1999) The Rational Unified Process: An Introduction, Addison-Wesley Object Technology Series Martin, J. (1990) Information Engineering Book lll: Design and Construction, PrenticeHall Olle,W. T., Hagelstein,J., Macdonald,I.G., Rolland,C., Sol,H.G., van Assche,F.J.M., and Verijn-Stuart,A.A. (1991) Information Systems Methodologies, A Framework for Understanding, Second Edition, Addison Wesley Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W. (1991) Object Oriented Modeling and Design, Prentice Hall Shaw, M., (1981) ALPHARD: Form and Content , New York, NY, Springer Verlag Sowa, J. F. & Zachman, J. (1992) A. Extending and Formalising the Framework for Information Systems Architecture, IBM Systems Journal, Vol 13, No. 3 Steele, P. M. (1995) System Modelling Techniques and System Development Methods, Proceedings of the 6th Australasian Conference on Information Systems, Perth, Australia, September. Texas Instruments (1990), A Guide to Information Engineering Using the Information Engineering Facility, Second Edition, Texas Instruments Part 2739756-001
872

Wijers, G. M., (1991) Modelling Support in Information Systems Development, Thesis Publishers, Amsterdam Yourdon, E., (1989) Modern Structured Analysis. Englewood Cliffs, N.J, Prentice-Hall

COPYRIGHT
Phillip Steele 1999. The authors assign to ACIS and educational and non-profit institutions a non-exclusive licence to use this document for personal use and in courses of instruction provided that the article is used in full and this copyright statement is reproduced. The authors also grant a non-exclusive licence to ACIS to publish this document in full in the Conference Papers and Proceedings. Those documents may be published on the World Wide Web, CD-ROM, in printed form, and on mirror sites on the World Wide Web. Any other usage is prohibited without the express permission of the authors.

873

Você também pode gostar