An introduction to UML - Web Development - Techguide

An introduction to UML

 

Summary

In the first article in our three-part series on the Unified Modelling Language (UML), we introduce key elements of the modelling language, its history and how to pick a UML tool.

Events

Echelon 2012
June 11 and 12, 2012

University Cultural Centre, National University of Singapore

Startup Asia Jakarta 2012
June 7 and 8, 2012

12th Floor, Annex Building, Wisma Nusantara Complex, Jl. M.H. Thamrin No. 59 Jakarta 10350, Indonesia

MMA Forum Singapore
April 23-25, 2012

Grand Hyatt Singapore

In the first article in our three-part series on the Unified Modeling Language (UML) we introduce key elements of the modeling language, its history and how to pick a UML tool

UML is a language for specification, constructing, visualizing, and documenting the "big picture" of software systems. It promises to make it easier to construct the complex process of software, what the modeling industry call a "blueprint".

So why do we need UML? Much of software today is developed with a continual refactoring process with the end client, whoever that may be. An example would be a Web developer constructing a static Web site eight years ago, when server scripting, graphics and administration could be performed by one person.

Today applications are much more integrated into existing infrastructure and more agile for the next generation of technology. A team could now consist of programmers, graphics experts, database experts, system administrators, business analysts, software architects and so on. The need to build code from a common model to meet the required needs of a client is now more important. UML gives all stakeholders in the development process from programmer to designer to business decision makers/analysts a common ground to talk about the way software is designed.

So where did it come from?
Modelling languages are not a new invention--object-oriented modeling languages being around since 70's and 80's when methodologists experimented with different approaches to object-oriented analysis and design.

UML was a combination of three different approaches to modeling software . It began to evolve around 1994 when Grady Booch and Jim Rumbaugh of Rational Software Corporation (now IBM Rational) started work on unifying the Booch and Object Modeling Technique methods. Ivar Jacobson from Objectory had a methodology for viewing requirements called Use Cases joined Rational and the three unified their efforts.

A few years later the Object Management Group (OMG), a not-for-profit organization who are also responsible for the CORBA standard submitted a request for a proposal for a standard method to model object-orientated software. OMG approved the UML standard and the organization now oversee it's specifications.

UML is one of the foundations for the Object Management Group's ambitions for Model-Driven Architecture, a vendor and platform neutral approach to separate business logic from underlying platform technology.

The basics
To learn UML it's best to be familiar with object-oriented problem solving that at first the construction of a model. This model is an abstraction of the underlying problem you are trying to solve.

These models made include objects that interact with others by sending back and forth messages. A good way of thinking about this is to think an object is a living being. In this context objects include things they know (attributes) and things they can do (behaviors or operations). These values of an object's attributes determine its actual state.

Classes are the design or draft for objects. A class encloses attributes or data and behaviors (methods or functions) into a solo entity. Objects are instances of classes.

At the centre of the UML are its modeling diagrams. These include:

  • Use case diagrams - used to show main elements and processes that outline the system.
  • Class diagrams - used to refine the use case diagram and define a more detailed design of the system.
  • Sequence diagrams - Stands for the interaction between different objects in the system that is time ordered.
  • Collaboration diagrams - The collaboration diagram helps identify the interactions that each object has with other objects.
  • Component diagrams - A component diagram shows the parts cut after the system has undergone the development phase.
  • Object diagrams - The object diagram captures the state of different classes and their relationships or associations at a given point.
  • Statechart diagrams - Represents the different states that objects in the system undergo during their life cycle.
  • Activity diagrams - process flows are captured in the activity diagram and similar to the state diagram.
  • Deployment diagrams - The deployment diagram captures the configuration of the runtime elements of the application.

UML tools
Drawing UML diagrams on paper or a whiteboard is probably not a best practice to design large or complex systems. UML tools simplify the task of drawing diagrams of software designs and because it is in digital format, collaboration on design is much easier. While various UML tools are out on the market (a full list of them can be found here) some things to consider include:

  • UML diagram support
  • Version control
  • Model View Controller modeling
  • Documentation
  • Collaborative modeling environment
  • Forward and engineering
  • Integration with popular Integrated Development Environments

In our next installment we'll take a real world look at the UML.

Talkback

Add your opinion

In order to post a comment, you need to be registered. (Sign In or register below)

Post your comment

ZDNet Asia Live

@EileenZDNetAsia sounds like they need to change biz models, since no one is paying for that stuff and piracy is eating their lunch.

Maybe I should play Words with Friends again. http://t.co/JQ92Bwap

RT @wenonalok: Fact: Korean music industry uses Swedish writers! #MM12

Sony to stop feature phone sales in India by Sept. Bold or foolish move? http://t.co/HfkHxaUY #li

Win Phone devs, how important is it to integrate Win Phone with Windows and Xbox Live platforms? http://t.co/Qr2YACzJ #li

Govt aid for staff training growing in importance http://t.co/C8aOMeNU http://t.co/erFSwAUB #arcavir

http://t.co/VNaUVSe1 Govt aid for staff training growing in importance: Governments' role in... http://t.co/ziZpIsyi http://t.co/wiqTBKkj

Govt aid for staff training growing in importance. http://t.co/9FftpZ9d

Sony Mobile yanks feature phones from India - ZDNet Asia: Zee NewsSony Mobile yanks feature phones from IndiaZDN... http://t.co/c9xuPaeR

RT @MarioKaestner: Mobile #CRM gives better ROI than social http://t.co/1VahI35K Gartner via @KANASoftware

Japanese e-commerce provider Rakuten expands SEA footprint with entrance into M'sia, after Thailand and Indonesia. http://t.co/Xm28UgUL #li

Panel at #mm12 say music licensing process complex, expensive, time-consuming in Asia. Is tat why the likes of iTunes isn't in this region?

@EileenZDNetAsia What makes Asia different from elsewhere?

@joonian 360 degree biz model, which requires service providers to pay in advance licensing fees before they even begin to sell the music.

Sony Mobile yanks feature phones from India - ZDNet Asia http://t.co/1mVJNGBi

The key for mobile operators is identifying the applications that are popular with subscribers on their network. They can then work partn...

6 hours ago by camcullen on Experience trumps content in apps monetization

So much as we know , MTK6575 extremely integrated frequency1GHz ARM Cortex-A9 processor, the superiority of 3G / HSPA Modem, and help the...

2 days ago by y15822137359 on 5 SaaS adoption speed bumps to avoid

I reckon your view: "CRM is strategy, not software", if a company replicating the approach uses in ERP implementation into CRM, what they...

3 days ago by wykoong on Gartner: Mobile CRM gives better ROI than social

This video will teach you about the Excel fill handle but also provide you with a workook to download... http://www.youtube.com/watch?v=...

3 days ago by TradeBrother on A quick fill handle trick for Microsoft Excel

waiting...

5 days ago by eapete on What should count in a company's market value?

Boy, you've opened a can of worms now.

Wait for the rants & raves.

5 days ago by eapete on What should count in a company's market value?

I was puzzling before this whether to replicate the success formula we executed for a financial institute, and come out with a standard s...

6 days ago by wykoong on Drop the egos, copy ideas, then innovate