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
Object-modeling language
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!
{{Short description|Component in software development}} An '''object-modeling language''' is a standardized set of symbols used to model a software system using an [[object-oriented]] framework. The symbols can be either informal or formal ranging from predefined graphical templates to formal object models defined by grammars and specifications. A modeling language is usually associated with a [[Software development methodology|methodology]] for object-oriented development. The modeling language defines the elements of the model. E.g., that a model has classes, methods, object properties, etc. The methodology defines the steps developers and users need to take to develop and maintain a software system. Steps such as ''Define requirements'', ''Develop code'', and ''Test system''. [[File:UML History.jpg|450px|thumbnail|right|Important milestones in the evolution of the UML: One of the most significant object modeling languages currently in use.<ref>{{cite web|last=Riley|first=Mike|title=A Special Guide-MDA and UML Tools: CASE 2.0βor the Developer's Dream|url=http://www.drdobbs.com/a-special-guide-mda-and-uml-tools-case-2/184415500|work=drdobbs.com|publisher=Dr. Dobb's|access-date=19 December 2013|date=April 1, 2006|quote=If it weren't for the dominance that UML has gained over the industry, MDA and related modeling standards couldn't even exist.}}</ref>]] It is common to equate the modeling language and the modeling methodology. For example, the [[Booch method]] may refer to [[Grady Booch]]'s standard for diagramming, his methodology, or both. Or the Rumbaugh [[Object Modeling Technique]] is both a set of diagrams and a process model for developing object-oriented systems. In the early years of the object-oriented community there were several competing modeling and methodology standards. Booch and Rumbaugh were two of the most popular. [[Ivar Jacobson]]'s Objectory, Shlaer-Mellor, and Yourdon-Coad were also popular. However, the object-oriented community values re-use and standardization. As shown in the graphic there were efforts starting in the mid 1990s to reconcile the leading models and focus on one unified specification. The graphic shows the evolution of one of the most important object modeling language standards: the [[Unified Modeling Language]] (UML). The UML began as an attempt by some of the major thought leaders in the community to define a standard language at the OOPSLA '95 Conference. Originally, Grady Booch and [[James Rumbaugh]] merged their models into a unified model. This was followed by Booch's company [[Rational Software]] purchasing Ivar Jacobson's Objectory company and merging their model into the UML. At the time Rational and Objectory were two of the dominant players in the small world of independent vendors of Object-Oriented tools and methods.<ref>{{cite web|title=From Unified Method to Unified Language|url=http://modelseverywhere.wordpress.com/2010/11/13/from-unified-method-to-unified-language/|work=modelseverywhere.wordpress.com|access-date=19 December 2013|date=November 13, 2010}}</ref> The [[Object Management Group]] then picked up and took over ownership of the UML. The OMG is one of the most influential standards organizations in the object-oriented world. The UML is both a formal metamodel and a collection of graphical templates. The meta-model defines the elements in an object-oriented model such as classes and properties. It is essentially the same thing as the meta-model in object-oriented languages such as Smalltalk or CLOS. However, in those cases the meta-model is meant primarily to be used by developers at run time to dynamically inspect and modify an application object model. The UML meta-model provides a mathematical formal foundation for the various graphic views used by the modeling language to describe an emerging system. The following diagram illustrates the class hierarchy of the various graphic templates defined by the UML. ''Structure diagrams'' define the static structure of an object: its place in the class hierarchy, its relation to other objects, etc. ''Behavior diagrams'' specify the dynamic aspects of the model, business process logic, coordination and timing of distributed objects, etc.<ref>{{cite book|last=Fowler|first=Martin|title=UML Distilled|year=2004|publisher=Addison Wesley|isbn=0-321-19368-7|pages=1β33}}</ref><ref>{{cite web|title=Object Management Group UML Specification|url=http://www.omg.org/spec/UML/|work=omg.org|publisher=Object Management Group|access-date=19 December 2013}}</ref> [[Image:Uml diagram.svg|center|thumb|720px|Types of UML diagrams]] == References == {{reflist}} [[Category:Object-oriented programming]]
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)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite book
(
edit
)
Template:Cite web
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)