AspAlliance.com LogoASPAlliance: Articles, reviews, and samples for .NET Developers
URL:
http://aspalliance.com/articleViewer.aspx?aId=1359&pId=-1
Introducing Unified Modeling Language
page
by Joydip Kanjilal
Feedback
Average Rating: 
Views (Total / Last 10 Days): 30898/ 45

Overview

Unified Modeling Language, UML for short, is the international standard notation for Object-Oriented Analysis and Design (OOAD). It is a standardized specialization language that can be used for Object Modeling. It has been defined by the Object Management Group (OMG) and has already become the de-facto standard for designing Object-Oriented Software Applications. This article provides a technical overview of UML and its applicability in designing software systems and Business Process Modeling in particular.

What is UML?

According to the OMG specification, "The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system. UML offers a standard way to write a system's blueprints, including conceptual things, such as business processes and system functions as well as concrete things such as programming language statements, database schemas, and reusable software components."

Note that the UML is purely process independent, i.e., it is not tied up with a SLDC process. The basic purpose behind UML modeling is visualizing, constructing, specifying and documenting a system. It should be noted that UML is a standard; it is not a methodology, process or a procedure. Rather, we use UML as a standard that uses some predefined standard notations with a view to modeling and defining a software system, to document it and define the artifacts involved.

Why UML?

The UML was invented primarily to address the challenges faced in the design and architecture of complex systems. The basic objectives or goals behind UML modeling are:

·         Define an easy to use and visual modeling language for modeling a system's structure

·         Provide extensibility

·         Be language and platform independent so that it can be used for modeling a system irrespective of the language and platform in which the system is designed and implemented

·         Incorporate the best possible practices at par with the industry standards

·         Provide support for Object Orientation, design and apply frameworks and patterns

Merits and Demerits of UML Modeling

But why do we model? Rather, what are the purposes behind UML modeling? Well, UML is a modeling language and a universally accepted standard used to provide a structure to the entire system, manage complexities of the system and cut down on the development costs. However, most of the software projects developed around the globe do not follow any specific modeling technique to avoid the perceived risk and complexity in Object Oriented modeling of large systems. The semantics defined in the language are based on the software systems; they do not have complete support for systems of other domains. Moreover, the UML is still incomplete in its support for components. "While modeling software is useful, it will not solve all design issues. Smart people and a good methodology are a must. But if used correctly, UML and the modeling process can help improve quality, completeness, and scalability and reduce production time in many software projects."

The Building Blocks of UML Modeling

The three major building blocks of UML are:

1.      The Elements of the model

2.      The Associations between the elements of the model

3.      The UML Diagrams

The basic elements of an UML model are the classes, the interfaces and the components. A class may be defined as a self contained unit that encapsulates a collection of data and methods that operate on the data resulting on an isolation of the contents of this encapsulated from any external interface. An interface is a contract which can be used to define a protocol of behavior. It can be implemented by any class anywhere in the class hierarchy.

UML Relationships

Let us now understand how we can depict relationships between various elements in the UML model of a system. Basically, there are four types of relationships that we use in a UML model of a system. These are as follows.

·         Association

·         Aggregation

·         Generalization or Inheritance

·         Realization

·         Dependency

UML Diagrams

You have in UML various models that define the notation and semantics for a wide variety of domains. The UML models depict how the classes and objects in a system interact with one another. "UML models are diagrams of three primary types: structural, behavioral, and interaction. Generally, structural diagrams define the underlying software system (the code), behavioral diagrams describe what happens in the system under certain conditions, and interaction diagrams explain control flow." UML diagrams are used to provide a graphical representation of the system being modeled. UML 2.0 defines thirteen diagrams that are broadly classified into three categories with each category containing one or more diagrams that fall under that category. These categories are:

·         The Structural Diagrams

·         The Behavioral Diagrams

·         The Interaction Diagrams

The next section discusses these categories and shows the UML diagrams that comprise each of these categories.

The Structural Diagrams

These relate to the static structure of a system, i.e., they represent elements that are static in nature. These diagrams are fundamental to the UML modeling of a system and portray the static structure of the system as a whole. The Structural Diagrams are comprised of the following.

·         The Class diagram

·         The Component diagram

·         The Composite Structure diagram

·         The Deployment diagram

·         The Object diagram

·         The Package diagram

The Behavioral Diagrams

The Behavioral Diagrams model how the system functions. The following are examples of Behavioral Diagrams.

·         Use Case Diagram

·         Activity Diagram

·         State Machine Diagram

The Interaction Diagrams

These diagrams represent how flow of data and control takes place in the system that is being modeled. They are a subset of the Behavioral Diagrams. The examples in this category are:

·         Communication Diagram

·         Sequence Diagram

·         UML Timing Diagram

·         Interaction Overview Diagram

We will learn what each of these diagrams and model systems are in the forthcoming articles in this series. The next section discusses UML Rules.

UML Rules

The UML also defines a set of rules that can be used to check whether the UML is properly being followed. "A well formed model is one that is semantically self-consistent and in harmony with all its related models."

In UML, you have semantic rules for the following:

·         Names

·         Scope

·         Visibility

·         Integrity

·         Execution

Suggested Readings
Conclusion

The Unified Modeling Language is an internationally accepted standard that is used for Object Oriented Modeling and can be used to represent a model that adopts the best software engineering practices. It is a software language that can be used to create blueprints. This article has looked at the basic concepts of UML and its terminologies. I will follow this up with another article where I will discuss all these three categories of the UML diagrams and how to use the UML relationships with real life examples. Happy reading!


Product Spotlight
Product Spotlight 

©Copyright 1998-2024 ASPAlliance.com  |  Page Processed at 2024-03-29 11:04:25 AM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search