• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
  • Skip to footer
  • Core Java
  • Design Patterns
  • JSP
  • Servlets
  • Building Tools
  • jQuery
  • Spring
  • Hibernate
  • Mongo DB
  • More
    • HTML
    • SCJP
    • AJAX
    • UML
    • Struts
    • J2EE
    • Testing
    • Angular JS

J2EE Reference

  • Home
  • About Us
    • Java Learning Centers
  • Contact Us

An Overview of UML

January 31, 2011 By j2eereference 1 Comment

What is UML?   

Unified Modeling Language (UML) is a general-purpose visual modeling language that is used to visualise, specify, construct and document the artifacts of a software system. It is a language in the sense that it has a standard vocabulary and rules. The vocabulary and rules of the UML tell us how to create and read well-formed models. But it does not tell us what models to create and when to create them. It has static, dynamic, environmental and organisational parts to help capture the differing aspects of a problem. At the same time it must be remembered that UML is not a programming language. Therefore, it can not be used for writing codes. It is most useful for modeling discrete systems like software, firmware etc. UML specification does not define a standard process, but is intended to be useful with an iterative development process. It is intended to support most existing object oriented development processes. The UML is a language for:

•      Visualising.  Firstly, The  UML is more than just a bunch of graphical symbols. The UML notations are supported by well defined semantics. Using UML, one developer can develop a model, which can be easily interpreted by another. Secondly, there are a number of things about software which can not be easily comprehended. For example, looking at a code one may infer the classes by looking at the hierarachy, but how they relate to each other and what conditions apply to their operations can not be easily grasped. UML’s graphical notations help visualising these details. Finally, a developer who wrote the code does not write down the model, the information would be lost forever.

•      Specifying.  UML addresses all important analysis, design, and implementation decisions that must be made in developing and deploying software systems. 

•      Constructing.  UML  is not a visual programming language. But its models can be directly connected to a variety of programming languages. This means that UML models can be mapped to programming languages like C++, Java, Visual Basic etc., or even to RDBMS tables.

•      Documenting.   The very approach of developing models using UML is conducive to capturing all analysis, design, implementation, packaging, and deployment issues of a problem in well structured and defined models. By providing additional flexibility to its language, UML helps in expressing requirements for tests as well.

Building Blocks of UML

The vocabulary of UML encompasses three kinds of building blocks: 
Things. 

The ‘things’ are the nouns in a model. UML identifies four kinds of ‘things’. These are:

  • Structural things (seven).
  • Behavioural things (two).
  • Grouping things (one).
  • Annotational things (one).  

Relationships. 

There are four kinds of ‘relationships’ in the UML. These are:

  • Dependency.
  • Association.
  • Generalisation.
  • Realisation.

 Diagrams. 

A diagram is a graphical representation of a set of things and the relationships that exist between them. Diagrams are drawn to visualise the system from different perspectives, as mentioned earlier. There  are nine diagrams in the UML. These are: 

  • Class diagram.
  • Object diagram.
  • Use case diagram.
  • Sequence diagram.
  • Collaboration diagram.
  • Statechart diagram.
  • Activity diagram.
  • Component diagram.
  • Deployment diagram.

Filed Under: UML

Reader Interactions

Comments

  1. Talia Frump says

    May 29, 2011 at 11:23 pm

    nice post. thanks.

    Reply

Leave a Reply Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

FOLLOW US ONLINE

  • View J2eereference-166104970118637’s profile on Facebook
  • View j2eereference’s profile on Twitter
  • View j2eereference’s profile on LinkedIn

Subscribe by email

Recent posts

  • Java Buzzwords
  • Anonymous Inner Class in Java
  • Network Programming – java.net Package
  • Java Regular Expressions
  • Method Local Inner Class in Java
  • URL Processing in Java
  • Iterator Design Pattern Implementation using Java
  • Strategy Design Pattern Implementation using Java
  • Decorator Design Pattern
  • Adapter Design Pattern Implementation using Java
  • JSF Composite Components
  • JSF UI Components
  • What is JavaServer Faces (JSF)?
  • GOF Design Patterns
  • History and Need for Design Patterns

Footer

Core Java
Design Patterns
JSP
Servlets
HTML
Building Tools
AJAX
SCJP
jQuery
Testing
Spring
UML
Struts
Java Centers
Java Training
Home
About Us
Contact Us
Copyright © j2eereference.com. All right reserved.