(Unified Modeling Language)
What Is UML?
The Unified Modeling Language was originally developed at Rational Software but is now administered by the Object Management Group . It is a modelling syntax aimed primarily at creating models of software-based systems, but can be used in a number of areas. UML is a very important part of developing object oriented software and the software development process. UML uses mostly graphical notations to express the design of software projects. Using UML helps project teams communicate, explore potential designs, and validate the architectural design of the software.
How UML Started?
UML came about when James Rumbaugh joined Grady Booch at Rational Software. They both had object oriented syntaxes and needed to combine them. Semantically they were very similar, it was mainly the symbols that needed to be unified. The result was UML 1.0
Then Ivar Jaconson joined them. He brought with him the syntax for use cases which was added in UML 1.1. The Object Management Group adopted the UML1.1 specification in November 1997 making it an independent industry standard. Some small changes were made in in versions 1.3 and 1.4. Version 2.0 is currently being researched. | |[pic] |
Goals of UML
The primary goals in the design of the UML were:
1. Provide users with a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models. 2. Provide extensibility and specialization mechanisms to extend the core concepts. 3. Be independent of particular programming languages and development processes. 4. Provide a formal basis for understanding the modeling language. 5. Encourage the growth of the OO tools market. 6. Support higher-level development concepts such as collaborations, frameworks, patterns and components. 7. Integrate best practices.
Why Use UML?
|Software Construction Needs a Plan | |There is a common perception among general management that software is both |An architect knows this and creates a drawing of the building from more than| |cheap to produce and easy to change. 'Its only a bit of software - it won't |one direction, ensuring that the structure is appropriate for the purpose of| |take you long'. Developers know that this is not true. Software is extremely|the building and that the dimensions are all consistent. Only when this | |complex and, once a particular structure is in place, often a long-winded |visual model of the proposed work has been approved is the job of laying | |and difficult to change. |bricks begun. |
|Visualise In Multiple Dimensions and Levels of Detail | |Software is very abstract and hard to visualise. A visual modelling |defined at the start of the project with a high level model allowing for | |language, such as UML, allows software to be visualised in multiple |accurate estimation. Increasing levels of detail can then be added to each | |dimension, so that a computer system can be completely understood before |part of the software as it is constructed, until finally the software | |construction begins. Furthermore, UML can be used to produce several models |appears as code. The code can then be tested against a test model that is | |at increasing levels of detail. The overall scope of the software can |derived from the original model of requirements. | |quickly...