It is used to specify, visualize, modify, costruct and document the artifacts of an object oriented software-intensive system under development. It offers a standard way to visualize system's architectural blueprints including elements such as:
- activities
- actors
- business processes
- database schemas
- logical components
- programming language system
- reusable software components
Unified Modeling Language is a combination of a data modeling(entity relationship diagrams), business modeling(work flows), object modeling and component modeling. It can be used with all processes, throughout the software development life cycle. UML has synthesized the nation of Booch method, Object Modeling Language.
There are eleven diagrams under Unified Modeling Language(UML). Four are structural, three are behavioral, and four are used for model management.
Structural Diagrams are:
- class diagram- describe the structure of a system by showing the system classes, their attributes and the relationship among them.
- object diagram- shows a complete or partial view of the structured of a model system at a specific time
- deployment diagram-describe the hardware used in a system implementation and the execution environments and artifacts deployed in the hardware.
- component diagram- describe how the software split up into components and shows the dependencies about these components.
Behavior Diagrams:
- activity diagram- describe the business and operational step-by-step workflows of components in a system
- UML state machine diagram- describe the state and state transition of the system.
- use case diagram- describe the functionality provided by a system in terms of actors, their goals represented as use cases.
Interaction Diagrams:
- communication diagram- shows the interaction between object or parts in terms of sequenced messages.
- interaction overview diagram- provides an overview in which the nodes represents communication diagram
- sequence diagram- shows how object communicate with each other in terms of messages.
CRITICISMS:
It is frequently criticized for the following:
- Standards Bloat- Bertnard Meyer in a satirical essay framed as a student's request as a grade change, apparently criticized UML for being unrelated to object-oriented software development.
- Problems in Learning and Adopting- the problems cited inn this section making learning and adopting UML problematic, especially when required in engineers lacking the prerequisite skills. In practice, often draw diagrams with the symbol provided by their case tool, but without the meaning those symbols are intended to provide.
- Linguistic Incoherence- the extremely poor writing of the UML standards themselves assumed to be the consequence of having been written of a non-native English speaker.
- Capabilities of UML and Implementation Language Mismatch- UML is able to represents some systems more concisely or efficiently than others. Thus a developer gravitates toward solution that reside at the intersection of their capabilities of the UML and implementation language.
- Dysfunctional Interchange Format- when the XSI standard is designed to facilitate the interchange out of UML models, it has been largely ineffective in the practical interchange in UML 2.X models.
HISTORY:
Before UML 1.x
After Rational Software Corporation hired James Rumbaugh from General Electric(GE) in 1994, the company became the source for the two most popular object-oriented modeling approaches of the day. Rumbaugh object modeling technique(OMT), which was better for object oriented analysis(OOA) and Grady Booch's Booch method which was better for object-oriented design(OOD). Their efforts was assisted by Ivar Jacobson, the creator of object-oriented software engineering(OOSE) method. The three methodologists are also known as the Three Amigos.
Under the technical leadership of the Three Amigos, an International consortium called the UML partners was organized 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 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 in Novenber 1997
UML 1.x
Though the Booch "cloud" notation was dropped, the Booch capability to specify lower level design detail was embraced. The use case notation fro the Objectory and the component notation from Booch were integrated with the rest of the notation but the semantic is weak in UML 1.1. Tony Waserman and Peter Pircher with the "Object-Oriented Structured design (OOSD)" notation, Ray Buhr's "System Design with Ada", Archie Browen's use case and timing analysis, Paul Wards data analysis and David Harel "statecharts", as the group tried to ensure broad coverage in the real time systems domain.
UML 2.x
Although UML 2.1 was never release as a formal specification, versions 2.1.1 and 2.1.2 appeared in 2007, followed by the UML 2.2 in February 2009, UML 2.3 is formally release in May 2010.
Four Parts of UML2.x specification:
1. The superstructure that defines the notation and semantics for diagrams and their models elements.
2. The infrastructure that defines the core meta model on which the superstructure is based.
3. The object constraint language(OML) for defining rules for model elements.
4. The UML diagram interchange that defines how the UML 2 diagrams layouts are exchange
REFERENCES:
www.answers.com/topic/Unified_Modeling_Language
www.absoluteastronomy.com/topics/Unified_Modeling_Language
www.enotes.com/topic/Unified_Modeling_Language
-June Rey A. Cortez