Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Data model
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Related models == === Data-flow diagram === {{Main|Data-flow diagram}} [[File:Data Flow Diagram Example.jpg|thumb|240px|Data-Flow Diagram example<ref>John Azzolini (2000). [http://ses.gsfc.nasa.gov/ses_data_2000/000712_Azzolini.ppt Introduction to Systems Engineering Practices]. July 2000.</ref>]] A data-flow diagram (DFD) is a graphical representation of the "flow" of data through an [[information system]]. It differs from the [[flowchart]] as it shows the ''data'' flow instead of the ''control'' flow of the program. A data-flow diagram can also be used for the [[Data visualization|visualization]] of [[data processing]] (structured design). Data-flow diagrams were invented by [[Larry Constantine]], the original developer of structured design,<ref>W. Stevens, G. Myers, L. Constantine, "Structured Design", IBM Systems Journal, 13 (2), 115–139, 1974.</ref> based on Martin and Estrin's "data-flow graph" model of computation. It is common practice to draw a [[System context diagram|context-level data-flow diagram]] first which shows the interaction between the system and outside entities. The '''DFD''' is designed to show how a system is divided into smaller portions and to highlight the flow of data between those parts. This context-level data-flow diagram is then "exploded" to show more detail of the system being modeled === Information model === {{Main|Information model}} [[File:A 01 Audio compact disc collection.svg|thumb|320px|Example of an [[EXPRESS (data modeling language)|EXPRESS G]] [[information model]] ]] An Information model is not a type of data model, but more or less an alternative model. Within the field of software engineering, both a data model and an information model can be abstract, formal representations of entity types that include their properties, relationships and the operations that can be performed on them. The entity types in the model may be kinds of real-world objects, such as devices in a network, or they may themselves be abstract, such as for the entities used in a billing system. Typically, they are used to model a constrained domain that can be described by a closed set of entity types, properties, relationships and operations. According to Lee (1999)<ref name="Lee99"/> an information model is a representation of concepts, relationships, constraints, rules, and [[Operation (mathematics)|operations]] to specify [[Semantic data model|data semantics]] for a chosen domain of discourse. It can provide sharable, stable, and organized structure of information requirements for the domain context.<ref name="Lee99">Y. Tina Lee (1999). [http://www.mel.nist.gov/msidlibrary/doc/tina99im.pdf "Information modeling from design to implementation"] National Institute of Standards and Technology.</ref> More in general the term ''information model'' is used for models of individual things, such as facilities, buildings, process plants, etc. In those cases the concept is specialised to [[Facility Information Model]], [[Building information modeling|Building Information Model]], Plant Information Model, etc. Such an information model is an integration of a model of the facility with the data and documents about the facility. An information model provides formalism to the description of a problem domain without constraining how that description is mapped to an actual implementation in software. There may be many mappings of the information model. Such mappings are called data models, irrespective of whether they are [[object model]]s (e.g. using [[Unified Modeling Language|UML]]), [[entity–relationship model]]s or [[XML schema]]s. [[File:JKDOM.SVG|thumb|180px|left|[[Document Object Model]], a standard [[object model]] for representing [[HTML]] or [[XML]] ]] === Object model === {{Main|Object model}} An object model in computer science is a collection of objects or classes through which a program can examine and manipulate some specific parts of its world. In other words, the object-oriented interface to some service or system. Such an interface is said to be the ''object model of'' the represented service or system. For example, the [[Document Object Model|Document Object Model (DOM)]] [http://www.w3.org/DOM/] is a collection of objects that represent a [[web page|page]] in a [[web browser]], used by [[scripting language|script]] programs to examine and dynamically change the page. There is a [[Microsoft Excel]] object model<ref>[http://msdn2.microsoft.com/en-us/library/wss56bz7.aspx Excel Object Model Overview<!-- Bot generated title -->]</ref> for controlling Microsoft Excel from another program, and the [[ASCOM (standard)|ASCOM]] Telescope Driver<ref>{{cite web|url=http://ascom-standards.org/Standards/Requirements.htm |title=ASCOM General Requirements|date=2011-05-13 |access-date=2014-09-25}}</ref> is an object model for controlling an astronomical telescope. In [[computing]] the term ''object model'' has a distinct second meaning of the general properties of [[object (computer science)|objects]] in a specific computer [[programming language]], technology, notation or [[methodology]] that uses them. For example, the ''[[Java (programming language)|Java]] object model'', the ''[[Component Object Model|COM]] object model'', or ''the object model of [[object-modeling technique|OMT]]''. Such object models are usually defined using concepts such as [[class (computer science)|class]], [[message (computer science)|message]], [[inheritance (object-oriented programming)|inheritance]], [[polymorphism in object-oriented programming|polymorphism]], and [[information hiding|encapsulation]]. There is an extensive literature on formalized object models as a subset of the [[formal semantics of programming languages]]. === Object–role modeling === {{Main|Object–role modeling}} [[File:Schema for Geologic Surface.svg|thumb|320px|Example of the application of Object–Role Modeling in a "Schema for Geologic Surface", Stephen M. Richard (1999)<ref name="SMR99">Stephen M. Richard (1999). [http://pubs.usgs.gov/of/1999/of99-386/richard.html Geologic Concept Modeling]. U.S. Geological Survey Open-File Report 99–386.</ref>]] Object–Role Modeling (ORM) is a method for [[conceptual modeling]], and can be used as a tool for information and rules analysis.<ref>Joachim Rossberg and Rickard Redler (2005). ''Pro Scalable .NET 2.0 Application Designs.''. Page 27.</ref> Object–Role Modeling is a fact-oriented method for performing [[systems analysis]] at the conceptual level. The quality of a database application depends critically on its design. To help ensure correctness, clarity, adaptability and productivity, information systems are best specified first at the conceptual level, using concepts and language that people can readily understand. The conceptual design may include data, process and behavioral perspectives, and the actual DBMS used to implement the design might be based on one of many logical data models (relational, hierarchic, network, object-oriented, etc.).<ref name = "msd">[http://msdn2.microsoft.com/en-us/library/aa290383(VS.71).aspx Object Role Modeling: An Overview (msdn.microsoft.com)]. Retrieved 19 September 2008.</ref> === Unified Modeling Language models === {{main|Unified Modeling Language}} The Unified Modeling Language (UML) is a standardized general-purpose [[modeling language]] in the field of [[software engineering]]. It is a [[Visual language|graphical language]] for visualizing, specifying, constructing, and documenting the [[Artifact (software development)|artifacts]] of a software-intensive system. The Unified Modeling Language offers a standard way to write a system's blueprints, including:<ref name="OMG00">Grady Booch, Ivar Jacobson & Jim Rumbaugh (2005) [https://web.archive.org/web/20191029065137/https://pdfs.semanticscholar.org/f6b0/0ae65bc03ae3e2dc1edd8d9d1af3ea96f750.pdf OMG Unified Modeling Language Specification].</ref> * Conceptual things such as [[business process]]es and system functions * Concrete things such as [[programming language]] statements, database schemas, and * Reusable [[Component-based software engineering|software components]]. UML offers a mix of [[functional model]]s, data models, and [[database model]]s.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)