Wednesday, April 23, 2008

UML - Why?

The so called "Programming World" started much before the world's first single chip microprocessor, Intel 4004 was invented in November, 1971. It has been evolving since then, with newer paradigms seeding the birth of new languages. As the computing power of the processors increasing at a rapid pace from 8085, 80x86, etc, the programming languages are able to stretch themselves making the language more flexible, efficient and readable. Today, robots are being programmed to understand not just the syntax and semantics but also the pragmatics of the language. Let us not get that far but try to understand where the current programming languages are leading to. For those who are interested in the chronology of languages they can take a look at this site http://www.scriptol.org/history.php.

Broadly the programming styles can be categorized into two: Imperative and Declarative (See http://en.wikipedia.org/wiki/Programming_paradigm for more paradigms). Every language is basically a set of language grammar which the language compiler translates to machine understandable instructions.

Most of the languages which were used for development were typed and with the increasing complexity of software development, there arose a necessity for a language which a human can easily understand. The advent of Object Oriented paradigm helped in this direction with the concepts of objects and behavior similar to the real world objects. During 1990's UML or Unified Modeling Language took birth gradually with the union of ideas from three people Grady Booch, Jim Rumbaugh, and Ivar Jacobson. This language gave a visual representation of the system from various aspects which even an average programmer could easily understand. By being able to put it into diagrams, UML eased the software development to a great extent. With the various views and diagrams of the system one could easily get both the bigger picture as well as the surgical view of the system. In general UML introduced a standardized visual specification for object modeling.

Now lets talk about the need and how UML helps.
In the current situation,


Interested ones can look at the more links below,
UML History graph: http://en.wikipedia.org/wiki/File:OO-historie.jpg
UML Specifications: http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML

No comments:

Learning programming

    Programming is an interesting world where you apply your skills to build a software program that comes into life when it is run on a com...