FACTOID # 5: Minnesota and Connecticut are both in the top 5 in saving money and total tax burden per capita.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Unified Modeling Language

In the field of software engineering, the Unified/Universal Modeling Language (UML) is a standardized visual specification language for object modeling. UML is a general-purpose modeling language that includes a graphical notation used to create an abstract model of a system, referred to as a UML model. Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. ...

Contents

General description

UML is officially defined at the Object Management Group (OMG) by the UML metamodel, a Meta-Object Facility metamodel (MOF). Like other MOF-based specifications, UML has allowed software developers to concentrate more on design and architecture[citation needed]. Object Management Group (OMG) is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling (programs, systems and business processes) and model-based standards in some 20 vertical markets. ... The Meta-Object Facility (MOF), is an Object Management Group (OMG) standard for Model Driven Engineering. ...


UML models may be automatically transformed to other representations (e.g. Java) by means of QVT-like transformation languages, supported by the OMG. In the model-driven architecture, QVT (Queries/Views/Transformations) is a standard for model transformation defined by the Object Management Group. ... Object Management Group (OMG) is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling (programs, systems and business processes) and model-based standards in some 20 vertical markets. ...


UML is extensible, offering the following mechanisms for customization: profiles and stereotype. The semantics of extension by profiles have been improved with the UML 2.0 major revision. Note: this article is currently a work in progress. ... A profile in the Unified Modeling Language provides a generic extension mechanism for building UML models in particular domains. ... In computing, a stereotype is a concept in the Unified Modeling Language, where it is used to encapsulate behaviors. ... Semantics (Ancient σημαντικός semantikos significant, from semainein to signify, mean, from sema sign, token), is the study of meaning in communication. ...


History

After Rational Software Corporation hired James Rumbaugh from General Electric in 1994, the company became the source for the two most popular object-oriented modeling approaches of the day: Rumbaugh's OMT, which was better for object-oriented analysis (OOA), and Grady Booch's Booch method, which was better for object-oriented design (OOD). Together Rumbaugh and Booch attempted to reconcile their two approaches and started work on a Unified Method. Rational Machines was founded by Paul Levy and Mike Devlin in 1981 to provide tools to expand the use of modern software engineering practices, particularly explicit modular architecture and iterative development. ... Dr. James Rumbaugh is a computer scientist and object methodologist who is best known for his work in creating the Object Modeling Technique (OMT) and the Unified Modeling Language (UML). ... GE redirects here. ... Object-oriented programming (OOP) is a computer programming paradigm in which a software system is modeled as a set of objects that interact with each other. ... The object-modeling technique (OMT) is an object modeling language for software modeling and designing. ... Object-oriented analysis builds a model of a system that is composed of objects. ... Grady Booch (born February 27, 1955) is a software designer, a software methodologist and a design pattern enthusiast. ... In software engineering, the Booch method was a widely used method in object-oriented analysis and design. ... It has been suggested that this article or section be merged into Object-oriented analysis and design. ...


They were soon assisted in their efforts by Ivar Jacobson, the creator of the OOSE method. Jacobson joined Rational in 1995, after his company, Objectory, was acquired by Rational. The three methodologists were collectively referred to as the Three Amigos, since they were well known to argue frequently with each other regarding methodological preferences. Ivar Hjalmar Jacobson (born in Ystad, Sweden, on September 2, 1939) is a Swedish computer scientist. ... Object-oriented software engineering (OOSE) is a is an object modeling language and methodology OOSE was developed by Ivar Jacobson in 1992 while at Objectory AB. It is the first object-oriented design methodology to employ use cases to drive software design. ... ¡Three Amigos! is a 1986 comedy western film, produced by George Folsey, Jr. ...


In 1996 Rational concluded that the abundance of modeling languages was slowing the adoption of object technology, so repositioning the work on a Unified Method, they tasked the Three Amigos with the development of a non-proprietary Unified Modeling Language. Representatives of competing Object Technology companies were consulted during OOPSLA '96, and were won over by Rumbaugh's a cappella rendition of his version of Joni Mitchell's "Clouds"[citation needed], indicating the victory of his OMT notation of using boxes for representing classes over Grady Booch's Booch method's notation that used cloud symbols. Proprietary indicates that a party, or proprietor, exercises private ownership, control or use over an item of property, usually to the exclusion of other parties. ... OOPSLA (Object-Oriented Programming, Systems, Languages & Applications) is an annual ACM conference. ... This article is about the vocal technique. ... Joni Mitchell, CC (born Roberta Joan Anderson on November 7, 1943) is a Canadian musician, songwriter, and painter. ... Clouds is the 1969 second album by Joni Mitchell. ... The object-modeling technique (OMT) is an object modeling language for software modeling and designing. ... Grady Booch (born February 27, 1955) is a software designer, a software methodologist and a design pattern enthusiast. ... In software engineering, the Booch method was a widely used method in object-oriented analysis and design. ...


Under the technical leadership of the Three Amigos, an international consortium called the UML Partners was organized in 1996 to complete the Unified Modeling Language (UML) specification, and propose it as a response to the OMG RFP. The UML Partners' UML 1.0 specification draft was proposed to the OMG in January 1997. During the same month the UML Partners formed a Semantics Task Force, chaired by Cris Kobryn and administered by Ed Eykholt, to finalize the semantics of the specification and integrate it with other standardization efforts. The result of this work, UML 1.1, was submitted to the OMG in August 1997 and adopted by the OMG in November 1997[1]. UML Partners was a consortium of system integrators and vendors conevened in 1996 to develop standards for UML, the Unified Modeling Language. ... Cris Kobryn is a technologist, software architect and entrepreneur who specializes in advanced software and systems development. ...


As a modeling notation, the influence of the OMT notation dominates (e. g., using rectangles for classes and objects). Though the Booch "cloud" notation was dropped, the Booch capability to specify lower-level design detail was embraced. The use case notation from Objectory and the component notation from Booch were integrated with the rest of the notation, but the semantic integration was relatively weak in UML 1.1, and was not really fixed until the UML 2.0 major revision. A use case is a technique used in software and systems engineering to capture the functional requirements of a system. ... It has been suggested that this article or section be merged with Component-based software engineering. ...


Concepts from many other OO methods were also loosely integrated with UML with the intent that UML would support all OO methods. For example CRC Cards (circa 1989 from Kent Beck and Ward Cunningham), and OORam were retained. Many others contributed too with their approaches flavoring the many models of the day including: Tony Wasserman and Peter Pircher with the "Object-Oriented Structured Design (OOSD)" notation (not a method), Ray Buhr's "Systems Design with Ada", Archie Bowen's use case and timing analysis, Paul Ward's data analysis and David Harel's "Statecharts", as the group tried to ensure broad coverage in the real-time systems domain. As a result, UML is useful in a variety of engineering problems, from single process, single user applications to concurrent, distributed systems, making UML rich but large. Class Responsibility Collaborator (CRC cards) are a brainstorming tool used in the design of object-oriented software. ... Kent Beck is the creator of Extreme Programming and is one of the founders of the Agile Manifesto. ... Oh Yes, Hes Ward Cunningham! Howard Cunningham redirects here. ... Object Oriented Role Analysis Method (OOram) is a method, based on the concept of role, for performing object-oriented modeling. ... Object-oriented programming (OOP) is a programming paradigm that uses objects and their interactions to design applications and computer programs. ...


The Unified Modeling Language is an international standard: “Standard” redirects here. ...

ISO/IEC 19501:2005 Information technology — Open Distributed Processing — Unified Modeling Language (UML) Version 1.4.2.

UML has matured significantly since UML 1.1. Several minor revisions (UML 1.3, 1.4, and 1.5) fixed shortcomings and bugs with the first version of UML, followed by the UML 2.0 major revision that was adopted by the OMG in 2003. There are four parts to the UML 2.x specification: the Superstructure that defines the notation and semantics for diagrams and their model elements; the Infrastructure that defines the core metamodel on which the Superstructure is based; the Object Constraint Language (OCL) for defining rules for model elements; and the UML Diagram Interchange that defines how UML 2 diagram layouts are exchanged. The current versions of these standards follow: UML Superstructure version 2.1.2, UML Infrastructure version 2.1.2, OCL version 2.0, and UML Diagram Interchange version 1.0[2]. “ISO” redirects here. ... The International Electrotechnical Commission (IEC) is an international standards organization dealing with electrical, electronic and related technologies. ...


Although many UML tools support some of the new features of UML 2.x, the OMG provides no test suite to objectively test compliance with its specifications. A UML tool is an application software that supports some or all parts of the processes or the creation of the artifacts described in the software industry standard Unified Modeling Language (UML), which is used in the field of software engineering. ... The introduction to this article provides insufficient context for those unfamiliar with the subject matter. ...


Methods

UML is not a method by itself; however, it was designed to be compatible with the leading object-oriented software development methods of its time (for example OMT, Booch, Objectory). Since UML has evolved, some of these methods have been recast to take advantage of the new notation (for example OMT), and new methods have been created based on UML. The best known is Rational Unified Process (RUP). There are many other UML-based methods like Abstraction Method, Dynamic Systems Development Method, and others, designed to provide more specific solutions, or achieve different objectives. The object-modeling technique (OMT) is an object modeling language for software modeling and designing. ... In software engineering, the Booch method was a widely used method in object-oriented analysis and design. ... Objectory is an object-oriented methodology mostly created by Ivar Jacobson, who is also responsible for object-oriented software engineering. ... The Rational Unified Process (RUP) is an iterative software development process created by the Rational Software Corporation, now a division of IBM. The RUP is an extensive refinement of the (generic) Unified Process. ... Dynamic Systems Development Method (DSDM) is a framework based originally around Rapid Application Development (RAD), supported by its continuous user involvement in an iterative development and incremental approach which is responsive to changing requirements, in order to develop a system that meets the business needs on time and on budget. ...


Modeling

It is very important to distinguish between the UML model and the set of diagrams of a system. A diagram is a partial graphical representation of a system's model. The model also contains a "semantic backplane" — documentation such as written use cases that drive the model elements and diagrams.


UML diagrams represent three different views of a system model:


Functional requirements view

Emphasizes the functional requirements of the system from the user's point of view.
Includes use case diagrams.

Static structural view A use case diagram is a type of behavioral diagram defined by the Unified Modeling Language (UML). ...

Emphasizes the static structure of the system using objects, attributes, operations, and relationships.
Includes class diagrams and composite structure diagrams.

Dynamic behavior view Hierarchy of UML 2. ... A Unified Modeling Language (UML) composite structure diagram shows the internal structure of a class and the collaborations that this structure makes possible. ...

Emphasizes the dynamic behavior of the system by showing collaborations among objects and changes to the internal states of objects.
Includes sequence diagrams, activity diagrams and state machine diagrams.

UML models can be exchanged among UML tools by using the XMI interchange format. Example of a UML 2 diagram The Message Sequence Chart technique has been incorporated into the Unified Modeling Language (UML) diagram under the name of Sequence Diagram. ... In the Unified Modeling Language, an activity diagram represents the business and operational step-by-step workflows of components in a system. ... State diagrams are used to graphically represent finite state machines. ... A UML tool is an application software that supports some or all parts of the processes or the creation of the artifacts described in the software industry standard Unified Modeling Language (UML), which is used in the field of software engineering. ... XMI (XML Metadata Interchange) is an OMG standard for exchanging metadata information via XML. It can be used for any metadata whose metamodel can be expressed in MOF. The most common use of XMI is as an interchange format for UML models, although it can also be used for serialization...


Diagrams

UML 2.0 has 13 types of diagrams that can be categorized hierarchically as shown in the following Class diagram:

Structure diagrams emphasize what things must be in the system being modeled:
Hierarchy of UML 2. ... Image File history File links This is a lossless scalable vector image. ...

Behavior diagrams emphasize what must happen in the system being modeled: Hierarchy of UML 2. ... In the Unified Modeling Language, a component diagram depicts how a software system is split up into physical components and shows the dependencies among these components. ... A Unified Modeling Language (UML) composite structure diagram shows the internal structure of a class and the collaborations that this structure makes possible. ... A sample deployment diagram. ... A Unified Modeling Language (UML) object diagram shows a complete or partial view of the structure of a modeled system, at a specific point in time. ... In the Unified Modeling Language, a package diagram depicts how a system is split up into logical groupings by showing the dependencies among these groupings. ...

Interaction diagrams, a subset of behavior diagrams, emphasize the flow of control and data among the things in the system being modeled: In the Unified Modeling Language, an activity diagram represents the business and operational step-by-step workflows of components in a system. ... State diagrams are used to graphically represent finite state machines. ... A use case diagram is a type of behavioral diagram defined by the Unified Modeling Language (UML). ...

The Protocol State Machine is a sub-variant of the State Machine. It may be used to model network communication protocols. In the Unified Modeling Language (UML) 2. ... Example of a UML 2 diagram The Message Sequence Chart technique has been incorporated into the Unified Modeling Language (UML) diagram under the name of Sequence Diagram. ...


UML does not restrict UML element types to a certain diagram type. In general, every UML element may appear on almost all types of diagrams. This flexibility has been partially restricted in UML 2.0.


In keeping with the tradition of engineering drawings, a comment or note explaining usage, constraint, or intent is always allowed in a UML diagram.


Concepts

UML uses many concepts from many sources. For a definitive list, consult the glossary of Unified Modeling Language terms. Notable concepts are listed here. This glossary of Unified Modeling Language terms covers all versions of UML. Individual entries will point out any distinctions that exist between versions. ...


For structure

Actor, attribute, class, component, interface, object, package.

For behavior In the Unified Modeling Language (UML), an actor is something or someone who supplies a stimulus to the system. ... In computing, attributes are entities that define properties of objects, elements, or files. ... In object-oriented programming, a class is a programming language construct used to group related fields and methods. ... In the Unified Modeling Language, a component diagram depicts how a software system is split up into physical components and shows the dependencies among these components. ... An interface defines the communication boundary between two entities, such as a piece of software, a hardware device, or a user. ... In strictly mathematical branches of computer science the term object is used in a purely mathematical sense to refer to any thing. While this interpretation is useful in the discussion of abstract theory, it is not concrete enough to serve as a primitive datatype in the discussion of more concrete... A package is a collection or grouping of related classes or classes with related functionality. ...

Activity, event, message, method, operation, state, use case.

For relationships Activity is a result of interaction between system and the actor. ... An event is a notable occurrence at a particular point in time. ... In computer science, message passing is a form of communication used in concurrent programming, parallel programming, object-oriented programming, and interprocess communication. ... In object-oriented programming, the term method refers to a subroutine that is exclusively associated either with a class (called class methods, static methods, or factory methods) or with an object (called instance methods). ... In logic and mathematics, an operation ω is a function of the form ω : X1 × … × Xk → Y. The sets Xj are the called the domains of the operation, the set Y is called the codomain of the operation, and the fixed non-negative integer k is called the arity of the operation. ... In information processing, a state is the complete set of properties (for example, its energy level, etc. ... A use case is a technique used in software and systems engineering to capture the functional requirements of a system. ...

Aggregation, association, composition, dependency, generalization (or inheritance).

Other concepts Some factual claims in this article or section need to be verified. ... In Object_oriented programming, Association defines a relationship between classes of objects which allows one object instance to cause another to perform an action on its behalf. ... This article does not cite any references or sources. ... In computer science, coupling or dependency is the degree to which each program module relies on each one of the other modules. ... For the term in the context of mathematical logic, see Generalization (logic). ... This article or section does not cite any references or sources. ...

In computing, a stereotype is a concept in the Unified Modeling Language, where it is used to encapsulate behaviors. ... Hierarchy of UML 2. ... In mathematics, the cardinality of a set is a measure of the number of elements of the set. There are two approaches to cardinality – one which compares sets directly using bijections and injections, and another which uses cardinal numbers. ... This article is about the sociology term. ...

Criticisms

Although UML is a widely recognized and used modeling standard, it is frequently criticized for the following deficiencies:

  • Language bloat. UML is often criticized as being gratuitously large and complex[3]. It contains many diagrams and constructs that are redundant or infrequently used. This criticism is more frequently directed at UML 2.0 than UML 1.0, since newer revisions include more design-by-committee compromises[citation needed].
  • Problems in learning and adopting. The problems cited above can make learning and adopting UML problematic, especially when required of engineers lacking the prerequisite skills[4].
  • Only the code is in sync with the code. Another perspective holds that it is working systems that are important, not beautiful models. As Jack Reeves succinctly put it, "The code is the design"[5][6]. Pursuing this notion leads to the need for better ways of writing software; UML has value in approaches that compile the models to generate source or executable code. This however, may still not be sufficient since it is not clear that UML 2.0's Action Semantics exhibit Turing completeness. "All models are wrong, but some models are useful."
  • Cumulative Impedance/Impedance Mismatching. As with any notational system, UML is able to represent some systems more concisely or efficiently than others. Thus a developer gravitates toward solutions that reside at the intersection of the capabilities of UML and the implementation language. This problem is particularly pronounced if the implementation language does not adhere to orthodox object-oriented doctrine, as the intersection set between UML and implementation language may be that much smaller.
  • Aesthetically Inconsistent. This argument states that the adhoc mixing of abstract notation (2-D ovals, boxes, etc) make UML appear jarring and that more effort could have been made to construct uniform and aesthetically pleasing representations.
  • Tries to be all things to all programmers. UML is a general purpose modeling language that tries to achieve compatibility with every possible implementation language. In the context of a specific project, the most applicable features of UML must be delimited for use by the design team to accomplish the specific goal. Additionally, the means of restricting the scope of UML to a particular domain is through a formalism that is not completely formed, and is itself the subject of criticism.
  • Dysfunctional interchange format. While the XMI (XML Metadata Interchange) standard is designed to facilitate the interchange of UML models, it has been largely ineffective in the practical interchange of UML 2.x models. Defining a UML 2.x model in one tool and then importing it into another tool typically leads to loss of information.[citation needed] This interoperability ineffectiveness is attributable to two reasons: First, XMI 2.x is large and complex in its own right, since it purports to address a technical problem more ambitious than exchanging UML 2.x models. In particular, it attempts to provide a mechanism for facilitating the exchange of any arbitrary modeling language defined by the OMG's Meta-Object Facility (MOF). Secondly, the UML 2.x Diagram Interchange specification lacks sufficient detail to facilitate reliable interchange of UML 2.x notations between modeling tools. Since UML is a visual modeling language, this shortcoming is substantial for modelers who don't want to redraw their diagrams[7].

Many modeling experts have written sharp criticisms of UML, including Bertrand Meyer's "UML: The Positive Spin"[3], and a paper presented by Brian Henderson-Sellers at the MoDELS/UML conference in Genova, Italy in October 2006[citation needed]. Software bloat, or bloatware, is a term used in both a neutral and disparaging sense, to describe the tendency of newer computer programs to be larger, or to use larger amounts of system resources (mass storage space, processing power or memory) than older versions of the same programs, without concomitant... Design by committee is a wry, derogatory term referring to the style of design that sometimes results when a group of entities comes together to produce something, particularly in the absence of good leadership - roughly equivalent to the age-old expression, too many cooks spoil the broth. Its defining characteristics... A UML tool is an application software that supports some or all parts of the processes or the creation of the artifacts described in the software industry standard Unified Modeling Language (UML), which is used in the field of software engineering. ... For the usage of this term in Turing reductions, see Turing complete set. ... The Meta-Object Facility (MOF), is an Object Management Group (OMG) standard for Model Driven Engineering. ... Bertrand Meyer (born 1950 in France) developed the Eiffel programming language, and is an author, academic and consultant in the field of computer languages. ... Brian Henderson-Sellers is Professor of Information Systems at the University of Technology Sydney. ... Alternate uses, see Genoa (disambiguation). ...


See also

Agile Modeling is a supplement to other Agile Methodologies such as: Extreme Programming (XP) Scrum [1] Answers to Criticisms The principles and values of Agile Modeling practises help to mitigate the criticisms of Agile Software Development. ... In software engineering, agile software development or agile methods are low-overhead methodologies that accept that software is difficult to control. ... An Entity-relationship model is a relational schema database modeling method used to model a system and its requirements in a top-down approach. ... Executable UML, often abbreviated to xtUML [1] or xUML [2], is a software engineering methodology based on the Shlaer-Mellor method. ... Fundamental modeling concepts (FMC) provide a framework to describe software-intensive systems. ... This article lists Unified Modeling Language tools, classified by their proprietary or non-proprietary status. ... To meet Wikipedias quality standards, this article or section may require cleanup. ... Model-based testing is software testing in which test cases are derived in whole or in part from a model that describes some (usually functional) aspects of the system under test (SUT). ... A software blueprint is the final product of a software blueprinting process. ... A UML virtual machine is a virtual machine that runs UML models. ... UN/CEFACTs Modeling Methodology, commonly known as UMM is a modeling methodology which is developed by UN/CEFACT. // Vision A primary vision of UN/CEFACT is to capture the business knowledge that enables the development of low cost software components by software vendors to help the small and medium... This glossary of Unified Modeling Language terms covers all versions of UML. Individual entries will point out any distinctions that exist between versions. ...

References

  1. ^ UML Specification version 1.1 (OMG document ad/97-08-11)
  2. ^ OMG. Catalog of OMG Modeling and Metadata Specifications. Retrieved on 2008-03-31.
  3. ^ a b Bertrand Meyer. UML: The Positive Spin. Retrieved on 2008-03-31.
  4. ^ See the ACM article "Death by UML Fever" for an amusing account of such issues.
  5. ^ Slashdot | The Code Is The Design
  6. ^ Code as Design: Three Essays by Jack W. Reeves
  7. ^ UML Forum. UML FAQ. Retrieved on 2008-03-31.

2008 (MMVIII) is the current year, a leap year that started on Tuesday of the Anno Domini (or common era), in accordance with the Gregorian calendar. ... is the 90th day of the year (91st in leap years) in the Gregorian calendar. ... 2008 (MMVIII) is the current year, a leap year that started on Tuesday of the Anno Domini (or common era), in accordance with the Gregorian calendar. ... is the 90th day of the year (91st in leap years) in the Gregorian calendar. ... The Association for Computing Machinery, or ACM, was founded in 1947 as the worlds first scientific and educational computing society. ... 2008 (MMVIII) is the current year, a leap year that started on Tuesday of the Anno Domini (or common era), in accordance with the Gregorian calendar. ... is the 90th day of the year (91st in leap years) in the Gregorian calendar. ...

Further reading

  • Ambler, Scott William (2004). The Object Primer: Agile Model Driven Development with UML 2. Cambridge University Press. ISBN 0-521-54018-6. 
  • Chonoles, Michael Jesse; James A. Schardt (2003). UML 2 for Dummies. Wiley Publishing. ISBN 0-7645-2614-6. 
  • Coad, Peter; Eric Lefebvre; Jeff De Luca (1999). Java Modeling In Color With UML: Enterprise Components and Process. Prentice Hall. ISBN 0-13-011510-X. 
  • Fowler, Martin. UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd ed., Addison-Wesley. ISBN 0-321-19368-7. 
  • Gooch, Tom. History of UML. Retrieved on 2005-12-28.
  • Jacobson, Ivar; Grady Booch; James Rumbaugh (1998). The Unified Software Development Process. Addison Wesley Longman. ISBN 0-201-57169-2. 
  • Martin, Robert Cecil (2003). UML for Java Programmers. Prentice Hall. ISBN 0-13-142848-9. 
  • Noran, Ovidiu S.. Business Modelling: UML vs. IDEF (PDF). Retrieved on 2005-12-28.
  • Penker, Magnus; Hans-Erik Eriksson (2000). Business Modeling with UML. John Wiley & Sons. ISBN 0-471-29551-5. 
  • Henderson Sellers, Brian (2006). about UML profiles. Springer Verlag. MoDELS'2006 Conference, Genova. 

Image File history File links This is a lossless scalable vector image. ... Martin Fowler is a famous author and international speaker on software architecture, specializing in object-oriented analysis and design, UML, Patterns, and agile software development methodologies, including Extreme Programming. ... Year 2005 (MMV) was a common year starting on Saturday (link displays full calendar) of the Gregorian calendar. ... is the 362nd day of the year (363rd in leap years) in the Gregorian calendar. ... Ivar Hjalmar Jacobson (born in Ystad, Sweden, on September 2, 1939) is a Swedish computer scientist. ... Known colloqially as Uncle Bob, Robert Cecil Martin has been a software professional since 1970 and an international software consultant since 1990. ... Year 2005 (MMV) was a common year starting on Saturday (link displays full calendar) of the Gregorian calendar. ... is the 362nd day of the year (363rd in leap years) in the Gregorian calendar. ...

External links

Wikimedia Commons has media related to:
UML
  • UML Resource Page of the Object Management Group – Resources that include the latest version of the UML specification
  • UML FAQ of the UML Forum – UML FAQ associated with a popular UML discussion group
  • Death by UML Fever – Discusses the occasional misuse of UML (article)
  • UML Jokes
Unified Modeling Language (UML) (category)view  talk  edit )
Background

Organizations: Object Management Group (OMG) • UML Partners Object Management Group (OMG) is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling (programs, systems and business processes) and model-based standards in some 20 vertical markets. ... Object Management Group (OMG) is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling (programs, systems and business processes) and model-based standards in some 20 vertical markets. ...


Persons: Grady Booch • Ivar Jacobson • James Rumbaugh  Grady Booch (born February 27, 1955) is a software designer, a software methodologist and a design pattern enthusiast. ... Ivar Hjalmar Jacobson (born in Ystad, Sweden, on September 2, 1939) is a Swedish computer scientist. ... Dr. James Rumbaugh is a computer scientist and object methodologist who is best known for his work in creating the Object Modeling Technique (OMT) and the Unified Modeling Language (UML). ...

Concepts

Object oriented: programming (OOP) • analysis and design (OOAD) Bold textObject-oriented analysis and design (OOAD) is a software engineering approach that models a system as a group of interacting objects. ...


Structure: Actor • Attribute • Class • Component • Interface • Object • Package  In the Unified Modeling Language (UML), an actor is something or someone who supplies a stimulus to the system. ... In computing, attributes are entities that define properties of objects, elements, or files. ... In object-oriented programming, a class is a programming language construct used to group related fields and methods. ... In the Unified Modeling Language, a component diagram depicts how a software system is split up into physical components and shows the dependencies among these components. ... An interface defines the communication boundary between two entities, such as a piece of software, a hardware device, or a user. ... In strictly mathematical branches of computer science the term object is used in a purely mathematical sense to refer to any thing. While this interpretation is useful in the discussion of abstract theory, it is not concrete enough to serve as a primitive datatype in the discussion of more concrete...


Behavior: Activity • Event • Message • Method • Operation • State • Use case  Activity is a result of interaction between system and the actor. ... An event is a notable occurrence at a particular point in time. ... In computer science, message passing is a form of communication used in concurrent programming, parallel programming, object-oriented programming, and interprocess communication. ... In object-oriented programming, the term method refers to a subroutine that is exclusively associated either with a class (called class methods, static methods, or factory methods) or with an object (called instance methods). ... In information processing, a state is the complete set of properties (for example, its energy level, etc. ... A use case is a technique used in software and systems engineering to capture the functional requirements of a system. ...


Relationships: Aggregation • Association • Composition • Dependency • Generalization (or Inheritance Some factual claims in this article or section need to be verified. ... In Object_oriented programming, Association defines a relationship between classes of objects which allows one object instance to cause another to perform an action on its behalf. ... This article does not cite any references or sources. ... In computer science, coupling or dependency is the degree to which each program module relies on each one of the other modules. ... For the term in the context of mathematical logic, see Generalization (logic). ... This article or section does not cite any references or sources. ...


Extensibility: Profile • Constraint • Stereotype • Tagged values  A profile in the Unified Modeling Language provides a generic extension mechanism for building UML models in particular domains. ... In the Unified Modeling Language, a stereotype is a name denoted with guillemets (not double angle brackets) that conveys a high level category, type, or meaning of an item. ...


Other concepts: Multiplicity • Role  Hierarchy of UML 2. ...

Diagrams

Structure diagrams
Class diagram • Component diagram • Composite structure diagram • Deployment diagram • Object diagram • Package diagram  Hierarchy of UML 2. ... In the Unified Modeling Language, a component diagram depicts how a software system is split up into physical components and shows the dependencies among these components. ... A Unified Modeling Language (UML) composite structure diagram shows the internal structure of a class and the collaborations that this structure makes possible. ... A sample deployment diagram. ... A Unified Modeling Language (UML) object diagram shows a complete or partial view of the structure of a modeled system, at a specific point in time. ... In the Unified Modeling Language, a package diagram depicts how a system is split up into logical groupings by showing the dependencies among these groupings. ...

Behavior diagrams
Activity diagram • State Machine diagram • Use case diagram • Communication diagram • Interaction overview diagram • Sequence diagram • Timing diagram  In the Unified Modeling Language, an activity diagram represents the business and operational step-by-step workflows of components in a system. ... State diagrams are used to graphically represent finite state machines. ... A use case diagram is a type of behavioral diagram defined by the Unified Modeling Language (UML). ... In the Unified Modeling Language (UML) 2. ... Example of a UML 2 diagram The Message Sequence Chart technique has been incorporated into the Unified Modeling Language (UML) diagram under the name of Sequence Diagram. ... Timing diagrams (UML 2. ...

Topics

Compared to relational database model (ERD) • Glossary of UML terms • Systems Modeling Language (SysML) • UML colors: This article or section is not written in the formal tone expected of an encyclopedia article. ... This glossary of Unified Modeling Language terms covers all versions of UML. Individual entries will point out any distinctions that exist between versions. ... SysML, or Systems Modeling Language, is a general-purpose systems engineering modeling language. ... UML color standards are a set of four colors associated with Unified Modeling Language (UML) diagrams. ...

Role Moment, Interval Description Party, place, thing
Tools(category) and Processes

List of UML tools • Rational Unified Process (RUP) A UML tool is an application software that supports some or all parts of the processes or the creation of the artifacts described in the software industry standard Unified Modeling Language (UML), which is used in the field of software engineering. ... This article lists Unified Modeling Language tools, classified by their proprietary or non-proprietary status. ... The Rational Unified Process (RUP) is an iterative software development process created by the Rational Software Corporation, now a division of IBM. The RUP is an extensive refinement of the (generic) Unified Process. ...


  Results from FactBites:
 
Unified Modeling Language version 2.0 (6351 words)
For instance, in UML 1, the notion of ownership (that is, elements owning other elements), the concept of namespaces (named collections of uniquely named elements), and the concept of classifiers (elements that can be categorized according to their features), were all inextricably bound into a single semantically complex notion.
In UML 2.0, all of these concepts were aligned, so that components were simply defined as a special case of the more general concept of a structured class; similarly, subsystems were merely a special case of the component concept.
The language structure was carefully reorganized to allow a modular and graduated approach to adoption: you only need to learn the parts of the language that are of interest to you, and can safely ignore the rest.
The Unified Modeling Language (1499 words)
UML was well received by the industry, and it slowly became a defacto standard in the modeling community.
The UML meta model is the language used to describe models, and a model is an instance of the meta model.
The meta meta model is the language used to describe the UML meta model, and the UML meta model is an instance of the meta meta model.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m