Conceptual model (computer science): Difference between revisions

Content deleted Content added
AnomieBOT (talk | contribs)
m Dating maintenance tags: {{Merge}}
Merged content to Domain model, redirecting; unopposed 2023 proposal; synonym (easy-merge)
Tag: New redirect
 
(25 intermediate revisions by 20 users not shown)
Line 1:
#REDIRECT [[Domain model]]
{{nofootnotes|date=March 2015}}
{{merge|Conceptual schema|date=June 2016}}
 
{{R from merge}}
A [[mental model]] captures ideas in a [[problem ___domain]], while a '''conceptual model''' represents 'concepts' (entities) and relationships between them.
 
A conceptual model in the field of [[computer science]] is a special case of a general [[conceptual model]]. To distinguish from other types of models, it is also known as a [[___domain model]]. Conceptual modeling should not be confused with other modeling disciplines such as [[data modelling]], [[logical modelling]] and physical modelling. The conceptual model is explicitly chosen to be independent of design or implementation concerns, for example, concurrency or data storage.
The aim of a conceptual model is to express the meaning of terms and concepts used by ___domain experts to discuss the problem, and to find the correct relationships between different concepts. The conceptual model attempts to clarify the meaning of various, usually ambiguous terms, and ensure that problems with different interpretations of the terms and concepts cannot occur. Such differing interpretations could easily cause confusion amongst stakeholders, especially those responsible for designing and implementing a solution, where the conceptual model provides a key artifact of business understanding and clarity. Once the ___domain concepts have been modeled, the model becomes a [[stability (software engineering)|stable]] basis for subsequent development of applications in the ___domain. The concepts of the conceptual model can be mapped into physical design or implementation constructs using either manual or [[Model-driven development|automated code generation approaches]]. The realization of conceptual models of many domains can be combined to a coherent platform.
 
A conceptual model can be described using various notations, such as [[Unified Modeling Language|UML]], [[Object-role modeling|ORM]] or [[Object-modeling technique|OMT]] for object modelling, or [[Information Engineering|IE]] or [[IDEF1X]] for [[Entity-relationship model|Entity Relationship Modelling]]. In UML notation, the conceptual model is often described with a [[class diagram]] in which [[class (computer science)|class]]es represent concepts, [[Association (object-oriented programming)|association]]s represent relationships between concepts and [[role type]]s of an association represent role types taken by instances of the modelled concepts in various situations. In ER notation, the conceptual model is described with an ER Diagram in which entities represent concepts, [[cardinality]] and [[optionality]] represent relationships between concepts. Regardless of the notation used, it is important not to compromise the richness and clarity of the business meaning depicted in the conceptual model by expressing it directly in a form influenced by design or implementation concerns.
 
This is often used for defining different processes in a particular company or institute.
 
== Literature ==
 
* [[Terry Halpin|Halpin T]], [[Tony Morgan (computer scientist)|Morgan T]]: Information Modeling and Relational Databases, Morgan Kaufmann, 2008. ISBN 978-0-12-373568-3.
* [[Martin Fowler|Fowler, Martin]]: Analysis Patterns, Reusable object models, Addison-Wesley Longman, 1997. ISBN 0-201-89542-0.
* Stewart Robinson, Roger Brooks, Kathy Kotiadis, and Durk-Jouke Van Der Zee (Eds.): Conceptual Modeling for Discrete-Event Simulation, 2010. ISBN 978-1-4398-1037-8
* David W. Embley, Bernhard Thalheim(Eds.): Handbook of Conceptual Modeling, 2011. ISBN 978-3-642-15864-3.
 
[[Category:Object-oriented programming]]
[[Category:Software requirements]]
 
[[de:Objektorientierte Analyse]]
[[de:Objektorientiertes Design]]
[[it:Modello concettuale (informatica)|Modello concettuale (informatica)]]