User:Riksands

From Wikipedia, the free encyclopedia

Introduction[edit]

"Conceptual modeling is the activity of formally describing some aspects of the physical and social world around us for the purposes of understanding and communication [7]."

A conceptual models primary objective is to convey the fundamental principles and basic functionality of the system in which it represents. Also, a conceptual model must be developed in such a way as to provide an easily understood system interpretation for the models users. A conceptual model, when implemented properly, should satisfy four fundamental objectives [8].

  1. Enhance an individuals understanding of the representative system
  2. Facilitate efficient conveyance of system details between stakeholders
  3. Provide a point of reference for system designers to extract system specifications
  4. Document the system for future reference and provide a means for collaboration

The conceptual model plays an important role in the overall system development life cycle. Figure 1 [1] below, depicts the role of the conceptual model in a typical system development scheme. It is clear that if the conceptual model is not fully developed, the execution of fundamental system properties may not be implemented properly, giving way to future problems or system shortfalls. These failures do occur in the industry and have been linked to; lack of user input, incomplete or unclear requirements, and changing requirements. Those weak links in the system design and development process can be traced to improper execution of the fundamental objectives of conceptual modeling. The importance of conceptual modeling is evident when such systemic failures are mitigated by thorough system development and adherence to proven development objectives/techniques.

Techniques[edit]

As systems have become increasingly complex, the role of conceptual modeling has dramatically expanded. With that expanded presence, the effectiveness of conceptual modeling at capturing the fundamentals of a system is being realized. Building on that realization, numerous conceptual modeling techniques have been created. These techniques can be applied across multiple disciplines to increase the users understanding of the system to be modeled [3]. A few techniques are briefly described in the following text, however, many more exist or are being developed. Some commonly used conceptual modeling techniques and methods include; Workflow Modeling, Workforce Modeling, Rapid Application Development, Object Role Modeling, and Unified Modeling Language (UML).

Data Flow Modeling[edit]

Data flow modeling (DFM) is a basic conceptual modeling technique that graphically represents elements of a system. DFM is a fairly simple technique, however, like many conceptual modeling techniques, it is possible to construct higher and lower level representative diagrams. The data flow diagram usually does not convey complex system details such as parallel development considerations or timing information, but rather works to bring the major system functions into context. Data flow modeling is a central technique used in systems development that utilizes the Structured Systems and Analysis and Design Method (SSADM).

Entity Relationship Modeling[edit]

Entity-relationship modeling (ERM) is a conceptual modeling technique used primarily for software system representation. Entity-relationship diagrams, which are a product of executing the ERM technique, are normally used to represent database models and information systems. The main components of the diagram are the entities and relationships. The entities can represent independent functions, objects, or events. The relationships are responsible for relating the entities to one another. To form a system process, the relationships are combined with the entities and any attributes needed to further describe the process. Multiple diagramming conventions exist for this technique; IDEF1X, Bachman, and EXPRESS, to name a few. These conventions are just different ways of viewing and organizing the data to represent different system aspects.

Event-Driven Process Chain[edit]

The event-driven process chain (EPC) is a conceptual modeling technique which is mainly used to systematically improve business process flows. Like most conceptual modeling techniques, the event driven process chain consists of entities/elements and functions that allow relationships to be developed and processed. More specifically, the EPC is made up of events which define what state a process is in or the rules by which it operates. In order to progress through events, a function/ active event must be executed. Depending on the process flow, the function has the ability to transform event states or link to other event driven process chains. Other elements exist within an EPC, all of which work together to define how and by what rules the system operates. The EPC technique can be applied to business practices such as resource planning, process improvement, and logistics.

Joint Application Development[edit]

The Dynamic Systems Development Method (DSDM) uses a specific process called Joint Application Design (JAD) to conceptually model a systems life cycle. JAD is intended to focus more on the higher level development planning that precedes a projects initialization. The JAD process calls for a series of workshops in which the participants work to identify, define, and generally map a successful project from conception to completion. This method has been found to not work well for large scale applications, however smaller applications usually report some net gain in efficiency [9].

Place/ Transition Net[edit]

Also known as Petri Nets, this conceptual modeling technique allows a system to be constructed with elements that can be described by direct mathematical means. The petri net, because of its nondeterministic execution properties and well defined mathematical theory, is a useful technique for modeling concurrent system behavior, i.e. simultaneous process executions.

State Transition Modeling[edit]

State transition modeling makes use of state transition diagrams to describe system behavior. These state transition diagrams use distinct states to define system behavior and changes. Most current modeling tools contain some kind of ability to represent state transition modeling. The use of state transition models can be most easily recognized as logic state diagrams and directed graphs for finite state machines.

Technique Evaluation and Selection[edit]

Because the conceptual modeling method can sometimes be purposefully vague to account for a broad area of use, the actual application of concept modeling can become difficult. To alleviate this issue, and shed some light on what to consider when selecting an appropriate conceptual modeling technique, the framework proposed by Gemino and Wand [4] will be discussed in the following text. However, before evaluating the effectiveness of a conceptual modeling technique for a particular application, an important concept must be understood; Comparing conceptual models by way of specifically focusing on their graphical or top level representations is shortsighted [4]. Gemino and Wand make a good point when arguing that the emphasis should be placed on a conceptual modeling language when choosing an appropriate technique. In general, a conceptual model is developed using some form of conceptual modeling technique. That technique will utilize a conceptual modeling language that determines the rules for how the model is arrived at. Understanding the capabilities of the specific language used is inherent to properly evaluating a conceptual modeling technique, as the language reflects the techniques descriptive ability. Also, the conceptual modeling language will directly influence the depth at which the system is capable of being represented, whether it be complex or simple [4].

Considering Affecting Factors[edit]

Building on some of their earlier work [6], Gemino and Wand acknowledge some main points to consider when studying the affecting factors: the content that the conceptual model must represent, the method in which the model will be presented, the characteristics of the models users, and the conceptual model languages specific task [4]. The conceptual models content should be considered in order to select a technique that would allow relevant information to be presented. The presentation method for selection purposes would focus on the techniques ability to represent the model at the intended level of depth and detail. The characteristics of the models users or participants is an important aspect to consider. A participants background and experience should coincide with the conceptual models complexity, else misrepresentation of the system or mis understanding of key system concepts could lead to problems in that systems realization. The conceptual model language task will further allow an appropriate technique to be chosen. The difference between creating a system conceptual model to convey system functionality and creating a system conceptual model to interpret that functionality could involve to completely different types of conceptual modeling languages.

Considering Affected Variables[edit]

Gemino and Wand go on to expand the affected variable content of their proposed framework by considering the focus of observation and the criterion for comparison [4]. The focus of observation considers whether the conceptual modeling technique will create a "new product", or whether the technique will only bring about a more intimate understanding of the system being modeled. The criterion for comparison would weigh the ability of the conceptual modeling technique to be efficient or effective. A conceptual modeling technique that allows for development of a system model which takes all system variables into account at a high level may make the process of understanding the system functionality more efficient, but the technique lacks the necessary information to explain the internal processes, rendering the model less effective.

When deciding which conceptual technique to use, the recommendations of Gemino and Wand can be applied in order to properly evaluate the scope of the conceptual model in question. Understanding the conceptual models scope will lead to a more informed selection of a technique that properly addresses that particular model. In summary, when deciding between modeling techniques, answering the following questions would allow one to address some important conceptual modeling considerations.

  1. What content will the conceptual model represent?
  2. How will the conceptual model be presented?
  3. Who will be using or participating in the conceptual model?
  4. How will the conceptual model describe the system?
  5. What is the conceptual models focus of observation?
  6. Will the conceptual model be efficient or effective in describing the system?

References[edit]

[1] J. Sokolowski, C. Banks, Modeling and Simulation Fundamentals: Theoretical Underpinnings and Practical Domains, Wiley (2010)

[2] J. Parsons, L. Cole, What do the pictures mean? Guidelines for experimental evaluation of representation fidelity in diagrammatical conceptual modeling techniques, Elsevier, Data & Knowledge Engineering 55 (2005) pp. 327-342

[3] I. Davies, P. Green, M. Rosemann, M. Indulska, S. Gallo, How do practitioners use conceptual modeling in practice?, Elsevier, Data & Knowledge Engineering 58 (2006) pp.358-380

[4] A. Gemino, Y. Wand, A framework for empirical evaluation of conceptual modeling techniques, Springer-Verlag, London, Requirements Eng 9 (2004) pp. 248-260

[5] A. Gemino, Y. Wand, Complexity and clarity in conceptual modeling: Comparison of mandatory and optional properties, Elsevier, Data & Knowledge Engineering 55 (2005) pp. 301-326

[6] A. Gemino, Y. Wand, Evaluation of modeling techniques based on models of learning, Community ACM 46 (2003) pp. 79-84

[7] J. Mylopoulos, Conceptual modeling and Telos1 In P. Loucopoulos, R Zicari, Conceptual Modeling, Databases, and Case An integrated view of information systems development, Wiley, New York, Chp. 2, pp. 49-68

[8] C.H. Kung, A. Solvberg, Activity Modeling and Behavior Modeling, In: T. Ollie, H. Sol, A. Verrjin-Stuart, Proceedings of the IFIP WG 8.1 working conference on comparative review of information systems design methodologies: improving the practice. North-Holland, Amsterdam (1986), pp. 145-171

[9] E. Davidson, Joint application design (JAD) in practice, Journal of Systems & Software 45 (1999) pp. 215-223

[10] D. Batra, Conceptual Data Modeling Patterns, Journal of Database Management 16 (2005) pp. 84-106